/* ===== SEAPE web 11/2026 – hệ nhận diện theo hồ sơ năng lực A3 (work/dung_profile.tpl.html) =====
   Phông: Barlow Semi Condensed (tiêu đề) + Barlow (thân), tự đăng woff2 (cat_phong_web.py, đủ 134 ký tự có dấu).
   Thang cỡ profile 34 / 24 / 13 / 11 / 10 / 8,5 pt → thang màn hình --c6 … --c0 (clamp, máy tính ↔ điện thoại), dùng chung mọi trang.
   Ảnh: viền mảnh + bóng mềm (như profile), hàng ảnh cùng mép trên/dưới (flex theo tỷ lệ ảnh – không cắt), chú thích cùng chân dòng.
   Đoạn văn căn đều hai bên, dòng cuối trái. Ô dịch vụ 5 ô vuông (■ thực hiện, □ còn lại). Không chip in hoa, không nhãn nhỏ trên tiêu đề. */
@font-face{font-family:"Barlow";src:url(/assets/fonts/barlow-400.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Barlow";src:url(/assets/fonts/barlow-500.woff2) format("woff2");font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:"Barlow";src:url(/assets/fonts/barlow-600.woff2) format("woff2");font-weight:600 700;font-style:normal;font-display:swap}
@font-face{font-family:"Barlow Semi Condensed";src:url(/assets/fonts/barlow-sc-500.woff2) format("woff2");font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:"Barlow Semi Condensed";src:url(/assets/fonts/barlow-sc-600.woff2) format("woff2");font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:"Barlow Semi Condensed";src:url(/assets/fonts/barlow-sc-700.woff2) format("woff2");font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:"Barlow Semi Condensed";src:url(/assets/fonts/barlow-sc-500i.woff2) format("woff2");font-weight:500;font-style:italic;font-display:swap}

:root{--muc:#0F2236;--muc2:#1A3550;--than:#245381;--thep:#4489A6;--lo:#20B0E0;--dong:#86683C;--dong-s:#C8A774;--giay:#F3F2EE;--giay2:#E4E3DE;
 --cat:#E9E2D3;--trang:#FAFAF8;--bac:#D5D8DB;--xam:#555E68;--xam2:#70757B;--net:rgba(15,34,54,.28);--net2:rgba(15,34,54,.12);--vien:#C5CBD3;
 --ft:"Barlow Semi Condensed","Segoe UI",Arial,sans-serif;--fn:"Barlow","Segoe UI",Arial,sans-serif;
 /* thang cỡ: 34 pt → c6, 24 pt → c5, 13 pt → c3, 11 pt → c2, 10 pt → c1, 8,5 pt → c0 */
 --c6:clamp(2rem,1.3rem + 2.4vw,3.5rem);--c5:clamp(1.5rem,1.15rem + 1.2vw,2.25rem);--c4:clamp(1.25rem,1.05rem + .6vw,1.5rem);
 --c3:clamp(1.0625rem,1rem + .3vw,1.25rem);--c2:clamp(1rem,.97rem + .12vw,1.0625rem);--c1:.9375rem;--c0:.8125rem;
 --le:clamp(16px,4vw,64px);--rong:1440px;--hd:68px;--bong:0 4px 14px rgba(15,34,54,.14);--bong2:0 10px 30px rgba(15,34,54,.18)}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:calc(var(--hd) + 12px)}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}}
body{margin:0;background:#fff;color:var(--muc);font:400 var(--c2)/1.6 var(--fn);font-feature-settings:"tnum","lnum";letter-spacing:.012em;word-spacing:.04em;
 overflow-x:hidden;text-rendering:optimizeLegibility}
