@charset "utf-8";

/* 서브 */
body.page-contact .real-cont { padding: var(--space-150) 0 0; }
.partner-inquiry__grid { display: grid; grid-template-columns: 480px minmax(0, 1128px); justify-content: space-between; gap: 30px 40px; align-items: start; }
.partner-inquiry__aside { display: flex; flex-direction: column; gap: var(--space-60); }
.partner-inquiry__slogan { margin: 0 0 var(--space-60); font-size: var(--font-size-48); font-weight: 400; line-height: 1.3; letter-spacing: -0.03em; color: #121212; }
.partner-inquiry__slogan strong { font-weight: 700; color: #121212; }
.partner-inquiry__photo { height: 600px; border-radius: 16px; overflow: hidden; }
.partner-inquiry__photo img { width: 100%; height: 100%; object-fit: cover; display: block; }
.partner-inquiry__meta { display: flex; flex-direction: column; gap: var(--space-60); }
.partner-inquiry__block h3 { margin: 0 0 var(--space-20); font-size: var(--font-size-18); font-weight: 700; letter-spacing: -0.03em; color: #121212; }
.partner-inquiry__block ul { margin: 0; padding: 0; list-style: none; display: flex; flex-direction: column; gap: var(--space-15); }
.partner-inquiry__block li { position: relative; padding-left: var(--space-16); font-size: var(--font-size-16); line-height: 1.5; letter-spacing: -0.03em; color: #505050; }
.partner-inquiry__block li::before { content: ''; position: absolute; left: 0; top: 0.55em; width: 5px; height: 5px; border-radius: 50%; background: #cccccc; }
.partner-inquiry__address li { padding-left: 0; }
.partner-inquiry__address li::before { content: none; }
.partner-inquiry__block li strong { font-weight: 700; color: #121212; }
.partner-form { display: flex; flex-direction: column; align-items: flex-end; gap: var(--space-40); width: 100%; }
.partner-form__body { width: 100%; display: flex; flex-direction: column; gap: var(--space-60); }
.partner-form__fields { display: flex; flex-direction: column; gap: var(--space-40); }
.partner-form__row { display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-40); }
.partner-form__row--full { grid-template-columns: 1fr; }
.partner-field { display: flex; flex-direction: column; gap: var(--space-15); min-width: 0; }
.partner-field label, .partner-label { display: inline-flex; align-items: flex-start; gap: var(--space-5); font-size: var(--font-size-18); font-weight: 600; letter-spacing: -0.03em; color: #121212; line-height: 1; }
.partner-field .req { width: 5px; height: 5px; margin-top: var(--space-2); border-radius: 50%; background: var(--color-primary); flex-shrink: 0; }
.partner-field input[type="text"], .partner-field input[type="tel"], .partner-field input[type="email"], .partner-field textarea { width: 100%; height: 60px; box-sizing: border-box; border: 1px solid #ddd; border-radius: 8px; padding: 0 var(--space-19); font-family: inherit; font-size: var(--font-size-16); letter-spacing: -0.03em; color: #121212; background: #fff; outline: none; }
.partner-field textarea { height: 200px; padding: var(--space-21) var(--space-19); resize: vertical; }
.partner-field input::placeholder, .partner-field textarea::placeholder { color: #ccc; }
.partner-field input:focus, .partner-field textarea:focus { border-color: var(--color-primary); }
.partner-files { display: flex; flex-direction: column; gap: var(--space-8); }
.partner-file { display: flex; align-items: center; gap: var(--space-5); }
.partner-file__box { position: relative; flex: 1; min-width: 0; height: 60px; display: flex; align-items: center; gap: var(--space-10); padding: 0 var(--space-14); border: 1px solid #ddd; border-radius: 8px; background: #fff; cursor: pointer; box-sizing: border-box; }
.partner-file__box input { position: absolute; width: 1px; height: 1px; padding: 0; margin: calc(var(--space-1) * -1); overflow: hidden; clip: rect(0, 0, 0, 0); border: 0; }
.partner-file__pick { flex-shrink: 0; padding: var(--space-8); border: 1px solid #ddd; border-radius: 4px; background: #f4f4f4; font-size: var(--font-size-14); letter-spacing: -0.03em; color: #505050; line-height: 1; }
.partner-file__name { min-width: 0; overflow: hidden; text-overflow: ellipsis;  font-size: var(--font-size-14); color: #505050; }
.partner-file__add, .partner-file__del { width: 80px; height: 60px; flex-shrink: 0; border-radius: 8px; font-family: inherit; font-size: var(--font-size-16); font-weight: 500; letter-spacing: -0.03em; cursor: pointer; }
.partner-file__add { border: 0; background: #505050; color: #fff; }
.partner-file__del { border: 1px solid #ddd; background: #f4f4f4; color: #505050; }
.partner-captcha { display: flex; gap: var(--space-5); align-items: center; }
.partner-captcha__img { width: 120px; height: 60px; flex-shrink: 0; border-radius: 8px; background: #f3e6d8; user-select: none; }
img.partner-captcha__img { display: block; object-fit: contain; cursor: pointer; }
img.partner-captcha__img:hover { opacity: 0.92; }
span.partner-captcha__img { display: flex; align-items: center; justify-content: center; color: #c45a2a; font-size: var(--font-size-26); font-weight: 700; font-family: Georgia, 'Times New Roman', serif; }
.partner-field .partner-captcha input { flex: 1; width: auto; min-width: 0; }
.partner-privacy h3 { margin: 0 0 var(--space-10); font-size: var(--font-size-18); font-weight: 600; letter-spacing: -0.03em; color: #121212; }
.partner-privacy__box { height: 150px; overflow: auto; box-sizing: border-box; padding: var(--space-15); border: 1px solid #ddd; border-radius: 8px; background: #f4f4f4; font-size: var(--font-size-14); line-height: 1.5; letter-spacing: -0.03em; color: #505050; }
.partner-privacy__box p { margin: 0 0 var(--space-10); }
.partner-privacy__box p:last-child { margin-bottom: 0; }
.partner-agree { display: flex; justify-content: flex-end; align-items: center; gap: var(--space-10); margin-top: var(--space-20); font-size: var(--font-size-16); letter-spacing: -0.03em; color: #505050; }
.partner-agree input { width: 20px; height: 20px; margin: 0; accent-color: var(--color-primary); }
.partner-submit { display: inline-flex; align-items: center; justify-content: center; min-height: 60px; padding: var(--space-16) var(--space-40); border: 0; border-radius: 4px; background: var(--color-primary); color: #fff; font-family: inherit; font-size: var(--font-size-18); font-weight: 700; letter-spacing: -0.03em; cursor: pointer; transition: background .2s; }
.partner-submit:hover { background: var(--color-primary-dark); }
.sub-intro { margin-bottom: var(--space-56); }
.sub-intro .label-tag { display: inline-block; font-size: var(--font-size-11); font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--color-primary); margin-bottom: var(--space-16); }
.sub-intro h2 { font-size: clamp(26px, 2.8vw, 42px); font-weight: 800; letter-spacing: -.035em; line-height: 1.22; color: var(--color-ink); margin: 0 0 var(--space-18); }
.sub-intro p { font-size: var(--font-size-17); line-height: 1.85; color: var(--color-mid); max-width: 640px; }
.section-heading { font-size: clamp(18px, 2vw, 26px); font-weight: 700; letter-spacing: -.025em; color: var(--color-ink); padding-bottom: var(--space-16); border-bottom: 2px solid var(--color-primary); margin-bottom: var(--space-32); display: inline-block; }
.about-intro2 { text-align: center; margin-bottom: var(--space-72); }
.about-intro2__quote { margin: 0 auto var(--space-28); max-width: 900px; font-size: var(--font-size-32); font-weight: 700; line-height: 1.45; letter-spacing: -.035em; color: var(--color-ink); }
.about-intro2__quote em { font-style: normal; color: var(--color-primary-dark); }
.about-intro2__sub { margin: 0 auto; max-width: 720px; font-size: var(--font-size-17); line-height: 1.85; color: var(--color-mid); }
.value-cards2 { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-24); margin-bottom: var(--space-80); }
.value-card2 { background: #fff; border: 1px solid var(--color-line); border-radius: 12px; padding: var(--space-40) var(--space-32); transition: box-shadow .25s, border-color .25s, transform .25s; }
.value-card2:hover { border-color: var(--color-primary); box-shadow: 0 16px 40px rgba(0,0,0,.07); transform: translateY(-4px); }
.value-card2__num { 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-16); }
.value-card2__title { font-size: var(--font-size-22); font-weight: 800; letter-spacing: -.03em; color: var(--color-ink); margin: 0 0 var(--space-14); line-height: 1.35; }
.value-card2__desc { font-size: var(--font-size-15); line-height: 1.8; color: var(--color-mid); margin: 0; }
.about-split2 { display: grid; grid-template-columns: 1fr 1.05fr; gap: var(--space-64); align-items: center; }
.about-split2__title { font-size: var(--font-size-36); font-weight: 800; letter-spacing: -.04em; line-height: 1.3; color: var(--color-ink); margin: 0 0 var(--space-24); }
.about-split2__title em { font-style: normal; color: var(--color-primary-dark); }
.about-split2__text p { font-size: var(--font-size-16); line-height: 1.85; color: var(--color-mid); margin: 0 0 var(--space-16); }
.about-split2__figure { margin: 0; border-radius: 12px; overflow: hidden; aspect-ratio: 4/3; background: var(--color-line); }
.about-split2__figure img { width: 100%; height: 100%; object-fit: cover; display: block; }
.biz-intro2 { margin-bottom: var(--space-56); }
.biz-intro2__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-14); }
.biz-intro2__title { font-size: var(--font-size-42); font-weight: 800; letter-spacing: -.04em; line-height: 1.25; color: var(--color-ink); margin: 0 0 var(--space-18); }
.biz-intro2__desc { font-size: var(--font-size-17); line-height: 1.8; color: var(--color-mid); max-width: 640px; margin: 0; }
.biz-grid2 { display: grid; grid-template-columns: repeat(2, 1fr); gap: var(--space-32); }
.biz-card2 { background: #fff; border: 1px solid var(--color-line); border-radius: 14px; overflow: hidden; position: relative; transition: box-shadow .25s, transform .25s; }
.biz-card2:hover { box-shadow: 0 18px 48px rgba(0,0,0,.1); transform: translateY(-4px); }
.biz-card2__num { position: absolute; top: 20px; left: 24px; z-index: 2; font-size: var(--font-size-13); font-weight: 800; letter-spacing: .08em; color: #fff; background: rgba(0,0,0,.45); padding: var(--space-6) var(--space-12); border-radius: 4px; }
.biz-card2__visual { height: 220px; overflow: hidden; background: var(--color-line); }
.biz-card2__visual img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .5s; }
.biz-card2:hover .biz-card2__visual img { transform: scale(1.06); }
.biz-card2__label { display: block; padding: var(--space-24) var(--space-28) 0; font-size: var(--font-size-12); font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--color-primary); }
.biz-card2__title { padding: var(--space-8) var(--space-28) 0; font-size: var(--font-size-24); font-weight: 800; letter-spacing: -.03em; color: var(--color-ink); margin: 0; }
.biz-card2__desc { padding: var(--space-12) var(--space-28) var(--space-32); font-size: var(--font-size-15); line-height: 1.8; color: var(--color-mid); margin: 0; }
.global-intro2 { margin-bottom: var(--space-48); }
.global-intro2__title { font-size: var(--font-size-42); font-weight: 800; letter-spacing: -.04em; line-height: 1.25; color: var(--color-ink); margin: 0 0 var(--space-18); }
.global-intro2__desc { font-size: var(--font-size-17); line-height: 1.8; color: var(--color-mid); max-width: 720px; margin: 0; }
.region-cards2 { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-20); margin-bottom: var(--space-72); }
.region-card2 { background: #fff; border: 1px solid var(--color-line); border-radius: 12px; padding: var(--space-32) var(--space-28); border-top: 3px solid var(--color-primary); transition: box-shadow .25s, transform .25s; }
.region-card2:hover { box-shadow: 0 14px 36px rgba(0,0,0,.08); transform: translateY(-3px); }
.region-card2__name { font-size: var(--font-size-22); font-weight: 800; letter-spacing: -.03em; color: var(--color-ink); margin: 0 0 var(--space-8); }
.region-card2__markets { font-size: var(--font-size-13); font-weight: 600; color: var(--color-primary-dark); margin: 0 0 var(--space-14); }
.region-card2__desc { font-size: var(--font-size-15); line-height: 1.75; color: var(--color-mid); margin: 0; }
.global-infra2 { display: grid; grid-template-columns: 1fr 1.1fr; gap: var(--space-48); align-items: center; background: var(--color-bg-light); border-radius: 16px; overflow: hidden; padding: 0 0 0 var(--space-48); }
.global-infra2__title { font-size: var(--font-size-28); font-weight: 800; letter-spacing: -.03em; margin: 0 0 var(--space-16); color: var(--color-ink); }
.global-infra2__desc { font-size: var(--font-size-16); line-height: 1.85; color: var(--color-mid); margin: 0; }
.global-infra2__figure { margin: 0; height: 320px; }
.global-infra2__figure img { width: 100%; height: 100%; object-fit: cover; display: block; }
.contact-intro2 { display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-64); margin-bottom: var(--space-72); align-items: start; }
.contact-intro2__title { font-size: var(--font-size-42); font-weight: 800; letter-spacing: -.04em; line-height: 1.25; color: var(--color-ink); margin: 0 0 var(--space-20); }
.contact-intro2__desc { font-size: var(--font-size-16); line-height: 1.85; color: var(--color-mid); margin: 0; }
.contact-info2 { background: var(--color-bg-light); border-radius: 14px; padding: var(--space-36) var(--space-32) 0; }
.contact-info2__title { font-size: var(--font-size-18); font-weight: 800; margin: 0 0 var(--space-20); color: var(--color-ink); }
.contact-info2__item { display: grid; grid-template-columns: 80px 1fr; gap: var(--space-12); padding: var(--space-10) 0; font-size: var(--font-size-15); color: var(--color-ink); border-bottom: 1px solid var(--color-line); }
.contact-info2__label { font-weight: 700; color: var(--color-mid); }
.contact-info2__visual { margin: var(--space-24) calc(var(--space-32) * -1) 0; height: 180px; overflow: hidden; border-radius: 0 0 14px 14px; }
.contact-info2__visual img { width: 100%; height: 100%; object-fit: cover; display: block; }
.contact-form2 { max-width: 900px; }
.contact-form2 .form-row { display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-20); }
.contact-form2 .form-group { margin-bottom: var(--space-20); }
.contact-form2 .form-group label { display: block; font-size: var(--font-size-14); font-weight: 600; color: var(--color-ink); margin-bottom: var(--space-8); }
.contact-form2 .form-group label span { color: var(--color-primary); }
.contact-form2 .form-group input, .contact-form2 .form-group textarea, .contact-form2 .form-group select { width: 100%; box-sizing: border-box; border: 1px solid var(--color-line); border-radius: 8px; padding: var(--space-14) var(--space-16); font-family: inherit; font-size: var(--font-size-15); color: var(--color-ink); background: #fff; outline: none; transition: border-color .2s; }
.contact-form2 .form-group input:focus, .contact-form2 .form-group textarea:focus, .contact-form2 .form-group select:focus { border-color: var(--color-primary); }
.contact-form2 .form-group textarea { min-height: 160px; resize: vertical; }
.contact-form2 .btn-primary { margin-top: var(--space-8); }
.about-split { display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-64); align-items: center; margin-top: var(--space-56); }
.about-split__img { border-radius: 12px; overflow: hidden; aspect-ratio: 4/3; background: var(--color-line); }
.about-split__img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.about-split__copy h3 { font-size: clamp(20px, 2vw, 30px); font-weight: 800; letter-spacing: -.03em; margin-bottom: var(--space-16); }
.about-split__copy p { font-size: var(--font-size-15); line-height: 1.85; color: var(--color-mid); }
.about-values { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-24); margin-bottom: var(--space-56); }
.value-item { text-align: center; padding: var(--space-40) var(--space-24); border-radius: 10px; background: #f7f9fa; }
.value-item .value-num { font-size: var(--font-size-11); font-weight: 700; letter-spacing: .1em; color: var(--color-primary); display: block; margin-bottom: var(--space-12); }
.value-item h3 { font-size: var(--font-size-17); font-weight: 700; letter-spacing: -.02em; margin-bottom: var(--space-10); }
.value-item p { font-size: var(--font-size-14); line-height: 1.75; color: var(--color-mid); margin: 0; }
.biz-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: var(--space-24); }
.biz-card { border-radius: 10px; padding: var(--space-44) var(--space-40); background: #f7f9fa; transition: box-shadow .2s, transform .2s; border: 1px solid transparent; }
.biz-card:hover { box-shadow: 0 8px 28px rgba(0,0,0,.07); border-color: var(--color-primary); transform: translateY(-3px); background: #fff; }
.biz-card .biz-num { font-size: var(--font-size-11); font-weight: 700; letter-spacing: .1em; color: var(--color-primary); display: block; margin-bottom: var(--space-14); }
.biz-card h3 { font-size: var(--font-size-20); font-weight: 700; letter-spacing: -.025em; color: var(--color-ink); margin-bottom: var(--space-12); }
.biz-card p { font-size: var(--font-size-14); line-height: 1.8; color: var(--color-mid); margin: 0; }
.global-region-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-20); margin-top: var(--space-40); }
.region-card { border-radius: 10px; padding: var(--space-32) var(--space-28); background: #f7f9fa; border: 1px solid var(--color-line); transition: border-color .2s, box-shadow .2s; }
.region-card:hover { border-color: var(--color-primary); box-shadow: 0 4px 20px rgba(101,203,217,.12); }
.region-card .region-tag { font-size: var(--font-size-10); font-weight: 700; letter-spacing: .1em; color: var(--color-primary); display: block; margin-bottom: var(--space-10); }
.region-card h3 { font-size: var(--font-size-17); font-weight: 700; margin-bottom: var(--space-8); letter-spacing: -.02em; }
.region-card p { font-size: var(--font-size-13); line-height: 1.7; color: var(--color-mid); margin: 0; }
.contact-split { display: grid; grid-template-columns: 1fr 440px; gap: var(--space-60); align-items: start; margin-bottom: var(--space-64); }
.contact-info-card { background: #0d1117; border-radius: 12px; padding: var(--space-44) var(--space-40); color: #fff; }
.contact-info-card h3 { font-size: var(--font-size-18); font-weight: 700; margin-bottom: var(--space-28); letter-spacing: -.02em; }
.contact-info-row { display: flex; gap: var(--space-14); margin-bottom: var(--space-20); }
.contact-info-row dt { font-size: var(--font-size-12); font-weight: 700; color: var(--color-primary); letter-spacing: .06em; flex-shrink: 0; width: 44px; }
.contact-info-row dd { font-size: var(--font-size-14); line-height: 1.65; color: rgba(255,255,255,.7); margin: 0; }
.inquiry-form .form-row { display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-20); margin-bottom: var(--space-20); }
.inquiry-form .form-group { display: flex; flex-direction: column; gap: var(--space-7); margin-bottom: var(--space-20); }
.inquiry-form .form-group label { font-size: var(--font-size-13); font-weight: 600; color: var(--color-ink); letter-spacing: -.01em; }
.inquiry-form .form-group label .req { color: var(--color-primary); margin-left: var(--space-2); }
.inquiry-form .form-group input, .inquiry-form .form-group textarea, .inquiry-form .form-group select { padding: var(--space-12) var(--space-16); border: 1px solid var(--color-line); border-radius: 6px; font-family: inherit; font-size: var(--font-size-14); color: var(--color-ink); background: #fff; outline: none; transition: border-color .2s; appearance: none; }
.inquiry-form .form-group input:focus, .inquiry-form .form-group textarea:focus { border-color: var(--color-primary); }
.inquiry-form .form-group textarea { min-height: 140px; resize: vertical; }
.inquiry-form .form-check { display: flex; align-items: flex-start; gap: var(--space-10); margin-bottom: var(--space-24); }
.inquiry-form .form-check input[type="checkbox"] { margin-top: var(--space-3); accent-color: var(--color-primary); }
.inquiry-form .form-check label { font-size: var(--font-size-13); color: var(--color-mid); line-height: 1.6; }
.inquiry-form .btn-primary { width: 100%; justify-content: center; }
.sub-scroll-motion { opacity: 0; transform: translateY(24px); transition: opacity .6s ease, transform .6s ease; }
.sub-scroll-motion.is-sub-visible { opacity: 1; transform: none; }
/* 인사말 */
@font-face { font-family: 'NanumSonPyeonJiCe'; src: url('https://cdn.jsdelivr.net/gh/fonts-archive/NanumSonPyeonJiCe/NanumSonPyeonJiCe.woff2') format('woff2'); font-style: normal; font-weight: 400; font-display: swap; }
.page-greeting #contArea .real-cont { padding: var(--space-150) 0 0; }
.greeting-heading { text-align: center; margin-bottom: var(--space-100); }
.greeting-heading__eyebrow { margin: 0 0 var(--space-28); color: var(--color-primary, #ff8445); font-size: var(--font-size-20); font-weight: 600; line-height: 1.5; }
.greeting-heading__eyebrow em { font-style: normal; }
.greeting-heading h2 {  margin: 0; color: #121212; font-size: var(--font-size-56); font-weight: 700; line-height: 1.35; letter-spacing: -.045em; }
.greeting-panorama { margin: 0 0 var(--space-120); }
.greeting-panorama img { display: block; width: 100%; height: clamp(320px, 28vw, 560px); object-fit: cover; object-position: center; }
.greeting-letter { display: grid; grid-template-columns: minmax(0, 1fr) 880px; gap: var(--space-100); align-items: start; }
.greeting-letter h3 { margin: 0; color: #121212; font-size: var(--font-size-56); line-height: 1.5; letter-spacing: -.04em; font-weight: 700; }
.greeting-letter__body { width: 100%; max-width: 880px; min-width: 0; color: #121212; font-size: var(--font-size-22); line-height: 1.75; letter-spacing: -.025em; overflow-wrap: break-word; }
.greeting-letter__body p { margin: 0 0 var(--space-32); font-weight: 400; }
.greeting-letter__body .greeting-letter__promise { margin-top: var(--space-16); margin-bottom: var(--space-48); color: #121212; font-weight: 700; }
.greeting-letter__body .greeting-letter__signature { text-align: right; margin: var(--space-54) 0 0; color: #121212; font-size: var(--font-size-22); font-weight: 400; }
.greeting-letter__signature strong { margin-left: var(--space-20); font-family: 'NanumSonPyeonJiCe', cursive; font-size: var(--font-size-56); font-weight: 400; letter-spacing: .06em;  }
.greeting-panorama.sub-scroll-motion { opacity: 1; transform: none; clip-path: inset(0 99.99% 0 0); transition: clip-path 1.2s cubic-bezier(.22, .61, .36, 1); }
.greeting-panorama.sub-scroll-motion.is-sub-visible { clip-path: inset(0); }
/* 기업 소개 */
.page-overview #contArea .real-cont { padding: var(--space-150) 0 0; }
.company-overview { margin-bottom: var(--space-140); }
.company-overview__label { margin: 0 0 var(--space-28); color: var(--color-primary, #ff8445); font-size: var(--font-size-20); font-weight: 600; }
.company-overview h2 {margin: 0 0 var(--space-48); color: #121212; font-size: var(--font-size-56); font-weight: 700; letter-spacing: -.045em; line-height: 1.4; }
.company-overview h2 span {display: inline-block; color: var(--color-primary, #ff8445); }
.company-overview__copy { width: 100%; margin: 0 0 var(--space-64); color: #555; font-size: var(--font-size-22); line-height: 1.9; }
.company-overview__copy p { margin: 0 0 var(--space-20); }
.company-overview__copy p:first-child { color: #121212; font-weight: 600; }
.company-facts { display: grid; grid-template-columns: .65fr 1fr 1.15fr; margin: 0; padding: var(--space-38) 0; border: 0; }
.company-facts > div { padding: 0 var(--space-48); border-left: 1px solid #e5e5e5; }
.company-facts > div:first-child { padding-left: 0; border-left: 0; }
.company-facts dt { font-size: var(--font-size-17); color: #777; margin-bottom: var(--space-16); }
.company-facts dd { margin: 0; font-size: var(--font-size-28); font-weight: 600; color: #121212; line-height: 1.5; }
.company-vision { position: relative; isolation: isolate; display: grid; place-items: center; min-height: 600px; padding: var(--space-110) var(--space-40); overflow: hidden; background: #172a38; color: #fff; text-align: center; }
.company-vision__image { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: -2; }
.company-vision::before { content: ''; position: absolute; inset: 0; background: rgba(8, 22, 35, .48); z-index: -1; }
.company-vision__copy { max-width: 1400px; }
.company-vision h2 { margin: 0 0 var(--space-32); font-size: var(--font-size-20); font-weight: 600; }
.company-vision__en { margin: 0 0 var(--space-28); font-size: clamp(38px, 3.4vw, 68px); line-height: 1.25; font-weight: 700; letter-spacing: -.03em; word-break: normal;;}
.company-vision__ko { margin: 0; font-size: var(--font-size-30); line-height: 1.6; }
.company-values { padding-top: var(--space-140); }
.company-values h2 { margin: 0 0 var(--space-28); color: var(--color-primary, #ff8445); font-size: var(--font-size-20); font-weight: 600; }
.company-values__slogan { margin: 0 0 var(--space-64); color: #121212; font-size: var(--font-size-56); font-weight: 700; letter-spacing: -.045em; line-height: 1.4; }
.company-values__media { width: 100%; aspect-ratio: 1728 / 750; margin-bottom: var(--space-64); overflow: hidden; border-radius: 16px; background: #eee; }
.company-values__media video { display: block; width: 100%; height: 100%; object-fit: cover; }
.company-values__grid { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--space-48); }
.company-value { min-width: 0; }
.company-value h3 { margin: 0 0 var(--space-22); padding-bottom: var(--space-26); border-bottom: 1px solid #ddd; color: #121212; font-size: var(--font-size-30); font-weight: 600; letter-spacing: -.03em; }
.company-value p { margin: 0; color: #666; font-size: var(--font-size-20); line-height: 1.8; }
/* 연혁 */
.history-layout { display: grid; grid-template-columns: .8fr 1.2fr; gap: var(--space-100); align-items: start; }
.history-intro { position: sticky; top: 170px; }
.history-intro__since { margin: 0 0 var(--space-28); color: var(--color-primary, #ff8445); font-size: var(--font-size-28); font-weight: 600; letter-spacing: -.02em; }
.history-intro h2 { margin: 0; font-size: var(--font-size-48); line-height: 1.45; font-weight: 700; color: #121212; letter-spacing: -.045em; }
.history-timeline { list-style: none; padding: 0; margin: 0; }
.history-year { display: grid; grid-template-columns: 110px minmax(0, 1fr); column-gap: var(--space-32); }
.history-year__title { margin: 0; color: #121212; font-size: var(--font-size-36); font-weight: 700; line-height: 1.3; }
.history-year__body { position: relative; padding: 0 0 var(--space-110) var(--space-44); border-left: 1px solid #ddd; min-width: 0; }
.history-year__body::before { content: ''; position: absolute; top: 14px; left: -6px; width: 11px; height: 11px; border-radius: 50%; background: var(--color-primary, #ff8445); box-shadow: 0 0 0 6px #fff3ec; }
.history-year:last-child .history-year__body { padding-bottom: 0; }
.history-events { margin: 0 0 var(--space-32); padding: 0; list-style: none; }
.history-events li { margin: 0 0 var(--space-18); color: #333; font-size: var(--font-size-22); line-height: 1.8; }
[lang="en"] .history-events li {font-size: var(--font-size-20);}
.history-events li:last-child { margin-bottom: 0; }
.history-events li { position: relative; padding-left: var(--space-18); }
.history-events li::before { content: ''; position: absolute; left: 0; top: calc(.9em - 3px); width: 6px; height: 6px; border-radius: 50%; background: #ccc; }
.history-events .history-event--joint-venture { font-weight: 600; }
.history-year__body::after { content: ''; position: absolute; top: 0; left: -1px; width: 1px; height: var(--line-progress, 0px); background: var(--color-primary, #ff8445); pointer-events: none; }
.history-year__body::before { z-index: 1; }
.is-history-active .history-year__body::before { animation: history-dot-pulse 1.8s ease-out infinite; }
@keyframes history-dot-pulse { 0% { box-shadow: 0 0 0 0 rgba(255, 132, 69, .45); } 80%, 100% { box-shadow: 0 0 0 18px rgba(255, 132, 69, 0); } }
.history-year__image { display: block; width: 100%; height: auto; aspect-ratio: 16 / 9; object-fit: cover; border-radius: 8px; }
/* 오시는 길 */
.location-office { display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-40); align-items: stretch; }
.location-office + .location-office { margin-top: var(--space-160); }
.location-office__info { grid-column: 2; grid-row: 1; display: flex; flex-direction: column; height: 100%; padding: var(--space-56); background: #f5f6f7; border-radius: 24px; }
.location-office__actions { display: flex; gap: var(--space-10); margin-top: auto; padding-top: var(--space-28); }
.location-link { flex: 1; display: flex; align-items: center; justify-content: center; gap: var(--space-8); min-height: 54px; padding: var(--space-15) var(--space-20); border-radius: 8px; font-size: var(--font-size-16); font-weight: 600; letter-spacing: -0.03em; line-height: 1.3; text-decoration: none;  transition: opacity 0.2s ease; }
.location-link:hover { opacity: 0.88; }
.location-link--kakao { color: #351c1c; background: #ffe600; }
.location-link--naver { color: #fff; background: #00c73c; }
.location-link__icon { flex-shrink: 0; width: 24px; height: 24px; object-fit: contain; }
.location-link__icon--naver { width: 18px; height: 17px; }
.location-office__map { grid-column: 1; grid-row: 1; }
.location-office--reverse .location-office__info { grid-column: 1; }
.location-office--reverse .location-office__map { grid-column: 2; }
.location-office h3 { margin: 0 0 var(--space-24); font-size: var(--font-size-44); font-weight: 700; letter-spacing: -.045em; line-height: 1.3; }
.location-office__intro { color: #666; font-size: var(--font-size-20); line-height: 1.8; margin: 0; }
.location-office__chips { display: flex; flex-wrap: wrap; gap: var(--space-10); list-style: none; padding: 0; margin: var(--space-28) 0 var(--space-40); }
.location-office__chips li { padding: var(--space-10) var(--space-18); border: 1px solid #e1e3e5; border-radius: 30px; background: #fff; color: #a34212; font-size: var(--font-size-16); font-weight: 600; }
.location-office__details { margin: 0 0 var(--space-30); padding-top: var(--space-32); border-top: 1px solid #ddd; }
.location-office__details > div { display: grid; grid-template-columns: 88px minmax(0, 1fr); gap: var(--space-16); margin-bottom: var(--space-22); font-size: var(--font-size-18); line-height: 1.7; }
.location-office__details dt { font-weight: 700; }
.location-office__details dd { margin: 0; }
.location-office__details a { color: inherit; text-decoration: none; }
.location-office__details a:hover { text-decoration: underline; }
.location-office__address-en { display: block; margin-top: var(--space-5); color: #777; font-size: var(--font-size-15); line-height: 1.65; word-break: normal; }
.location-office__map { position: relative; height: 100%; align-self: stretch; }
.location-office__map iframe { position: absolute; inset: 0; display: block; width: 100%; height: 100%; border: 0; border-radius: 24px; background: #f3f3f3; }
/* 브랜드 */
.page-brand #contArea .real-cont { padding: 0; }
.brand-content { --brand-content-start: 150px; position: relative; isolation: isolate; padding-top: calc(var(--brand-content-start) + var(--space-60)); padding-bottom: 0; }
.brand-content::before { content: ''; position: absolute; z-index: -1; pointer-events: none; top: var(--brand-content-start); left: 50%; transform: translateX(-50%); width: min(100%, 1300px); aspect-ratio: 1300 / 658; background: url('/images/brand-map.svg') center top / contain no-repeat; opacity: .5; }
.brand-slogan { margin: 0 0 var(--space-110); font-size: var(--font-size-56); line-height: 1.4; letter-spacing: -.045em; font-weight: 700; text-align: center; }
.brand-slogan span { color: var(--color-primary, #ff8445); }
.brand-section-title { margin: 0 0 var(--space-36); font-size: var(--font-size-36); line-height: 1.3; font-weight: 700; letter-spacing: -.04em; }
.brand-marquee { overflow: hidden; }
.brand-marquee__track { display: flex; width: max-content; animation: brand-flow 110s linear infinite; }
.brand-logo-grid { display: flex; flex: none; gap: var(--space-20); margin: 0; padding: 0 var(--space-20) 0 0; list-style: none; }
.brand-logo-grid > li { width: 240px; flex: none; }
@keyframes brand-flow { to { transform: translateX(-50%); } }
.brand-logo-box { display: flex; align-items: center; justify-content: center; min-width: 0; height: 146px; padding: var(--space-26); border: 1px solid #dddddd; border-radius: 8px; background: #fff; box-sizing: border-box; }
.brand-logo-box img { display: block; width: 100%; height: 100%; object-fit: contain; }
.brand-logo-grid .brand-logo-box img { width: 80%; height: 80%; }
.brand-logo-grid .brand-logo-box img[src*="sonpark-user.png"] { transform: scale(1.6); clip-path: inset(0 20%); }
.brand-logo-grid .brand-logo-box img[src*="rdrd-user.png"] { transform: scale(1.8); clip-path: inset(25% 0); }
.brand-channels { margin-top: var(--space-240); }
.brand-country { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.4fr); gap: var(--space-64); padding: var(--space-64) 0; }
.brand-country:last-child { padding-bottom: 0; }
.brand-country[aria-labelledby="country-china"] { padding-top: var(--space-24); }
.brand-country__name { margin: 0 0 var(--space-24); font-size: var(--font-size-30); line-height: 1.2; font-weight: 700; letter-spacing: -.03em; }
.brand-country__image { position: relative; padding-top: calc(66.666667% + var(--space-300)); }
.brand-country__photo { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; display: block; border-radius: 8px; }
.brand-country__channels { padding-top: var(--space-60); }
.brand-channel-group + .brand-channel-group { margin-top: var(--space-72); }
.brand-channel-item { min-width: 0; text-align: center; }
.brand-channel-name { display: block; margin-top: var(--space-10); font-size: var(--font-size-13); line-height: 1.4; color: #555; overflow-wrap: anywhere; }
.brand-channel-group h4 { margin: 0 0 var(--space-18); font-size: var(--font-size-20); line-height: 1.4; font-weight: 600; }
.brand-channel-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--space-22) var(--space-12); margin: 0; padding: 0; list-style: none; }
.brand-channel-grid .brand-logo-box { height: 92px; padding: var(--space-18); }
.brand-channel-grid .brand-logo-box img[src*="/tmall.webp"] { width: 80%; height: 80%; }
.brand-channel-grid .brand-logo-box img[src$="/citysuper.svg"], .brand-channel-grid .brand-logo-box img[src$="/sanfu-v1.webp"] { transform: scale(.85); }
/* 사업 */
.asia-story { position: relative; background: #fff; }
.asia-stage { position: relative; min-height: 720px; height: calc(100svh - 120px); overflow: hidden; }
.asia-story.is-enhanced { height: calc(100svh + 560px); }
.is-enhanced .asia-stage { position: sticky; top: 120px; min-height: 0; }
.asia-photo { position: absolute; inset: 0; overflow: hidden; transform: translateY(var(--image-y, 0%)) scaleX(var(--image-scale, 1)); transform-origin: center top; opacity: var(--image-opacity, 1); }
.asia-photo img { width: 100%; height: 100%; object-fit: cover; display: block; }
.asia-photo::after { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(8,15,21,.2), rgba(8,15,21,.72)); opacity: var(--image-dim, 1); }
.asia-intro { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; padding: var(--space-40); color: #fff; opacity: var(--intro-opacity, 1); transform: translateY(var(--intro-y, 0px)); }
.is-enhanced .asia-intro { color: #121212; justify-content: flex-start; padding-top: var(--space-150); }
.asia-intro p { font-size: var(--font-size-22); margin: 0 0 var(--space-30); color: var(--color-primary, #ff8445); font-weight: 600; }
.asia-intro h2 { font-size: var(--font-size-56); line-height: 1.4; letter-spacing: -.045em; font-weight: 700; margin: 0; }
.asia-intro__hint { position: absolute; bottom: 40px; font-size: var(--font-size-12); letter-spacing: .16em; color: #777; }
.asia-description { position: absolute; bottom: 10%; left: 50%; width: min(100%, calc(1728px + var(--container-space) * 2)); padding-left: var(--container-space); padding-right: var(--container-space); box-sizing: border-box; transform: translate(-50%, var(--copy-y, 0px)); display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-90); align-items: end; color: #fff; opacity: var(--copy-opacity, 1); }
.asia-description h3 { font-size: clamp(32px, 2.7vw, 52px); font-weight: 600; line-height: 1.45; letter-spacing: -.04em; margin: 0; }
.asia-description p { margin: 0; font-size: var(--font-size-22); line-height: 1.9; }
.asia-story:not(.is-enhanced) .asia-intro { justify-content: flex-start; padding-top: var(--space-70); }
.asia-services { padding: var(--space-150) 0; background: #f6f7f8; }
.asia-services__inner { margin: auto; }
.asia-services header { margin-bottom: var(--space-64); }
.asia-services header p { color: var(--color-primary, #ff8445); font-size: var(--font-size-20); margin: 0 0 var(--space-20); font-weight: 600; }
.asia-services header h2 { font-size: var(--font-size-48); color: #121212; line-height: 1.4; letter-spacing: -.04em; margin: 0; }
.asia-cards { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--space-24); }
.asia-card { background: #fff; padding: var(--space-44) var(--space-32); border: 1px solid #e6e6e6; border-radius: 16px; }
.asia-card__number { color: var(--color-primary, #ff8445); font-size: var(--font-size-42); line-height: 1; font-weight: 500; display: block; margin-bottom: var(--space-64); }
.asia-card h3 { font-size: var(--font-size-28); color: #121212; font-weight: 600; letter-spacing: -.035em; margin: 0 0 var(--space-24); }
.asia-card p { color: #666; font-size: var(--font-size-18); line-height: 1.9; margin: 0; }
.asia-card ul { border-top: 1px solid #eee; margin: var(--space-30) 0 0; padding: var(--space-24) 0 0; list-style: none; }
.asia-card li { position: relative; padding-left: var(--space-13); font-size: var(--font-size-16); line-height: 1.9; color: #444; }
.asia-card li::before { content: ''; position: absolute; left: 0; top: calc(.95em - 2.5px); width: 5px; height: 5px; border-radius: 50%; background: #ccc; }
.asia-cards--aligned .asia-card { display: flex; flex-direction: column; }
.asia-cards--aligned .asia-card h3 { line-height: 1.4; min-height: 1.4em; }
.asia-cards--aligned .asia-card p { min-height: calc(1.9em * 4); }
