/* /nang-luc/ — Năng lực và chất lượng. Chỉ 5 màu thương hiệu; thành phần dùng chung ở site.css. */

/* Đầu trang: ảnh + nhãn ISO */
.trang-nang-luc .hero-con__phu{align-self:stretch}
.nl-hero{position:relative;margin:0;border-radius:var(--bo);overflow:hidden;aspect-ratio:4/3;background:var(--den)}
.nl-hero img{width:100%;height:100%;object-fit:cover}
.nl-hero figcaption{position:absolute;left:16px;bottom:16px;display:flex;align-items:center;gap:12px;padding:8px 20px 8px 8px;border-radius:999px;background:var(--trang);box-shadow:0 12px 28px rgba(0,0,0,.2)}
.nl-hero figcaption i{flex:none;width:44px;height:44px;border-radius:50%;background:var(--cam);color:var(--den);display:grid;place-items:center;font-style:normal;font-size:11px;font-weight:800;letter-spacing:.04em}
.nl-hero figcaption span{font-size:13px;line-height:1.35;color:var(--ghi);font-weight:600}
.nl-hero figcaption b{display:block;font-size:15px;color:var(--den);font-weight:800}

/* Mục lục trang */
.nl-mucluc{border-bottom:1px solid var(--ghi-nhat)}
.nl-mucluc .hm-chi{margin-top:0;border-top:0;grid-template-columns:repeat(5,1fr)}
.nl-mucluc .hm-chi a{font-size:16px;padding:22px 22px 24px}

/* 01 ISO (nền đen) */
.nl-iso .khung{display:grid;grid-template-columns:6fr 5fr;gap:80px;align-items:start}
.nl-iso .td{color:var(--trang);max-width:14em}
.nl-iso__vb{margin-top:26px;color:var(--ghi-nhat);font-size:17px;line-height:1.7;max-width:36em}
.nl-iso__y{margin-top:36px;border-top:1px solid var(--ghi)}
.nl-iso__y li{display:grid;grid-template-columns:170px 1fr;gap:20px;padding:18px 0;border-bottom:1px solid var(--ghi)}
.nl-iso__y b{font-size:15px;font-weight:800;color:var(--cam)}
.nl-iso__y span{font-size:15px;line-height:1.6;color:var(--ghi-nhat)}
.nl-iso .iso{margin-top:0;position:sticky;top:120px}

/* 02 Kiểm soát: vòng tròn các lớp + danh sách */
.nl-ks__luoi{display:grid;grid-template-columns:5fr 7fr;gap:72px;align-items:center;margin-top:64px}
.vong{width:min(100%,420px);justify-self:center}
.vong svg{display:block;width:100%;height:auto;overflow:visible;font-family:var(--chu)}
.lop{border-top:1.5px solid var(--den)}
.lop li{display:grid;grid-template-columns:110px 1fr;gap:20px;padding:24px 0;border-bottom:1px solid var(--ghi-nhat)}
.lop__so{font-size:12px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--ghi);padding-top:6px}
.lop h3{font-size:22px;line-height:1.3;font-weight:800;letter-spacing:-.015em}
.lop p{margin-top:6px;color:var(--ghi);font-size:16px;line-height:1.6}
.cong-cu{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:72px}
.cong-cu__o{border:1.5px solid var(--ghi-nhat);border-radius:var(--bo);padding:28px 28px 30px;transition:border-color .25s}
.cong-cu__o:hover{border-color:var(--den)}
.cong-cu__o svg{width:36px;height:36px}
.cong-cu__o h3{margin-top:20px;font-size:20px;font-weight:800;letter-spacing:-.015em;line-height:1.3}
.cong-cu__o p{margin-top:8px;color:var(--ghi);font-size:15px;line-height:1.6}
.the-chu{display:flex;flex-wrap:wrap;gap:6px;margin-top:16px}
.the-chu li{font-size:13px;font-weight:700;padding:6px 12px;border:1px solid var(--ghi-nhat);border-radius:999px}

