/* 회사소개 — 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:287px 0 68px 0;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:160px 0;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 309px;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:180px}
  .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:176px 0 309px}
  .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}
