/* 회사소개 통합 섹션 + 영상 히어로 스타일 (index 통합용) */

/* ===== 영상 히어로 ===== */
.vhero{position:relative;width:100%;aspect-ratio:16/9;overflow:hidden;background:#000}
.vhero__bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.vhero__scrim{position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(8,8,12,.55) 0%,rgba(8,8,12,.18) 42%,rgba(8,8,12,.62) 100%)}
.vhero__inner{position:relative;z-index:2;height:100%;max-width:var(--maxw);margin:0 auto;padding:0 var(--pad);display:flex;flex-direction:column;justify-content:center}
.vhero__kicker{font-family:var(--mono);font-size:.74rem;letter-spacing:.3em;color:#ffb877;text-transform:uppercase;margin-bottom:1.4rem}
.vhero__title{font-size:clamp(2.4rem,6vw,5rem);font-weight:800;line-height:1.1;letter-spacing:-.045em;color:#fff;text-shadow:0 2px 30px rgba(0,0,0,.5)}
.vhero__title em{color:var(--accent);font-style:normal}
.vhero__sub{margin-top:1.6rem;max-width:50ch;color:rgba(255,255,255,.9);font-size:clamp(1rem,1.4vw,1.18rem);line-height:1.75;text-shadow:0 1px 16px rgba(0,0,0,.5)}
.vhero__cta{display:flex;gap:14px;margin-top:2.4rem;flex-wrap:wrap}
.vhero .btn--ghost{border-color:rgba(255,255,255,.55);color:#fff}
.vhero .btn--ghost:hover{background:#fff;color:var(--ink);border-color:#fff}
.vhero__scroll{position:absolute;left:50%;bottom:32px;transform:translateX(-50%);z-index:2;font-family:var(--mono);font-size:.64rem;letter-spacing:.3em;color:rgba(255,255,255,.7);display:flex;flex-direction:column;align-items:center;gap:9px}
.vhero__scroll i{width:1px;height:32px;background:linear-gradient(var(--accent),transparent);animation:vh-pulse 1.8s ease-in-out infinite}
@keyframes vh-pulse{0%,100%{transform:scaleY(.4);opacity:.4;transform-origin:top}50%{transform:scaleY(1);opacity:1;transform-origin:top}}

/* ===== 회사 개요 ===== */
.ab-overview{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(32px,5vw,72px);align-items:start;margin-top:clamp(20px,3vw,36px)}
.ab-slogan{font-size:clamp(1.6rem,3.4vw,2.5rem);font-weight:800;line-height:1.32;letter-spacing:-.035em}
.ab-slogan em{color:var(--accent);font-style:normal}
.ab-slogan .red{color:var(--brand-red)}
.ab-desc{margin-top:1.6rem;color:var(--ink-soft);font-size:1.05rem;line-height:1.85}
.ab-facts{border-top:2px solid var(--ink)}
.ab-facts dl{display:grid;grid-template-columns:auto 1fr;gap:0}
.ab-facts dt,.ab-facts dd{padding:1.05em 0;border-bottom:1px solid var(--line)}
.ab-facts dt{font-family:var(--mono);font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;color:var(--accent-deep);padding-right:1.4em;white-space:nowrap}
.ab-facts dd{font-weight:600;text-align:right}

/* ===== 대표인사말 ===== */
.ab-greet__inner{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(32px,5vw,72px);align-items:start}
.ab-greet__head .sec-title{font-size:clamp(1.7rem,3.6vw,2.6rem)}
.ab-greet__body p{font-size:clamp(1.02rem,1.4vw,1.16rem);color:var(--ink-soft);line-height:1.9;margin-bottom:1.25em;max-width:33em;word-break:keep-all}
.ab-greet__body p strong{color:var(--ink);font-weight:700}
.ab-sign{margin-top:2.2rem;text-align:right}
.ab-sign span{display:block;color:var(--muted);font-size:.95rem}
.ab-sign b{display:block;font-size:1.3rem;font-weight:800;letter-spacing:-.02em;margin-top:.2em}

/* ===== 비전 ===== */
.ab-vision__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(18px,2.4vw,28px);margin-bottom:clamp(36px,5vw,56px)}
.ab-vcard{border:1px solid var(--line);border-radius:14px;padding:clamp(26px,3vw,38px);background:var(--bg);transition:transform .3s ease,border-color .3s ease,box-shadow .3s ease}
.ab-vcard:hover{transform:translateY(-5px);border-color:var(--accent);box-shadow:0 16px 40px -24px rgba(210,102,10,.5)}
.ab-vcard__icon{width:54px;height:54px;border-radius:50%;border:2px solid var(--accent);display:grid;place-items:center;color:var(--accent);margin-bottom:1.2rem}
.ab-vcard h3{font-size:1.18rem;font-weight:700;line-height:1.45;letter-spacing:-.02em}
.ab-vslogan{text-align:center;font-size:clamp(1.5rem,3.2vw,2.3rem);font-weight:800;line-height:1.4;letter-spacing:-.03em;padding:clamp(30px,4vw,48px) 0 0;border-top:1px solid var(--line-strong)}
.ab-vslogan em{color:var(--accent);font-style:normal}
.ab-core{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(16px,2vw,24px);margin-top:clamp(30px,4vw,48px)}
.ab-core div{display:flex;gap:.8em;align-items:flex-start;font-weight:600;color:var(--ink-soft)}
.ab-core b{color:var(--accent);font-family:var(--mono);font-size:.9rem;padding-top:.15em}

/* ===== 조직도 (시안2 — 좌측 레일 에디토리얼) ===== */
.ab-org{max-width:1080px;margin:clamp(10px,2vw,26px) auto 0}
.ab-org__lead{display:flex;gap:14px;margin-bottom:clamp(28px,4vw,44px);flex-wrap:wrap;align-items:center}
.ab-pill{display:flex;flex-direction:column;gap:.2em;padding:.85em 1.7em;border-radius:12px}
.ab-pill__en{font-family:var(--mono);font-size:.58rem;letter-spacing:.22em;text-transform:uppercase;opacity:.85}
.ab-pill__ko{font-weight:800;font-size:1.05rem;letter-spacing:-.01em}
.ab-pill--ceo{background:linear-gradient(135deg,#272019,#0c0a07);color:#fff;box-shadow:0 16px 36px -18px rgba(0,0,0,.5)}
.ab-pill--ceo .ab-pill__en{color:var(--accent)}
.ab-pill--exec{background:linear-gradient(135deg,var(--accent),var(--accent-deep));color:#fff;box-shadow:0 14px 32px -16px rgba(240,125,0,.5)}
.ab-pill--audit{background:#fff;border:1px solid var(--line-strong);color:var(--ink-soft)}
.ab-pill--audit .ab-pill__en{color:var(--muted)}
.ab-orail{border-left:2px solid var(--line);padding-left:30px;display:flex;flex-direction:column}
.ab-orow{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:clamp(18px,2.4vw,26px) 4px;border-bottom:1px solid var(--line);position:relative}
.ab-orow:last-child{border-bottom:0}
.ab-orow::before{content:"";position:absolute;left:-31px;top:50%;width:14px;height:2px;background:var(--accent);transform:translateY(-50%)}
.ab-orl{display:flex;align-items:center;gap:18px;min-width:260px}
.ab-orno{font-family:var(--mono);font-size:2rem;font-weight:700;line-height:1}
.ab-oren{font-family:var(--mono);font-size:.62rem;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.ab-orko{font-weight:800;font-size:1.3rem;color:var(--ink);letter-spacing:-.01em}
.ab-ort{display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end}
.ab-ort span{padding:.6em 1.2em;background:var(--paper);border:1px solid var(--line);border-radius:99px;font-size:.92rem;font-weight:600;color:var(--ink-soft)}
@media(max-width:640px){
  .ab-orow{flex-direction:column;align-items:flex-start;gap:14px}
  .ab-orl{min-width:0}
  .ab-ort{justify-content:flex-start}
}

/* ===== 연혁 ===== */
.ab-history{max-width:820px;margin:0 auto}
.ab-hitem{display:grid;grid-template-columns:120px 1fr;gap:clamp(18px,3vw,40px);padding:1.4em 0;border-bottom:1px solid var(--line);align-items:baseline}
.ab-hitem:first-child{border-top:1px solid var(--ink)}
.ab-hyear{font-family:var(--mono);font-size:1.3rem;font-weight:600;color:var(--accent-deep);letter-spacing:.02em}
.ab-hbody ul{list-style:none}
.ab-hbody li{position:relative;padding-left:1.2em;color:var(--ink-soft);margin-bottom:.5em;line-height:1.65}
.ab-hbody li::before{content:"";position:absolute;left:0;top:.7em;width:6px;height:6px;border-radius:50%;background:var(--accent)}
.ab-hbody li b{color:var(--ink);font-weight:700}
.ab-hnote{margin-top:1.6rem;color:var(--muted);font-size:.9rem;text-align:center}

/* ===== 인증·특허 ===== */
.ab-cert{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,4vw,56px)}
.ab-cgroup h3{font-size:1.15rem;font-weight:800;margin-bottom:1.2rem;display:flex;align-items:center;gap:.6em}
.ab-cgroup h3 i{font-family:var(--mono);font-size:.78rem;color:var(--accent-deep);font-style:normal;font-weight:500}
.ab-clist{display:flex;flex-direction:column;gap:.1em}
.ab-clist div{padding:.85em 0;border-bottom:1px solid var(--line);color:var(--ink-soft);display:flex;gap:.7em;align-items:flex-start}
.ab-clist div::before{content:"✓";color:var(--accent);font-weight:800}
.ab-clist b{color:var(--ink);font-weight:600}

@media(max-width:860px){
  .ab-overview,.ab-greet__inner,.ab-cert{grid-template-columns:1fr;gap:32px}
  .ab-vision__grid,.ab-core{grid-template-columns:1fr}
  .vhero{height:auto;min-height:0;display:block;aspect-ratio:auto}
  .vhero__bg{position:relative;width:100%;height:auto;aspect-ratio:16/9;object-fit:contain;background:#000}
  .vhero__scrim{display:none}
  .vhero__inner{position:relative;height:auto;padding:26px var(--pad) 36px;justify-content:flex-start}
  .vhero__scroll{display:none}
}
@media(max-width:520px){
  .ab-hitem{grid-template-columns:78px 1fr}
  .ab-hyear{font-size:1.1rem}
}

/* ===== 영상 히어로 위 nav (스크롤 전 흰색 — 어두운 영상 대비) ===== */
.nav:not(.scrolled) .nav__burger span{background:#fff}
@media(min-width:861px){
  .nav:not(.scrolled) .nav__links a{color:rgba(255,255,255,.92)}
  .nav:not(.scrolled) .nav__links a:hover{color:#fff}
  .nav:not(.scrolled) .brand__ko{color:rgba(255,255,255,.85)}
  .nav:not(.scrolled) .nav__cta{border-color:rgba(255,255,255,.55);color:#fff!important}
  .nav:not(.scrolled) .nav__cta:hover{background:#fff;color:var(--ink)!important;border-color:#fff}
}

/* ===== 인증·면허·특허 클릭 카드 ===== */
.cert-note{text-align:center;color:var(--muted);font-size:.98rem;margin-bottom:clamp(28px,4vw,44px)}
.cert-note b{color:var(--ink-soft);font-weight:700}
.cert-cats{display:flex;flex-direction:column;gap:clamp(30px,4vw,52px)}
.cert-chips{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:10px}
.cert-chips li{display:flex;align-items:center;gap:.45em;padding:.6em 1.1em;background:#f4f5f7;border:1px solid #e4e5ea;border-radius:99px;font-size:.94rem;color:#2c2c33;font-weight:600;word-break:keep-all}
.cert-chips li::before{content:"✓";color:var(--accent);font-weight:800;font-size:.92em}

/* 찾아오시는 길 지도 + 브로슈어 다운로드 */
.contact__map{margin-top:clamp(40px,5vw,60px)}
.contact__map iframe{display:block;width:100%;height:440px;border:0;border-radius:14px;overflow:hidden}
.brochure{display:block;max-width:460px;margin-top:28px;text-decoration:none;border-radius:12px;overflow:hidden;background:#fff;box-shadow:0 8px 26px rgba(0,0,0,.12);transition:transform .2s,box-shadow .2s}
.brochure:hover{transform:translateY(-3px);box-shadow:0 14px 34px rgba(0,0,0,.18)}
.brochure img{display:block;width:100%;height:auto}
.brochure__btn{display:flex;align-items:center;justify-content:center;gap:.5em;padding:.9em;color:#fff;font-weight:700;background:var(--accent);font-size:.95rem}
@media(max-width:760px){.contact__map iframe{height:320px}}
.cert-cat__h{font-size:1.12rem;font-weight:800;margin-bottom:1.3rem;display:flex;align-items:center;gap:.55em;padding-bottom:.7rem;border-bottom:2px solid var(--ink)}
.cert-cat__h i{font-family:var(--mono);font-size:.72rem;color:#fff;background:var(--accent);font-style:normal;font-weight:600;padding:.15em .6em;border-radius:99px}
.cert-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(230px,100%),1fr));gap:12px}
.cert-card{display:flex;flex-direction:column;gap:.45em;padding:1.1em 1.2em;border:1px solid var(--line);border-radius:11px;background:var(--bg);transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease}
.cert-card:hover{border-color:var(--accent);transform:translateY(-3px);box-shadow:0 14px 32px -22px rgba(210,102,10,.55)}
.cert-card__b{align-self:flex-start;font-family:var(--mono);font-size:.62rem;letter-spacing:.06em;color:var(--accent-deep);border:1px solid var(--line-strong);border-radius:99px;padding:.18em .7em;text-transform:uppercase}
.cert-card--pat .cert-card__b{color:var(--brand-red);border-color:var(--brand-red)}
.cert-card__t{font-weight:600;font-size:.97rem;line-height:1.45;color:var(--ink);flex:1}
.cert-card__v{align-self:flex-start;margin-top:.3em;font-family:var(--mono);font-size:.68rem;letter-spacing:.05em;color:#fff;background:var(--accent);padding:.34em .9em;border-radius:99px;text-transform:uppercase;font-weight:700}
.cert-card__v::after{content:" →"}
button.cert-card{appearance:none;-webkit-appearance:none;font:inherit;color:inherit;text-align:left;width:100%;cursor:pointer}
/* ===== 인증서 이미지 라이트박스 ===== */
.imgbox{position:fixed;inset:0;z-index:9999;display:none;background:rgba(10,10,14,.93)}
.imgbox.is-open{display:block}
.imgbox__scroll{position:absolute;inset:0;overflow:auto;-webkit-overflow-scrolling:touch;display:flex;align-items:flex-start;justify-content:center;padding:18px}
.imgbox__img{max-width:96vw;max-height:94vh;width:auto;height:auto;object-fit:contain;background:#fff;box-shadow:0 12px 60px rgba(0,0,0,.55);border-radius:4px;cursor:zoom-in;margin:auto}
.imgbox__img.is-zoom{max-width:none;max-height:none;cursor:zoom-out}
.imgbox__close{position:fixed;top:12px;right:16px;z-index:2;width:46px;height:46px;border:0;border-radius:50%;background:rgba(255,255,255,.16);color:#fff;font-size:30px;line-height:44px;text-align:center;cursor:pointer}
.imgbox__close:hover{background:rgba(255,255,255,.32)}
.imgbox__hint{position:fixed;bottom:14px;left:50%;transform:translateX(-50%);z-index:2;color:rgba(255,255,255,.75);font-size:.78rem;font-family:var(--mono);pointer-events:none}
/* 카테고리별 색 (1 직접생산=오렌지 / 2 면허=블루 / 3 인증=그린 / 4 특허=레드) */
.cert-cats .cert-cat:nth-child(2) .cert-card__v,.cert-cats .cert-cat:nth-child(2) .cert-cat__h i{background:var(--accent-deep)}
.cert-cats .cert-cat:nth-child(3) .cert-card__v,.cert-cats .cert-cat:nth-child(3) .cert-cat__h i{background:var(--ink)}
.cert-cats .cert-cat:nth-child(4) .cert-card__v,.cert-cats .cert-cat:nth-child(4) .cert-cat__h i{background:var(--brand-red)}
.cert-cats .cert-cat:nth-child(2) .cert-card:hover{border-color:var(--accent-deep);box-shadow:0 14px 32px -22px rgba(210,102,10,.5)}
.cert-cats .cert-cat:nth-child(3) .cert-card:hover{border-color:var(--ink);box-shadow:0 14px 32px -22px rgba(22,19,15,.5)}
.cert-cats .cert-cat:nth-child(4) .cert-card:hover{border-color:var(--brand-red);box-shadow:0 14px 32px -22px rgba(212,18,23,.5)}

/* ===== 대표 서명 (대표이사 김원식 옆 배치, 흰 배경 multiply) ===== */
.ab-sign__line{display:flex;align-items:center;justify-content:flex-end;gap:.7em;margin-top:.5em}
.ab-sign__line b{white-space:nowrap}
.ab-sign__img{max-width:118px;height:auto;mix-blend-mode:multiply}

/* ===== 주요 시공실적 리스트 ===== */
.worklist{margin-top:clamp(48px,7vw,84px);border-top:2px solid var(--ink);padding-top:clamp(28px,4vw,46px)}
.worklist__h{font-size:1.3rem;font-weight:800;margin-bottom:1.4rem;display:flex;align-items:baseline;gap:.6em;flex-wrap:wrap}
.worklist__h i{font-family:var(--mono);font-size:.78rem;color:var(--accent-deep);font-style:normal;font-weight:500}
.worklist__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(340px,100%),1fr));gap:0 clamp(24px,4vw,56px)}
.wl-item{display:grid;grid-template-columns:84px 1fr;gap:1em;padding:1em 0;border-bottom:1px solid var(--line);align-items:baseline}
.wl-item b{font-family:var(--mono);font-size:1.02rem;color:var(--accent-deep);font-weight:600}
.wl-item p{color:var(--ink-soft);font-size:.94rem;line-height:1.55}
@media(max-width:520px){.wl-item{grid-template-columns:60px 1fr;gap:.6em}}

/* ===== 트러스트 바 (주요 발주처 마퀴) ===== */
.trustbar{background:var(--ink);overflow:hidden;padding:15px 0}
.trustbar__track{display:flex;width:max-content;white-space:nowrap;animation:tb-marq 34s linear infinite}
.trustbar:hover .trustbar__track{animation-play-state:paused}
.trustbar__track span{font-family:var(--mono);font-size:.82rem;letter-spacing:.04em;color:rgba(255,255,255,.72);padding:0 1.5em;display:inline-flex;align-items:center;gap:1.5em}
.trustbar__track span::after{content:"";width:4px;height:4px;border-radius:50%;background:var(--accent)}
@keyframes tb-marq{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media(prefers-reduced-motion:reduce){.trustbar__track{animation:none;flex-wrap:wrap;white-space:normal;width:auto;justify-content:center;gap:.5em}}

/* ===== 자체 장비 카드 그리드 ===== */
.prod-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(250px,100%),1fr));gap:clamp(14px,2vw,22px)}
.prod-card{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:13px;overflow:hidden;background:var(--bg);transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease}
.prod-card:hover{transform:translateY(-4px);border-color:var(--accent);box-shadow:0 16px 36px -24px rgba(210,102,10,.55)}
.prod-card__img{aspect-ratio:16/7;background:#f1ede7;display:grid;place-items:center;padding:14px;border-bottom:1px solid var(--line)}
.prod-card__img img{max-width:100%;max-height:100%;width:auto;object-fit:contain;mix-blend-mode:multiply}
.prod-card b{padding:1em 1.1em .25em;font-size:1.06rem;font-weight:800;letter-spacing:-.02em}
.prod-card span{padding:0 1.1em 1.1em;font-family:var(--mono);font-size:.72rem;letter-spacing:.06em;color:var(--accent-deep);text-transform:uppercase}

/* ===== 전시 실적 카드 그리드 + 상세 모달 ===== */
.work-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(290px,100%),1fr));gap:clamp(14px,2vw,22px)}
.wcard{display:flex;flex-direction:column;border:0;padding:0;background:none;text-align:left;cursor:pointer;border-radius:14px;overflow:hidden;box-shadow:0 6px 24px -16px rgba(0,0,0,.2);transition:transform .3s ease,box-shadow .3s ease;font-family:inherit}
.wcard:hover{transform:translateY(-6px);box-shadow:0 22px 46px -22px rgba(0,0,0,.32)}
.wcard__img{aspect-ratio:4/3;overflow:hidden;background:var(--paper)}
.wcard__img img{width:100%;height:100%;object-fit:cover;transition:transform .55s ease}
.wcard:hover .wcard__img img{transform:scale(1.06)}
.wcard__meta{padding:1em 1.1em;background:var(--bg);flex:1;display:flex;flex-direction:column;gap:.35em}
.wcard__meta h3{font-size:1.02rem;font-weight:700;line-height:1.42;letter-spacing:-.01em;color:var(--ink)}
.wcard__n{font-family:var(--mono);font-size:.7rem;color:var(--accent-deep);letter-spacing:.04em}
.wcard__n::before{content:"\1F4F7  "}
/* 모달 */
.wmodal{position:fixed;inset:0;z-index:200;display:none}
.wmodal.open{display:block}
.wmodal__backdrop{position:absolute;inset:0;background:rgba(10,9,7,.82);backdrop-filter:blur(4px)}
.wmodal__box{position:absolute;inset:clamp(14px,4vw,56px);background:var(--bg);border-radius:18px;overflow:auto;padding:clamp(22px,4vw,46px);box-shadow:0 30px 80px -30px rgba(0,0,0,.6)}
.wmodal__close{position:sticky;top:0;float:right;width:46px;height:46px;border:0;background:var(--ink);color:#fff;border-radius:50%;font-size:1.6rem;line-height:1;cursor:pointer;z-index:3}
.wmodal__close:hover{background:var(--accent)}
.wmodal__title{font-size:clamp(1.4rem,3vw,2.1rem);font-weight:800;letter-spacing:-.03em;margin-bottom:1.6rem;max-width:82%;line-height:1.25}
.wmodal__gallery{display:flex;flex-direction:column;gap:18px;max-width:940px;margin:0 auto}
.wmodal__gallery img{width:100%;height:auto;border-radius:12px;background:var(--paper);display:block}
@media(max-width:600px){.wmodal__title{max-width:74%}.wmodal__box{inset:0;border-radius:0;padding:18px 14px 40px}.wmodal__gallery{gap:12px}}

/* ===== 전시실적 페이지네이션 (3줄=열×3) ===== */
.work-pager{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;margin-top:clamp(28px,4vw,44px)}
.work-pager__btn{min-width:42px;height:42px;padding:0 14px;border:1px solid var(--line-strong);background:#fff;color:var(--ink-soft);border-radius:10px;font-family:var(--mono);font-size:.9rem;font-weight:500;cursor:pointer;transition:border-color .2s ease,color .2s ease,background .2s ease}
.work-pager__btn:hover:not(:disabled){border-color:var(--accent);color:var(--accent-deep)}
.work-pager__btn.is-active{background:var(--ink);color:#fff;border-color:var(--ink);cursor:default}
.work-pager__btn:disabled{opacity:.38;cursor:default}
.work-pager__gap{color:var(--muted);padding:0 2px;font-family:var(--mono)}
