/* Layout: 로고의 '흰 종이 위 엠보싱 스카이라인 + 골드·레드·네이비 헤링본 자수' 콘셉트.
   흰 바탕 코퍼레이트(GLOBAL LOGISTICS 구성) — 히어로 좌측 카피 / 우측 엠보싱 로고, 3색 트윌 띠로 섹션 구분, 네이비 패널에 지구본.
   로고가 흰 종이 전제라 라이트 단일 테마로 고정. */
:root {
  color-scheme: light;
  --paper: #ffffff;
  --mist: #f4f6fa;
  --ink: #141b33;
  --muted: #5b6377;
  --line: #e2e6ee;
  --emboss: #dde2ea;
  --navy: #1b2f6e;
  --navy-deep: #101d47;
  --red: #a5262d;
  --gold: #b9862c;
  --gold-soft: #e9c77f;
  --deep-muted: #a9b4d0;
  --on-deep-accent: #e9c77f;
  --font-display: "Gothic A1", "Apple SD Gothic Neo", "Malgun Gothic", sans-serif;
  --font-body: "Noto Sans KR", "Apple SD Gothic Neo", "Malgun Gothic", system-ui, sans-serif;
  --font-latin: "Outfit", "Noto Sans KR", system-ui, sans-serif;
  --maxw: 1200px;
  --radius: 14px;
  --twill: repeating-linear-gradient(135deg, rgba(255,255,255,.22) 0 2px, transparent 2px 6px);
}