/* 03 Quy trình và đào tạo (nền đen) */
.nl-qt__dau{display:grid;grid-template-columns:5fr 7fr;gap:72px;align-items:end}
.nl-qt .td{color:var(--trang)}
.nl-qt__dan{color:var(--ghi-nhat);font-size:17px;line-height:1.7}
.nl-qt__dan p+p{margin-top:1em}
.nl-qt__dan b{color:var(--trang);font-weight:800}
.nguyen-tac{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:64px;padding:34px 0;border-top:1px solid var(--ghi);border-bottom:1px solid var(--ghi)}
.nguyen-tac li{display:flex;align-items:baseline;gap:14px;font-size:clamp(34px,4.4vw,64px);font-weight:800;letter-spacing:-.035em;line-height:1.1;color:var(--trang)}
.nguyen-tac li b{font-size:13px;letter-spacing:.14em;color:var(--cam);font-weight:800}
.nguyen-tac__mui svg{width:clamp(28px,3vw,44px);height:auto;color:var(--cam);display:block}
.nl-qt__luoi{display:grid;grid-template-columns:5fr 7fr;gap:56px;align-items:start;margin-top:64px}
.nl-qt__anh{margin:0;border-radius:var(--bo);overflow:hidden;aspect-ratio:3/2;background:var(--den);position:sticky;top:120px}
.nl-qt__anh img{width:100%;height:100%;object-fit:cover}
.nl-qt__td{font-size:clamp(24px,2.2vw,32px);font-weight:800;letter-spacing:-.025em;line-height:1.2}
.nhom-qt{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;margin-top:24px;background:var(--ghi);border:1px solid var(--ghi);border-radius:var(--bo);overflow:hidden}
.nhom-qt__o{background:var(--den);padding:22px 22px 24px}
.nhom-qt__o:first-child{grid-row:span 2}
.nhom-qt__o:last-child{grid-column:span 2}
.nhom-qt h4{font-size:12px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--ghi-nhat)}
.nhom-qt ul{margin-top:12px}
.nhom-qt li{display:flex;gap:12px;align-items:baseline;font-size:17px;font-weight:700;line-height:1.35;color:var(--trang)}
.nhom-qt li+li{margin-top:12px}
.nhom-qt li b{flex:none;width:26px;font-size:13px;font-weight:800;color:var(--cam);letter-spacing:.02em}

/* 04 Đội ngũ */
.nl-dn__luoi{display:grid;grid-template-columns:6fr 6fr;gap:72px;align-items:center}
.nl-dn__anh{position:relative;padding-bottom:18%}
.nl-dn__anh figure{margin:0;border-radius:var(--bo);overflow:hidden;background:var(--den)}
.nl-dn__anh img{width:100%;height:100%;object-fit:cover}
.nl-dn__a1{width:84%;aspect-ratio:3/2}
.nl-dn__a2{position:absolute;right:0;bottom:0;width:56%;aspect-ratio:3/2;border:6px solid var(--trang);box-shadow:0 18px 40px rgba(0,0,0,.14)}
.nl-dn__so{display:flex;align-items:baseline;gap:14px;margin-top:22px}
.nl-dn__so b{font-size:clamp(64px,7vw,108px);font-weight:800;letter-spacing:-.05em;line-height:1}
.nl-dn__so span{font-size:16px;font-weight:700;color:var(--ghi)}
.nl-dn__chu .td{margin-top:10px}
.nl-dn__ds{margin-top:26px}
.nl-dn__ds li{font-size:16px}
.nl-dn__ket{margin-top:22px;font-size:17px;color:var(--ghi)}
.nl-dn__nut{display:flex;flex-wrap:wrap;align-items:center;gap:18px 28px;margin-top:32px}

