/* 회사소개 전용 — ★_work/mkcompany.py 가 만든다. _sample_company.html 의 <style> 을 고칠 것 */
.sec-off{display:none}
/* ★자료가 없는 섹션은 스크립트가 뜨기 전에 CSS 로 먼저 감춘다 — 빈 제목이 한 번 그려지지 않게.
   :has() 를 모르는 브라우저에서는 아래 스크립트가 맡는다. */
.csec:has(> .wrap > .sec-off){display:none}

.gnb>li.act>a::after{transform:scaleX(1)}
.sv{position:relative;height:440px;color:#fff;overflow:hidden;background:#0a1f15;display:flex;align-items:flex-end;padding-bottom:84px}
.sv-bg{position:absolute;inset:0;background-size:cover;background-position:center;transition:opacity .8s;animation:kb 10s ease-out forwards}
.sv-bg::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(6,24,14,.85),rgba(6,24,14,.35)),linear-gradient(0deg,rgba(6,24,14,.5),transparent 50%)}
.sv-pr{background-image:url(../img/hero2.jpg)}
.sv-dj{background-image:url(../img/deck-bg.jpg);background-position:center 80%;opacity:0;filter:saturate(.7)}
body.dj .sv-dj{opacity:1}body.dj .sv-pr{opacity:0}
.sv .wrap{position:relative;width:100%}
.crumb{font-size:13px;opacity:.85;display:flex;gap:10px;align-items:center}
.crumb b{color:var(--lime2)}
.sv h1{font-size:clamp(38px,5vw,64px);letter-spacing:-.04em;margin:10px 0 8px;font-weight:800}
.sv p{opacity:.85;font-size:17px}
.cswitch{position:sticky;top:84px;z-index:50;background:#fff;border-bottom:1px solid var(--line)}
.cswitch .wrap{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap}
.cs-tabs{display:flex;margin-top:-44px;filter:drop-shadow(0 18px 30px rgba(0,0,0,.18))}
.cs-tabs a{display:flex;align-items:center;gap:14px;min-width:300px;padding:22px 28px;background:#f1efe8;font-weight:800;font-size:19px;letter-spacing:-.02em;color:var(--ink2);transition:.35s;border-top:4px solid transparent}
.cs-tabs a:first-child{border-radius:18px 0 0 0}.cs-tabs a:last-child{border-radius:0 18px 0 0}
.cs-tabs a small{display:block;font-size:11px;letter-spacing:.14em;font-weight:700;color:var(--ink2);opacity:.7}
.cs-tabs a img{width:46px;height:auto}
.cs-tabs a i{width:46px;height:34px;border-radius:8px;background:#6b4a2b;color:#fff;font-style:normal;font-weight:900;font-size:14px;display:grid;place-items:center;letter-spacing:.05em}
/* ★다정 로고는 가로로 긴 워드마크(약 3.6:1). 푸르다의 정사각 심볼과 같은 46px 를 주면
     글자가 13px 가 되어 안 읽힌다 → 폭을 따로 준다. 높이는 비율대로. */
.cs-tabs a img.dj{width:116px}
.cs-tabs a.on{background:#fff;color:var(--forest);border-top-color:var(--lime)}
/* 상단 고정 상태: 음수 여백 제거(헤더 뒤로 잘림 방지) + 컴팩트 */
.cs-tabs,.cs-tabs a{transition:margin .35s,padding .35s,filter .35s,background .35s,font-size .35s}
.cswitch.stuck{box-shadow:0 10px 24px -14px rgba(0,0,0,.25)}
.cswitch.stuck .cs-tabs{margin-top:0;filter:none}
.cswitch.stuck .cs-tabs a{padding:12px 22px;font-size:16px;border-radius:0;min-width:0}
.cswitch.stuck .cs-tabs a small{display:none}
.cswitch.stuck .cs-tabs a img{width:34px}
.cswitch.stuck .cs-tabs a i{width:34px;height:26px;font-size:11px}
.cswitch.stuck .cs-tabs a img.dj{width:88px}
.cs-sentinel{height:1px;margin-top:-1px}
.cs-tabs a:not(.on):hover{background:#e7e4da}
.lnb{display:flex;gap:4px}
.lnb a{padding:10px 16px;border-radius:999px;font-weight:700;font-size:14.5px;color:var(--ink2)}
.lnb a.on,.lnb a:hover{background:var(--paper);color:var(--forest)}
.csec{padding:110px 0;scroll-margin-top:150px}
.csec.alt{background:var(--paper2)}
.co{background:#fff}
.intro{display:grid;grid-template-columns:1.05fr 1fr;gap:70px;align-items:center}
/* 패밀리사 로고 - 업체 제공 PNG(투명 배경). 폭만 주고 높이는 비율대로 */
.co-logo{display:block;width:208px;height:auto;margin-bottom:20px}
.intro .big{font-size:21px;font-weight:700;line-height:1.55;color:var(--forest);margin:26px 0 18px;letter-spacing:-.02em}
.intro p{color:var(--ink2);font-size:16px;margin-top:12px}
.sign{margin-top:30px;padding-top:22px;border-top:1px solid var(--line);font-size:15px;color:var(--ink2)}
.sign b{font-size:22px;color:var(--ink);margin-left:8px;letter-spacing:.1em}
.intro-pic{position:relative;border-radius:28px;overflow:hidden;aspect-ratio:4/4.4}
.intro-pic img{width:100%;height:100%;object-fit:cover}
.intro-pic.dj img{filter:saturate(.8) sepia(.15)}
.intro-pic .stamp{position:absolute;left:24px;bottom:24px;background:rgba(13,53,34,.9);color:#fff;border-radius:16px;padding:16px 20px}
.intro-pic.dj .stamp{background:rgba(70,45,22,.92)}
.intro-pic .stamp b{display:block;font-size:13px;color:var(--lime2);letter-spacing:.1em}
.intro-pic .stamp span{font-size:22px;font-weight:700}
.values{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:70px}
.values.v4{grid-template-columns:repeat(4,1fr)}
.values>div{background:var(--paper);border-radius:20px;padding:28px;border:1px solid var(--line)}
.values i{font-style:normal;font-family:var(--mono);font-weight:700;color:var(--lime);font-size:15px;display:block;margin-bottom:14px}
.values i svg{width:30px;height:30px;color:var(--deep)}
.values b{font-size:19px;display:block;margin-bottom:6px}
.values p{font-size:14.5px;color:var(--ink2)}
.ov{width:100%;border-collapse:collapse;margin-top:40px;border-top:2px solid var(--ink);font-size:15px}
.ov th,.ov td{padding:18px 20px;border-bottom:1px solid var(--line);text-align:left}
.ov th{width:150px;background:var(--paper);font-weight:700;color:var(--ink2)}
.hist{display:grid;grid-template-columns:380px 1fr;gap:60px}
.hist-h{position:sticky;top:180px;align-self:start}
.hy{display:grid;grid-template-columns:120px 1fr;gap:20px;padding:30px 0;border-top:1px solid #d3cebf}
.hy:first-child{border-top:2px solid var(--ink)}
.hy>b{font-family:var(--mono);font-size:34px;color:var(--green);line-height:1}
.hy ul{list-style:none}
.hy li{display:grid;grid-template-columns:44px 1fr;gap:10px;padding:6px 0;font-size:15.5px;color:var(--ink2)}
.hy li em{font-style:normal;font-family:var(--mono);font-weight:700;color:var(--ink)}
.hy li strong{color:var(--ink)}
.hy li .mono{font-size:12.5px;color:var(--green)}
.hy.dash>b{color:#b5ae9c}
.muted{color:#9a947f}
.cert-h{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;flex-wrap:wrap}
.cfil{display:flex;gap:6px;flex-wrap:wrap}
.cfil button{height:42px;padding:0 18px;border-radius:999px;border:1px solid var(--line);font-weight:700;font-size:14px;background:#fff}
.cfil button b{font-family:var(--mono);color:var(--green);margin-left:4px}
.cfil button.on{background:var(--forest);color:#fff;border-color:var(--forest)}
.cfil button.on b{color:var(--lime2)}
.cgrid2{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;margin-top:40px}
.ct{background:var(--paper);border:1px solid var(--line);border-radius:18px;padding:18px;text-align:center;transition:transform .35s,box-shadow .35s}
.ct:hover{transform:translateY(-6px);box-shadow:0 24px 40px -24px rgba(0,0,0,.35)}
.ct .im{display:block;background:#fff;border-radius:8px;padding:10px;box-shadow:0 2px 10px rgba(0,0,0,.06)}
.ct img{width:100%;aspect-ratio:232/316;object-fit:cover}
.ct b{display:block;font-size:14.5px;margin-top:14px;line-height:1.4}
.ct.hide{display:none}
.mapbox{display:grid;grid-template-columns:1.5fr 1fr;gap:18px;margin-top:36px}
.mapbox iframe{width:100%;height:100%;min-height:420px;border:0;border-radius:22px;background:#e2dfd4}
.addr2{display:grid;gap:14px;align-content:start}
.addr2>div{background:#fff;border:1px solid var(--line);border-radius:18px;padding:24px}
.addr2 small{font-size:12px;font-weight:800;letter-spacing:.12em;color:var(--green)}
.addr2 b{display:block;font-size:18px;margin:6px 0}
.addr2 p{font-size:14.5px;color:var(--ink2)}
.addr2 .dk{background:var(--forest);border:0;color:#fff}
.addr2 .dk small{color:var(--lime2)}.addr2 .dk b{font-size:22px;color:var(--lime2)}.addr2 .dk p{color:rgba(255,255,255,.75)}
.family{margin-top:30px;display:flex;align-items:center;gap:24px;background:var(--forest);color:#fff;border-radius:22px;padding:26px 30px;transition:.3s}
.family:hover{background:var(--green)}
.family img{width:84px;background:#fff;border-radius:14px;padding:10px}
.family small{font-size:12px;letter-spacing:.14em;color:var(--lime2);font-weight:700}
.family b{display:block;font-size:19px;margin:4px 0}
.family p{opacity:.75;font-size:14.5px}
.family>span{margin-left:auto;font-weight:800;white-space:nowrap}
@media (max-width:1180px){
  .intro,.hist,.mapbox{grid-template-columns:1fr;gap:40px}
  .hist-h{position:static}
  .values.v4{grid-template-columns:1fr 1fr}
  .cgrid2{grid-template-columns:repeat(3,1fr)}
  .lnb{display:none}
}
@media (max-width:760px){
  .sv{height:360px;padding-bottom:64px}
  .cswitch{top:66px}
  .cs-tabs{width:100%;margin-top:-34px}
  .cs-tabs a{min-width:0;flex:1;padding:14px 12px;font-size:15px;gap:8px}
  .cs-tabs a img,.cs-tabs a i{width:32px}.cs-tabs a i{height:26px;font-size:11px}
  /* ★좁은 화면에서는 아이콘을 «위»로 올리고 꼬리표는 뺀다 —
       한 줄에 다 넣으면 회사명이 「㈜ / 다정하이테크」로 갈라지고, 한쪽 꼬리표만 숨기면 좌우가 안 맞는다 */
  .cs-tabs a{flex-direction:column;align-items:flex-start;gap:7px}
  .cs-tabs a small{display:none}
  .cs-tabs a img.dj{width:86px}
  .cs-tabs a small{font-size:9.5px;letter-spacing:.06em}
  .cswitch.stuck .cs-tabs a{padding:10px 12px;font-size:14px}
  .csec{padding:70px 0;scroll-margin-top:130px}
  .intro .big{font-size:18px}
  .co-logo{width:168px;margin-bottom:14px}
  .values,.values.v4{grid-template-columns:1fr;margin-top:40px}
  .ov,.ov tbody,.ov tr{display:block}
  .ov tr{display:grid;grid-template-columns:110px 1fr}
  .ov th,.ov td{padding:12px 14px;font-size:14px}
  .ov th{width:auto}
  .hy{grid-template-columns:1fr;gap:12px}
  .hy>b{font-size:26px}
  .cgrid2{grid-template-columns:1fr 1fr;gap:12px}
  .ct{padding:10px}.ct b{font-size:12.5px}
  .mapbox iframe{min-height:280px}
  .family{flex-direction:column;align-items:flex-start;gap:14px}
  .family>span{margin-left:0}
}