img{max-width:100%;height:auto;display:block}
a{color:var(--than);text-underline-offset:.18em;text-decoration-thickness:1px}
a:hover{color:var(--muc)}
h1,h2,h3,h4,h5{font-family:var(--ft);font-weight:600;margin:0;color:var(--muc);letter-spacing:.004em;text-wrap:balance;line-height:1.12}
p{margin:0 0 1em;text-wrap:pretty}
ul,ol{margin:0;padding:0;list-style:none}
table{border-collapse:collapse;width:100%}
:focus-visible{outline:2px solid var(--lo);outline-offset:2px}
[hidden]{display:none!important}
.an{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.bo-qua{position:absolute;left:8px;top:-60px;z-index:100;background:var(--muc);color:#fff;padding:10px 14px}.bo-qua:focus{top:8px}

/* khung */
.khung{max-width:var(--rong);margin:0 auto;padding:0 var(--le)}
.muc{padding:clamp(48px,6vw,96px) 0}
.muc.giay{background:var(--giay)}
.muc.toi{background:var(--muc);color:#E8EDF2}.muc.toi h2,.muc.toi h3{color:#fff}
.muc+.muc:not(.giay):not(.toi){border-top:1px solid var(--net2)}
.luoi{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:clamp(16px,2vw,32px)}
.c4{grid-column:span 4}.c5{grid-column:span 5}.c6{grid-column:span 6}.c7{grid-column:span 7}.c8{grid-column:span 8}.c12{grid-column:1/-1}
@media (max-width:900px){.luoi>[class*="c"]{grid-column:1/-1}}

/* chữ */
.tt{font-size:var(--c6);line-height:1.04;font-weight:600;letter-spacing:0;max-width:22ch}
.tt-phu{font:600 var(--c5)/1.15 var(--ft);color:var(--muc)}
.muc-h{font:600 var(--c5)/1.12 var(--ft);margin-bottom:clamp(18px,2vw,28px)}
.h3{font:600 var(--c4)/1.2 var(--ft)}
h5,.h5{font:600 var(--c2)/1.3 var(--fn);color:var(--than);margin:0 0 .5em;letter-spacing:0}
.dan{font-size:var(--c3);line-height:1.55;color:var(--muc);max-width:68ch}
.doan,.dan.doan{text-align:justify;text-justify:inter-word;text-align-last:left;hyphens:manual}
.chu-nho{font-size:var(--c1);line-height:1.5;color:var(--xam)}
.nho{font-size:var(--c0);color:var(--xam);line-height:1.45}
.so{font-feature-settings:"tnum","lnum"}
.dong{color:var(--dong)}
.nhan-kn{display:inline-block;font:500 var(--c0)/1.3 var(--fn);color:var(--thep);border-left:3px solid var(--thep);padding-left:8px}

/* đầu trang */
.hd{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.97);border-bottom:1px solid var(--net2);height:var(--hd)}
@supports (backdrop-filter:blur(6px)){.hd{background:rgba(255,255,255,.9);backdrop-filter:blur(8px)}}
.hd .khung{display:flex;align-items:center;gap:clamp(12px,2vw,32px);height:100%}
.hd-logo{flex:none;display:block}.hd-logo img{height:30px;width:auto}
.nav{display:flex;align-items:center;gap:clamp(10px,1.4vw,26px);margin-left:auto}
.nav a{font:500 1rem/1 var(--ft);color:var(--muc);text-decoration:none;padding:8px 0;border-bottom:2px solid transparent;white-space:nowrap}
.nav a:hover,.nav a[aria-current="page"]{border-bottom-color:var(--dong);color:var(--muc)}
.nav .nav-phu{display:none}
.hd-ng{display:flex;gap:8px;font:500 var(--c0)/1 var(--ft);flex:none}.hd-ng b{color:var(--muc)}.hd-ng a{color:var(--xam2);text-decoration:none}
.nut{display:inline-flex;align-items:center;gap:8px;font:600 1rem/1 var(--ft);color:var(--muc);border:1px solid var(--muc);padding:12px 18px;text-decoration:none;
 background:#fff;transition:background .15s,color .15s;white-space:nowrap}
.nut:hover{background:var(--muc);color:#fff}
.nut.dac{background:var(--muc);color:#fff}.nut.dac:hover{background:var(--than);border-color:var(--than)}
.nut.sang{border-color:#fff;color:#fff;background:transparent}.nut.sang:hover{background:#fff;color:var(--muc)}
.hd .nut{padding:9px 14px;flex:none}
.hd-menu{display:none;flex:none;width:44px;height:44px;border:1px solid var(--net);background:#fff;cursor:pointer;position:relative}
.hd-menu span{position:absolute;left:11px;right:11px;height:2px;background:var(--muc);transition:transform .2s}
.hd-menu span:nth-child(1){top:16px}.hd-menu span:nth-child(2){top:25px}
.hd.mo .hd-menu span:nth-child(1){transform:translateY(4.5px) rotate(45deg)}.hd.mo .hd-menu span:nth-child(2){transform:translateY(-4.5px) rotate(-45deg)}
@media (max-width:1240px){
 .hd-menu{display:block}.hd .nut.hd-lh{display:none}
 .nav{position:fixed;inset:var(--hd) 0 0 0;background:#fff;flex-direction:column;align-items:stretch;gap:0;padding:12px var(--le) 120px;overflow-y:auto;
  transform:translateX(100%);transition:transform .25s;margin:0;visibility:hidden}
 .hd.mo .nav{transform:none;visibility:visible}
 .nav a{font-size:1.25rem;padding:14px 0;border-bottom:1px solid var(--net2)}
 .nav .nav-phu{display:block;font-size:1.0625rem;color:var(--xam)}
 .hd-ng{margin-left:auto}
 html.khoa{overflow:hidden}
}

/* đường dẫn (breadcrumb) + đầu trang con */
.duong{font:500 var(--c0)/1.4 var(--fn);color:var(--xam);padding-top:clamp(18px,2.4vw,32px)}
.duong a{color:var(--xam);text-decoration:none}.duong a:hover{color:var(--muc);text-decoration:underline}
.duong span[aria-hidden]{margin:0 .5em;color:var(--bac)}
.dau{padding:clamp(18px,2.6vw,40px) 0 clamp(28px,3.4vw,56px);border-bottom:1px solid var(--net2)}
.dau .tt{margin-bottom:.4em}.dau .dan{margin:0}

/* khung tên (như dải khung tên của tờ profile) */
.kt{display:flex;flex-wrap:wrap;align-items:stretch;border-top:1px solid var(--muc);border-bottom:1px solid var(--net2);font:500 var(--c0)/1.2 var(--fn);color:var(--muc)}
.kt>*{padding:10px 14px;border-left:1px solid var(--net2);display:flex;align-items:center}.kt>*:first-child{border-left:0;padding-left:0}
.kt b{font-weight:600}.kt .so{margin-left:auto;font-family:var(--ft);letter-spacing:.02em}

/* ô dịch vụ 5 ô vuông (tdv profile) */
.tdv{display:inline-flex;flex-wrap:wrap;border:1px solid var(--muc);background:#fff;font:500 var(--c0)/1 var(--fn);color:var(--muc);vertical-align:middle}
.tdv span{display:flex;align-items:center;gap:7px;padding:7px 10px;border-left:1px solid var(--muc);white-space:nowrap}
.tdv span:first-child{border-left:0}
.tdv span::before{content:"";flex:none;width:9px;height:9px;border:1px solid var(--xam2)}
.tdv span.on::before{background:var(--muc);border-color:var(--muc)}
.tdv span:not(.on){color:var(--xam2)}
@media (max-width:560px){.tdv span{padding:6px 7px;gap:5px}.tdv{font-size:.75rem}}

/* ảnh: viền mảnh + bóng mềm; hàng ảnh cùng mép (flex theo tỷ lệ ảnh) */
.hinh{margin:0;min-width:0}
.hinh .k{position:relative;overflow:hidden;background:var(--giay);outline:1px solid var(--vien);box-shadow:var(--bong)}
.hinh .k img{width:100%;height:100%;object-fit:cover}
.hinh .k.vua img{object-fit:contain;background:#fff}
.hinh figcaption{margin-top:10px;font:400 var(--c1)/1.45 var(--fn);color:var(--xam)}
.hinh figcaption b{color:var(--muc);font-weight:500}
.hinh figcaption .nguon,.hinh figcaption.nguon{color:var(--xam2);font-size:var(--c0)}
.hinh figcaption span.nguon{display:block;margin-top:2px}
.the .hinh figcaption{margin-top:6px}
.hang{display:flex;gap:clamp(12px,1.6vw,24px);align-items:flex-start}
.hang>.hinh{flex:var(--ar,1.5) 1 0}
.hang>.hinh .k{aspect-ratio:var(--ar,1.5)}
@media (max-width:700px){.hang{flex-direction:column}.hang>.hinh{flex:none;width:100%}}
.ghi-nguon{font:400 var(--c0)/1.45 var(--fn);color:var(--xam2);margin-top:12px}

/* dải số lớn */
.dai-so{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,168px),1fr));border-top:1px solid var(--muc);column-gap:14px}
@media (max-width:560px){.dai-so{grid-template-columns:1fr 1fr}.so-o b{font-size:clamp(1.75rem,8vw,2.25rem)}}
.so-o{padding:22px 18px 22px 0;border-bottom:1px solid var(--net2)}
.so-o b{display:block;font:600 var(--c6)/1 var(--ft);color:var(--muc);white-space:nowrap}
.so-o b i{font:500 var(--c3) var(--fn);font-style:normal;color:var(--xam);margin-left:6px}
.so-o span{display:block;font:600 var(--c2)/1.3 var(--ft);color:var(--than);margin-top:10px}
.so-o small{display:block;font-size:var(--c0);line-height:1.4;color:var(--xam);margin-top:6px}
.so-o.kn b{color:var(--thep)}.so-o.kn span{color:var(--thep)}

/* bảng kiểu bảng thống kê bản vẽ: kẻ ngang mảnh, đầu bảng 0,75 pt */
.bang th{font:500 var(--c0)/1.3 var(--fn);color:var(--xam);text-align:left;padding:0 12px 10px 0;border-bottom:1.5px solid var(--muc);vertical-align:bottom}
.bang td{font-size:var(--c1);line-height:1.45;padding:11px 12px 11px 0;border-bottom:1px solid var(--net2);vertical-align:top}
.bang td.so,.bang th.so{text-align:right;white-space:nowrap}
.bang tr.tong td{border-top:1.5px solid var(--muc);font-weight:600}
.cuon{overflow-x:auto;-webkit-overflow-scrolling:touch}
dl.tt-bang{display:grid;grid-template-columns:minmax(90px,34%) 1fr;margin:0;border-top:1px solid var(--muc)}
dl.tt-bang dt{font:500 var(--c0)/1.45 var(--fn);color:var(--xam);padding:11px 12px 11px 0;border-bottom:1px solid var(--net2)}
dl.tt-bang dd{margin:0;font-size:var(--c1);line-height:1.45;padding:11px 0;border-bottom:1px solid var(--net2)}

/* thẻ dự án */
.luoi-the{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,320px),1fr));gap:clamp(20px,2.4vw,36px)}
.the{display:flex;flex-direction:column;text-decoration:none;color:var(--muc)}
.the .hinh .k{aspect-ratio:3/2}
.the h3{font:600 var(--c4)/1.2 var(--ft);margin:14px 0 6px}
.the p{font-size:var(--c1);color:var(--xam);margin:0 0 10px}
.the:hover h3{color:var(--than)}
.the .tdv{margin-top:auto;align-self:flex-start}

/* danh sách gạch, liên kết mũi tên */
.ds-gach li{position:relative;padding:8px 0 8px 18px;border-bottom:1px solid var(--net2);font-size:var(--c1)}
.ds-gach li::before{content:"";position:absolute;left:0;top:17px;width:8px;height:1.5px;background:var(--dong)}
.lien{font:600 1rem/1.3 var(--ft);color:var(--than);text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:2px}
.lien:hover{color:var(--muc)}

/* chân trang – khung tên */
.ft{background:var(--giay);border-top:1px solid var(--muc);margin-top:0;padding:clamp(40px,5vw,72px) 0 calc(28px + env(safe-area-inset-bottom))}
.ft-dau{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:20px;padding-bottom:28px;border-bottom:1px solid var(--net)}
.ft-dau img{height:34px;width:auto}
.ft-cau{font:500 var(--c3)/1.35 var(--ft);margin:12px 0 0;max-width:40ch}
.ft-luoi{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:24px 32px;padding:28px 0}
.ft-luoi h2{font:600 var(--c1)/1.3 var(--ft);color:var(--than);margin-bottom:10px}
.ft-luoi p,.ft-luoi li{font-size:var(--c1);line-height:1.6;margin:0}
.ft-luoi a{color:var(--muc);text-decoration:none}.ft-luoi a:hover{text-decoration:underline}
.ft-day{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px;border-top:1px solid var(--net);padding-top:16px;font-size:var(--c0);color:var(--xam)}
.ft-day i{font:italic 500 var(--c1) var(--ft);color:var(--dong)}

/* liên hệ nhanh: nút nổi trên máy tính, thanh đáy trên điện thoại */
.lh-nhanh{position:fixed;right:18px;bottom:18px;z-index:60;display:flex;flex-direction:column;gap:8px}
.lh-nhanh a{width:48px;height:48px;display:grid;place-items:center;background:var(--muc);color:#fff;text-decoration:none;box-shadow:var(--bong2);font:600 .75rem/1 var(--ft)}
.lh-nhanh a:hover{background:var(--than)}
.lh-nhanh svg{width:22px;height:22px;fill:currentColor}.lh-nhanh span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
@media (max-width:700px){
 .lh-nhanh{left:0;right:0;bottom:0;flex-direction:row;gap:0;padding-bottom:env(safe-area-inset-bottom);background:var(--muc)}
 .lh-nhanh a{flex:1;width:auto;height:54px;box-shadow:none;border-left:1px solid rgba(255,255,255,.15);display:flex;gap:8px}
 .lh-nhanh span{position:static;width:auto;height:auto;clip:auto;font:500 .875rem/1 var(--fn)}
 body{padding-bottom:calc(54px + env(safe-area-inset-bottom))}
}

/* khối liên hệ cuối trang */
.cta{display:grid;grid-template-columns:1.2fr 1fr;gap:32px;align-items:end}
.cta h2{font:600 var(--c6)/1.04 var(--ft);color:#fff}
.cta p{color:#D9E1E9;font-size:var(--c3);max-width:52ch}
.cta-ds{display:grid;gap:0;border-top:1px solid rgba(255,255,255,.25)}
.cta-ds a{display:flex;justify-content:space-between;gap:16px;padding:16px 0;border-bottom:1px solid rgba(255,255,255,.25);color:#fff;text-decoration:none;font:500 var(--c4)/1.2 var(--ft)}
.cta-ds a small{font:500 var(--c0)/1.4 var(--fn);color:#AEBBC8;align-self:center}
.cta-ds a:hover{color:var(--dong-s)}
@media (max-width:900px){.cta{grid-template-columns:1fr}}

/* trang chủ (tc-) */
.tc-mo{padding:clamp(24px,4vw,64px) 0 clamp(32px,4vw,64px);border-bottom:1px solid var(--net2)}
.tc-mo-l{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(24px,3.5vw,56px);align-items:center}
.tc-mo-chu .tt{max-width:14ch}
.tc-gd{margin:clamp(18px,2.4vw,32px) 0 0;border-top:1px solid var(--muc)}
.tc-gd li{display:flex;gap:14px;padding:9px 0;border-bottom:1px solid var(--net2);font:500 var(--c2)/1.35 var(--ft);color:var(--muc)}
.tc-gd b{font:600 var(--c1)/1.35 var(--ft);color:var(--dong);min-width:22px}
.tc-nut{display:flex;flex-wrap:wrap;gap:12px;margin:clamp(20px,2.4vw,32px) 0 0}
@media (max-width:900px){.tc-mo-l{grid-template-columns:1fr}.tc-mo-chu .tt{max-width:none}}
/* ảnh nền tràn khung (Mr. Trình 09/11/2026): ảnh phủ cả phần mở đầu, chữ trắng trên lớp tối bên trái, dòng nguồn ở góc dưới phải */
.tc-nen{position:relative;isolation:isolate;min-height:min(88vh,860px);display:flex;align-items:center;padding:clamp(48px,7vw,112px) 0 clamp(64px,7vw,112px);border-bottom:0;color:#fff;overflow:hidden}
.tc-nen .tc-mo-anh{position:absolute;inset:0;margin:0;z-index:-1}
.tc-nen .tc-mo-anh .k{position:absolute;inset:0;aspect-ratio:auto!important;height:100%}
.tc-nen .tc-mo-anh img{width:100%;height:100%;object-fit:cover;object-position:60% 55%}
.tc-nen .tc-mo-anh::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(14,24,38,.86) 0%,rgba(14,24,38,.66) 38%,rgba(14,24,38,.18) 70%,rgba(14,24,38,0) 100%),linear-gradient(0deg,rgba(14,24,38,.55) 0%,rgba(14,24,38,0) 30%);pointer-events:none}
.tc-nen .tc-mo-anh figcaption{position:absolute;right:clamp(84px,7vw,112px);bottom:clamp(12px,1.6vw,22px);z-index:1;max-width:min(560px,70%);margin:0;text-align:right;color:rgba(255,255,255,.92);font-size:var(--c0);line-height:1.4;text-shadow:0 1px 3px rgba(0,0,0,.6)}
.tc-nen .tc-mo-anh figcaption .nguon{display:block;color:rgba(255,255,255,.78)}
.tc-nen .tc-mo-l{grid-template-columns:minmax(0,1fr);width:100%}
.tc-nen .tc-mo-chu{max-width:620px}
.tc-nen .tt{max-width:none;color:#fff}
.tc-nen .tt .tt-1{display:block}
.tc-nen .tt .tt-2{display:block;margin-top:.35em;font-size:.5em;line-height:1.2;font-weight:500;color:rgba(255,255,255,.9)}
.tc-nen .tc-gd{border-top-color:rgba(255,255,255,.7)}
.tc-nen .tc-gd li{color:#fff;border-bottom-color:rgba(255,255,255,.22)}
.tc-nen .tc-gd b{color:#e3c48f}
.tc-nen .nut{color:#fff;border-color:rgba(255,255,255,.85);background:transparent}
.tc-nen .nut.dac{background:#fff;color:var(--muc);border-color:#fff}
@media (max-width:700px){.tc-nen{min-height:0;align-items:flex-end;padding:clamp(140px,40vw,220px) 0 96px}
 .tc-nen .tc-mo-anh::after{background:linear-gradient(0deg,rgba(14,24,38,.92) 0%,rgba(14,24,38,.72) 55%,rgba(14,24,38,.25) 100%)}
 .tc-nen .tc-mo-anh figcaption{left:16px;right:16px;max-width:none;text-align:left}}
.tc-dau{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px 24px}
.tc-dau .muc-h{margin-bottom:clamp(14px,1.6vw,22px)}
.tc-ml{border-top:1px solid var(--muc);display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr));column-gap:clamp(24px,3vw,48px)}
.tc-ml a{display:grid;grid-template-columns:40px 1fr;gap:2px 12px;padding:14px 0;border-bottom:1px solid var(--net2);text-decoration:none;color:var(--muc)}
.tc-ml .so{grid-row:span 2;font:600 var(--c2)/1.3 var(--ft);color:var(--dong)}
.tc-ml b{font:600 var(--c4)/1.2 var(--ft)}.tc-ml .mo{font-size:var(--c1);color:var(--xam)}
.tc-ml a:hover b{color:var(--than)}
.tc-lv{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));gap:clamp(20px,2.4vw,36px) clamp(20px,3vw,44px)}
.tc-lv>div{border-top:1px solid var(--muc);padding-top:14px}
.tc-lv .h3{margin-bottom:8px}.tc-lv p{font-size:var(--c1);color:var(--muc);margin-bottom:10px}
.tc-cc{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr));gap:clamp(20px,3vw,44px)}
.tc-cc a{text-decoration:none;color:var(--muc)}.tc-cc .h3{margin:14px 0 6px}.tc-cc p{font-size:var(--c1);color:var(--xam)}
.tc-cc a:hover .h3{color:var(--than)}

/* ===== Nhóm A (08/11/2026): Dịch vụ (dv-), Dự án theo loại + trang dự án tiêu biểu (da-), BIM và GIS (bg-) =====
   Dùng lớp chung của 00_nen.css (.dau .tt .dan .doan .tdv .hinh .hang .the .luoi-the .bang .tt-bang .ds-gach .lien .muc .giay .dai-so .so-o .nhan-kn);
   ở đây chỉ lớp riêng có tiền tố. Ảnh: viền mảnh + bóng mềm của .hinh; hàng ảnh cùng mép (.hang); bảng kiểu bảng thống kê bản vẽ. */

/* ---------- trang dự án tiêu biểu ---------- */
.da-dau .tt{max-width:28ch}
.da-vt{font:500 var(--c3)/1.35 var(--ft);color:var(--xam);margin:.25em 0 16px}
.da-nhan{display:flex;flex-wrap:wrap;gap:10px 18px;align-items:center;margin-bottom:20px}
.da-nhan .nhan-kn{font-size:var(--c1)}
.da-tom{margin:0}
.da-than{padding-top:clamp(28px,3.6vw,56px)}
.da-luoi{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(20px,2.8vw,48px);align-items:start}
.da-luoi.da-mot{grid-template-columns:minmax(0,1fr);max-width:860px}
.da-chu .h5{margin-top:0}
.da-chu .h5~.h5{margin-top:1.4em}
.da-chu .ds-gach{margin-bottom:6px}
.da-bang{margin-top:20px}
.da-rong,.da-cum,.da-hang,.da-cd{margin-top:clamp(28px,3.4vw,52px)}
.da-cum .bang td:first-child{font-weight:500}
@media (max-width:900px){.da-luoi{grid-template-columns:minmax(0,1fr)}}
.da-cd{border-top:1px solid var(--muc);padding-top:22px}
.da-cd .muc-h{font-size:var(--c4);margin-bottom:12px}
.da-cd-o{max-width:860px;scroll-margin-top:calc(var(--hd) + 16px)}
.da-cd-o .h3{margin-bottom:.4em;color:var(--than)}
/* điều hướng dự án trước / sau */
.da-dh{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:16px 28px;align-items:center;
 padding-top:28px;padding-bottom:clamp(40px,5vw,72px);
 background:linear-gradient(var(--muc),var(--muc)) no-repeat center top/calc(100% - 2 * var(--le)) 1px}
.da-dh a:not(.lien){display:flex;flex-direction:column;gap:4px;text-decoration:none;color:var(--muc)}
.da-dh small{font:500 var(--c0)/1.3 var(--fn);color:var(--xam)}
.da-dh span{font:600 var(--c3)/1.25 var(--ft)}
.da-dh a:hover span{color:var(--than)}
.da-dh-sau{text-align:right}.da-dh-sau a{align-items:flex-end}
@media (max-width:700px){.da-dh{grid-template-columns:minmax(0,1fr)}.da-dh-sau{text-align:left}.da-dh-sau a{align-items:flex-start}.da-dh .lien{justify-self:start}}

/* thẻ dự án: nhãn kinh nghiệm, ô chưa có ảnh (nền thương hiệu + lưới giấy bản vẽ + tên loại) */
.da-the .nhan-kn{align-self:flex-start;margin:0 0 8px}
.da-trong{aspect-ratio:3/2;display:flex;align-items:flex-end;padding:18px 20px;outline:1px solid var(--vien);box-shadow:var(--bong);
 background-color:var(--muc2);background-image:linear-gradient(rgba(255,255,255,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.07) 1px,transparent 1px);
 background-size:28px 28px}
.da-trong span{font:600 var(--c3)/1.2 var(--ft);color:#fff;border-left:3px solid var(--dong-s);padding-left:10px}

/* /du-an/: bảng theo loại | ảnh lớn; chương theo loại */
.da-mo{align-items:start}
.da-loai td a{color:var(--muc);text-decoration:none;font-weight:500}
.da-loai td a:hover{color:var(--than);text-decoration:underline}
.da-loai td,.da-loai tfoot td{font-size:var(--c2)}
.da-ds{margin:20px 0 0}
.da-chuong-dau{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:6px 24px;border-top:1px solid var(--muc);padding-top:16px;margin-bottom:12px}
.da-chuong-dau .muc-h{margin:0}
.da-dem{font:500 var(--c1)/1.2 var(--fn);color:var(--xam);white-space:nowrap}
.da-dem b{font:600 var(--c4)/1 var(--ft);color:var(--muc);margin-right:4px}
.da-chuong .dan{margin-bottom:clamp(22px,2.6vw,36px)}
.da-chuong{scroll-margin-top:var(--hd)}

/* ---------- /dich-vu/ ---------- */
.dv-mo{align-items:start}
.dv-ds{border-top:1px solid var(--muc)}
.dv-ds li a{display:grid;grid-template-columns:56px minmax(0,1fr) auto;gap:4px 24px;align-items:baseline;padding:20px 0;border-bottom:1px solid var(--net2);
 text-decoration:none;color:var(--muc)}
.dv-so{font:600 var(--c4)/1 var(--ft);color:var(--dong);font-feature-settings:"tnum"}
.dv-ds h2{font:600 var(--c4)/1.2 var(--ft)}
.dv-ds p{grid-column:2/-1;margin:2px 0 0;color:var(--xam);font-size:var(--c1);max-width:86ch}
.dv-dem{grid-column:3;grid-row:1;font:500 var(--c1)/1.2 var(--fn);color:var(--xam);white-space:nowrap;text-align:right}
.dv-dem b{font:600 var(--c4)/1 var(--ft);color:var(--muc);margin-right:4px}
.dv-dem small{display:block;font-size:var(--c0);margin-top:4px}
.dv-ds a:hover h2{color:var(--than)}
@media (max-width:700px){.dv-ds li a{grid-template-columns:40px minmax(0,1fr)}.dv-dem{grid-column:2;grid-row:auto;text-align:left}.dv-dem small{display:inline;margin-left:6px}}
.dv-mo-anh{position:sticky;top:calc(var(--hd) + 24px)}
@media (max-width:900px){.dv-mo-anh{position:static}}
/* lĩnh vực chuyên môn */
.dv-lv{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,360px),1fr));gap:0 clamp(20px,2.6vw,44px);border-top:1px solid var(--muc)}
.dv-lv-o{padding:20px 0 22px;border-bottom:1px solid var(--net2)}
.dv-lv-o h3{font:600 var(--c4)/1.2 var(--ft);margin-bottom:8px}
.dv-lv-o p{font-size:var(--c1);margin:0 0 10px}
.dv-mc{font:400 var(--c0)/1.6 var(--fn);color:var(--xam);margin:0}
.dv-mc a{color:var(--than)}
.dv-mc .nhan-kn{font-size:var(--c0);padding-left:6px;margin-left:2px;border-left-width:2px}
/* ý tưởng và so sánh phương án */
.dv-yt-luoi{align-items:start}
.dv-yt .ds-gach{margin:6px 0 18px}
.dv-yt-anh{display:grid;gap:clamp(22px,2.6vw,36px)}

/* ---------- trang dịch vụ ---------- */
.dv-dau .tdv{margin:6px 0 18px}
.dv-than{align-items:start}
.dv-than .h5{margin-top:0}
.dv-than .h5~.h5{margin-top:1.6em}
.dv-buoc td:first-child{font-weight:500;width:36%}
.dv-cd li b{font-weight:600;color:var(--muc)}
.dv-cd li a{white-space:nowrap}
.dv-lk{margin:4px 0 0}
.dv-anh .da-hang+.da-hang{margin-top:clamp(20px,2.6vw,40px)}
.dv-khac{margin-top:clamp(26px,3vw,44px)}
.dv-khac h3{margin-bottom:10px}
.dv-khac ul{border-top:1px solid var(--net)}
.dv-khac li{display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding:9px 0;border-bottom:1px solid var(--net2);font-size:var(--c1);break-inside:avoid}
.dv-khac-ten{min-width:0}
.dv-khac-nam{color:var(--xam);white-space:nowrap;font-feature-settings:"tnum"}
.dv-khac .nhan-kn{font-size:var(--c0);margin-left:6px}
@media (min-width:901px){.dv-khac ul{columns:2;column-gap:44px}}
.dv-xem{margin:22px 0 0}

/* ---------- BIM và GIS ---------- */
.bg-dau-l{align-items:start}
.bg-dau .tdv{margin:4px 0 20px}
.bg-td{font:500 var(--c3)/1.5 var(--ft);color:var(--muc);max-width:62ch;border-left:3px solid var(--dong);padding-left:18px;margin:0 0 16px;text-wrap:pretty}
.bg-mt{font-size:var(--c1);color:var(--xam);max-width:68ch}
.bg-so{margin-top:clamp(26px,3vw,44px)}
.bg-so .so-o span{font-size:var(--c1)}
.bg-muc{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(20px,2.8vw,48px);align-items:center;padding:clamp(26px,3vw,48px) 0;
 border-top:1px solid var(--net2)}
.bg-muc:first-of-type{border-top:1px solid var(--muc)}
.bg-muc.dao{grid-template-columns:minmax(0,5fr) minmax(0,7fr)}
.bg-muc.dao .bg-anh{order:2}
.bg-dau .so-o{border-bottom:0}
.bg-dau{padding-bottom:clamp(8px,1.2vw,16px)}
/* điện thoại: đoạn căn đều hai bên làm giãn chữ quá rộng ở cột hẹp → căn trái (chỉ trang nhóm A) */
@media (max-width:560px){.dv-dau .doan,.da-dau .doan,.bg-dau .doan,.dv-than .doan,.da-than .doan,.dv-lv .doan,.dv-yt .doan,.bg-muc .doan,.bg-gis .doan,
 .da-chuong .doan,.dv-dau-tong .doan,.da-dau-tong .doan{text-align:left}}
.bg-muc h3{font:600 var(--c5)/1.15 var(--ft);margin-bottom:10px}
.bg-muc h3 a{color:inherit;text-decoration:none}.bg-muc h3 a:hover{color:var(--than)}
.bg-muc .tdv{margin-bottom:14px}
.bg-muc .phu{font:500 var(--c1)/1.4 var(--fn);color:var(--xam);margin:0 0 12px}
.bg-muc .doan{font-size:var(--c1)}
@media (max-width:900px){.bg-muc{grid-template-columns:minmax(0,1fr)}.bg-muc.dao .bg-anh{order:0}}
.bg-gis{align-items:start}
.bg-gis .dan{margin-bottom:20px}
.bg-ds-h{margin:0 0 8px}
.bg-ds{border-top:1px solid var(--net)}
.bg-ds li{display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding:8px 0;border-bottom:1px solid var(--net2);font-size:var(--c1);break-inside:avoid}
.bg-ds-ten{min-width:0}
.bg-ds-nam{color:var(--xam);white-space:nowrap;font-feature-settings:"tnum"}
@media (min-width:1101px){.bg-ds.hai{columns:2;column-gap:40px}}
.bg-bang{table-layout:fixed;min-width:720px}
.bg-bang th:nth-child(1),.bg-bang td:nth-child(1){width:38%}
.bg-bang th:nth-child(2),.bg-bang td:nth-child(2){width:8%}
.bg-bang th:nth-child(3),.bg-bang td:nth-child(3){width:26%}
.bg-bang td:first-child{font-weight:500}
.bg-bang td a{color:var(--muc)}.bg-bang td a:hover{color:var(--than)}
.bg-bang tr.kn td{color:var(--thep)}
.bg-kn-h{margin:clamp(22px,2.6vw,34px) 0 0}
.bg-kn{border-top:1.5px solid var(--thep)}

/* nhóm trang công ty (sp-) */
.sp-nb td{font-size:var(--c1)}.sp-nb td.so{width:64px;font:600 var(--c2)/1.3 var(--ft);color:var(--dong)}.sp-nb b{font:600 var(--c2)/1.3 var(--ft);color:var(--muc)}
.sp-bd-k{margin:20px 0 0;max-width:980px}
.sp-bd{width:100%;height:auto;display:block}
.sp-bd text{font-family:var(--fn);text-anchor:middle}.sp-bd .so{font-size:13px;font-weight:600;fill:var(--muc)}.sp-bd .nam{font-size:12px;fill:var(--xam)}
.sp-bd .kn{font-size:11px;fill:#4489A6}.sp-bd .den{font-size:11px;fill:var(--xam)}
.sp-cg{display:flex;flex-wrap:wrap;gap:8px 24px;margin-top:10px;font-size:var(--c0);color:var(--xam)}
.sp-cg i{display:inline-block;width:14px;height:10px;margin-right:8px;vertical-align:-1px}.sp-cg .c1{background:#245381}.sp-cg .c2{background:#4489A6}
.sp-moc{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr));gap:24px;margin-top:clamp(28px,3vw,44px);border-top:1px solid var(--muc);padding-top:18px}
.sp-moc b{display:block;font:600 var(--c5)/1 var(--ft);color:var(--dong);margin-bottom:8px}.sp-moc h3{font:600 var(--c2)/1.3 var(--ft);margin-bottom:6px}
.sp-moc p{font-size:var(--c1);color:var(--xam);margin:0}
.sp-ld{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,220px),1fr));gap:28px 24px}
.sp-ld.nho4{grid-template-columns:repeat(auto-fill,minmax(min(100%,180px),1fr))}
.sp-ld li{display:flex;flex-direction:column}.sp-ld b{font:600 var(--c4)/1.2 var(--ft);margin-top:12px}.sp-ld span:not(.sp-cd){font-size:var(--c1);color:var(--xam)}
.sp-cd{display:block;aspect-ratio:4/5;background:linear-gradient(#E9EBED,#DADDE0);overflow:hidden}
.sp-cd img{width:100%;height:100%;object-fit:cover;object-position:top;filter:grayscale(1);transition:filter .3s}
.sp-ld li:hover .sp-cd img{filter:none}
.sp-cd.tat{display:grid;place-items:center;font:600 var(--c5)/1 var(--ft);color:var(--dong)}
.sp-lg{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,180px),1fr));gap:1px;background:var(--net2);border:1px solid var(--net2)}
.sp-lg.lon{grid-template-columns:repeat(auto-fill,minmax(min(100%,260px),1fr))}
.sp-lg li{background:#fff;display:grid;place-items:center;padding:22px;min-height:120px}.sp-lg.lon li{min-height:160px}
.sp-lg img{max-height:64px;width:auto;max-width:100%;object-fit:contain}.sp-lg.lon img{max-height:88px}
.sp-hd{max-width:900px;border-top:1px solid var(--muc)}
.sp-hd details{border-bottom:1px solid var(--net2);padding:4px 0}
.sp-hd summary{cursor:pointer;list-style:none;padding:14px 0}.sp-hd summary::-webkit-details-marker{display:none}
.sp-hd summary h2{display:inline;font:600 var(--c4)/1.3 var(--ft)}
.sp-hd summary::before{content:"+";display:inline-block;width:24px;color:var(--dong);font:600 var(--c4)/1 var(--ft)}
.sp-hd details[open] summary::before{content:"–"}
.sp-hd p{padding:0 0 12px 24px;margin:0}
.sp-lh-nut{display:flex;flex-wrap:wrap;gap:12px;align-content:flex-start}
.sp-dn li{display:flex;flex-direction:column;padding:14px 0;border-bottom:1px solid var(--net2)}.sp-dn b{font:600 var(--c4)/1.3 var(--ft)}.sp-dn span{color:var(--xam)}

/* Kinh nghiệm tại Mỹ (my-), danh sách dự án (dsa-), hồ sơ năng lực (hs-) */
.my-bd-k{margin:0;max-width:980px}.my-bd{width:100%;height:auto;display:block}.my-bd .bang{font:600 15px var(--ft);fill:var(--than);text-anchor:middle}
.my-ds{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,340px),1fr));gap:clamp(28px,3vw,44px) clamp(20px,2.4vw,36px);align-items:start}
.my-o .h3{margin:14px 0 4px}.my-o .tt-bang{margin-top:12px}
.dsa-loc{display:flex;flex-wrap:wrap;gap:10px 18px;align-items:end;margin-bottom:18px}
.dsa-loc label{display:flex;flex-direction:column;gap:4px;font:500 var(--c0)/1.3 var(--fn);color:var(--xam)}
.dsa-loc select,.dsa-loc input{font:400 var(--c1)/1.2 var(--fn);color:var(--muc);border:1px solid var(--net);padding:9px 10px;background:#fff;min-width:160px;max-width:100%}
.dsa-dem{font:500 var(--c1) var(--fn);color:var(--xam)}
.dsa td.nam{font:600 var(--c2)/1.3 var(--ft);color:var(--dong);white-space:nowrap}
.dsa td b{font-weight:600}.dsa td small{display:block;color:var(--xam);font-size:var(--c0)}
.dsa tr.tb td:first-child{box-shadow:inset 3px 0 0 var(--dong)}
.dsa tr.kn td{background:#F1F5F8}
.dsa .tdv{font-size:.72rem}.dsa .tdv span{padding:5px 6px;gap:5px}
@media (max-width:760px){.dsa thead{display:none}.dsa tr{display:grid;grid-template-columns:60px 1fr;border-bottom:1px solid var(--net2);padding:10px 0}
 .dsa td{border:0;padding:2px 8px 2px 0}.dsa td.nam{grid-row:span 4}.dsa td.an-dt{display:none}}
.hs-dau{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:end;gap:16px}
.hs-khung{position:relative;margin-top:20px;background:var(--giay);border:1px solid var(--net2);padding:clamp(8px,1.6vw,24px);touch-action:pan-y}
.hs-khung.toan{position:fixed;inset:0;z-index:200;margin:0;border:0;padding:56px 12px 12px;background:#2B2A2F}
.hs-sach{margin:0 auto;max-width:100%}
.hs-sach .hs-t{background:#fff}.hs-sach .hs-t img{width:100%;height:100%;object-fit:contain;display:block}
.hs-cu{display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:space-between;margin-top:12px;font:500 var(--c1)/1 var(--fn)}
.hs-khung.toan .hs-cu{position:absolute;top:8px;left:12px;right:12px;margin:0;color:#fff}
.hs-cu button,.hs-cu a{font:600 .9375rem/1 var(--ft);border:1px solid var(--net);background:#fff;color:var(--muc);padding:9px 12px;cursor:pointer;text-decoration:none;min-height:40px}
.hs-cu button:hover{background:var(--muc);color:#fff}
.hs-cu .so{min-width:84px;text-align:center}
.hs-nhom{display:flex;gap:6px;align-items:center;flex-wrap:wrap}
.hs-ml{margin-top:18px;columns:2 320px;column-gap:32px}.hs-ml li{break-inside:avoid;border-bottom:1px solid var(--net2)}
.hs-ml a{display:flex;justify-content:space-between;gap:12px;padding:8px 0;text-decoration:none;color:var(--muc);font-size:var(--c1)}.hs-ml a span{color:var(--xam)}
.hs-ml li.c2 a{padding-left:16px;color:var(--xam)}
.hs-tn{display:flex;gap:8px;overflow-x:auto;padding:12px 0 4px;scrollbar-width:thin}
.hs-tn button{flex:none;border:2px solid transparent;padding:0;background:none;cursor:pointer}.hs-tn button[aria-current="true"]{border-color:var(--dong)}
.hs-tn img{height:84px;width:auto}
.hs-tinh{display:grid;gap:16px}
.hs-tinh img{width:100%;height:auto;border:1px solid var(--net2)}
.hs-chu{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.hs-zoom{position:fixed;inset:0;z-index:300;background:rgba(15,34,54,.94);display:flex;flex-direction:column}
.hs-zoom[hidden]{display:none}
.hs-zoom-cu{display:flex;gap:8px;justify-content:flex-end;padding:10px 12px}
.hs-zoom-cu button{font:600 .9375rem/1 var(--ft);border:1px solid #fff;background:transparent;color:#fff;padding:10px 14px;cursor:pointer;min-height:40px}
.hs-zoom-k{flex:1;overflow:auto;-webkit-overflow-scrolling:touch}.hs-zoom-k img{max-width:none;display:block;background:#fff}
#hs-ml{scroll-margin-top:calc(var(--hd) + 12px)}
.hs-tinh img{scroll-margin-top:calc(var(--hd) + 12px)}

/* SEAPE BIM Check – quy tắc lớp v-ki-* chuyển từ bộ cũ (web_tpl/v2.css); biến cũ ánh xạ sang hệ nhận diện mới */
.v-ki,.v-ki *{--f-nd:var(--fn);--f-so:var(--ft);--f-td:var(--ft);--xanh:#245381;--troi:#86683C;--kinh:rgba(255,255,255,.6);--kinh-vien:rgba(15,34,54,.14);--mo:none}
.v-ki{max-width:var(--rong);margin:0 auto;padding:clamp(24px,3vw,48px) var(--le) clamp(48px,6vw,96px)}
.v-ki h1{font:600 var(--c6)/1.04 var(--ft)}
.v-nhan{display:flex;align-items:center;gap:12px;font:500 13px/1.3 var(--f-nd);color:var(--xam);margin:0 0 20px}
.v-nhan::before{content:"";width:28px;height:1px;background:currentColor}
.v-dau2 .v-nhan{grid-column:1/4;margin-top:.9em}
.v-dau2 .v-nhan,.v-dau2 h2{grid-column:1/-1}
.v-dau2 .v-nhan{margin-top:0}
.v-tb>.v-nhan{grid-column:1/4;margin-top:.7em}
.v-tb>.v-nhan,.v-tb-cau{grid-column:1/-1}
.v-dm .v-nhan{color:#8FA3B5}
.v-so-hoa .v-nhan{color:#8FA3B5}
.v-kinh,.v-da-nd,.v-so>div,.v-vd-o{background:var(--kinh);-webkit-backdrop-filter:var(--mo);backdrop-filter:var(--mo);border:1px solid var(--kinh-vien);box-shadow:var(--bong)}
.v-kinh,.v-da-nd,.v-so>div,.v-vd-o{background:rgba(250,249,246,.9)}
.v-ns-dau .v-nhan{margin:0}
.v-tc-nd .v-nhan{margin:0}
.v-dau2 .v-nhan{color:var(--dong)}
/* ===== công cụ kiểm tra IFC (/kiem-tra-ifc/) ===== */
.v2 main>.v-ki{padding-top:clamp(56px,7vw,104px);max-width:1180px;margin:0 auto}
.v-ki-dau{display:grid;gap:18px;max-width:62ch}
.v-ki h1{font:300 clamp(34px,4.6vw,64px)/1.06 var(--f-td);letter-spacing:-.03em;margin:0}
.v-ki h1 em.td-em{display:block}
.v-ki-p{font:400 16px/1.65 var(--f-nd);color:#1E2730;margin:0}
.v-ki-bm{font:400 14px/1.6 var(--f-nd);color:var(--xam);margin:0;padding:12px 16px;border-left:3px solid var(--troi);background:var(--kinh)}
.v-ki-tha{display:grid;place-items:center;gap:8px;text-align:center;margin-top:40px;padding:clamp(40px,6vw,72px) 24px;cursor:pointer;
  border:1.5px dashed rgba(30,39,48,.35);background:var(--kinh);-webkit-backdrop-filter:var(--mo);backdrop-filter:var(--mo);transition:border-color .3s,background .3s}
.v-ki-tha:hover,.v-ki-tha.keo{border-color:var(--troi);background:rgba(255,255,255,.7)}
.v-ki-tha .h{font:400 clamp(22px,2.2vw,30px)/1.2 var(--f-td);letter-spacing:-.02em}
.v-ki-tha .p{font:400 13.5px/1.5 var(--f-nd);color:var(--xam)}
.v-ki-tha.dang{pointer-events:none;opacity:.6}
.v-ki-tt{min-height:1.6em;margin:14px 0 0;font:400 14px/1.5 var(--f-nd);color:var(--xanh)}
.v-ki-tt[data-giay]:not(:empty)::after{content:" · " attr(data-giay);color:var(--xam2)}
.v-ki-tt.loi{color:#9B3D2E}
.v-ki-kq{margin-top:40px}
.v-ki-tom .tep{font:400 14px/1.5 var(--f-nd);color:var(--xam);margin:0 0 14px}
.v-ki-tom .chip{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.v-ki-tom .chip li{padding:14px 16px;background:var(--kinh);border:1px solid var(--kinh-vien);font:400 13px var(--f-nd);color:var(--xam)}
.v-ki-tom .chip b{display:block;font:300 clamp(30px,3vw,44px)/1 var(--f-td);color:#1E2730;margin-bottom:6px}
.v-ki-tom .chip .canh_bao b{color:#9A6B1E}
.v-ki-tom .chip .loi b{color:#9B3D2E}
.v-ki-tom .chip .dat b{color:var(--xanh)}
.v-ki-h2{display:flex;align-items:baseline;gap:12px;font:400 clamp(20px,1.8vw,26px)/1.2 var(--f-td);letter-spacing:-.02em;margin:40px 0 12px;
  padding-bottom:10px;border-bottom:1px solid var(--net)}
.v-ki-h2 span{font:400 12px var(--f-so);color:var(--dong)}
.v-ki-h2 small{margin-left:auto;font:400 12px var(--f-nd);color:var(--xam2)}
.v-ki-nhom ul{list-style:none;margin:0;padding:0}
.v-ki-nhom>ul>li{display:grid;grid-template-columns:28px minmax(0,1fr);gap:10px;padding:10px 0;border-bottom:1px solid var(--net)}
.v-ki-nhom>ul>li>i{font-style:normal;font-size:16px;line-height:1.5}
.v-ki-nhom .dat>i{color:var(--xanh)}
.v-ki-nhom .canh_bao>i{color:#9A6B1E}
.v-ki-nhom .loi>i{color:#9B3D2E}
.v-ki-nhom .thong_tin>i{color:var(--xam2)}
.v-ki-nhom b{display:block;font:500 14.5px/1.4 var(--f-nd)}
.v-ki-nhom span{display:block;font:400 14px/1.55 var(--f-nd);color:var(--xam);overflow-wrap:anywhere}
.v-ki-nhom details{margin-top:6px;font:400 12.5px/1.5 var(--f-so);color:var(--xam)}
.v-ki-nhom summary{cursor:pointer;color:var(--xanh)}
.v-ki-nhom details ol{margin:6px 0 0;padding-left:22px;max-height:240px;overflow:auto}
.v-ki-bang{width:100%;border-collapse:collapse;font:400 14px/1.5 var(--f-nd)}
.v-ki-bang th{text-align:left;font:500 12px var(--f-nd);color:var(--xam);border-bottom:1px solid var(--net);padding:8px 6px}
.v-ki-bang td{padding:7px 6px;border-bottom:1px solid var(--net)}
.v-ki-bang td:nth-child(n+2),.v-ki-bang th:nth-child(n+2){text-align:right;font-family:var(--f-so);font-size:13px}
.v-ki-tai{display:flex;gap:12px;flex-wrap:wrap;margin:24px 0 0}
.v-ki-tai button{cursor:pointer;background:transparent;color:inherit}
.v-ki-luu{margin-top:56px;padding-top:20px;border-top:1px solid var(--net);font:400 13.5px/1.65 var(--f-nd);color:var(--xam);display:grid;gap:10px}
.v-ki-luu p{margin:0}
.v-ki-tom .chip{grid-template-columns:repeat(2,minmax(0,1fr))}
.v-ki-h2 small{display:none}
.v-ki-vc{margin-top:40px;padding:24px clamp(18px,2.4vw,32px);background:var(--kinh);border:1px solid var(--kinh-vien);border-left:3px solid var(--troi)}
.v-ki-vc h2{font:400 clamp(20px,1.8vw,26px)/1.2 var(--f-td);letter-spacing:-.02em;margin:0 0 8px}
.v-ki-vc p{margin:0;font:400 14.5px/1.6 var(--f-nd);color:#1E2730}
.v-ki-vc .nut{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}
.v-ki-vc .nut a{font-size:13.5px}
/* chọn giai đoạn (ô tick) – 22/10/2026 */
.v-ki-gd{margin:40px 0 0;padding:0;border:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.v-ki-gd legend{padding:0;margin-bottom:10px;font:500 13px var(--f-nd);color:var(--xam)}
.v-ki-gd label{display:grid;grid-template-columns:22px minmax(0,1fr);gap:10px;align-items:start;padding:14px 16px;cursor:pointer;
  background:var(--kinh);border:1px solid var(--kinh-vien);transition:border-color .2s,background .2s}
.v-ki-gd label:has(input:checked){border-color:var(--troi);background:rgba(255,255,255,.75);box-shadow:inset 3px 0 0 var(--troi)}
.v-ki-gd input{width:18px;height:18px;margin:2px 0 0;accent-color:var(--xanh)}
.v-ki-gd b{display:block;font:500 15px/1.35 var(--f-nd);color:#1E2730}
.v-ki-gd small{display:block;margin-top:3px;font:400 13px/1.5 var(--f-nd);color:var(--xam)}
.v-ki-gd+.v-ki-tha{margin-top:12px}
.v-ki-gd{grid-template-columns:minmax(0,1fr)}
/* đánh giá chung, hình tổng thể, mức độ nhu cầu thông tin, căn cứ */
.v-ki-dg{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 16px;margin:0 0 14px;padding:14px 18px;background:var(--kinh);
  border:1px solid var(--kinh-vien);border-left:4px solid var(--xanh)}
.v-ki-dg span{font:400 13px var(--f-nd);color:var(--xam)}
.v-ki-dg b{font:500 16px/1.4 var(--f-nd);color:#1E2730}
.v-ki-dg.canh_bao{border-left-color:#C9902E}
.v-ki-dg.loi{border-left-color:#9B3D2E}
.v-ki-dg.loi b{color:#9B3D2E}
.v-ki-hinh{margin:28px 0 0}
.v-ki-hinh img{display:block;width:100%;height:auto;border:1px solid var(--net);background:#fff}
.v-ki-hinh figcaption{margin-top:8px;font:400 13px/1.5 var(--f-nd);color:var(--xam)}
.v-ki-md ul{margin:0;padding-left:20px;font:400 14.5px/1.65 var(--f-nd);color:#1E2730}
.v-ki-md-chu{margin:10px 0 0;font:400 13px/1.6 var(--f-nd);color:var(--xam)}
.v-ki-cc{width:100%;border-collapse:collapse;font:400 13.5px/1.5 var(--f-nd)}
.v-ki-cc th{text-align:left;font:500 12px var(--f-nd);color:var(--xam);border-bottom:1px solid var(--net);padding:8px 8px 8px 0}
.v-ki-cc td{padding:8px 8px 8px 0;border-bottom:1px solid var(--net);vertical-align:top}
.v-ki-cc{table-layout:fixed}
.v-ki-cc th:first-child{width:26%}
.v-ki-cc th:nth-child(2){width:20%}
.v-ki-cc td:first-child{font-weight:500}
.v-ki-cc td:nth-child(2){color:var(--xam)}
.v-ki-in-dau,.v-ki-in-chan{display:none}
@media print{
  @page{size:A4;margin:14mm 14mm 16mm}
  html,body.v2{background:#fff!important}
  body.v2::before,.v-hd,.v-ft,.w-lh,.v-ki-dau,.v-ki-gd,.v-ki-tha,.v-ki-tt,.v-ki-tai,.v-ki-vc .nut,.an{display:none!important}
  .v-ki-dg{padding:6px 10px;margin:0 0 8px;background:#fff}.v-ki-dg b{font-size:11pt}.v-ki-dg span{font-size:9pt}
  .v-ki-hinh{margin:10px 0 0;break-inside:avoid}.v-ki-hinh figcaption{font-size:8.5pt}
  .v-ki-md ul{font-size:9.5pt}.v-ki-md-chu{font-size:8.5pt}
  .v-ki-cc{font-size:8.5pt;break-inside:auto}.v-ki-cc tr{break-inside:avoid}.v-ki-cc td,.v-ki-cc th{padding:3px 6px 3px 0}
  .v2 main>.v-ki{padding:0!important;max-width:none}
  .v2 *{-webkit-backdrop-filter:none!important;backdrop-filter:none!important;box-shadow:none!important}
  .v-ki-kq{margin:0}
  .v-ki-in-dau{display:block;border-bottom:2px solid #245381;padding-bottom:10px;margin-bottom:14px}
  .v-ki-in-dau img{height:24px;width:auto}
  .v-ki-in-dau .ten{font:600 18pt/1.2 var(--f-td);color:#245381;margin:10px 0 2px}
  .v-ki-in-dau .cc{font:400 9.5pt var(--f-nd);color:#5C6670;margin:0 0 8px}
  .v-ki-in-dau table{border-collapse:collapse;font:400 9.5pt/1.4 var(--f-nd)}
  .v-ki-in-dau th{text-align:left;font-weight:500;color:#5C6670;padding:1px 14px 1px 0;white-space:nowrap}
  .v-ki-tom .tep{display:none}
  .v-ki-tom .chip li{padding:6px 10px;background:#fff}
  .v-ki-tom .chip b{font-size:20pt}
  .v-ki-h2{margin:16px 0 6px;font-size:13pt;break-after:avoid}
  .v-ki-nhom>ul>li{padding:5px 0;break-inside:avoid}
  .v-ki-nhom b,.v-ki-nhom span{font-size:9.5pt}
  .v-ki-nhom details ol{max-height:none;overflow:visible;font-size:8pt}
  .v-ki-nhom summary{list-style:none;color:#5C6670}
  .v-ki-vc{margin-top:14px;padding:10px 14px;background:#fff;break-inside:avoid}
  .v-ki-vc h2{font-size:12pt}.v-ki-vc p{font-size:9.5pt}
  .v-ki-vc::after{content:"Liên hệ SEAPE: 0985 264 826 · Zalo 0985 264 826 · trinhle@seapevn.com";display:block;margin-top:6px;font:500 9.5pt var(--f-nd);color:#245381}
  .v-ki-bang{font-size:9pt}.v-ki-bang td,.v-ki-bang th{padding:3px 6px}
  .v-ki-luu{margin-top:14px;font-size:8.5pt}
  .v-ki-in-chan{display:block;margin-top:10px;font:400 8pt var(--f-nd);color:#8E959C}
  a{color:inherit;text-decoration:none}
}