/* 05 Thiết bị và hoá chất */
.tb{margin-top:64px}
.tb__dau{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px 32px;padding-bottom:22px;border-bottom:1.5px solid var(--den)}
.tb__dau h3,.hc__trai h3{font-size:clamp(24px,2.2vw,32px);font-weight:800;letter-spacing:-.025em;line-height:1.2}
.tb__hang{display:flex;flex-wrap:wrap;gap:8px}
.tb__hang li{padding:10px 18px;border:1.5px solid var(--ghi-nhat);border-radius:999px;font-size:17px;font-weight:800;letter-spacing:-.01em}
.tb__luoi{display:grid;grid-template-columns:repeat(5,1fr);gap:16px;margin-top:28px}
.tb__luoi li{display:flex;flex-direction:column;border:1.5px solid var(--ghi-nhat);border-radius:var(--bo);overflow:hidden;background:var(--trang);transition:border-color .25s,transform .35s var(--em)}
.tb__luoi li:hover{border-color:var(--den);transform:translateY(-3px)}
.tb__luoi picture{display:block;aspect-ratio:1;padding:10px}
.tb__luoi img{width:100%;height:100%;object-fit:contain}
.tb__luoi span{display:block;padding:14px 16px 16px;border-top:1px solid var(--ghi-nhat);font-size:13px;line-height:1.45;color:var(--ghi)}
.tb__luoi span b{display:block;font-size:15px;color:var(--den);font-weight:800;margin-bottom:2px}
.tb__luoi .tb__o-chu{justify-content:flex-end;padding:22px 18px;background:var(--den);border-color:var(--den);color:var(--trang)}
.tb__o-chu b{font-size:18px;font-weight:800;letter-spacing:-.015em;line-height:1.3}
.tb__o-chu span{margin-top:8px;font-size:14px;line-height:1.55;color:var(--ghi-nhat)}
.tb__luoi .tb__o-chu:hover{transform:none}

.hc{display:grid;grid-template-columns:5fr 7fr;gap:56px;align-items:start;margin-top:88px;padding-top:40px;border-top:1.5px solid var(--den)}
.hc__trai p{margin-top:14px;color:var(--ghi);font-size:16px;line-height:1.65}
.hc__nhan{padding:16px 18px;border-left:3px solid var(--cam);color:var(--den)!important}
.hc__nhan b{display:block;font-size:12px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--ghi);margin-bottom:4px}
.hc__anh{margin:28px 0 0;border-radius:var(--bo);overflow:hidden;position:relative;aspect-ratio:4/3;background:var(--den)}
.hc__anh img{width:100%;height:100%;object-fit:cover}
.hc__anh figcaption{position:absolute;left:12px;bottom:12px;padding:6px 11px;border-radius:8px;background:var(--trang);font-size:13px;font-weight:800}
.bang-hc{width:100%;border-collapse:collapse;font-size:15px}
.bang-hc caption{text-align:left;caption-side:top;padding-bottom:14px;font-size:12px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--ghi)}
.bang-hc thead th{text-align:left;font-size:12px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--ghi);padding:0 16px 12px 0;border-bottom:1.5px solid var(--den)}
.bang-hc tbody th,.bang-hc td{text-align:left;padding:15px 16px 15px 0;border-bottom:1px solid var(--ghi-nhat);vertical-align:baseline}
.bang-hc tbody th{font-weight:800;font-size:16px;letter-spacing:-.01em;white-space:nowrap}
.bang-hc td small{font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--ghi);margin-left:4px}
.bang-hc td:last-child{color:var(--ghi)}
.bang-hc tbody tr{transition:background-color .2s}
.bang-hc tbody tr:hover th{box-shadow:inset 3px 0 0 var(--cam);padding-left:12px;transition:padding .2s}

/* Chuyển động riêng */
@media (prefers-reduced-motion:no-preference){
  .js .vong__o{transform-box:fill-box;transform-origin:center;transform:scale(.6);opacity:0;transition:transform 1.1s var(--em),opacity .8s;transition-delay:calc(var(--tre,0)*140ms)}
  .js .vong.da-hien .vong__o{transform:none;opacity:1}
  .js .vong__so{opacity:0;transition:opacity .6s .7s}
  .js .vong.da-hien .vong__so{opacity:1}
  .js .nguyen-tac li{opacity:0;transform:translateY(16px);transition:opacity .8s var(--em),transform .8s var(--em)}
  .js .nguyen-tac.da-hien li{opacity:1;transform:none}
  .js .nguyen-tac.da-hien li:nth-child(2){transition-delay:.15s}
  .js .nguyen-tac.da-hien li:nth-child(3){transition-delay:.3s}
  .js .nguyen-tac.da-hien li:nth-child(4){transition-delay:.45s}
  .js .nguyen-tac.da-hien li:nth-child(5){transition-delay:.6s}
}

