/* sub content */
.greet { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); gap: clamp(48px, 7vw, 128px); align-items: start; }
.greet__slogan { padding-bottom: var(--space-48); border-bottom: 1px solid var(--line); color: var(--title); font-size: clamp(25px, 2.8vw, 48px); font-weight: 600; line-height: 1.4; letter-spacing: var(--tracking); }
.greet__body { margin-top: var(--space-48); }
.greet__body p { color: var(--body); font-size: var(--font-size-20); line-height: 1.85; }
.greet__body p + p { margin-top: var(--space-24); }
.greet__body .greet__hello { color: var(--title); font-size: var(--font-size-22); font-weight: 600; line-height: 1.6; }
.greet__sign { display: flex; flex-wrap: wrap; align-items: baseline; gap: var(--space-16); margin-top: var(--space-56); color: var(--body); font-size: var(--font-size-18); }
.greet__sign strong { color: var(--title); font-size: var(--font-size-30); font-weight: 600; }
.greet__photo { position: static; margin: 0; background: var(--ink); }
.greet__photo img { display: block; width: 100%; aspect-ratio: 3 / 4; object-fit: cover; }
.philo__intro { padding-bottom: clamp(64px, 7vw, 112px); }
.philo__statement { color: var(--title); font-size: clamp(30px, 3vw, 52px); font-weight: 600; line-height: 1.35; letter-spacing: var(--tracking); }
.philo__lead { max-width: 46em; margin-top: var(--space-28); color: var(--body); font-size: var(--font-size-21); line-height: 1.7; }
.philo__layout { display: grid; grid-template-columns: 300px minmax(0, 1fr); gap: clamp(40px, 6vw, 120px); align-items: start; padding-top: var(--space-56); border-top: 1px solid var(--title); }
.philo__index { position: sticky; top: calc(var(--header-height) + var(--lnb-height) + 40px); }
.philo__index a { display: flex; gap: var(--space-16); padding: var(--space-14) 0; color: #767676; font-size: var(--font-size-18); font-weight: 500; line-height: 1.45; transition: color .3s; }
.philo__index a span { flex: none; min-width: 24px; font-size: var(--font-size-15); line-height: 1.8; }
.philo__index a:hover { color: var(--title); }
.philo__index a.is-active { color: var(--title); font-weight: 600; }
.philo__index a.is-active span { color: var(--color-primary); }
.philo-ch { scroll-margin-top: calc(var(--header-height) + var(--lnb-height) + 32px); }
.philo-ch + .philo-ch { margin-top: clamp(96px, 9vw, 160px); }
.philo-ch__img { margin: 0 0 var(--space-48); overflow: hidden; }
.philo-ch__img img { display: block; width: 100%; aspect-ratio: 2 / 1; object-fit: cover; transition: transform 1.2s var(--ease); }
.philo-ch:hover .philo-ch__img img { transform: scale(1.03); }
.philo-ch__num { color: var(--color-primary); font-size: var(--font-size-18); font-weight: 500; }
.philo-ch__title { margin-top: var(--space-12); color: var(--title); font-size: clamp(30px, 3vw, 52px); font-weight: 600; line-height: 1.2; letter-spacing: var(--tracking); }
.philo-ch__lead { margin-top: var(--space-18); color: var(--title); font-size: clamp(19px, 1.4vw, 24px); line-height: 1.55; }
.philo-ch__points { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin-top: var(--space-48); border-top: 1px solid var(--line); }
.philo-ch__points li { padding: var(--space-32) var(--space-32) 0 0; }
.philo-ch__points li + li { padding-left: var(--space-32); border-left: 1px solid var(--line); }
.philo-ch__points strong, .philo-ch__esg strong { display: block; color: var(--title); font-size: var(--font-size-21); font-weight: 600; }
.philo-ch__points p { margin-top: var(--space-12); font-size: var(--font-size-18); line-height: 1.7; }
.philo-ch__esg { margin-top: var(--space-48); border-top: 1px solid var(--line); }
.philo-ch__esg li { display: grid; grid-template-columns: 120px minmax(0, 1fr); gap: var(--space-32); align-items: center; padding: var(--space-28) 0; border-bottom: 1px solid var(--line); }
.philo-ch__letter { color: var(--color-primary); font-size: var(--font-size-64); font-weight: 300; line-height: 1; }
.philo-ch__esg p { margin-top: var(--space-6); font-size: var(--font-size-18); line-height: 1.7; }
.visit { display: grid; grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr); border: 1px solid var(--line); }
.visit__map iframe { display: block; width: 100%; height: 100%; min-height: 440px; border: 0; }
.visit__info { display: flex; flex-direction: column; }
.visit__info li { display: flex; flex: 1; flex-direction: column; justify-content: center; padding: var(--space-32) var(--space-40); border-left: 1px solid var(--line); }
.visit__info li + li { border-top: 1px solid var(--line); }
.visit__label { color: var(--color-primary); font-size: var(--font-size-15); font-weight: 500; }
.visit__info p { margin-top: var(--space-8); color: var(--title); font-size: var(--font-size-22); line-height: 1.5; }
.visit__info a:hover { color: var(--color-primary); }
.inquiry {display: none; margin-top: clamp(80px, 8vw, 128px); }
.inquiry__head { display: flex; justify-content: space-between; align-items: flex-end; gap: var(--space-24); padding-bottom: var(--space-24); }
.inquiry__title { color: var(--title); font-size: clamp(26px, 2.2vw, 36px); font-weight: 600; letter-spacing: var(--tracking); }
.inquiry__note { color: #767676; font-size: var(--font-size-16); }
.req { color: var(--color-primary); }
.w-full { width: 100%; }
.inquiry__file { font-size: var(--font-size-16); }
.checkbox label:before { border-radius: 0; }
.privacy-dialog { width: calc(100% - 40px); max-width: 560px; padding: var(--space-40); border: 0; color: var(--body); }
.privacy-dialog::backdrop { background: rgba(10, 16, 32, .6); }
.privacy-dialog h2 { color: var(--title); font-size: var(--font-size-24); font-weight: 600; }
.privacy-dialog p { margin-top: var(--space-16); font-size: var(--font-size-17); line-height: 1.7; }
.privacy-dialog .btn-fill { margin-top: var(--space-28); }
.member-list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-80) var(--space-48); width: 100%; margin: 0; padding: 0; list-style: none; }
.member-card { min-width: 0; }
.member-photo { margin: 0; aspect-ratio: 3 / 4; overflow: hidden; background: var(--mist); }
.member-photo img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center 18%; }
.member-role, .member-name, .member-career { padding-left: var(--space-10); padding-right: var(--space-10); }
.member-role { margin-top: var(--space-22); color: var(--color-primary); font-size: var(--font-size-16); font-weight: 500; line-height: 1.4; letter-spacing: var(--tracking); }
.member-name { margin-top: var(--space-6); color: var(--title); font-size: var(--font-size-32); font-weight: 700; line-height: 1.25; letter-spacing: var(--tracking); }
.member-career { margin-top: var(--space-14); padding-left: var(--space-10); color: var(--body); font-size: var(--font-size-18); font-weight: 400; line-height: 1.75; letter-spacing: var(--tracking); word-break: keep-all; list-style: none; }
.member-career li { display: flex; align-items: center; gap: var(--space-8); }
.member-career li + li { margin-top: var(--space-6); }
.member-career li::before { content: ""; flex: 0 0 5px; width: 5px; height: 5px; border-radius: 50%; background: #cccccc; }
.overview-head h2 { max-width: 860px; color: var(--title); font-size: clamp(25px, 2.8vw, 48px); font-weight: 600; line-height: 1.4; letter-spacing: var(--tracking); }
.overview-head p { margin-top: var(--space-28); color: var(--body); font-size: var(--font-size-18); line-height: 1.85; letter-spacing: var(--tracking); word-break: keep-all; }
.overview-panel { position: relative; margin-top: var(--space-20); padding: var(--space-210) 0 var(--space-120); color: #fff; background: url("../images/sub/overview-bg.png") no-repeat 50% 0 / cover; }
.overview-panel__inner { max-width: 680px; }
.overview-panel dl { display: flex; align-items: center; min-height: 70px; margin: 0; padding: var(--space-16) 0; border-bottom: 1px solid rgba(255, 255, 255, .5); font-size: var(--font-size-18); line-height: 1.6; letter-spacing: var(--tracking); }
.overview-panel dt { flex: none; width: 195px; padding-left: var(--space-15); font-weight: 700; }
[lang="en"] .overview-panel dt { width: 225px; }
.overview-panel dd { margin: 0; font-weight: 400; }
.biz { margin-top: var(--space-96); }
.biz__title { color: var(--title); font-size: clamp(28px, 2.4vw, 36px); font-weight: 600; letter-spacing: var(--tracking); }
.biz-list { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--space-28); margin: var(--space-30) 0 0; padding: 0; list-style: none; }
.biz-card img { display: block; width: 100%; aspect-ratio: 16 / 9; object-fit: cover; }
.biz-card h3 { margin-top: var(--space-16); color: var(--title); font-size: var(--font-size-20); font-weight: 600; line-height: 1.4; letter-spacing: var(--tracking); }
.biz-card p { margin-top: var(--space-8); color: var(--body); font-size: var(--font-size-16); line-height: 1.6; letter-spacing: var(--tracking); }
.history-layout { display: grid; grid-template-columns: minmax(280px, 600px) minmax(0, 1fr); align-items: start; }
.history-left { position: sticky; top: calc(var(--header-height) + var(--lnb-height) + 24px); align-self: start; padding-top: var(--space-48); padding-right: var(--space-56); }
.history-since { margin-bottom: var(--space-8); color: #eeeeee; font-size: var(--font-size-72); font-weight: 700; line-height: 0.9; letter-spacing: var(--tracking); }
.history-hero { margin-bottom: var(--space-28); }
.history-hero__accent, .history-hero__main { font-size: var(--font-size-40); font-weight: 700; line-height: 1.4; letter-spacing: var(--tracking); }
.history-hero__accent { color: #121212; }
.history-hero__main { color: var(--title); }
.history-left-desc { color: var(--body); font-size: var(--font-size-16); line-height: 1.8; letter-spacing: var(--tracking); word-break: keep-all; }
.history-keep { white-space: nowrap; }
.history-right { justify-self: end; width: 100%; border-left: 1px solid var(--line); }
.history-group { padding: var(--space-48) var(--space-32) var(--space-48) var(--space-72); border-bottom: 1px solid var(--line); }
.history-group:last-child { border-bottom: 0; }
.history-group__hd { display: flex; align-items: center; gap: var(--space-40); margin-bottom: var(--space-32); margin-left: calc(var(--space-82) * -1); }
.history-dot { position: relative; z-index: 1; display: block; flex: none; width: 20px; height: 20px; border-radius: 50%; background: var(--color-primary); }
.history-dot::after { content: ""; position: absolute; top: 4px; left: 4px; width: 12px; height: 12px; border-radius: 50%; background: #fff; }
.history-year { color: var(--title); font-size: var(--font-size-32); font-weight: 600; line-height: 1; letter-spacing: var(--tracking); }
.history-items { display: flex; flex-direction: column; gap: var(--space-16); margin: 0; padding: 0; list-style: none; }
.history-item { display: flex; align-items: flex-start; gap: var(--space-14); }
.history-bullet { display: block; flex: none; width: 6px; height: 6px; margin-top: var(--space-8); border-radius: 50%; background: #cccccc; }
.history-item__text { color: var(--body); font-size: var(--font-size-18); font-weight: 400; line-height: 1.65; letter-spacing: var(--tracking); }
.history-item__text--highlight { color: #121212; font-weight: 600; }
.press-list { margin: var(--space-8) 0 0; padding: 0; list-style: none; }
.press-item[hidden] { display: none; }
.press-item { display: grid; grid-template-columns: 500px minmax(0, 1fr); gap: var(--space-80); align-items: center; padding: var(--space-36) 0 var(--space-40); border-bottom: 1px solid var(--line); }
.press-item__photo { margin: 0; overflow: hidden; background: var(--mist); }
.press-item__photo img { display: block; width: 100%; aspect-ratio: 500 / 281; object-fit: cover; }
.press-item__title { color: #121212; font-size: var(--font-size-22); font-weight: 700; line-height: 1.45; letter-spacing: var(--tracking); display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden; }
.press-item__body { margin-top: var(--space-16); color: var(--body); font-size: var(--font-size-16); line-height: 1.7; letter-spacing: var(--tracking); word-break: keep-all; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 3; overflow: hidden; }
.press-item__date { display: flex; align-items: center; gap: var(--space-8); margin-top: var(--space-28); color: #878787; font-size: var(--font-size-14); line-height: 1; letter-spacing: var(--tracking); }
.press-item__date img { display: block; width: 14px; height: 14px; }
.member-list .member-card.js-rv:nth-child(3n + 1) { transition-delay: 0s; }
.member-list .member-card.js-rv:nth-child(3n + 2) { transition-delay: .08s; }
.member-list .member-card.js-rv:nth-child(3n) { transition-delay: .16s; }
.mission-banner { min-height: 600px; display: grid; place-items: center; padding: var(--space-64) 0; background: linear-gradient(90deg, #050e2480, #050e2430, #050e2450), url('../images/sub/philosophy-mission-night.jpg') center center / cover no-repeat; background-attachment: scroll, fixed; color: #fff; text-align: center; }
.mission-banner__content { max-width: 1300px; margin: 0 auto; }
.mission-banner h2 { margin: 0 0 var(--space-36); color: #cad8f6; font-size: var(--font-size-17); font-weight: 500; letter-spacing: .28em; line-height: 1.5; }
.mission-banner__en { color: #fff; font-size: var(--font-size-48); font-weight: 500; line-height: 1.3; letter-spacing: -.04em; word-break: keep-all; text-shadow: 0 2px 20px #0005; }
.mission-banner__ko { margin-top: var(--space-32); color: #d2daeb; font-size: var(--font-size-24); font-weight: 300; line-height: 1.6; letter-spacing: .015em; }
.mission-mobile-break { display: none; }
.four-c { padding-top: clamp(46px, calc(8vw - 50px), 100px); }
.four-c__diagram { position: relative; display: grid; grid-template-columns: minmax(0, 1fr) 340px minmax(0, 1fr); grid-template-rows: repeat(2, auto); gap: var(--space-32) var(--space-40); max-width: 1320px; margin: 0 auto; }
.four-c__center { position: relative; z-index: 1; grid-column: 2; grid-row: 1 / 3; align-self: center; justify-self: center; display: flex; flex-direction: column; justify-content: center; align-items: center; width: 306px; height: 306px; border-radius: 50%; background: linear-gradient(145deg, #0e234e, #0033bb); box-shadow: 0 18px 48px #103c9920; color: #fff; text-align: center; }
.four-c__center span { font-size: var(--font-size-11); font-weight: 500; letter-spacing: .16em; color: #c0d2f7; }
.four-c__center h2 { margin: var(--space-12) 0 var(--space-10); color: #fff; font-size: var(--font-size-116); font-weight: 500; line-height: 1; letter-spacing: -.05em; }
.four-c__center p { color: #c0d2f7; font-size: var(--font-size-15); }
.four-c__item { position: relative; min-width: 0; padding: var(--space-24); border: 0; background: #ffffff; box-shadow: 0 10px 36px rgba(16, 39, 82, .10); text-align: center; }
.four-c__item--competency { grid-column: 1; grid-row: 1; }
.four-c__item--consistency { grid-column: 3; grid-row: 1; }
.four-c__item--commitment { grid-column: 1; grid-row: 2; }
.four-c__item--contribution { grid-column: 3; grid-row: 2; }
.four-c__icon { display: block; width: 72px; height: 72px; object-fit: contain; margin: 0 auto; }
.four-c__item h3 { margin: var(--space-12) 0 var(--space-16); color: #122448; font-size: var(--font-size-30); font-weight: 600; line-height: 1.2; letter-spacing: -.025em; }
.four-c__description, .four-c__item li { color: #505b6c; font-size: var(--font-size-17); line-height: 1.7; word-break: keep-all; }
.four-c__description br { display: initial; }
.four-c__item li + li { margin-top: var(--space-5); }
.products-intro { margin-bottom: var(--space-56); }
.products-intro__eyebrow { margin-bottom: var(--space-16); color: var(--color-primary); font-size: var(--font-size-17); font-weight: 500; letter-spacing: .04em; }
.products-intro h2 { color: var(--title); font-size: clamp(30px, 2.6vw, 44px); font-weight: 600; line-height: 1.4; word-break: keep-all; }
.products-intro__description { margin-top: var(--space-24); color: var(--body); font-size: var(--font-size-19); line-height: 1.8; word-break: keep-all; }
.products-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-28); }
.product-card { min-width: 0; padding: var(--space-36); border: 1px solid #e1e6ef; background: #fff; box-shadow: 0 8px 28px #132d5510; }
.product-card__top { display: flex; align-items: flex-start; justify-content: space-between; margin-bottom: var(--space-28); }
.product-card__top img { display: block; width: 72px; height: 72px; object-fit: contain; }
.product-card h3 { color: #122448; font-size: clamp(23px, 1.7vw, 29px); font-weight: 600; line-height: 1.4; word-break: keep-all; }
.product-card__english { min-height: 52px; margin-top: var(--space-8); color: #41639d; font-size: var(--font-size-16); line-height: 1.6; letter-spacing: 0; }
.product-card__description { margin-top: var(--space-20); padding-top: var(--space-24); border-top: 1px solid #e1e6ef; color: var(--body); font-size: var(--font-size-18); line-height: 1.85; word-break: keep-all; }
.products-grid .product-card.js-rv:nth-child(3n + 1) { transition-delay: 0s; }
.products-grid .product-card.js-rv:nth-child(3n + 2) { transition-delay: .08s; }
.products-grid .product-card.js-rv:nth-child(3n) { transition-delay: .16s; }
.dbi-org { position: relative; isolation: isolate; padding-top: var(--space-60); }
.dbi-org__earth { position: absolute; z-index: -1; top: 0; left: 50%; width: min(1300px, 100%); max-width: none; height: auto; transform: translateX(-50%); opacity: .5; pointer-events: none; }
.dbi-org__chart { position: relative; width: 100%; max-width: 1200px; height: 960px; margin: 0 auto; color: var(--title); text-align: center; }
.dbi-org__chart h3 { margin: 0; font-size: var(--font-size-22); font-weight: 600; line-height: 1.4; }
.dbi-org__lines { position: absolute; inset: 0; width: 100%; height: 930px; overflow: visible; }
.dbi-org__lines path { fill: none; stroke: #cbd3e0; stroke-width: 1.5; vector-effect: non-scaling-stroke; }
.dbi-org__lines circle { fill: var(--color-primary); }
.dbi-org__board { position: absolute; top: 0; left: 50%; display: grid; place-items: center; width: 200px; height: 200px; transform: translateX(-50%); border-radius: 50%; background: linear-gradient(125deg, #082876 0%, #0033cc 52%, #548bfa 100%); box-shadow: 0 10px 38px #0033cc26, inset 0 0 0 1px #ffffff26; color: #fff; }
.dbi-org__board img { position: absolute; top: 50%; left: 50%; width: 144px; height: auto; transform: translate(-50%, -50%); opacity: .17; }
.dbi-org__board h3 { position: relative; font-size: var(--font-size-30); }
.dbi-org__ceo { position: absolute; top: 248px; left: 38%; width: 24%; height: 72px; display: grid; place-items: center; background: #0d224f; color: #fff; }
.dbi-org__committees { position: absolute; top: 402px; left: 0; width: 32%; height: 144px; display: grid; align-items: center; border: 1px solid #b7d5d0; background: #edf6f3; color: #235b53; }
.dbi-org__committees li { font-size: var(--font-size-19); line-height: 1.8; font-weight: 500; }
.dbi-org__audit, .dbi-org__compliance > h3 { display: grid; place-items: center; height: 64px; border: 1px solid #9cafcf; background: #f4f7fc; color: #18366c; }
.dbi-org__audit { position: absolute; top: 364px; left: 74%; width: 26%; }
.dbi-org__compliance { position: absolute; top: 476px; left: 74%; width: 26%; }
.dbi-org__compliance ul { margin-top: var(--space-96); }
.dbi-org__compliance li { display: grid; place-items: center; min-height: 68px; border: 1px solid #d4dce9; background: #fff; font-size: var(--font-size-20); font-weight: 500; }
.dbi-org__division { position: absolute; top: 636px; width: 26%; }
.dbi-org__investment { left: 12%; }
.dbi-org__management { left: 43%; }
.dbi-org__division h3 { display: grid; place-items: center; min-height: 68px; border: 2px solid var(--color-primary); background: #fff; color: var(--color-primary); }
.dbi-org__division ul { margin-top: var(--space-16); padding: 0 var(--space-24); border: 1px solid #e2e6ed; background: #f8f9fc; }
.dbi-org__division li { padding: var(--space-12) 0; font-size: var(--font-size-19); line-height: 1.55; }
.dbi-org__division li + li { border-top: 1px solid #e2e6ed; }
.business-page { --business-ink: #122448; --business-blue: #0035cb; }
.business-eyebrow { color: var(--business-blue); font-size: var(--font-size-17); font-weight: 500; letter-spacing: .06em; margin-bottom: var(--space-18); }
.business-intro h2 { color: var(--title); font-size: clamp(30px,2.6vw,44px); font-weight: 600; line-height: 1.4; word-break: keep-all; }
.business-lead { margin-top: var(--space-28); font-size: var(--font-size-20); line-height: 1.8; color: var(--body); word-break: keep-all; }
.business-section { padding: var(--space-80) 0; border-top: 1px solid #dce3ed; }
.business-heading h2 { font-size: var(--font-size-40); line-height: 1.2; color: #121212; font-weight: 600; letter-spacing: -.03em; }
.business-subtitle { font-size: var(--font-size-25); color: var(--business-ink); font-weight: 500; margin-top: var(--space-20); line-height: 1.5; word-break: keep-all; }
.business-copy { margin-top: var(--space-24); font-size: var(--font-size-19); line-height: 1.85; color: var(--body); word-break: keep-all; }
.business-wm { display: grid; grid-template-columns: 1fr 1.1fr; gap: var(--space-70); align-items: center; }
.wm-tags { display: flex; flex-wrap: wrap; gap: var(--space-10); margin-top: var(--space-30); }
.wm-tags span { padding: var(--space-9) var(--space-16); background: #f0f4fa; color: #4c6384; font-size: var(--font-size-16); }
.business-esg .business-heading { margin-bottom: var(--space-42); }
.esg-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: var(--space-24); }
.esg-card { padding: var(--space-38) var(--space-40); background: #f2f6f7; position: relative; overflow: hidden; }
.esg-card:nth-child(2) { background: #f1f5fc; }
.esg-card:nth-child(3) { background: #f5f4f9; }
.esg-letter { position: absolute; right: 24px; top: 4px; font-size: var(--font-size-150); line-height: 1; font-weight: 600; color: #dae6e5; }
.esg-card:nth-child(2) .esg-letter { color: #dce5f5; }
.esg-card:nth-child(3) .esg-letter { color: #e6e2f0; }
.esg-card>p { position: relative; font-size: var(--font-size-17); color: #55717a; margin-bottom: var(--space-10); }
.esg-card h3 { position: relative; font-size: var(--font-size-30); font-weight: 600; color: var(--business-ink); }
.esg-card ul { list-style: none; padding: var(--space-28) 0 0; margin-top: var(--space-32); border-top: 1px solid #ced8e0; color: #43566d; font-size: var(--font-size-19); line-height: 1.9; position: relative; }
.business-ax { display: grid; grid-template-columns: .85fr 1.15fr; align-items: center; gap: var(--space-70); padding-bottom: var(--space-20); }
.ax-map { display: grid; grid-template-columns: 1fr 1.35fr 1fr; grid-template-rows: repeat(3,100px); gap: var(--space-20); align-items: center; position: relative; padding: var(--space-40) 0; }
.ax-map:before { content: ""; position: absolute; width: 66%; height: 86%; left: 17%; top: 7%; border: 1px solid #dce5f3; border-radius: 50%; background: #f7f9fd; }
.ax-core { position: relative; grid-column: 2; grid-row: 1/4; width: 100%; aspect-ratio: 1; border-radius: 50%; display: flex; flex-direction: column; justify-content: center; align-items: center; color: white; background: linear-gradient(135deg,#11285c,#003aca); box-shadow: 0 18px 42px #163b7924; text-align: center; padding: var(--space-16); }
.ax-core strong { font-size: var(--font-size-70); line-height: 1.2; font-weight: 500; margin: var(--space-10) 0; }
.ax-core span { font-size: var(--font-size-13); line-height: 1.5; }
.ax-core span:last-child { font-size: var(--font-size-16); color: #d2dfff; }
.ax-node { position: relative; background: #fff; border: 1px solid #d8e2f1; box-shadow: 0 6px 20px #18356409; color: var(--business-ink); text-align: center; padding: var(--space-24) var(--space-8); font-size: var(--font-size-20); font-weight: 500; }
.ax-node--1 { grid-column: 1; grid-row: 1; }
.ax-node--2 { grid-column: 3; grid-row: 1; }
.ax-node--3 { grid-column: 3; grid-row: 2; }
.ax-node--4 { grid-column: 3; grid-row: 3; }
.ax-node--5 { grid-column: 1; grid-row: 3; }
.ax-node--6 { grid-column: 1; grid-row: 2; }
.esg-card li { position: relative; padding-left: var(--space-15); }
.esg-card li::before { content: ""; position: absolute; left: 0; top: .85em; width: 4px; height: 4px; border-radius: 50%; background: currentColor; }
.business-ax .business-copy br { display: initial; }
.business-wm { display: grid; grid-template-columns: minmax(0,.85fr) minmax(0,1.25fr); gap: var(--space-54); align-items: center; }
.business-wm .business-heading { display: block; }
.business-wm .business-copy { margin-top: var(--space-24); }
.business-wm .wm-tags { margin-top: var(--space-30); }
.business-intro__light { font-weight: 300; }
.business-intro + .business-wm { border-top: 0; }
.wm-cycle { position: relative; width: 100%; max-width: 660px; aspect-ratio: 1; margin: 0 auto; }
.wm-cycle::before { content: ""; position: absolute; inset: 14%; border-radius: 50%; border: 1px dashed #b8c7e3; }
.wm-cycle::after { content: ""; position: absolute; inset: 14%; border-radius: 50%; background: conic-gradient(from 0deg, rgba(0,51,204,0) 0deg, rgba(0,51,204,.08) 200deg, #0033cc 356deg, rgba(0,51,204,0) 360deg); -webkit-mask: radial-gradient(farthest-side, transparent calc(100% - 3px), #000 calc(100% - 2px)); mask: radial-gradient(farthest-side, transparent calc(100% - 3px), #000 calc(100% - 2px)); animation: wmFlow 9s linear infinite; }
.wm-hub { position: absolute; left: 50%; top: 50%; z-index: 1; width: 28%; aspect-ratio: 1; transform: translate(-50%,-50%); border-radius: 50%; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; color: #fff; background: linear-gradient(135deg,#11285c,#0033cc); box-shadow: 0 0 0 10px rgba(0,51,204,.06), 0 0 0 20px rgba(0,51,204,.035), 0 18px 42px rgba(22,59,121,.22); }
.wm-hub span { font-size: var(--font-size-13); line-height: 1.4; color: #d2dfff; }
.wm-hub span:first-child { letter-spacing: .04em; }
.wm-hub strong { font-size: var(--font-size-46); line-height: 1.1; font-weight: 500; margin: var(--space-4) 0 var(--space-6); }
.wm-process { position: absolute; inset: 0; z-index: 2; list-style: none; padding: 0; margin: 0; }
.wm-process li { position: absolute; left: var(--x); top: var(--y); width: 0; height: 0; }
.wm-process li:nth-child(1) { --x: 50%; --y: 14%; }
.wm-process li:nth-child(2) { --x: 84.2%; --y: 38.9%; }
.wm-process li:nth-child(3) { --x: 71.2%; --y: 79.1%; }
.wm-process li:nth-child(4) { --x: 28.8%; --y: 79.1%; }
.wm-process li:nth-child(5) { --x: 15.8%; --y: 38.9%; }
.wm-node { position: absolute; left: 0; top: 0; width: clamp(92px,17vw,118px); aspect-ratio: 1; transform: translate(-50%,-50%); border-radius: 50%; background: #fff; border: 1px solid #dbe4f3; box-shadow: 0 10px 30px rgba(24,48,89,.12); display: flex; align-items: center; justify-content: center; transition: border-color .3s, box-shadow .3s, transform .3s; }
.wm-step { position: absolute; left: 50%; top: -12px; transform: translateX(-50%); min-width: 36px; padding: var(--space-3) var(--space-8); background: #0033cc; color: #fff; font-size: var(--font-size-13); font-weight: 600; line-height: 1.4; letter-spacing: .02em; text-align: center; }
.wm-icon { display: block; width: 82px; height: 82px; object-fit: contain; flex-shrink: 0; filter: brightness(1.025); }
.wm-icon--zoom { overflow: hidden; }
.wm-icon--zoom img { display: block; width: 100%; height: 100%; object-fit: contain; transform: scale(1.2); }
.wm-label { position: absolute; left: 0; top: calc(clamp(92px,17vw,118px) / 2 + 12px); width: 190px; transform: translateX(-50%); color: #122448; font-size: var(--font-size-16); font-weight: 500; line-height: 1.5; text-align: center; word-break: keep-all; }
.wm-label br { display: initial; }
.wm-process li:hover .wm-node { border-color: #0033cc; box-shadow: 0 14px 34px rgba(0,51,204,.2); transform: translate(-50%,-50%) scale(1.04); }
.wm-process.js-rv li { opacity: 0; transition: opacity .6s ease; }
.wm-process.js-rv.is-in li { opacity: 1; }
.wm-process.js-rv.is-in li:nth-child(2) { transition-delay: .12s; }
.wm-process.js-rv.is-in li:nth-child(3) { transition-delay: .24s; }
.wm-process.js-rv.is-in li:nth-child(4) { transition-delay: .36s; }
.wm-process.js-rv.is-in li:nth-child(5) { transition-delay: .48s; }
@keyframes wmFlow {to { transform:rotate(360deg); }}
