/* ==========================================================================
   회사소개(/about) — Figma 「GNB > 회사소개」(2122:6136) 2026-09-06
   ---------------------------------------------------------------------------
   · 데스크톱 1920 기준. 컨테이너 1280(.sp-inner). 좌표는 피그마 x−320, y−94(헤더) 로 옮김.
   · 섹션마다 고정 높이 박스 안에 절대 배치(피그마 그대로), 1023px 이하는 세로 흐름으로 재배치.
   · 헤더·푸터는 공용. 페이지 제목(h2#container_title)은 배너가 대신하므로 숨김.
   ========================================================================== */
#wrapper:has(.sp-about) { max-width: none; padding: 0; }
#wrapper:has(.sp-about) #container_title { display: none; }
body:has(.sp-about) .sp-footer { margin-top: 0; }

.sp-about { --ink: #1b2b39; --ink-2: #484c52; --blue: #0055ff; color: var(--ink); }
.sp-about img { max-width: none; }
.sp-about a { text-decoration: none; }
.sp-about p, .sp-about h1, .sp-about h2, .sp-about h3 { margin: 0; }
.sp-about .sp-about__box { position: relative; }
.sp-about .sp-about__box.sp-inner { max-width: 1280px; padding-left: 0; padding-right: 0; } /* 절대 좌표 기준을 컨테이너 콘텐츠 가장자리(1920 기준 x 320)로 */
.sp-about__box > * { position: absolute; }

/* ── 1. 배너 (1920×326, 사진 alexandre-debieve) ───────────────────────── */
.sp-about__banner {
    position: relative;
    height: 326px;
    overflow: hidden;
    background: #0f1c2b url(../img/about/banner.jpg) center / cover no-repeat;
}
.sp-about__banner .sp-inner { position: relative; height: 100%; }
.sp-about__crumb {
    position: absolute;
    left: 20px;
    top: 16px;
    display: flex;
    align-items: center;
    gap: 9px;
    margin: 0;
    padding: 0;
    list-style: none;
    font-size: 14px;
    line-height: 1.3;
    color: #fff;
}
.sp-about__crumb a { color: #fff; font-weight: 400; }
.sp-about__crumb a:hover { color: #fff; text-decoration: underline; }
.sp-about__crumb li:last-child { font-weight: 500; }
.sp-about__crumb img { display: block; width: 4px; height: 8px; }
.sp-about__title {
    position: absolute;
    left: 80px;          /* 피그마 x 380 = 320 + 60, .sp-inner 패딩 20 포함 */
    top: 105px;          /* 199 − 94 */
    font-size: 46px;
    font-weight: 400;
    line-height: 1.2;
    color: #fff;
    white-space: nowrap;
}
.sp-about__title b { display: block; font-size: 52px; font-weight: 600; }
.sp-about__sub {
    position: absolute;
    left: 80px;
    top: 234px;          /* 328 − 94 */
    font-size: 23px;
    line-height: 1.4;
    color: #feffff;
    white-space: nowrap;
}
.sp-about__sub b { font-weight: 700; }

/* ── 2. 문제 제기: 돋보기 + 슬로건 + 카드 5 (배너 하단 326 → 852) ───── */
.sp-about__intro { height: 526px; }
.sp-about__mag { left: 600px; top: 100px; width: 80px; height: 80px; }        /* (920,520) */
.sp-about__slogan {
    left: 0;
    right: 0;
    top: 210px;          /* 630 − 94 − 326 */
    text-align: center;
    font-size: 23px;
    line-height: 1.4;
    color: var(--ink);
}
.sp-about__slogan b { font-weight: 700; }
.sp-about__probs { left: 187px; top: 334px; width: 906px; height: 192px; margin: 0; padding: 0; list-style: none; } /* (507,754) */
.sp-about__probs > li {
    position: absolute;
    top: 11px;
    width: 158px;
    height: 170px;
    border-radius: 14px;
    background: #fff;
    box-shadow: 0 3px 12px rgba(0, 0, 0, .1);
    text-align: center;
}
.sp-about__probs > li:nth-child(1) { left: 0; }
.sp-about__probs > li:nth-child(2) { left: 182px; }
.sp-about__probs > li:nth-child(3) { left: 364px; top: 0; width: 178px; height: 192px; }
.sp-about__probs > li:nth-child(4) { left: 566px; }
.sp-about__probs > li:nth-child(5) { left: 748px; }
.sp-about__probs i {
    position: absolute;
    left: 9px;
    top: 8px;
    width: 30px;
    height: 30px;
    border-radius: 50%;
    background: #e1e1e1;
    font-style: normal;
    font-size: 16px;
    font-weight: 600;
    line-height: 30px;
    color: #000;
}
.sp-about__probs > li:nth-child(3) i { left: 10px; top: 9px; width: 34px; height: 34px; background: var(--blue); color: #fff; font-size: 19px; line-height: 34px; }
.sp-about__probs img { position: absolute; left: 51px; top: 32px; width: 56px; height: 56px; }
.sp-about__probs > li:nth-child(3) img { left: 56px; top: 35px; width: 66px; height: 66px; }
.sp-about__probs p {
    position: absolute;
    left: 0;
    right: 0;
    top: 102px;
    font-size: 16px;
    font-weight: 500;
    line-height: 1.3;
    color: var(--ink);
    white-space: nowrap;
}
.sp-about__probs > li:nth-child(3) p { top: 115px; font-weight: 600; color: #0e0f10; }

/* ── 3. 플랫폼 소개 + 다이어그램 + Our Solution (y 1126 → 2512, 1386px) ── */
.sp-about .sp-about__platform { height: 1386px; margin-top: 180px; } /* .sp-inner 의 margin:0 auto 보다 우선 */
.sp-about__lead { left: 0; right: 0; top: 0; text-align: center; }
.sp-about__lead h2 { font-size: 30px; font-weight: 700; line-height: 1.2; color: var(--ink); }
.sp-about__lead p { margin-top: 16px; font-size: 24px; line-height: 36px; color: var(--ink-2); }
.sp-about__lead p b {
    font-weight: 700;
    background: linear-gradient(90deg, #0088ff 0%, #3f55ff 100%);
    -webkit-background-clip: text;
            background-clip: text;
    color: transparent;
}

/* 다이어그램(y 1364 → 1985) */
.sp-about__diagram { left: 0; top: 238px; width: 1280px; height: 621px; }
.sp-about__ring { position: absolute; left: 352px; top: 22px; width: 576.5px; height: 578.5px; } /* 574 박스 + export 여백 */
.sp-about__center { position: absolute; left: 353px; top: 24px; width: 574px; text-align: center; }
.sp-about__center img { display: block; width: 163px; height: 54px; margin: 161px auto 0; }   /* (879,1549) */
.sp-about__center h3 { margin-top: 36px; font-size: 34px; font-weight: 700; line-height: 1.2; letter-spacing: -2px; color: rgba(0, 0, 0, .9); }
.sp-about__center p { margin-top: 16px; font-size: 20px; line-height: 1.4; color: var(--ink-2); }
.sp-about__dot { position: absolute; width: 10px; height: 10px; border-radius: 50%; background: #92a7fa; }
.sp-about__dot--1 { left: 730px; top: 35px; }   /* (1050,1399) */
.sp-about__dot--2 { left: 909px; top: 389px; }  /* (1229,1753) */
.sp-about__dot--3 { left: 528px; top: 572px; }  /* (848,1936) */
.sp-about__dot--4 { left: 359px; top: 229px; }  /* (679,1593) */

.sp-about__ocard {
    position: absolute;
    width: 332px;
    height: 276px;
    border: 1px solid #e3e3e3;
    border-radius: 30px;
    background: #fff;
    box-shadow: 0 6px 20px rgba(0, 0, 0, .1);
    text-align: center;
}
.sp-about__ocard--1 { left: 0; top: 0; }
.sp-about__ocard--4 { left: 0; top: 345px; }
.sp-about__ocard--2 { left: 948px; top: 0; }
.sp-about__ocard--3 { left: 948px; top: 345px; }
/* 안쪽을 가리키는 꼬리(피그마 Union: 사각형 + 삼각형) */
.sp-about__ocard::after {
    content: "";
    position: absolute;
    top: 114px;
    width: 0;
    height: 0;
    border-style: solid;
}
.sp-about__ocard--1::after, .sp-about__ocard--4::after { right: -23px; border-width: 24px 0 24px 23px; border-color: transparent transparent transparent #fff; filter: drop-shadow(1px 0 0 #e3e3e3); }
.sp-about__ocard--2::after, .sp-about__ocard--3::after { left: -25px; border-width: 24px 25px 24px 0; border-color: transparent #fff transparent transparent; filter: drop-shadow(-1px 0 0 #e3e3e3); }
.sp-about__ocard i {
    position: absolute;
    left: -1px;
    top: -1px;
    width: 67px;
    height: 59px;
    border-radius: 30px 0 24px 0;
    background: var(--blue);
    font-style: normal;
    font-size: 30px;
    font-weight: 700;
    line-height: 59px;
    color: #fff;
}
.sp-about__ocard h3 { padding-top: 26px; font-size: 30px; font-weight: 700; line-height: 1.4; color: var(--ink); }
.sp-about__ocard p { margin-top: 4px; font-size: 18px; line-height: 1.4; color: var(--ink); }
.sp-about__ocard--3 p { line-height: 1.2; }
.sp-about__ocard .sp-about__ocard-img {
    position: absolute;
    left: 13px;
    top: 121px;
    width: 306px;
    height: 142px;
    border-radius: 12px;
    overflow: hidden;
    background: #fff;
}
.sp-about__ocard .sp-about__ocard-img img { display: block; width: 100%; height: 100%; object-fit: cover; }

/* Our Solution (y 2095 → 2512) */
.sp-about__our { left: 168px; top: 969px; width: 943px; height: 147px; }
.sp-about__our-head { display: flex; align-items: center; justify-content: center; gap: 12px; height: 36px; }
.sp-about__our-head::before, .sp-about__our-head::after {
    content: "";
    flex: 1 1 362px;
    height: 1px;
    background: linear-gradient(90deg, rgba(27, 43, 57, 0) 0%, #1b2b39 20%, #1b2b39 80%, rgba(27, 43, 57, 0) 100%);
}
.sp-about__our-head span { display: inline-flex; align-items: center; gap: 9px; padding: 0 12px; font-size: 30px; line-height: 1.2; letter-spacing: -2px; color: var(--ink); white-space: nowrap; }
.sp-about__star { display: inline-block; width: 28px; height: 28px; background: var(--ink); clip-path: polygon(50% 0, 56.7% 43.3%, 100% 50%, 56.7% 56.7%, 50% 100%, 43.3% 56.7%, 0 50%, 43.3% 43.3%); }
.sp-about__our p { margin: 30px auto 0; width: 782px; text-align: center; font-size: 18px; line-height: 1.5; color: var(--ink-2); }
.sp-about__sols { left: 226px; top: 1186px; display: flex; gap: 28px; margin: 0; padding: 0; list-style: none; } /* (546,2312) */
.sp-about__sols li {
    position: relative;
    width: 186px;
    height: 200px;
    border-radius: 12px;
    background: #fff;
    box-shadow: 0 3px 12px rgba(0, 0, 0, .1);
    text-align: center;
}
.sp-about__sols li::before {
    content: "";
    position: absolute;
    left: 3px;
    top: 3px;
    width: 180px;
    height: 131px;
    border-radius: 11px;
    background: linear-gradient(180deg, rgba(223, 231, 238, .52) 0%, rgba(225, 225, 225, 0) 100%);
}
.sp-about__sols img { position: absolute; left: 58px; top: 36px; width: 70px; height: 70px; }
.sp-about__sols h3 { position: absolute; left: 0; right: 0; top: 117px; font-size: 16px; font-weight: 700; line-height: 1.3; color: var(--ink); }
.sp-about__sols p { position: absolute; left: 0; right: 0; top: 144px; font-size: 13px; font-weight: 500; line-height: 1.3; color: var(--ink-2); white-space: nowrap; }

/* ── 4. Customer (y 2630 → 4007) ───────────────────────────────────────── */
.sp-about .sp-about__customer {
    margin-top: 118px;   /* 2512 → 2630 */
    padding: 140px 0 140px;  /* Customer 제목 2770 → 카드 하단 3867 → 푸터 4007 */
    background: linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, #f8f9fa 100%);
}
.sp-about__customer .sp-about__box { height: 1097px; }
.sp-about__cust-head { left: 0; right: 0; top: 0; text-align: center; }
.sp-about__cust-head h2 { font-size: 40px; font-weight: 700; line-height: 1.2; color: #000; }
.sp-about__cust-head p { margin-top: 12px; font-size: 23px; line-height: 1.4; color: var(--ink); }
.sp-about__cust-head p b { font-weight: 700; }
.sp-about__cust-logo { left: 559px; top: 184px; width: 163px; height: 54px; }         /* (879,2954) */
.sp-about__cust-tri { left: 636px; top: 254px; width: 11px; height: 11px; transform: rotate(180deg); }
.sp-about__venn { left: 286px; top: 313px; width: 710px; height: 410px; border-radius: 229px; background: #f4f4f4; } /* (606,3083) */
.sp-about__venn span {
    position: absolute;
    top: 30px;
    width: 350px;
    height: 350px;
    border-radius: 50%;
    font-size: 40px;
    font-weight: 700;
    line-height: 350px;
    text-align: center;
    color: #fff;
}
.sp-about__venn span:first-child { left: 30px; background: #01223d; }
.sp-about__venn span:last-child { left: 330px; background: #0046ae; mix-blend-mode: multiply; }
.sp-about__ccard {
    top: 773px;          /* 3543 − 2770 */
    width: 640px;
    height: 324px;
    border: 1px solid #d9d9d9;
    border-radius: 20px;
    background: #fff;
}
.sp-about__ccard--l { left: -19px; }   /* 피그마 x 301 (컨테이너 밖으로 19px) */
.sp-about__ccard--r { left: 660px; }   /* 980 */
.sp-about__ccard h3 { position: absolute; left: 0; right: 0; top: 24px; text-align: center; font-size: 22px; font-weight: 700; line-height: 1.4; color: var(--ink); }
.sp-about__ccard hr { position: absolute; left: 40px; top: 79px; width: 560px; height: 0; margin: 0; border: 0; border-top: 1px solid #d9d9d9; }
.sp-about__chip {
    position: absolute;
    display: flex;
    align-items: center;
    justify-content: center;
    height: 33px;
    padding: 4px 10px;
    border-radius: 6px;
    background: #f4f4f4;
    font-size: 18px;
    line-height: 1.4;
    color: var(--ink);
    white-space: nowrap;
}
.sp-about__ccard--l .sp-about__chip { left: 40px; width: 560px; }
.sp-about__ccard--l .sp-about__chip--1 { top: 99px; }
.sp-about__ccard--l .sp-about__chip--2 { top: 213px; }
.sp-about__logos { position: absolute; display: flex; align-items: center; gap: 26px; margin: 0; padding: 0; list-style: none; }
.sp-about__logos img { display: block; }
.sp-about__ccard--l .sp-about__logos--1 { left: 43px; top: 156px; }   /* (344,3699) */
.sp-about__ccard--l .sp-about__logos--2 { left: 130px; top: 270px; }  /* (431,3813) */
.sp-about__ccard--r .sp-about__chip { left: 30px; width: 72px; }
.sp-about__ccard--r .sp-about__chip--1 { top: 109px; }
.sp-about__ccard--r .sp-about__chip--2 { top: 185px; }
.sp-about__ccard--r .sp-about__chip--3 { top: 261px; }
.sp-about__ccard--r .sp-about__logos--1 { left: 142px; top: 264px; }  /* (1122,3807) */

/* ── 반응형(피그마 밖) ────────────────────────────────────────────────── */
@media (max-width: 1319.98px) {
    .sp-about__ccard--l { left: 0; }
    .sp-about__ccard--r { left: auto; right: 0; }
}
@media (max-width: 1023.98px) {
    .sp-about__box { height: auto !important; }
    .sp-about .sp-about__box.sp-inner { padding-left: 20px; padding-right: 20px; }
    .sp-about__box > * { position: static; }
    .sp-about__banner { height: 260px; }
    .sp-about__title { left: 20px; top: 70px; font-size: 32px; }
    .sp-about__title b { font-size: 36px; }
    .sp-about__sub { left: 20px; top: 180px; font-size: 16px; white-space: normal; }
    .sp-about__intro { padding: 48px 0 0; text-align: center; }
    .sp-about__mag { display: inline-block; width: 64px; height: 64px; }
    .sp-about__slogan { margin-top: 20px; font-size: 17px; }
    .sp-about__slogan br { display: none; }
    .sp-about__probs { display: flex; flex-wrap: wrap; justify-content: center; gap: 16px; width: auto; height: auto; margin-top: 32px; }
    .sp-about__probs > li:nth-child(n) { position: relative; left: auto; top: auto; width: calc(50% - 8px); max-width: 178px; height: 170px; } /* 데스크톱 nth-child 좌표(0,2,1)와 같은 특이도로 덮음 */
    .sp-about .sp-about__platform { margin-top: 64px; }
    .sp-about__lead h2 { font-size: 22px; }
    .sp-about__lead p { font-size: 16px; line-height: 1.6; }
    .sp-about__lead p br { display: none; }
    .sp-about__diagram { width: auto; height: auto; margin-top: 32px; }
    .sp-about__ring { position: relative; left: auto; top: auto; width: min(100%, 420px); height: auto; margin: 0 auto; }
    .sp-about__center { position: absolute; left: 50%; top: 50%; width: 60%; transform: translate(-50%, -50%); }
    .sp-about__center img { width: 110px; height: auto; margin-top: 0; }
    .sp-about__center h3 { margin-top: 12px; font-size: 22px; letter-spacing: -1px; }
    .sp-about__center p { margin-top: 8px; font-size: 14px; }
    .sp-about__dot { display: none; }
    .sp-about__diagram { display: grid; grid-template-columns: 1fr; gap: 16px; }
    .sp-about__diagram .sp-about__ring-wrap { position: relative; }
    .sp-about__ocard { position: relative; left: auto !important; top: auto !important; width: 100%; max-width: 332px; margin: 0 auto; }
    .sp-about__ocard::after { display: none; }
    .sp-about__our { width: auto; height: auto; margin-top: 48px; }
    .sp-about__our p { width: auto; font-size: 15px; }
    .sp-about__sols { flex-wrap: wrap; justify-content: center; gap: 16px; margin-top: 28px; }
    .sp-about__sols li { width: calc(50% - 8px); max-width: 186px; }
    .sp-about__sols li::before { width: auto; right: 3px; }
    .sp-about__sols img { left: 50%; margin-left: -35px; }
    .sp-about .sp-about__customer { margin-top: 56px; padding: 56px 0 40px; }
    .sp-about__cust-head h2 { font-size: 30px; }
    .sp-about__cust-head p { font-size: 16px; }
    .sp-about__cust-logo { display: block; margin: 24px auto 0; }
    .sp-about__cust-tri { display: block; margin: 8px auto 0; }
    .sp-about__venn { position: relative; left: auto; top: auto; width: min(100%, 360px); height: auto; aspect-ratio: 710 / 410; margin: 24px auto 0; } /* 원 2개의 기준(static 으로 풀린 뒤) */
    .sp-about__venn span { top: 7.3%; width: 49.3%; height: 85.4%; font-size: 24px; line-height: 1; display: flex; align-items: center; justify-content: center; }
    .sp-about__venn span:first-child { left: 4.2%; }
    .sp-about__venn span:last-child { left: 46.5%; }
    .sp-about__ccard { width: 100%; height: auto; min-height: 0; margin-top: 24px; padding: 0 20px 24px; }
    .sp-about__ccard h3 { position: static; padding-top: 20px; }
    .sp-about__ccard hr { position: static; width: auto; margin: 14px 0 12px; }
    .sp-about__chip, .sp-about__ccard--l .sp-about__chip, .sp-about__ccard--r .sp-about__chip { position: static; width: auto; margin-top: 10px; }
    .sp-about__logos, .sp-about__ccard--l .sp-about__logos--1, .sp-about__ccard--l .sp-about__logos--2, .sp-about__ccard--r .sp-about__logos--1 { position: static; flex-wrap: wrap; justify-content: center; gap: 14px 20px; margin-top: 12px; }
    .sp-about__logos img { max-width: 100%; height: auto; }
}