@media (max-width:1180px){
  .tb__luoi{grid-template-columns:repeat(4,1fr)}
  .nhom-qt{grid-template-columns:repeat(2,1fr)}
  .nhom-qt__o:first-child{grid-row:auto}
}
@media (max-width:980px){
  .nl-mucluc .hm-chi{grid-template-columns:repeat(3,1fr)}
  .nl-mucluc .hm-chi li:nth-child(4){border-left:0}
  .nl-mucluc .hm-chi li:nth-child(n+4){border-top:1px solid var(--ghi-nhat)}
  .nl-iso .khung,.nl-ks__luoi,.nl-qt__dau,.nl-qt__luoi,.nl-dn__luoi,.hc{grid-template-columns:1fr;gap:40px}
  .nl-iso .iso{position:static}
  .nl-qt__anh{position:static}
  .vong{width:min(78%,320px)}
  .cong-cu{grid-template-columns:1fr 1fr}
  .cong-cu__o:first-child{grid-column:1/-1}
  .tb__luoi{grid-template-columns:repeat(3,1fr)}
}
@media (max-width:849px){
  .nl-hero figcaption{left:12px;bottom:12px;padding:6px 16px 6px 6px}
  .nl-hero figcaption i{width:38px;height:38px}
  .nl-mucluc .hm-chi{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;margin:0 calc(-1*var(--le));padding:0 var(--le);scrollbar-width:none}
  .nl-mucluc .hm-chi::-webkit-scrollbar{display:none}
  .nl-mucluc .hm-chi li{flex:none;width:58%;scroll-snap-align:start;border-top:0!important}
  .nl-mucluc .hm-chi li:nth-child(n){border-left:1px solid var(--ghi-nhat)}
  .nl-mucluc .hm-chi li:first-child{border-left:0}
  .nl-mucluc .hm-chi a{padding:16px 14px 18px;font-size:15px}
  .nl-iso__y li{grid-template-columns:1fr;gap:4px}
  .nl-ks__luoi{margin-top:40px}
  .lop li{grid-template-columns:1fr;gap:6px;padding:20px 0}
  .lop h3{font-size:19px}
  .cong-cu{grid-template-columns:1fr;margin-top:48px}
  .cong-cu__o{padding:24px 20px 26px}
  .nguyen-tac{flex-direction:column;align-items:flex-start;gap:10px;margin-top:40px;padding:26px 0}
  .nguyen-tac__mui{margin-left:8px}
  .nguyen-tac__mui svg{transform:rotate(90deg)}
  .nl-qt__luoi{margin-top:40px}
  .nhom-qt{grid-template-columns:1fr 1fr}
  .nhom-qt__o{padding:18px 16px 20px}
  .nhom-qt li{font-size:15px}
  .nl-dn__anh{padding-bottom:22%}
  .nl-dn__a2{border-width:4px}
  .tb{margin-top:40px}
  .tb__luoi{grid-template-columns:1fr 1fr;gap:10px}
  .tb__luoi span{padding:12px 12px 14px}
  .tb__luoi span b{font-size:14px}
  .hc{margin-top:56px}
  /* Bảng hoá chất thành từng thẻ trên điện thoại */
  .bang-hc thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
  .bang-hc caption{display:block;width:100%;padding-bottom:6px;border-bottom:1.5px solid var(--den)}
  .bang-hc,.bang-hc tbody,.bang-hc tr,.bang-hc th,.bang-hc td{display:block;width:100%}
  .bang-hc tbody tr{padding:14px 0;border-bottom:1px solid var(--ghi-nhat)}
  .bang-hc tbody th,.bang-hc td{padding:2px 0;border:0;white-space:normal}
  .bang-hc tbody th{font-size:17px}
  .bang-hc td{display:grid;grid-template-columns:96px 1fr;gap:10px;font-size:15px}
  .bang-hc td::before{content:attr(data-nhan);font-size:12px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--ghi);padding-top:2px}
  .bang-hc td small{margin-left:0}
  .bang-hc tbody tr:hover th{box-shadow:none;padding-left:0}
}
@media (max-width:400px){
  .nhom-qt{grid-template-columns:1fr}
  .nhom-qt__o:last-child{grid-column:auto}
}
