/* 회사소개 — 3차 화면 치수 기준 */
.sub-hero img{width:100%;height:auto}

/* 대표 인사 */
.ab-ceo{padding-top:100px;overflow:hidden}
.ab-quote{position:relative;width:max-content;margin:0 auto;text-align:center;font-size:34px;font-weight:300;line-height:1.5;letter-spacing:-.02em}
.ab-quote b{font-weight:600}
.ab-quote::before,.ab-quote::after{position:absolute;top:-14px;font-size:22px;font-weight:400;color:#c9c9c9;line-height:1}
.ab-quote::before{content:"\201C";left:-34px}
.ab-quote::after{content:"\201D";right:-34px}
.ab-ceo-in{position:relative;display:flex;max-width:1296px;margin:27px auto 0}
.ab-ceo-in::before{content:"";position:absolute;left:50%;top:10px;width:1px;height:55px;background:#ccc}
.ab-ceo-ph{flex:none;width:572px;height:690px}
.ab-ceo-ph img{width:500px;max-width:none;margin:-3px 0 0 35px}
.ab-ceo-txt{flex:1;margin-left:73px;padding:0;align-self:center;letter-spacing:-.01em}
.ab-ceo-txt p{font-size:17px;font-weight:300;line-height:1.64;color:#222}
.ab-ceo-txt p+p{margin-top:27px}

/* 가치 — 두 원 */
.ab-value{position:relative;padding:109px 0 139px;overflow:hidden;color:#fff}
.ab-bg{position:absolute;inset:0}
.ab-bg img{width:100%;height:100%;object-fit:cover}
.ab-value .wrap,.ab-cert .wrap{position:relative}
.ab-value .st{margin-bottom:74px}
.ab-venn{position:relative;display:flex;justify-content:center;width:858px;margin:0 auto}
.ab-venn::before,.ab-venn::after{content:"";position:absolute;top:50%;width:100vw;height:1px;background:rgba(255,255,255,.75)}
.ab-venn::before{right:100%}.ab-venn::after{left:100%}
.ab-circle{flex:none;width:514px;height:514px;border:1px solid #fff;border-radius:50%;background:rgba(255,255,255,.08);padding-top:150px;text-align:center}
.ab-circle+.ab-x+.ab-circle{margin-left:-170px}
.ab-circle h3{font-size:32px;font-weight:700;line-height:1.5}
.ab-circle p{margin-top:34px;font-size:17px;font-weight:300;line-height:1.76;color:#eee}
.ab-x{position:absolute;left:50%;top:50%;width:66px;height:66px;transform:translate(-50%,-50%)}
.ab-x::before,.ab-x::after{content:"";position:absolute;left:50%;top:50%;width:93px;height:1px;background:#fff;transform:translate(-50%,-50%) rotate(45deg)}
.ab-x::after{transform:translate(-50%,-50%) rotate(-45deg)}

/* 조직 */
.ab-org{padding:180px 0 102px}
.ab-org-list{display:flex;justify-content:center;padding:98px 0 42px}
.ab-org-list li{position:relative;width:314px;text-align:center}
.ab-org-list li+li{margin-left:93px}
.ab-org-list li+li::before{content:"";position:absolute;right:calc(100% + 20px);top:157px;width:66px;height:1px;background:#b5a38f}
.ab-org-list li+li::after{content:"";position:absolute;right:calc(100% + 20px);top:157px;width:12px;height:1px;background:#b5a38f;transform-origin:right;transform:rotate(40deg)}
.ab-dot{width:314px;height:314px;border-radius:50%;background:var(--brown);color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center}
.ab-dot.light{background:#b08a62}
.ab-dot small{font-size:30px;font-weight:300;letter-spacing:.06em;color:rgba(255,255,255,.88)}
.ab-dot b{margin-top:8px;font-size:38px;font-weight:700;letter-spacing:.04em}
.ab-org-list p{margin-top:28px;font-size:15px;line-height:34px;color:#555;letter-spacing:.04em}

/* 연혁 넘기기 */
.ab-hist{padding:140px 0 60px;overflow:hidden}
.ab-hist .st{margin-bottom:29px}
.ab-hist-box{max-width:1325px;margin:0 auto}
.ab-hist-nav{display:flex;justify-content:flex-end;gap:7px;margin-bottom:47px}
.ab-hist-nav button{width:50px;height:50px;border:1px solid #222;border-radius:50%;display:grid;place-items:center;transition:background .2s,color .2s}
.ab-hist-nav button:hover{background:#222;color:#fff}
.ab-hist-sw{overflow:hidden}
.ab-hist-sw .swiper-slide{width:271px;height:437px;padding:0 16px;border-left:1px solid #e6e6e6}
.hs-txt h4{font-size:14px;font-weight:600;line-height:1.5;color:#866646}
.hs-txt h3{padding:12px 0;font-size:22px;font-weight:600;line-height:1.5;color:#222}
.hs-txt p{font-size:16px;font-weight:200;line-height:1.75;color:#444}
.hs-img{position:absolute;left:16px;right:16px;top:236px;height:198px;overflow:hidden;background:#efe9e1;display:grid;place-items:center}
.hs-img img{width:100%;height:100%;object-fit:cover}
.hs-img.doc img{object-position:center top;background:#fff}
.hs-img.logo img{width:110px;height:110px;object-fit:contain;padding:14px;background:#fff;border-radius:16px}
.hs-img.logo.wide img{width:170px;height:76px;padding:12px 18px}
.ab-hist-bar.ab-hist-bar{position:relative;top:auto;left:auto;width:100%;margin-top:82px;height:2px;background:#eee}
.ab-hist-bar .swiper-pagination-progressbar-fill{position:absolute;left:0;top:0;width:100%;height:100%;background:#111;transform-origin:left top}

/* 인증 */
.ab-cert{position:relative;padding:154px 0 160px;overflow:hidden}
.ab-lines{position:absolute;inset:0;pointer-events:none}
.ab-lines::before{content:"";position:absolute;left:0;right:0;top:136px;height:165px;border-top:1px solid rgba(0,0,0,.09);border-bottom:1px solid rgba(0,0,0,.09)}
.ab-lines::after{content:"";position:absolute;left:calc(50% - 290px);top:46px;width:580px;height:390px;border-left:1px solid rgba(0,0,0,.09);border-right:1px solid rgba(0,0,0,.09)}
.ab-cert-set{margin-top:133px}
.ab-cert-row{display:flex;margin-left:129px}
.ab-cert-row.r2{margin:45px 0 0 321px}
.ab-cert-row li{flex:none;width:165px;text-align:center}
.ab-cert-row li+li{margin-left:-30px}
.cc-ph{position:relative;aspect-ratio:248/332;background:#fff;box-shadow:0 2px 10px rgba(0,0,0,.14);overflow:hidden}
.cc-ph>img{width:100%;height:100%;object-fit:cover;object-position:center top}
.cc-card{container-type:inline-size;background:#f8f5ef;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:0 4px}
.cc-card::before{content:"";position:absolute;inset:4%;border:1px solid #dccbb2;pointer-events:none}
.cc-card>img{width:30cqw;height:auto;margin-bottom:6cqw}
.cc-card small{font-size:6.7cqw;color:#b08a62;letter-spacing:.02em}
.cc-card b{margin-top:2.5cqw;font-size:10.3cqw;font-weight:700;color:#222;white-space:nowrap;letter-spacing:-.02em}
.cc-card em{margin-top:2.5cqw;font-style:normal;font-size:6.7cqw;color:#888}
.ab-cert-row p{margin-top:22px;font-size:16px;font-weight:500;line-height:1.5;color:#866646;letter-spacing:-.03em}

@media (max-width:1200px){
  .ab-ceo-ph{width:44%;height:auto}.ab-ceo-ph img{width:90%;margin:0 0 0 5%}
  .ab-ceo-txt{margin-left:40px;padding-top:0}
  .ab-cert-row,.ab-cert-row.r2{margin-left:0;justify-content:center}
  .ab-org-list li+li{margin-left:60px}
}
@media (max-width:1024px){
  .ab-venn{width:auto;flex-direction:column;align-items:center}
  .ab-venn::before,.ab-venn::after{display:none}
  .ab-circle+.ab-x+.ab-circle{margin:-65px 0 0}
  .ab-org-list{flex-direction:column;align-items:center}
  .ab-org-list li+li{margin:60px 0 0}
  .ab-org-list li+li::before{right:auto;left:50%;top:-52px;width:1px;height:44px}
  .ab-org-list li+li::after{right:auto;left:50%;top:-9px;width:1px;height:10px;transform-origin:bottom;transform:rotate(40deg)}
}
@media (max-width:768px){
  .ab-ceo{padding-top:105px}
  .ab-quote{font-size:24px}
  .ab-quote::before,.ab-quote::after{font-size:16px;top:-10px}
  .ab-ceo-in{display:block;margin-top:30px}
  .ab-ceo-in::before{display:none}
  .ab-ceo-ph{width:100%;height:470px}
  .ab-ceo-ph img{width:341px;margin:0 auto}
  .ab-ceo-txt{margin:0;padding:45px 20px 105px;background-color:#fff;background-image:linear-gradient(#f1ede8 1px,transparent 1px),linear-gradient(90deg,#f1ede8 1px,transparent 1px);background-size:78px 78px;background-position:center top}
  .ab-ceo-txt p{color:#555;line-height:1.76;letter-spacing:-.03em}
  .ab-ceo-txt p:first-child{font-weight:600;color:#866646}
  .ab-ceo-txt p+p{margin-top:30px}
  .ab-value{padding:140px 0 100px}
  .ab-value .st{margin-bottom:107px}
  .ab-circle{width:317px;height:317px;padding-top:55px}
  .ab-circle h3{font-size:24px}
  .ab-circle p{margin-top:10px;font-size:16px}
  .ab-x{width:44px;height:44px}
  .ab-x::before,.ab-x::after{width:62px}
  .ab-org{padding:100px 0 111px}
  .ab-org-list{padding:93px 0 30px}
  .ab-org-list li{width:203px}
  .ab-dot{width:203px;height:203px}
  .ab-dot small{font-size:19px}.ab-dot b{margin-top:4px;font-size:25px}
  .ab-org-list p{display:none}
  .ab-hist{padding:100px 0}
  .ab-hist-nav{display:none}
  .ab-hist .st{margin-bottom:99px}
  .ab-hist-sw{margin-left:-14px}
  .ab-hist-sw .swiper-slide{width:320px;height:350px;padding:0 12px 0 14px}
  .hs-txt h3{padding:9.6px 0;font-size:22px;font-weight:700;line-height:1.45}
  .hs-img{left:14px;right:12px;top:160px;height:190px}
  .ab-hist-bar.ab-hist-bar{width:210px;margin:40px auto 0}
  .ab-cert{padding:100px 0 100px}
  .ab-lines{display:none}
  .ab-cert-set{display:flex;flex-wrap:wrap;justify-content:center;width:283px;margin:126px auto 0;row-gap:20px}
  .ab-cert-row,.ab-cert-row.r2{display:contents}
  .ab-cert-row li{width:113px;margin-right:-28px}
  .ab-cert-row li+li{margin-left:0}
  .ab-cert-row p{margin-top:15px;font-size:11px;line-height:1.5}
}
.ab-cert .tagline{background:transparent}
.gf{margin-top:0}
/* 증빙 카드: 스캔·글자 카드 모두 같은 틀 */
.cc-ph{background:#faf8f4;border:1px solid #d8c7b4;padding:6px;box-sizing:border-box;box-shadow:0 2px 10px rgba(0,0,0,.08)}
.cc-ph>img{object-fit:contain;background:#fff}
.cc-card::before{inset:6px}

/* 증빙 서류 정리: 겹침 없이 같은 크기 카드, 줄마다 가운데 */
.ab-lines{display:none}
.ab-cert-set{max-width:1160px;margin:72px auto 0;padding:0 20px}
.ab-cert-row,.ab-cert-row.r2{display:flex;flex-wrap:wrap;justify-content:center;gap:40px 24px;margin:0}
.ab-cert-row.r2{margin-top:40px}
.ab-cert-row li,.ab-cert-row li+li{width:164px;margin:0}
.ab-cert-row p{margin-top:16px;font-size:15px}
/* 연혁 서류 사진은 잘리지 않게 통째로 */
.hs-img.doc{display:block}
.hs-img.doc img{width:100%;height:100%;object-fit:contain;padding:8px;box-sizing:border-box}
@media (max-width:1200px){
  .ab-cert-row li,.ab-cert-row li+li{width:140px}
}
@media (max-width:768px){
  .ab-cert-set{display:grid;grid-template-columns:repeat(3,1fr);gap:28px 12px;width:auto;max-width:none;margin:56px 0 0;padding:0 20px}
  .ab-cert-row,.ab-cert-row.r2{display:contents}
  .ab-cert-row li,.ab-cert-row li+li{width:auto;margin:0}
  .ab-cert-row p{margin-top:10px;font-size:12px;line-height:1.45}
}
/* 자격·가입 정보 카드 (서류 사진 없음) */
.ab-info{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;max-width:1040px;margin:56px auto 0}
.ab-info li{display:flex;align-items:center;gap:18px;min-height:104px;padding:20px 24px;border:1px solid #d8c7b4;border-radius:12px;background:rgba(255,255,255,.88);text-align:left}
.ab-info i{flex:none;width:56px;height:56px;border-radius:50%;background:#f3ece3;color:var(--brown);display:grid;place-items:center;overflow:hidden}
.ab-info i img{width:40px;height:40px;object-fit:contain}
.ab-info small{display:block;font-size:13px;font-weight:500;color:#9a7b5c}
.ab-info b{display:block;margin-top:4px;font-size:19px;font-weight:700;color:#222;letter-spacing:-.02em}
.ab-info em{display:block;margin-top:3px;font-style:normal;font-size:14px;color:#777}
@media (max-width:1024px){.ab-info{grid-template-columns:repeat(2,1fr);padding:0 20px}}
@media (max-width:768px){
  .ab-info{grid-template-columns:1fr;gap:10px;margin-top:40px;padding:0 20px}
  .ab-info li{min-height:84px;padding:16px 18px}
  .ab-info b{font-size:17px}
}
/* 겹친 원: 글은 겹치지 않는 쪽 가운데에, 테두리에서 충분히 떨어지게 */
.ab-circle{display:flex;flex-direction:column;justify-content:center;align-items:center;padding:0}
.ab-circle+.ab-x+.ab-circle{margin-left:-120px}
.ab-venn>.ab-circle:first-child{padding:0 160px 0 60px}
.ab-venn>.ab-circle:last-child{padding:0 60px 0 160px}
.ab-circle h3{font-size:30px;line-height:1.45}
.ab-circle p{margin-top:24px;font-size:16px;line-height:1.85}
@media (max-width:1024px){
  .ab-circle+.ab-x+.ab-circle{margin:-60px 0 0}
  .ab-venn>.ab-circle:first-child{padding:0 30px 70px}
  .ab-venn>.ab-circle:last-child{padding:70px 30px 0}
}
@media (max-width:768px){
  .ab-circle h3{font-size:22px}
  .ab-circle p{margin-top:10px;font-size:14px;line-height:1.75}
  .ab-venn>.ab-circle:first-child{padding:0 24px 64px}
  .ab-venn>.ab-circle:last-child{padding:64px 24px 0}
}
.ab-venn{width:908px}
@media (max-width:1024px){.ab-venn{width:auto}}
/* 사진 위 흰 글자 대비 */
.ab-value::before{content:"";position:absolute;inset:0;z-index:0;background:rgba(30,22,15,.25);pointer-events:none}
.ab-bg{z-index:-1}.ab-value{isolation:isolate}
.ab-value .wrap{z-index:1}
@media (max-width:768px){
  .ab-value::before{background:rgba(30,22,15,.5)}
  .ab-circle{width:330px;height:330px}
  .ab-circle p{font-size:13.5px}
}

/* 디테일 검사 1차: 연혁 그림 틀 통일 */
.hs-img{background:#f3ede5;border-radius:6px}
.hs-img.doc{display:flex;align-items:flex-end;justify-content:center;padding:12px 12px 0}
.hs-img.doc img{width:auto;height:100%;max-width:100%;padding:0;object-fit:contain;object-position:center bottom;box-shadow:0 1px 6px rgba(0,0,0,.12)}
.hs-img.logo img,.hs-img.logo.wide img{box-shadow:0 1px 6px rgba(0,0,0,.08)}
/* 디테일 검사 2차 */
.ab-quote::before,.ab-quote::after{content:none}
@media (max-width:768px){
  .ab-cert-set{grid-template-columns:repeat(3,minmax(0,1fr))}
  .ab-info{grid-column:1/-1;padding:0;margin-top:20px}
  .ab-org{padding-bottom:60px}
  .ab-hist-sw{margin-left:0;padding:0 20px}
}
@media (max-width:768px){.ab-info{margin:20px 0 0;width:100%}.ab-hist-sw{padding:0}}
@media (max-width:768px){.ab-org{padding-bottom:20px}}

/* ===== 2차 수정 (2026-10-07 고객 요청) — 소개서 2쪽 느낌의 회사 개요 + 사진 없는 강조 ===== */
.ab-ov{padding-top:100px}
.ab-ov-head{max-width:1100px;margin:0 auto}
.ab-ov-head .tagline{letter-spacing:.08em}
.ab-ov-head h2{margin-top:22px;font-size:44px;font-weight:800;line-height:1.3;letter-spacing:-.03em;color:var(--ink)}
.ab-ov-head p{margin-top:16px;font-size:18px;line-height:1.7;color:#555}
.ab-ov-tbl{max-width:1100px;margin:44px auto 0;display:grid;grid-template-columns:1fr 1fr;column-gap:64px;border-top:1px solid var(--ink)}
.ab-ov-tbl>div{display:flex;gap:24px;padding:22px 4px;border-bottom:1px solid var(--line)}
.ab-ov-tbl dt{flex:none;width:96px;font-size:16px;font-weight:800;color:var(--ink)}
.ab-ov-tbl dd{font-size:16px;line-height:1.6;color:#444}
.ab-ov-band{margin-top:70px;padding:64px 0;background:linear-gradient(100deg,#1d1712 55%,#4a3726);color:#fff}
.ab-ov-band .wrap{max-width:1100px}
.ab-ov-q{font-size:34px;font-weight:800;letter-spacing:-.02em;line-height:1.35}
.ab-ov-s{margin-top:14px;font-size:18px;color:#e6ddd2}
.ab-ov-k{margin-top:26px;font-size:14px;font-weight:600;letter-spacing:.18em;color:var(--gold-d)}
.ab-key{max-width:1100px;padding-top:80px}
.ab-key-lead{font-size:18px;line-height:1.8;color:#333;text-align:center}
.ab-key-list{margin-top:46px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.ab-key-list li{padding:34px 30px 36px;border-radius:14px;background:var(--sand-l)}
.ab-key-list small{font-size:12px;font-weight:700;letter-spacing:.12em;color:var(--tag)}
.ab-key-list b{display:block;margin-top:12px;font-size:26px;font-weight:800;line-height:1.3;letter-spacing:-.03em;color:var(--brown-d);word-break:keep-all}
.ab-key-list p{margin-top:14px;font-size:16px;line-height:1.75;color:#444}
/* 조직: 원 아래 설명 글 강조 */
.ab-org-list p{margin-top:30px;font-size:19px;line-height:1.75;font-weight:600;color:#2b2118;letter-spacing:0}
.ab-dot small{font-size:26px}
.ab-dot b{font-size:36px;letter-spacing:-.01em}
@media (max-width:1024px){
  .ab-ov-tbl{grid-template-columns:1fr;margin-top:36px}
  .ab-key-list{grid-template-columns:1fr;max-width:640px;margin-left:auto;margin-right:auto}
}
@media (max-width:768px){
  .ab-ov{padding-top:70px}
  .ab-ov-head h2{font-size:28px}.ab-ov-head p{font-size:15.5px}
  .ab-ov-tbl>div{gap:14px;padding:16px 2px}.ab-ov-tbl dt{width:72px;font-size:14.5px}.ab-ov-tbl dd{font-size:14.5px}
  .ab-ov-band{margin-top:50px;padding:44px 0}.ab-ov-q{font-size:24px}.ab-ov-s{font-size:15px}.ab-ov-k{font-size:11px;letter-spacing:.12em}
  .ab-key{padding-top:56px}.ab-key-lead{font-size:15.5px;text-align:left}
  .ab-key-list b{font-size:22px}.ab-key-list p{font-size:15px}.ab-key-list p br{display:none}
  .ab-org-list p{display:block;margin-top:20px;font-size:16px}
  .ab-dot small{font-size:17px}.ab-dot b{font-size:22px}
}
.ab-key-list p{word-break:keep-all;text-wrap:pretty}
/* 디자인 채점 1회차 반영 */
.ab-ov-band{background:linear-gradient(100deg,#241b14 40%,#3a2b1f)}
.ab-org-list{padding-top:70px}
.ab-org-list li{width:272px}
.ab-dot{width:272px;height:272px}
.ab-dot b{margin-top:14px}
.ab-org-list li+li{margin-left:56px}
.ab-org-list li+li::before{right:calc(100% + 8px);top:136px;width:40px}
.ab-org-list li+li::after{right:calc(100% + 8px);top:136px}
.ab-org-list p{margin-top:20px}
.ab-hist-nav{margin-bottom:10px}
.ab-hist .st{margin-bottom:10px}
@media (min-width:769px){.hs-img{top:222px;height:212px}}
@media (max-width:1024px){.ab-org-list li+li{margin:44px 0 0}.ab-org-list li+li::before{right:auto;left:50%;top:-36px;width:1px;height:28px}.ab-org-list li+li::after{right:auto;left:50%;top:-9px}}
@media (max-width:768px){
  .ab-org-list li{width:200px}.ab-dot{width:200px;height:200px}
  .ab-ov-tbl dt{width:66px}.ab-ov-tbl dd{padding-left:0}.ab-ov-tbl>div{gap:12px;padding:15px 2px}
}
/* 디자인 채점 2회차 반영: 가운데 운영총괄 원만 크게 */
@media (min-width:1025px){
  .ab-org-list{align-items:flex-start}
  .ab-org-list li:nth-child(odd){width:254px;margin-top:9px}
  .ab-org-list li:nth-child(odd) .ab-dot{width:254px;height:254px}
  .ab-org-list li:nth-child(3)::before,.ab-org-list li:nth-child(3)::after{top:127px}
  .ab-org-list li:nth-child(odd) p{margin-top:29px}
}
/* 대표님 반려 2026-10-07: 둥근 카드 윗변 색 테두리 금지 */
.ab-key-list li{border-top:0}
/* 검수 반영: 회사 개요 표 글자 */
.ab-ov-tbl dt,.ab-ov-tbl dd{font-size:17px}
@media (max-width:768px){.ab-ov-tbl dt,.ab-ov-tbl dd{font-size:15px}}

/* ===== 2026-10-08 디자인 전체 채점 반영 ===== */
.ab-x{display:none}
.ab-circle{border-width:1.5px;border-color:rgba(255,255,255,.7)}
/* 강조 카드 아래 → 다음 사진 구간 사이 여백 (2026-10-08 대표님 "박스 아래 여백 왜이래") */
.ab-key{padding-bottom:140px}
@media (max-width:768px){.ab-key{padding-bottom:80px}}