*, *::before, *::after { box-sizing: border-box; }
html { overflow-x: hidden; scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
body {
  margin: 0; overflow-x: hidden; background: var(--paper); color: var(--ink);
  font-family: var(--font-body); font-size: 16px; line-height: 1.75;
  word-break: keep-all; overflow-wrap: break-word; -webkit-font-smoothing: antialiased;
}
body::before { content: ""; position: fixed; inset: 0 0 auto; height: env(safe-area-inset-top, 0px); z-index: 60; background: var(--paper); }
img { max-width: 100%; display: block; }
a { color: inherit; }
:focus-visible { outline: 2px solid var(--navy); outline-offset: 3px; border-radius: 4px; }
h1, h2, h3 { font-family: var(--font-display); font-weight: 800; line-height: 1.3; letter-spacing: -0.02em; text-wrap: balance; margin: 0; }
p { margin: 0; }

.wrap {
  width: 100%; max-width: var(--maxw); margin-inline: auto; min-width: 0;
  padding-left: max(16px, env(safe-area-inset-left, 0px));
  padding-right: max(16px, env(safe-area-inset-right, 0px));
}
@media (min-width: 768px) { .wrap { padding-left: max(32px, env(safe-area-inset-left, 0px)); padding-right: max(32px, env(safe-area-inset-right, 0px)); } }

.label { display: inline-flex; align-items: center; gap: 10px; font-family: var(--font-latin); font-size: 13px; font-weight: 600; letter-spacing: 0.16em; text-transform: uppercase; color: var(--red); }
.label::before { content: ""; width: 22px; height: 3px; background: linear-gradient(90deg, var(--gold) 0 33%, var(--red) 33% 66%, var(--navy) 66%); }
.label.on-dark { color: var(--gold-soft); }

/* 3색 트윌 띠 (로고 L·N·ㄱ 색) */
.tricolor { height: 8px; display: grid; grid-template-columns: 1fr 1fr 1fr; }
.tricolor span { background-image: var(--twill); }
.tricolor span:nth-child(1) { background-color: var(--gold); }
.tricolor span:nth-child(2) { background-color: var(--red); }
.tricolor span:nth-child(3) { background-color: var(--navy); }

/* ---------- Header ---------- */
.site-header { position: sticky; top: env(safe-area-inset-top, 0px); z-index: 50; background: rgba(255,255,255,0.94); backdrop-filter: saturate(1.4) blur(10px); border-bottom: 1px solid var(--line); }
.site-header .wrap { display: flex; align-items: center; justify-content: space-between; gap: 16px; min-height: 72px; }
.brand { display: flex; align-items: center; gap: 10px; text-decoration: none; min-height: 44px; }
.brand .mark { width: 40px; height: auto; }
.brand .word { height: 22px; width: auto; }
.nav-desktop { display: none; }
.nav-desktop a, .nav-mobile a { text-decoration: none; }
.nav-desktop a { display: inline-flex; align-items: center; min-height: 44px; padding: 0 16px; font-size: 15px; font-weight: 500; color: var(--muted); transition: color .2s; }
.nav-desktop a:hover, .nav-desktop a[aria-current="page"] { color: var(--ink); }
.nav-desktop a[aria-current="page"] { box-shadow: inset 0 -3px 0 var(--red); }
.nav-desktop .nav-cta { margin-left: 10px; color: #fff; background: var(--red); border-radius: 8px; font-weight: 700; box-shadow: none !important; }
.nav-desktop .nav-cta:hover { color: #fff; background: #8b1f25; }
.menu-btn { display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; background: var(--paper); border: 1px solid var(--line); border-radius: 10px; color: var(--ink); cursor: pointer; }
.menu-btn svg { width: 20px; height: 20px; }
@media (min-width: 768px) { .nav-desktop { display: flex; align-items: center; } .menu-btn { display: none; } }

.nav-mobile { position: fixed; inset: 0; z-index: 70; display: flex; justify-content: flex-end; background: rgba(16,29,71,0.45); }
.nav-mobile[hidden] { display: none !important; }
.nav-mobile .panel {
  width: min(320px, 86vw); height: 100%; background: var(--paper); color: var(--ink);
  padding: calc(16px + env(safe-area-inset-top, 0px)) max(20px, env(safe-area-inset-right, 0px)) calc(24px + env(safe-area-inset-bottom, 0px)) 20px;
  display: flex; flex-direction: column; gap: 4px; overflow-y: auto; border-left: 6px solid var(--navy);
}
.nav-mobile .panel-top { display: flex; justify-content: space-between; align-items: center; margin-bottom: 16px; }
.nav-mobile .panel-top img { width: 44px; }
.nav-mobile a { display: flex; align-items: center; min-height: 54px; padding: 0 4px; font-size: 18px; font-weight: 600; border-bottom: 1px solid var(--line); }
.nav-mobile a[aria-current="page"] { color: var(--red); }
@media (min-width: 768px) { .nav-mobile { display: none !important; } }

/* ---------- Buttons ---------- */
.btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 52px; padding: 0 26px; border-radius: 10px; font-weight: 700; font-size: 15px; text-decoration: none; border: 1px solid transparent; cursor: pointer; font-family: inherit; transition: transform .15s, background .2s, border-color .2s; }
.btn:hover { transform: translateY(-1px); }
.btn-red { background: var(--red); color: #fff; }
.btn-red:hover { background: #8b1f25; }
.btn-navy { background: var(--navy); color: #fff; }
.btn-line { border-color: var(--ink); color: var(--ink); background: transparent; }
.btn-line:hover { background: var(--ink); color: #fff; }
.btn-light { background: #fff; color: var(--navy-deep); }
.btn-ghost { border-color: rgba(255,255,255,0.4); color: #fff; }
@media (prefers-reduced-motion: reduce) { .btn { transition: none; } .btn:hover { transform: none; } }

/* ---------- Skyline (엠보싱) ---------- */
.skyline { position: absolute; left: 0; right: 0; bottom: 0; height: 46%; pointer-events: none; color: var(--emboss); }
.skyline svg { width: 100%; height: 100%; display: block; }
.skyline .hl { stroke: #ffffff; }

/* ---------- Hero ---------- */
.hero { position: relative; overflow: hidden; background: linear-gradient(180deg, #fff 0%, var(--mist) 100%); }
.hero .wrap { position: relative; z-index: 1; display: grid; gap: 40px; padding-block: 48px 64px; align-items: center; }
.hero h1 { font-size: clamp(32px, 7.6vw, 60px); margin-top: 18px; }
.hero h1 .g { color: var(--gold); }
.hero h1 .r { color: var(--red); }
.hero h1 .n { color: var(--navy); }
.hero-lead { margin-top: 22px; color: var(--muted); font-size: 17px; max-width: 32em; }
.hero-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 34px; }
.hero-logo { width: 100%; max-width: 440px; margin-inline: auto; aspect-ratio: 936 / 1012; border-radius: 6px; overflow: hidden; box-shadow: 0 1px 0 #fff inset, 0 30px 60px -28px rgba(20,27,51,0.35), 0 2px 6px rgba(20,27,51,0.06); background: #fff; }
.hero-logo img { width: 100%; height: 100%; object-fit: cover; }
@media (min-width: 1024px) {
  .hero .wrap { grid-template-columns: 1.15fr 0.85fr; padding-block: 88px 104px; gap: 64px; }
  .hero-logo { max-width: 460px; transform: rotate(1.2deg); }
}
@media (prefers-reduced-motion: no-preference) {
  .hero-logo { animation: rise .9s cubic-bezier(.2,.7,.2,1) both; }
  @keyframes rise { from { transform: translateY(18px) rotate(1.2deg); } }
}

/* KPI facts (템플릿의 수치 띠) */
.facts-band { position: relative; z-index: 2; margin-top: -1px; }
.facts-grid { display: grid; grid-template-columns: 1fr; background: var(--paper); border: 1px solid var(--line); border-radius: var(--radius); overflow: hidden; box-shadow: 0 20px 40px -30px rgba(20,27,51,0.3); }
.fact { padding: 26px 24px; display: grid; gap: 4px; border-bottom: 1px solid var(--line); }
.fact:last-child { border-bottom: 0; }
.fact b { font-family: var(--font-latin); font-size: 38px; font-weight: 700; line-height: 1.1; color: var(--ink); font-variant-numeric: tabular-nums; }
.fact b small { font-size: 18px; color: var(--red); margin-left: 4px; }
.fact span { color: var(--muted); font-size: 14.5px; }
@media (min-width: 768px) {
  .facts-band { margin-top: -48px; }
  .facts-grid { grid-template-columns: repeat(3, 1fr); }
  .fact { border-bottom: 0; border-right: 1px solid var(--line); padding: 32px; }
  .fact:last-child { border-right: 0; }
}

/* ---------- Sections ---------- */
.section .wrap { padding-block: 72px; }
@media (min-width: 1024px) { .section .wrap { padding-block: 112px; } }
.section-mist { background: var(--mist); }
.sec-head { display: grid; gap: 14px; margin-bottom: 44px; max-width: 46em; }
.sec-head.center { margin-inline: auto; text-align: center; justify-items: center; }
.sec-head h2 { font-size: clamp(26px, 5vw, 40px); }
.sec-head p { color: var(--muted); }

/* Business cards */
.biz-grid { display: grid; grid-template-columns: 1fr; gap: 20px; }
@media (min-width: 640px) { .biz-grid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { .biz-grid { grid-template-columns: repeat(3, 1fr); gap: 24px; } }
.biz-card { position: relative; background: var(--paper); border: 1px solid var(--line); border-radius: var(--radius); padding: 32px 28px 28px; display: flex; flex-direction: column; gap: 12px; text-decoration: none; min-width: 0; overflow: hidden; transition: transform .2s, box-shadow .2s, border-color .2s; }
.biz-card::before { content: ""; position: absolute; inset: 0 0 auto; height: 6px; background-color: var(--c); background-image: var(--twill); }
.biz-card:hover { transform: translateY(-4px); box-shadow: 0 24px 40px -28px rgba(20,27,51,0.45); border-color: transparent; }
.biz-card .icon { width: 44px; height: 44px; color: var(--c); }
.biz-card .en { font-family: var(--font-latin); font-size: 12px; font-weight: 600; letter-spacing: 0.14em; color: var(--muted); text-transform: uppercase; }
.biz-card h3 { font-size: 21px; }
.biz-card p { color: var(--muted); font-size: 15px; }
.biz-card .more { margin-top: auto; padding-top: 10px; font-size: 14px; font-weight: 700; color: var(--c); }
.c-gold { --c: var(--gold); } .c-red { --c: var(--red); } .c-navy { --c: var(--navy); }
@media (prefers-reduced-motion: reduce) { .biz-card { transition: none; } .biz-card:hover { transform: none; } }

/* Navy global panel (템플릿의 이미지 패널) */
.global { background: var(--navy-deep); color: #fff; border-radius: 20px; overflow: hidden; position: relative; display: grid; gap: 8px; }
.global::after { content: ""; position: absolute; inset: auto 0 0; height: 8px; background: linear-gradient(90deg, var(--gold) 0 33.3%, var(--red) 33.3% 66.6%, var(--navy) 66.6%); }
.global .txt { padding: 40px 28px 8px; display: grid; gap: 16px; align-content: center; min-width: 0; }
.global h2 { font-size: clamp(26px, 4.8vw, 40px); }
.global p { color: var(--deep-muted); }
.routes { list-style: none; margin: 8px 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.routes li { font-family: var(--font-latin); font-size: 13px; letter-spacing: 0.06em; padding: 6px 12px; border: 1px solid rgba(255,255,255,0.18); border-radius: 999px; color: #dfe5f5; }
.routes li b { color: var(--gold-soft); font-weight: 600; }
.globe-box { position: relative; width: 100%; max-width: 460px; aspect-ratio: 1 / 1; margin: 0 auto; padding: 0 16px 24px; }
.globe-box canvas { width: 100%; height: 100%; display: block; }
@media (min-width: 1024px) { .global { grid-template-columns: 1fr 1fr; } .global .txt { padding: 64px 56px; } .globe-box { padding: 32px; } }

/* Process */
.steps { list-style: none; margin: 0; padding: 0; display: grid; gap: 0; }
.step { display: grid; grid-template-columns: 64px 1fr; gap: 16px; padding: 24px 0; border-top: 1px solid var(--line); min-width: 0; }
.step:last-child { border-bottom: 1px solid var(--line); }
.step-no { font-family: var(--font-latin); font-size: 28px; font-weight: 700; color: var(--line); line-height: 1; -webkit-text-stroke: 1px var(--navy); color: transparent; }
.step h3 { font-size: 18px; font-family: var(--font-body); font-weight: 700; }
.step p { color: var(--muted); font-size: 15px; margin-top: 4px; }
.terms { margin-top: 10px; display: flex; flex-wrap: wrap; gap: 6px; }
.chip { font-family: var(--font-latin); font-size: 12px; font-weight: 600; letter-spacing: 0.06em; padding: 3px 9px; border-radius: 6px; color: var(--navy); background: #e8ecf6; }
@media (min-width: 1024px) {
  .steps { grid-template-columns: repeat(5, 1fr); gap: 20px; }
  .step { grid-template-columns: 1fr; gap: 12px; padding: 28px 24px; border: 1px solid var(--line) !important; border-radius: var(--radius); background: var(--paper); }
}

/* CTA band */
.band { position: relative; background: var(--red); color: #fff; overflow: hidden; }
.band::before { content: ""; position: absolute; inset: 0; background-image: var(--twill); opacity: .35; }
.band .wrap { position: relative; padding-block: 56px; display: grid; gap: 24px; align-items: center; }
.band h2 { font-size: clamp(22px, 4.4vw, 32px); }
.band p { color: #f6dcdc; margin-top: 8px; }
.band .actions { display: flex; flex-wrap: wrap; gap: 12px; }
@media (min-width: 768px) { .band .wrap { grid-template-columns: 1fr auto; padding-block: 64px; } }

/* ---------- Sub-page head ---------- */
.page-head { position: relative; overflow: hidden; background: linear-gradient(180deg, #fff 0%, var(--mist) 100%); border-bottom: 1px solid var(--line); }
.page-head .skyline { height: 78%; opacity: .9; }
.page-head .wrap { position: relative; z-index: 1; padding-block: 56px 60px; }
.page-head h1 { font-size: clamp(30px, 6vw, 48px); margin-top: 14px; }
.page-head p { margin-top: 14px; color: var(--muted); max-width: 40em; }
@media (min-width: 1024px) { .page-head .wrap { padding-block: 88px 92px; } }

/* Business detail */
.biz-index { display: flex; gap: 8px; overflow-x: auto; padding-bottom: 6px; margin-bottom: 8px; scrollbar-width: thin; }
.biz-index a { flex: none; display: inline-flex; align-items: center; min-height: 44px; padding: 0 18px; border: 1px solid var(--line); border-radius: 999px; text-decoration: none; font-size: 14px; font-weight: 600; background: var(--paper); }
.biz-index a:hover { border-color: var(--navy); color: var(--navy); }
.biz-detail { display: grid; gap: 24px; padding-block: 52px; border-top: 1px solid var(--line); scroll-margin-top: calc(88px + env(safe-area-inset-top, 0px)); }
.biz-detail:first-of-type { border-top: 0; }
.biz-detail .head { display: grid; gap: 12px; align-content: start; min-width: 0; }
.biz-detail .icon { width: 52px; height: 52px; color: var(--c); }
.biz-detail h2 { font-size: clamp(26px, 4.8vw, 34px); }
.biz-detail .desc { color: var(--muted); max-width: 40em; }
.scope { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: 1fr; gap: 12px; min-width: 0; }
.scope li { display: flex; gap: 14px; align-items: flex-start; padding: 18px 20px; background: var(--mist); border-radius: 10px; font-size: 15px; font-weight: 500; }
.scope li::before { content: ""; flex: none; width: 8px; height: 8px; margin-top: 9px; background: var(--c); border-radius: 2px; transform: rotate(45deg); }
.note { font-size: 14px; color: var(--red); font-weight: 500; }
@media (min-width: 640px) { .scope { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { .biz-detail { grid-template-columns: 0.85fr 1.15fr; gap: 56px; padding-block: 72px; } }

/* About */
.two-col { display: grid; gap: 48px; }
@media (min-width: 1024px) { .two-col { grid-template-columns: 1fr 1fr; gap: 72px; } }
.facts-table { width: 100%; border-collapse: collapse; font-size: 15px; }
.facts-table th, .facts-table td { text-align: left; padding: 17px 0; border-bottom: 1px solid var(--line); vertical-align: top; }
.facts-table th { width: 112px; font-weight: 700; color: var(--muted); padding-right: 16px; }
.facts-table tr:first-child th, .facts-table tr:first-child td { border-top: 3px solid var(--navy); }
@media (min-width: 768px) { .facts-table th { width: 170px; } }
.tbd { color: var(--muted); font-style: normal; font-size: 14px; }
.brand-story { display: grid; gap: 18px; }
.brand-story .logo-card { background: #fff; border: 1px solid var(--line); border-radius: var(--radius); padding: 28px; display: grid; place-items: center; }
.brand-story .logo-card img { max-width: 240px; width: 100%; }
.meaning { list-style: none; margin: 0; padding: 0; display: grid; gap: 12px; }
.meaning li { display: grid; grid-template-columns: 14px 1fr; gap: 14px; align-items: start; font-size: 15px; }
.meaning li i { width: 14px; height: 14px; margin-top: 6px; border-radius: 3px; background-image: var(--twill); background-color: var(--c); }
.meaning li b { display: block; }
.meaning li span { color: var(--muted); }
.values { display: grid; grid-template-columns: 1fr; gap: 20px; }
@media (min-width: 768px) { .values { grid-template-columns: repeat(3, 1fr); } }
.value { background: var(--paper); border: 1px solid var(--line); border-radius: var(--radius); padding: 28px; border-top: 6px solid var(--c); }
.value h3 { font-size: 20px; margin-top: 8px; }
.value p { color: var(--muted); margin-top: 8px; font-size: 15px; }
.value .en { font-family: var(--font-latin); font-size: 12px; font-weight: 600; letter-spacing: .14em; color: var(--c); text-transform: uppercase; }
.timeline { list-style: none; margin: 0; padding: 0; display: grid; }
.timeline li { display: grid; grid-template-columns: 80px 1fr; gap: 16px; padding: 18px 0; border-bottom: 1px solid var(--line); }
.timeline .yr { font-family: var(--font-latin); font-weight: 700; color: var(--red); }
.map-card { background: var(--navy-deep); color: #fff; border-radius: var(--radius); padding: 32px 28px; display: grid; gap: 14px; position: relative; overflow: hidden; }
.map-card::after { content: ""; position: absolute; inset: auto 0 0; height: 6px; background: linear-gradient(90deg, var(--gold) 0 33.3%, var(--red) 33.3% 66.6%, var(--navy) 66.6%); }
.map-card .zip { font-family: var(--font-latin); letter-spacing: .14em; font-size: 13px; color: var(--gold-soft); }
.map-card .addr { font-size: 19px; font-weight: 700; }
.map-card .sub { color: var(--deep-muted); font-size: 15px; }
.map-card .btn { justify-self: start; }

/* Contact */
.form { display: grid; gap: 18px; }
.form-row { display: grid; gap: 18px; }
@media (min-width: 640px) { .form-row { grid-template-columns: 1fr 1fr; } }
.field { display: grid; gap: 6px; min-width: 0; }
.field label { font-size: 14px; font-weight: 700; }
.field label .req { color: var(--red); margin-left: 2px; }
.field input, .field select, .field textarea { width: 100%; min-height: 50px; padding: 12px 14px; font: inherit; font-size: 16px; color: var(--ink); background: var(--paper); border: 1px solid #cfd5e2; border-radius: 10px; }
.field textarea { min-height: 170px; resize: vertical; }
.field input:focus, .field select:focus, .field textarea:focus { outline: 2px solid var(--navy); outline-offset: 0; border-color: transparent; }
.check { display: flex; gap: 10px; align-items: flex-start; font-size: 14px; color: var(--muted); min-height: 44px; }
.check input { width: 20px; height: 20px; margin-top: 3px; accent-color: var(--navy); flex: none; }
.form-msg { padding: 14px 16px; border-radius: 10px; background: #fbeeee; color: var(--red); font-size: 14px; }
.info-list { margin: 0; display: grid; }
.info-list div { display: grid; grid-template-columns: 96px 1fr; gap: 12px; padding: 17px 0; border-bottom: 1px solid var(--line); font-size: 15px; }
.info-list div:first-child { border-top: 3px solid var(--navy); }
.info-list dt { color: var(--muted); font-weight: 700; }
.info-list dd { margin: 0; min-width: 0; }

/* ---------- Footer ---------- */
.site-footer { background: var(--navy-deep); color: var(--deep-muted); font-size: 13.5px; }
.site-footer .wrap { padding-block: 48px calc(40px + env(safe-area-inset-bottom, 0px)); display: grid; gap: 26px; }
.foot-brand { display: flex; align-items: center; gap: 14px; }
.foot-brand img { width: 52px; background: #fff; border-radius: 8px; padding: 6px; }
.foot-brand b { display: block; color: #fff; font-size: 16px; }
.foot-info { display: flex; flex-wrap: wrap; gap: 4px 20px; line-height: 1.8; }
.foot-info span b { color: #fff; font-weight: 500; margin-right: 6px; }
.foot-nav { display: flex; flex-wrap: wrap; gap: 4px 14px; }
.foot-nav a { display: inline-flex; align-items: center; min-height: 44px; text-decoration: none; color: #fff; font-weight: 500; }
.copy { font-family: var(--font-latin); font-size: 12px; letter-spacing: 0.08em; border-top: 1px solid rgba(255,255,255,0.1); padding-top: 18px; }
@media (min-width: 768px) { .site-footer .top { display: flex; justify-content: space-between; align-items: center; gap: 24px; } }

/* ================= v3: 사진형 글로벌 레이아웃 ================= */
.photo { position: relative; overflow: hidden; background: var(--navy-deep); }
.photo > .bg { position: absolute; inset: 0; background-size: cover; background-position: center; }
.photo > .bg::after { content: ""; position: absolute; inset: 0; background: linear-gradient(100deg, rgba(10,18,46,.92) 0%, rgba(10,18,46,.72) 45%, rgba(10,18,46,.25) 100%); }

.hero-x { color: #fff; }
.hero-x .wrap { position: relative; z-index: 1; display: grid; gap: 36px; padding-block: 56px 96px; align-items: center; }
.hero-x .label { color: var(--gold-soft); }
.hero-x h1 { font-size: clamp(32px, 7.4vw, 62px); margin-top: 16px; color: #fff; }
.hero-x h1 .en { display: block; font-family: var(--font-latin); font-weight: 700; font-size: .5em; letter-spacing: .01em; color: var(--gold-soft); margin-bottom: 10px; }
.hero-x .hero-lead { color: #d5dbeb; }
.hero-x .btn-line { border-color: rgba(255,255,255,.55); color: #fff; }
.hero-x .btn-line:hover { background: #fff; color: var(--navy-deep); }
.hero-x .hero-logo { max-width: 400px; box-shadow: 0 40px 80px -30px rgba(0,0,0,.7), 0 0 0 1px rgba(255,255,255,.15); }
@media (min-width: 1024px) { .hero-x .wrap { grid-template-columns: 1.2fr .8fr; padding-block: 112px 150px; gap: 64px; min-height: 640px; } }

.biz-photo { display: grid; grid-template-columns: 1fr; gap: 24px; }
@media (min-width: 640px) { .biz-photo { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { .biz-photo { grid-template-columns: repeat(3, 1fr); } }
.pcard { display: flex; flex-direction: column; background: var(--paper); border: 1px solid var(--line); border-radius: var(--radius); overflow: hidden; text-decoration: none; min-width: 0; transition: transform .25s, box-shadow .25s; }
.pcard .ph { position: relative; aspect-ratio: 4 / 3; overflow: hidden; background: var(--mist); }
.pcard .ph img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s cubic-bezier(.2,.7,.2,1); }
.pcard .ph::after { content: ""; position: absolute; inset: auto 0 0; height: 6px; background-color: var(--c); background-image: var(--twill); }
.pcard .tx { padding: 24px 24px 26px; display: grid; gap: 8px; flex: 1; align-content: start; }
.pcard .en { font-family: var(--font-latin); font-size: 12px; font-weight: 600; letter-spacing: .14em; color: var(--c); text-transform: uppercase; }
.pcard h3 { font-size: 21px; }
.pcard p { color: var(--muted); font-size: 15px; }
.pcard .more { margin-top: 6px; font-size: 14px; font-weight: 700; color: var(--ink); }
.pcard:hover { transform: translateY(-4px); box-shadow: 0 28px 48px -30px rgba(20,27,51,.5); }
.pcard:hover .ph img { transform: scale(1.06); }
@media (prefers-reduced-motion: reduce) { .pcard, .pcard .ph img { transition: none; } .pcard:hover, .pcard:hover .ph img { transform: none; } }

.global-x { color: #fff; }
.global-x > .bg { background-position: center 30%; }
.global-x > .bg::after { background: linear-gradient(90deg, rgba(8,14,38,.94) 0%, rgba(8,14,38,.7) 50%, rgba(8,14,38,.2) 100%); }
.global-x .wrap { position: relative; z-index: 1; padding-block: 88px; display: grid; gap: 18px; max-width: var(--maxw); }
.global-x .inner { max-width: 560px; display: grid; gap: 18px; }
.global-x h2 { font-size: clamp(28px, 5vw, 46px); }
.global-x h2 .en { display: block; font-family: var(--font-latin); font-size: .45em; color: var(--gold-soft); letter-spacing: .02em; margin-bottom: 8px; }
.global-x p { color: #c9d1e6; }
.region-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1px; background: rgba(255,255,255,.14); border: 1px solid rgba(255,255,255,.14); border-radius: 12px; overflow: hidden; margin-top: 10px; }
.region { background: rgba(8,14,38,.55); padding: 16px 18px; backdrop-filter: blur(6px); }
.region b { display: block; font-family: var(--font-latin); font-size: 15px; letter-spacing: .06em; color: #fff; }
.region span { font-size: 13px; color: #b9c3dc; }
@media (min-width: 768px) { .region-grid { grid-template-columns: repeat(4, 1fr); } }
@media (min-width: 1024px) { .global-x .wrap { padding-block: 128px; } }

.hq { color: #fff; }
.hq .wrap { position: relative; z-index: 1; padding-block: 72px; display: grid; gap: 24px; align-items: end; }
.hq h2 { font-size: clamp(24px, 4.4vw, 36px); }
.hq p { color: #cfd6ea; }
.hq .addr { font-size: 18px; font-weight: 700; color: #fff; }
@media (min-width: 768px) { .hq .wrap { grid-template-columns: 1fr auto; padding-block: 96px; } }

.page-head-x { color: #fff; }
.page-head-x .wrap { position: relative; z-index: 1; padding-block: 72px 76px; }
.page-head-x .label { color: var(--gold-soft); }
.page-head-x h1 { font-size: clamp(30px, 6vw, 52px); margin-top: 14px; }
.page-head-x p { margin-top: 14px; color: #d0d7ea; max-width: 40em; }
@media (min-width: 1024px) { .page-head-x .wrap { padding-block: 120px 124px; } }

.biz-detail .ph { border-radius: var(--radius); overflow: hidden; aspect-ratio: 16 / 10; position: relative; }
.biz-detail .ph img { width: 100%; height: 100%; object-fit: cover; }
.biz-detail .ph::after { content: ""; position: absolute; inset: auto 0 0; height: 6px; background-color: var(--c); background-image: var(--twill); }
.biz-detail .side { display: grid; gap: 20px; min-width: 0; }
.vision { display: grid; gap: 28px; align-items: center; }
.vision .ph { border-radius: var(--radius); overflow: hidden; aspect-ratio: 4/3; }
.vision .ph img { width: 100%; height: 100%; object-fit: cover; }
@media (min-width: 1024px) { .vision { grid-template-columns: 1fr 1fr; gap: 64px; } }
.vision blockquote { margin: 0; font-family: var(--font-display); font-size: clamp(22px, 3.6vw, 30px); font-weight: 800; line-height: 1.45; letter-spacing: -.02em; }
.vision blockquote em { font-style: normal; color: var(--red); }

/* v3.1: 히어로 로고 제거 — 배경 사진 노출 */
.hero-x > .bg { background-position: 70% center; }
.hero-x > .bg::after { background: linear-gradient(100deg, rgba(10,18,46,.88) 0%, rgba(10,18,46,.55) 42%, rgba(10,18,46,.05) 78%); }
.hero-x .wrap { grid-template-columns: 1fr !important; }
.hero-x .wrap > div { max-width: 640px; }
@media (min-width: 1024px) { .hero-x .wrap { min-height: 700px; } }
