@charset "utf-8";

/* CEO 인사말 본문. 공통 헤더와 회사소개 레이아웃은 기존 스타일을 사용합니다. */
.ds-ceo-content { padding-bottom: 38px; }
.ds-ceo-overline { display: flex; align-items: center; gap: 12px; color: var(--ds-blue); font-size:max(var(--ds-min-font,12px), 11px); font-weight: 700; letter-spacing: .1em; margin-bottom: 22px !important; }
.ds-ceo-overline::before { content: ""; width: 30px; height: 3px; background: #087eea; }
.ds-ceo-message { display: grid; grid-template-columns: minmax(0, .78fr) minmax(0, 1.3fr); gap: clamp(28px, 3vw, 45px); align-items: stretch; }
.ds-ceo-photo { min-height: 500px; }
.ds-ceo-photo img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: contain; }
.ds-ceo-photo figcaption { position: absolute; bottom: 0; left: 0; right: 0; padding: 20px; background: linear-gradient(transparent, #17354bc9); color: #fff; font-size:max(var(--ds-min-font,12px), 10px); letter-spacing: .12em; }
.ds-ceo-copy { min-width: 0; }
.ds-ceo-copy h2 { margin-bottom: 22px; font-size: clamp(25px, 2.25vw, 33px); font-weight: 750; line-height: 1.4; letter-spacing: -.055em; color: #18364d; }
.ds-ceo-copy h2 em { color: #086fc3; font-style: normal; }
.ds-ceo-copy > p { margin-bottom: 17px; color: #40566a; font-size:max(var(--ds-min-font,12px), 14px); line-height: 1.9; }
.ds-ceo-copy > .ds-ceo-lead { font-size:max(var(--ds-min-font,12px), 15px); font-weight: 650; color: #223f55; }
.ds-ceo-copy > .ds-ceo-thanks { font-weight: 650; color: #223f55; }
.ds-ceo-signature { display: flex; justify-content: flex-end; align-items: center; gap: 17px; margin-top: 23px; padding-top: 18px; border-top: 1px solid var(--ds-company-line); }
.ds-ceo-signature > div { display: flex; flex-direction: column; align-items: flex-end; gap: 3px; }
.ds-ceo-signature span:not(.ds-ceo-monogram) { font-size:max(var(--ds-min-font,12px), 12px); color: #73879a; }
.ds-ceo-signature strong { font-size:max(var(--ds-min-font,12px), 15px); color: #233f55; }
.ds-ceo-monogram { font: italic 700 28px "Pretendard Variable","Pretendard",sans-serif;font-size:max(var(--ds-min-font,12px), 28px); color: #286a99; letter-spacing: -.07em; }
.ds-ceo-section { padding-top: 30px; margin-top: 32px; border-top: 0; }
.ds-ceo-principles { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); }
.ds-ceo-principles li { text-align: center; padding: 2px 15px 7px; border-left: 1px solid var(--ds-company-line); }
.ds-ceo-principles li:first-child { border-left: 0; }
.ds-ceo-principles .ds-icon { width: 34px; height: 34px; color: #0878ca; stroke-width: 1.45; margin-bottom: 11px; }
.ds-ceo-principles h3 { font-size:max(var(--ds-min-font,12px), 17px); margin-bottom: 7px; }
.ds-ceo-principles p { font-size:max(var(--ds-min-font,12px), 13px); line-height: 1.75; color: var(--ds-company-muted); }
.ds-ceo-commitment { display: grid; grid-template-columns: minmax(175px, .65fr) minmax(0, 1.8fr); gap: 30px; }
.ds-ceo-commitment-heading h2 { font-size:max(var(--ds-min-font,12px), 26px); font-weight: 750; line-height: 1.4; color: #18394f; }
.ds-ceo-commitment-heading > p:last-child { margin-top: 15px; font-size:max(var(--ds-min-font,12px), 13px); line-height: 1.8; color: var(--ds-company-muted); }
.ds-ceo-promises { padding: 0; margin: 0; list-style: none; border-top: 1px solid var(--ds-company-line); }
.ds-ceo-promises li { display: grid; grid-template-columns: 35px minmax(95px, .85fr) minmax(0, 1.5fr); align-items: center; gap: 14px; min-height: 82px; padding: 14px 0; border-bottom: 1px solid var(--ds-company-line); }
.ds-ceo-number { color: #0878ca; font-size:max(var(--ds-min-font,12px), 25px); font-weight: 700; letter-spacing: -.02em; }
.ds-ceo-promises h3 { font-size:max(var(--ds-min-font,12px), 14px); line-height: 1.6; color: #253d51; }
.ds-ceo-promises p { font-size:max(var(--ds-min-font,12px), 13px); line-height: 1.8; color: var(--ds-company-muted); }
.ds-ceo-cta { margin-top: 36px; border-top: 0; }
.ds-ceo-page .ds-company-menu > a:hover { color: var(--ds-blue); }
@media (max-width: 1199px) {
 .ds-ceo-message { grid-template-columns: minmax(0, .7fr) minmax(0, 1.3fr); gap: 27px; }
 .ds-ceo-copy h2 { font-size:max(var(--ds-min-font,12px), 27px); }
 .ds-ceo-copy > p { font-size:max(var(--ds-min-font,12px), 13px); }
 .ds-ceo-copy > .ds-ceo-lead { font-size:max(var(--ds-min-font,12px), 14px); }
 .ds-ceo-commitment { gap: 23px; grid-template-columns: 180px minmax(0, 1fr); }
 .ds-ceo-promises li { gap: 11px; grid-template-columns: 30px minmax(85px, .8fr) minmax(0, 1.2fr); }
}
@media (max-width: 700px) {
 .ds-ceo-message { grid-template-columns: 1fr; gap: 26px; }
 .ds-ceo-photo { min-height: 0; height: 300px; }
 .ds-ceo-copy h2 { font-size:max(var(--ds-min-font,12px), 29px); }
 .ds-ceo-copy > p { font-size:max(var(--ds-min-font,12px), 14px); }
 .ds-ceo-principles { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: 26px; }
 .ds-ceo-principles li:nth-child(odd) { border-left: 0; }
 .ds-ceo-commitment { grid-template-columns: 1fr; gap: 20px; }
 .ds-ceo-commitment-heading > p:last-child br { display: none; }
 .ds-ceo-promises li { grid-template-columns: 35px minmax(95px, .8fr) minmax(0, 1.4fr); min-height: 86px; }
}
@media (max-width: 420px) {
 .ds-ceo-photo { height: 250px; }
 .ds-ceo-copy h2 { font-size:max(var(--ds-min-font,12px), 26px); }
 .ds-ceo-principles li { padding-inline: 10px; }
 .ds-ceo-principles h3 { font-size:max(var(--ds-min-font,12px), 16px); }
 .ds-ceo-principles p { font-size:max(var(--ds-min-font,12px), 12px); }
 .ds-ceo-promises li { grid-template-columns: 32px minmax(0, 1fr); gap: 3px 12px; }
 .ds-ceo-number { grid-row: span 2; align-self: start; }
 .ds-ceo-promises p { grid-column: 2; }
 .ds-ceo-actions { width: 100%; flex-wrap: wrap; }
 .ds-ceo-actions a { flex: 1; }
}

/* 57차: CEO 인사말 이미지 세로 영역과 모바일 가로 영역을 별도 규격으로 대응 */
.ds-ceo-page .ds-ceo-photo.ds-company-pending-visual { background: #f4f9fe; overflow: hidden; border-radius: 18px; }
.ds-ceo-page .ds-ceo-photo-picture { position: absolute; inset: 0; display: block; width: 100%; height: 100%; }
.ds-ceo-page .ds-ceo-photo-picture > img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center; border-radius: 18px; }
@media (max-width: 480px) {
 .ds-ceo-page .ds-ceo-photo.ds-company-pending-visual, .ds-ceo-page .ds-ceo-photo-picture > img { border-radius: 14px; }
}
