/* ================================================================
   VIETTOP CONSTRUCTION — Main CSS v2.1.0
   Bảng màu thương hiệu (brand guide): Xanh #093826 (chủ đạo) + Đỏ #DD000B (nhấn) + Trắng.
   Font nhận diện: Arial.
================================================================ */

/* ── TOKENS ── */
:root {
  /* Bảng màu thương hiệu (brand guide): Xanh #093826 chủ đạo + Đỏ #DD000B nhấn */
  --vt-red:#DD000B; --vt-red-d:#B00009; --vt-red-l:#FCE6E7;
  --vt-accent:var(--vt-red);
  /* alias: rule cũ dùng --vt-gold vẫn ra màu đỏ thương hiệu */
  --vt-gold:var(--vt-red); --vt-gold-light:var(--vt-red-d);

  /* --vt-ch = xanh đậm (nền tối hero/CTA); --vt-ink = than chì cho CHỮ; --vt-steel phụ */
  --vt-ch:#093826; --vt-ink:#1F2937; --vt-steel:#004C40; --vt-mid:#5D6D7E;
  --vt-bd:#E0E3E7; --vt-off:#FAFAFA;

  /* Font nhận diện (brand guide): Arial */
  --vt-serif: 'Arial', Helvetica, 'Segoe UI', sans-serif;
  --vt-sans:  'Arial', Helvetica, 'Segoe UI', sans-serif;
}

/* ── RESET ── */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;font-size:16px;}
body{font-family:var(--vt-sans);color:var(--vt-ch);background:#fff;-webkit-font-smoothing:antialiased;overflow-x:hidden;line-height:1.7;}
img{max-width:100%;display:block;} a{text-decoration:none;color:inherit;} ul{list-style:none;}

/* ── LAYOUT ── */
.vt-container{max-width:1120px;margin:0 auto;padding:0 48px;}
.vt-sec{padding:96px 0;} .vt-sec-alt{padding:96px 0;background:var(--vt-off);}
.vt-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:start;}
.vt-grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.vt-grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;}

/* ── TYPOGRAPHY ── */
.vt-label{font-family:var(--vt-sans);font-size:10px;font-weight:700;letter-spacing:3.5px;text-transform:uppercase;color:var(--vt-red);}
.vt-h2{font-family:var(--vt-serif);font-size:clamp(32px,4vw,50px);font-weight:300;line-height:1.12;color:var(--vt-ch);}
.vt-lead{font-family:var(--vt-serif);font-size:21px;font-weight:300;color:var(--vt-steel);line-height:1.55;}
.vt-body{font-size:15px;color:var(--vt-mid);line-height:1.85;font-weight:300;}
.vt-divider{width:44px;height:2px;background:var(--vt-red);margin:12px 0 28px;}
.vt-divider-c{width:44px;height:2px;background:var(--vt-red);margin:12px auto 28px;}
.vt-divider-w{width:44px;height:2px;background:rgba(255,255,255,.4);margin:12px 0 28px;}

/* ── BUTTONS ── */
.vt-btn-primary{display:inline-flex;align-items:center;gap:8px;background:var(--vt-red);color:#fff;font-family:var(--vt-sans);font-size:11px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;padding:13px 26px;border-radius:3px;border:none;cursor:pointer;transition:background .2s,transform .15s;}
.vt-btn-primary:hover{background:var(--vt-red-d);transform:translateY(-1px);}
.vt-btn-ghost{display:inline-flex;align-items:center;gap:8px;background:transparent;color:rgba(255,255,255,.85);font-family:var(--vt-sans);font-size:11px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;padding:12px 26px;border-radius:3px;border:1px solid rgba(255,255,255,.4);cursor:pointer;transition:all .2s;}
.vt-btn-ghost:hover{background:rgba(255,255,255,.12);}
.vt-btn-outline{display:inline-flex;align-items:center;gap:8px;background:transparent;color:var(--vt-red);font-family:var(--vt-sans);font-size:11px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;padding:12px 26px;border-radius:3px;border:1.5px solid var(--vt-red);cursor:pointer;transition:all .2s;}
.vt-btn-outline:hover{background:var(--vt-red);color:#fff;}

/* ── NAVIGATION ── */
#vt-nav{position:fixed;top:0;left:0;right:0;z-index:999;background:rgba(9,56,38,.97);backdrop-filter:blur(12px);border-bottom:1px solid rgba(255,255,255,.08);transition:all .35s;}
#vt-nav.vt-nav-light{background:rgba(255,255,255,.97);border-bottom-color:var(--vt-bd);}
/* Header rộng hơn: nới khung nav để logo + menu có thêm chỗ (chỉ áp dụng cho thanh nav, không đụng container nội dung) */
#vt-nav .vt-container{max-width:1320px;}
.vt-nav-inner{display:flex;align-items:center;height:72px;}
.vt-nav-logo{font-family:var(--vt-serif);font-size:22px;font-weight:400;color:#fff;letter-spacing:2px;margin-right:auto;cursor:pointer;}
.vt-nav-logo span{color:var(--vt-red);}
#vt-nav.vt-nav-light .vt-nav-logo{color:var(--vt-ch);}
.vt-nav-menu{display:flex;gap:2px;}
.vt-nav-link{font-family:var(--vt-sans);font-size:11px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:rgba(255,255,255,.52);padding:8px 11px;border-radius:3px;cursor:pointer;transition:all .2s;white-space:nowrap;}
.vt-nav-link:hover,.vt-nav-link.vt-active{color:#fff;background:rgba(255,255,255,.08);}
#vt-nav.vt-nav-light .vt-nav-link{color:var(--vt-mid);}
#vt-nav.vt-nav-light .vt-nav-link:hover,#vt-nav.vt-nav-light .vt-nav-link.vt-active{color:var(--vt-ch);background:var(--vt-off);}
.vt-nav-cta{font-family:var(--vt-sans);font-size:11px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;background:var(--vt-red);color:#fff;padding:9px 16px;border-radius:3px;margin-left:16px;border:none;cursor:pointer;transition:background .2s;white-space:nowrap;}
.vt-nav-cta:hover{background:var(--vt-red-d);}
.vt-hamburger{display:none;flex-direction:column;gap:5px;cursor:pointer;padding:6px;margin-left:10px;background:none;border:none;}
.vt-hamburger span{width:22px;height:1.5px;background:rgba(255,255,255,.7);border-radius:2px;transition:all .3s;display:block;}
/* Cuộn xuống nav nền trắng → vạch hamburger đổi sang màu đậm cho nhìn rõ */
#vt-nav.vt-nav-light .vt-hamburger span{background:var(--vt-ch);}
.vt-mobile-menu{display:none;position:fixed;top:72px;left:0;right:0;background:rgba(9,56,38,.98);padding:16px 0;z-index:998;border-top:1px solid rgba(255,255,255,.08);flex-direction:column;}
.vt-mobile-menu.open{display:flex;}
.vt-mobile-menu .vt-nav-link{padding:12px 24px;border-radius:0;font-size:13px;border-bottom:1px solid rgba(255,255,255,.05);}

/* ── NAV MENU (WordPress wp_nav_menu: ul.vt-nav-menu > li > a) ── */
.vt-nav-menu{list-style:none;margin:0;padding:0;display:flex;align-items:center;gap:2px;}
.vt-nav-menu li{margin:0;}
.vt-nav-menu a{font-family:var(--vt-sans);font-size:11px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:rgba(255,255,255,.52);padding:8px 9px;border-radius:3px;cursor:pointer;transition:all .2s;white-space:nowrap;display:inline-block;}
.vt-nav-menu a:hover,.vt-nav-menu .current-menu-item>a,.vt-nav-menu .current_page_item>a{color:#fff;background:rgba(255,255,255,.08);}
#vt-nav.vt-nav-light .vt-nav-menu a{color:var(--vt-mid);}
#vt-nav.vt-nav-light .vt-nav-menu a:hover,#vt-nav.vt-nav-light .vt-nav-menu .current-menu-item>a,#vt-nav.vt-nav-light .vt-nav-menu .current_page_item>a{color:var(--vt-ch);background:var(--vt-off);}
.vt-nav-logo-img img{height:54px;width:auto;max-width:300px;display:block;object-fit:contain;}
.vt-nav-logo-img{margin-right:clamp(24px,3vw,48px);display:flex;align-items:center;}
/* Logo đôi: TRẮNG ở đầu trang (nav xanh), MÀU khi cuộn (nav nền trắng .vt-nav-light) */
.vt-nav-logo-img .vt-logo-scrolled{display:none;}
#vt-nav.vt-nav-light .vt-nav-logo-img .vt-logo-top{display:none;}
#vt-nav.vt-nav-light .vt-nav-logo-img .vt-logo-scrolled{display:block;}

/* Language switcher (Polylang) — toggle viên thuốc VI | EN */
.vt-nav-lang{margin-left:auto;}
.vt-nav-lang ul{list-style:none;display:flex;align-items:center;margin:0;padding:0;border:1px solid rgba(255,255,255,.22);border-radius:999px;overflow:hidden;}
.vt-nav-lang li{margin:0;}
.vt-nav-lang a{display:block;font-family:var(--vt-sans);font-size:11px;font-weight:700;letter-spacing:.5px;text-transform:uppercase;color:rgba(255,255,255,.6);padding:5px 12px;line-height:1.5;transition:background .2s,color .2s;}
.vt-nav-lang a:hover{color:#fff;}
.vt-nav-lang .current-lang a{background:var(--vt-red);color:#fff;}
.vt-nav-lang li + li a{border-left:1px solid rgba(255,255,255,.18);}
#vt-nav.vt-nav-light .vt-nav-lang ul{border-color:var(--vt-bd);}
#vt-nav.vt-nav-light .vt-nav-lang a{color:var(--vt-mid);}
#vt-nav.vt-nav-light .vt-nav-lang a:hover{color:var(--vt-ch);}
#vt-nav.vt-nav-light .vt-nav-lang .current-lang a{background:var(--vt-red);color:#fff;}
#vt-nav.vt-nav-light .vt-nav-lang li + li a{border-left-color:var(--vt-bd);}

/* Mobile menu dùng cùng ul.vt-nav-menu nhưng xếp dọc.
   QUAN TRỌNG: ghi đè .vt-nav-menu{display:none} (ẩn menu desktop) để link hiện trong panel mobile. */
.vt-mobile-menu .vt-nav-menu{display:flex!important;flex-direction:column;align-items:stretch;gap:0;}
.vt-mobile-menu .vt-nav-menu a{padding:12px 24px;border-radius:0;font-size:13px;border-bottom:1px solid rgba(255,255,255,.05);}
.vt-mobile-menu .vt-nav-lang{margin:12px 24px;}
.vt-mobile-menu .vt-nav-lang ul{display:inline-flex;}

/* ── PAGE HERO ── */
.vt-page-hero{display:grid;grid-template-columns:1fr 1fr;min-height:380px;margin-top:72px;}
.vt-ph-left{background:var(--vt-ch);padding:80px 64px;display:flex;flex-direction:column;justify-content:flex-end;}
.vt-ph-breadcrumb{display:flex;gap:8px;align-items:center;margin-bottom:20px;font-size:11px;color:rgba(255,255,255,.35);}
.vt-ph-breadcrumb a{color:rgba(255,255,255,.35);transition:color .2s;} .vt-ph-breadcrumb a:hover{color:rgba(255,255,255,.7);}
.vt-ph-breadcrumb-sep{color:rgba(255,255,255,.2);}
.vt-ph-title{font-family:var(--vt-serif);font-size:clamp(36px,5vw,60px);font-weight:300;color:#fff;line-height:1.1;}
.vt-ph-sub{font-size:14px;color:rgba(255,255,255,.42);margin-top:14px;font-weight:300;}
.vt-ph-right{background:var(--vt-steel);position:relative;overflow:hidden;padding:64px 56px;display:flex;flex-direction:column;justify-content:flex-end;}
.vt-ph-bg1{position:absolute;top:-80px;left:-80px;width:400px;height:400px;border-radius:50%;background:rgba(0,0,0,.12);}
.vt-ph-bg2{position:absolute;bottom:-50px;right:-50px;width:260px;height:260px;border-radius:50%;background:rgba(255,255,255,.06);}
.vt-ph-bignum{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-family:var(--vt-serif);font-size:130px;font-weight:300;color:rgba(255,255,255,.08);line-height:1;white-space:nowrap;pointer-events:none;}
.vt-ph-motto{font-family:var(--vt-serif);font-size:28px;font-weight:300;color:rgba(255,255,255,.92);line-height:1.3;margin-bottom:14px;position:relative;z-index:2;}
.vt-ph-note{font-family:var(--vt-sans);font-size:10px;color:rgba(255,255,255,.38);letter-spacing:1.5px;position:relative;z-index:2;}

/* Page Hero — phiên bản BLOCK (giữ nguyên look, khách sửa text được trong editor) */
.vt-page-hero.wp-block-group{display:grid;grid-template-columns:1fr 1fr;}
.vt-page-hero > .wp-block-group{gap:0;}
.vt-page-hero .vt-ph-left > *, .vt-page-hero .vt-ph-right > *{margin-top:0;margin-bottom:0;}
.vt-page-hero .vt-label{color:rgba(255,255,255,.5);margin-bottom:10px;}
.vt-page-hero .vt-ph-rule{width:36px;height:2px;background:rgba(255,255,255,.25);margin-bottom:16px;}
.vt-page-hero .vt-ph-title{margin:0;}
.vt-page-hero .vt-ph-sub{margin-top:14px;}
.vt-page-hero .vt-ph-motto{margin-bottom:14px;}
.vt-page-hero .vt-ph-note{margin:0;}
.vt-page-hero .vt-ph-bignum{margin:0;}

/* ── STATS BAR ── */
.vt-stats-bar{display:grid;grid-template-columns:repeat(3,1fr);border-bottom:1px solid var(--vt-bd);}
.vt-stat-box{padding:36px 32px;border-right:1px solid var(--vt-bd);text-align:center;}
.vt-stat-box:last-child{border-right:none;}
.vt-stat-num{font-family:var(--vt-serif);font-size:52px;font-weight:300;color:var(--vt-red);line-height:1;margin-bottom:8px;}
.vt-stat-lbl{font-family:var(--vt-sans);font-size:10px;font-weight:700;letter-spacing:2.5px;text-transform:uppercase;color:var(--vt-mid);}

/* ── SERVICE CARDS ── */
.vt-svc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;background:var(--vt-bd);}
.vt-svc-card{background:#fff;padding:44px 36px;position:relative;transition:transform .25s;}
.vt-svc-card:hover{transform:translateY(-4px);z-index:2;}
.vt-svc-num{font-family:var(--vt-serif);font-size:80px;font-weight:300;color:var(--vt-red-l);line-height:1;position:absolute;top:24px;right:24px;}
.vt-svc-title{font-family:var(--vt-serif);font-size:22px;font-weight:400;color:var(--vt-ch);margin-bottom:20px;}
.vt-svc-list{display:flex;flex-direction:column;}
.vt-svc-item{font-size:13px;color:var(--vt-mid);padding:7px 0;border-bottom:1px solid var(--vt-bd);font-weight:300;display:flex;gap:10px;}
.vt-svc-item:last-child{border-bottom:none;}
.vt-svc-item::before{content:'—';color:var(--vt-red);font-weight:700;flex-shrink:0;}

/* ── PROJECT CARDS ── */
.vt-proj-card{position:relative;overflow:hidden;cursor:pointer;background:var(--vt-ch);box-shadow:0 0 0 1px var(--vt-bd);}
.vt-proj-img{width:100%;height:240px;object-fit:cover;display:block;transition:transform .5s,opacity .3s;}
.vt-proj-card:hover .vt-proj-img{transform:scale(1.06);opacity:.83;}
.vt-proj-overlay{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(transparent,rgba(0,0,0,.9));padding:56px 22px 22px;}
.vt-proj-client{font-family:var(--vt-sans);font-size:9px;font-weight:700;letter-spacing:2.5px;text-transform:uppercase;color:var(--vt-red);margin-bottom:5px;}
.vt-proj-name{font-size:14px;font-weight:400;color:#fff;line-height:1.4;margin-bottom:4px;}
.vt-proj-tag{font-family:var(--vt-sans);font-size:9px;font-weight:500;letter-spacing:2px;text-transform:uppercase;color:rgba(255,255,255,.4);}
/* Lưới dự án + hàng stats: responsive bằng class (media query đè được) */
.vt-proj-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;}
.vt-proj-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));}
@media(max-width:1024px){.vt-proj-grid{grid-template-columns:repeat(2,1fr);}}
@media(max-width:768px){.vt-proj-stats{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:600px){.vt-proj-grid{grid-template-columns:1fr;}.vt-proj-stats .vt-stat-box{padding:22px 12px;}.vt-proj-stats .vt-stat-num{font-size:30px!important;}}
@media(max-width:400px){.vt-proj-stats{grid-template-columns:1fr;}.vt-proj-stats .vt-stat-box{border-right:none;border-bottom:1px solid var(--vt-bd);}}

/* ── CLIENT GRID ── */
.vt-client-grid{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--vt-bd);}
.vt-client-cell{border-right:1px solid var(--vt-bd);border-bottom:1px solid var(--vt-bd);display:flex;align-items:center;justify-content:center;padding:36px 24px;min-height:100px;transition:background .2s;}
.vt-client-cell:hover{background:var(--vt-red-l);}
.vt-client-cell:nth-child(4n){border-right:none;}
.vt-client-cell:nth-child(n+9){border-bottom:none;}
.vt-client-name{font-family:var(--vt-serif);font-size:19px;font-weight:400;color:var(--vt-steel);text-align:center;}

/* ── POLICY TABS ── */
.vt-policy-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;}
.vt-policy-tab{border-top:3px solid var(--vt-bd);padding-top:32px;transition:border-color .3s;}
.vt-policy-tab:hover{border-top-color:var(--vt-red);}
.vt-policy-lbl{font-family:var(--vt-sans);font-size:10px;font-weight:700;letter-spacing:3px;text-transform:uppercase;color:var(--vt-red);margin-bottom:12px;}
.vt-policy-h{font-family:var(--vt-serif);font-size:26px;font-weight:300;color:var(--vt-ch);margin-bottom:16px;}

/* ── LEADER CARDS ── */
.vt-leaders-grid{display:grid;grid-template-columns:1fr 1fr;gap:32px;}
.vt-leader-card{display:flex;gap:28px;align-items:flex-start;padding:36px;border:1px solid var(--vt-bd);background:#fff;}
.vt-leader-avatar{width:72px;height:72px;border-radius:50%;background:var(--vt-ch);display:flex;align-items:center;justify-content:center;font-family:var(--vt-serif);font-size:24px;font-weight:300;color:#fff;flex-shrink:0;}
.vt-leader-name{font-family:var(--vt-serif);font-size:23px;font-weight:400;color:var(--vt-ch);margin-bottom:4px;}
.vt-leader-title{font-family:var(--vt-sans);font-size:10px;font-weight:700;letter-spacing:2.5px;text-transform:uppercase;color:var(--vt-red);margin-bottom:14px;}
.vt-leader-phone{font-size:13px;color:var(--vt-mid);font-weight:300;display:flex;align-items:center;gap:10px;margin-top:12px;}
.vt-leader-phone::before{content:'';display:inline-block;width:10px;height:1px;background:var(--vt-red);}

/* ── TIMELINE ── */
.vt-tl-wrap{position:relative;padding-left:24px;}
.vt-tl-line{position:absolute;left:5px;top:0;bottom:0;width:1px;background:var(--vt-bd);}
.vt-tl-item{display:flex;gap:20px;align-items:flex-start;margin-bottom:36px;}
.vt-tl-dot{width:12px;height:12px;border-radius:50%;background:var(--vt-red);flex-shrink:0;margin-top:4px;position:relative;left:-24px;box-shadow:0 0 0 4px rgba(221,0,11,.15);}
.vt-tl-body{margin-left:-12px;flex:1;}
.vt-tl-year{font-family:var(--vt-sans);font-size:10px;font-weight:700;letter-spacing:2.5px;color:var(--vt-red);margin-bottom:6px;}
.vt-tl-title{font-family:var(--vt-serif);font-size:20px;font-weight:400;color:var(--vt-ch);margin-bottom:8px;}
.vt-tl-desc{font-size:14px;color:var(--vt-mid);font-weight:300;line-height:1.75;}

/* ── LỊCH SỬ — TAB NĂM (vt-years) ──────────────────────────────────
   Giữ ý tưởng gốc của khách (bấm năm → hiện ảnh mốc) nhưng khung/tab
   dựng lại đúng brand. Ảnh vẫn là block thật (khách thay/sửa được).
   JS thêm thanh nút năm & chuyển tab ở mặt tiền; tắt JS → hiện xếp dọc. */
.vt-years{max-width:900px;margin:8px auto 0;}
.vt-yr-label{display:none;}                    /* năm hiển thị ở nút tab */
/* thanh nút năm (do JS chèn) */
.vt-yr-nav{display:flex;flex-wrap:wrap;gap:2px;justify-content:center;
  border-bottom:1px solid var(--vt-bd);margin-bottom:30px;}
.vt-yr-btn{font-family:var(--vt-sans);font-size:13px;font-weight:700;letter-spacing:1.5px;
  text-transform:uppercase;color:var(--vt-mid);background:transparent;border:none;
  padding:13px 22px;margin-bottom:-1px;border-bottom:3px solid transparent;cursor:pointer;
  transition:color .2s,border-color .2s;white-space:nowrap;}
.vt-yr-btn:hover{color:var(--vt-ch);}
.vt-yr-btn:focus-visible{outline:2px solid var(--vt-red);outline-offset:2px;}
.vt-yr-btn.is-active{color:var(--vt-ch);border-bottom-color:var(--vt-red);}
/* panel ảnh */
/* chống nháy: có JS thì chỉ hiện panel đầu tới khi thanh tab dựng xong */
.vt-anim .vt-years:not(.js-yeartabs) .vt-yr-panel:not(:first-child){display:none;}
.js-yeartabs .vt-yr-panel{display:none;}
.js-yeartabs .vt-yr-panel.is-active{display:block;animation:vt-yr-fade .45s ease both;}
@keyframes vt-yr-fade{from{opacity:0;transform:translateY(10px);}to{opacity:1;transform:none;}}
.vt-yr-panel .wp-block-image{margin:0 auto;max-width:800px;}
.vt-yr-panel .wp-block-image img{display:block;width:100%;height:auto;border-radius:8px;
  border:1px solid var(--vt-bd);background:#fff;box-shadow:0 18px 44px -22px rgba(9,56,38,.35);}
@media(prefers-reduced-motion:reduce){.js-yeartabs .vt-yr-panel.is-active{animation:none;}}
@media(max-width:520px){
  .vt-yr-btn{padding:11px 15px;font-size:12px;letter-spacing:1px;flex:0 0 auto;}
  /* giữ 1 hàng gọn, cuộn ngang thay vì xuống dòng (gạch chân đúng đáy nav) */
  .vt-yr-nav{flex-wrap:nowrap;justify-content:flex-start;overflow-x:auto;
    -webkit-overflow-scrolling:touch;scrollbar-width:none;}
  .vt-yr-nav::-webkit-scrollbar{display:none;}
}

/* ── CTA STRIP ── */
.vt-cta-strip{background:var(--vt-red);padding:88px 0;}
.vt-cta-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center;}
.vt-cta-title{font-family:var(--vt-serif);font-size:clamp(34px,4vw,52px);font-weight:300;color:#fff;line-height:1.15;}
.vt-cta-row{display:flex;gap:16px;align-items:flex-start;}
.vt-cta-lbl{font-family:var(--vt-sans);font-size:9px;font-weight:700;letter-spacing:2.5px;text-transform:uppercase;color:rgba(255,255,255,.45);min-width:70px;padding-top:3px;}
.vt-cta-val{font-size:15px;color:rgba(255,255,255,.85);font-weight:300;line-height:1.5;}

/* ── BLOG ── */
.vt-blog-wrap{max-width:1280px;}
.vt-blog-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:28px;align-items:stretch;}
.vt-blog-card{display:flex;flex-direction:column;}
.vt-blog-card .vt-blog-body{display:flex;flex-direction:column;flex:1;}
.vt-blog-card .vt-blog-excerpt{flex:1;}
.vt-blog-card{background:#fff;border:1px solid var(--vt-bd);transition:box-shadow .25s;}
.vt-blog-card:hover{box-shadow:0 8px 32px rgba(0,0,0,.08);}
.vt-blog-thumb{width:100%;height:200px;object-fit:cover;display:block;}
.vt-blog-thumb-ph{width:100%;height:200px;background:var(--vt-off);display:flex;align-items:center;justify-content:center;font-size:32px;}
.vt-blog-body{padding:24px;}
.vt-blog-cat{font-family:var(--vt-sans);font-size:9px;font-weight:700;letter-spacing:2.5px;text-transform:uppercase;color:var(--vt-red);margin-bottom:10px;display:block;}
.vt-blog-title{font-family:var(--vt-serif);font-size:20px;font-weight:400;color:var(--vt-ch);margin-bottom:12px;line-height:1.3;}
.vt-blog-title a{color:inherit;} .vt-blog-title a:hover{color:var(--vt-red);}
.vt-blog-excerpt{font-size:14px;color:var(--vt-mid);font-weight:300;line-height:1.75;margin-bottom:18px;}
.vt-blog-meta{display:flex;gap:16px;align-items:center;font-family:var(--vt-sans);font-size:11px;color:var(--vt-mid);border-top:1px solid var(--vt-bd);padding-top:16px;}
.vt-blog-meta-dot{width:3px;height:3px;border-radius:50%;background:var(--vt-bd);}
.vt-read-more{font-family:var(--vt-sans);font-size:11px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:var(--vt-red);}
.vt-blog-layout{display:block;}

/* ── BLOG SINGLE ── */
.vt-blog-single .entry-content{font-size:16px;color:var(--vt-steel);line-height:1.85;font-weight:300;}
.vt-blog-single .entry-content h2{font-family:var(--vt-serif);font-size:30px;font-weight:300;color:var(--vt-ch);margin:40px 0 16px;}
.vt-blog-single .entry-content h3{font-family:var(--vt-sans);font-size:18px;font-weight:600;color:var(--vt-ch);margin:28px 0 12px;}
.vt-blog-single .entry-content p{margin-bottom:20px;}
.vt-blog-single .entry-content ul{margin:16px 0 20px 20px;list-style:disc;}
.vt-blog-single .entry-content li{margin-bottom:8px;}
.vt-blog-single .entry-content a{color:var(--vt-red);border-bottom:1px solid rgba(221,0,11,.3);}
.vt-blog-single .entry-content blockquote{border-left:3px solid var(--vt-red);padding:16px 24px;margin:28px 0;background:var(--vt-red-l);font-family:var(--vt-serif);font-size:20px;font-weight:300;color:var(--vt-steel);font-style:italic;}
.vt-blog-single .entry-content img{border-radius:4px;margin:24px 0;}

/* ── SIDEBAR ── */
.vt-sidebar-widget{background:var(--vt-off);padding:24px;margin-bottom:24px;}
.vt-sidebar-title{font-family:var(--vt-sans);font-size:10px;font-weight:700;letter-spacing:2.5px;text-transform:uppercase;color:var(--vt-red);margin-bottom:16px;padding-bottom:12px;border-bottom:2px solid var(--vt-red);}
.vt-recent-post{display:flex;gap:12px;align-items:flex-start;padding:10px 0;border-bottom:1px solid var(--vt-bd);}
.vt-recent-post:last-child{border-bottom:none;}
.vt-recent-thumb{width:64px;height:64px;object-fit:cover;flex-shrink:0;}
.vt-recent-title{font-size:13px;font-weight:500;color:var(--vt-ch);line-height:1.4;}
.vt-recent-date{font-size:11px;color:var(--vt-mid);margin-top:4px;}
.vt-tag-cloud{display:flex;flex-wrap:wrap;gap:6px;}
.vt-tag{font-family:var(--vt-sans);font-size:10px;font-weight:600;letter-spacing:1px;text-transform:uppercase;padding:5px 12px;border:1px solid var(--vt-bd);color:var(--vt-mid);border-radius:2px;transition:all .2s;}
.vt-tag:hover{background:var(--vt-red);color:#fff;border-color:var(--vt-red);}

/* ── DOWNLOAD PAGE ── */
.vt-filter-bar{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:40px;}
.vt-filter-chip{font-family:var(--vt-sans);font-size:10px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;padding:9px 20px;border-radius:3px;cursor:pointer;border:1px solid var(--vt-bd);color:var(--vt-mid);background:#fff;transition:all .2s;}
.vt-filter-chip:hover,.vt-filter-chip.vt-active{background:var(--vt-red);color:#fff;border-color:var(--vt-red);}
.vt-download-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.vt-download-card{border:1px solid var(--vt-bd);padding:28px 24px;background:#fff;transition:border-color .2s,transform .2s;display:flex;flex-direction:column;height:100%;}
.vt-download-card:hover{border-color:var(--vt-red);transform:translateY(-2px);}
.vt-download-icon-wrap{width:56px;height:56px;background:var(--vt-red-l);display:flex;align-items:center;justify-content:center;border-radius:4px;margin-bottom:18px;font-size:28px;}
.vt-download-cat{font-family:var(--vt-sans);font-size:9px;font-weight:700;letter-spacing:2.5px;text-transform:uppercase;color:var(--vt-red);margin-bottom:8px;display:block;}
.vt-download-title{font-family:var(--vt-serif);font-size:19px;font-weight:400;color:var(--vt-ch);margin-bottom:10px;line-height:1.3;min-height:2.6em;}
.vt-download-desc{font-size:13px;color:var(--vt-mid);font-weight:300;line-height:1.7;margin-bottom:20px;flex:1 1 auto;}
.vt-download-meta{display:flex;gap:14px;align-items:center;margin-bottom:18px;font-family:var(--vt-sans);font-size:11px;color:var(--vt-mid);}
.vt-download-btn{display:flex;align-items:center;gap:8px;justify-content:center;width:100%;padding:11px;margin-top:auto;background:var(--vt-red);color:#fff;font-family:var(--vt-sans);font-size:11px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;border-radius:3px;border:none;cursor:pointer;transition:background .2s;}
.vt-download-btn:hover{background:var(--vt-red-d);}
.vt-download-btn-free{background:var(--vt-ch);} .vt-download-btn-free:hover{background:#333;}

/* ── FORMS ── */
.vt-form-group{margin-bottom:20px;}
.vt-form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
.vt-label{display:block;font-family:var(--vt-sans);font-size:10px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--vt-mid);margin-bottom:7px;}
.vt-input,.vt-textarea,.vt-select{width:100%;padding:12px 16px;border:1px solid var(--vt-bd);border-radius:3px;font-family:var(--vt-sans);font-size:14px;color:var(--vt-ch);background:#fff;outline:none;transition:border-color .2s;font-weight:300;}
.vt-input:focus,.vt-textarea:focus,.vt-select:focus{border-color:var(--vt-red);}
.vt-textarea{height:120px;resize:vertical;}

/* ── FOOTER ── */
.vt-footer{background:var(--vt-ch);}
.vt-footer-main{padding:64px 0;border-bottom:1px solid rgba(255,255,255,.08);}
.vt-footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:48px;}
.vt-footer-logo{font-family:var(--vt-serif);font-size:24px;font-weight:300;color:rgba(255,255,255,.6);letter-spacing:2px;margin-bottom:16px;}
.vt-footer-logo-link{display:inline-block;margin-bottom:18px;}
.vt-footer-logo-img{height:46px;width:auto;max-width:200px;display:block;}
.vt-footer-logo span{color:var(--vt-red);}
.vt-footer-desc{font-size:14px;color:rgba(255,255,255,.62);line-height:1.75;font-weight:400;margin-bottom:20px;}
.vt-footer-col-title{font-family:var(--vt-sans);font-size:10px;font-weight:700;letter-spacing:2.5px;text-transform:uppercase;color:rgba(255,255,255,.5);margin-bottom:16px;}
.vt-footer-links{display:flex;flex-direction:column;gap:12px;list-style:none;margin:0;padding:0;}
.vt-footer-links li{margin:0;}
/* Menu chân trang: rõ & to hơn theo feedback khách (tương phản ~7.7:1) */
.vt-footer-links a{font-size:15px;color:rgba(255,255,255,.72);font-weight:400;line-height:1.5;transition:color .2s;}
.vt-footer-links a:hover{color:#fff;}
.vt-footer-contact-item{display:flex;gap:10px;align-items:flex-start;margin-bottom:10px;}
/* Cột Liên Hệ: nhãn sáng hơn, giá trị to & rõ (thông tin quan trọng) */
.vt-footer-contact-lbl{font-family:var(--vt-sans);font-size:9px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:rgba(255,255,255,.5);min-width:52px;padding-top:3px;}
.vt-footer-contact-val{font-size:14px;color:rgba(255,255,255,.82);font-weight:700;line-height:1.55;}
.vt-footer-bottom{padding:20px 0;display:flex;justify-content:space-between;align-items:center;}
.vt-footer-copy{font-family:var(--vt-sans);font-size:12px;color:rgba(255,255,255,.45);letter-spacing:1px;}
.vt-footer-social{display:flex;gap:12px;}
.vt-social-link{width:36px;height:36px;border:1px solid rgba(255,255,255,.15);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:14px;color:rgba(255,255,255,.4);transition:all .2s;}
.vt-social-link:hover{border-color:var(--vt-red);color:var(--vt-red);}

/* ── CERTS DARK ── */
.vt-certs-dark{background:var(--vt-ch);padding:96px 0;}
.vt-cert-docs{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:40px;margin-bottom:32px;}
.vt-cert-doc{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);border-radius:6px;overflow:hidden;transition:border-color .2s;}
.vt-cert-doc:hover{border-color:rgba(255,255,255,.3);}
.vt-cert-icon{height:120px;display:flex;align-items:center;justify-content:center;border-bottom:1px solid rgba(255,255,255,.08);font-size:42px;}
.vt-cert-lbl{font-family:var(--vt-sans);font-size:9px;font-weight:600;letter-spacing:2px;text-transform:uppercase;color:rgba(255,255,255,.4);padding:12px 16px;}
.vt-cert-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;}
.vt-cert-card{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);padding:28px 24px;border-radius:4px;}
.vt-cert-h{font-family:var(--vt-sans);font-size:13px;font-weight:600;color:#fff;margin-bottom:6px;}
.vt-cert-sub{font-family:var(--vt-sans);font-size:11px;color:rgba(255,255,255,.38);margin-bottom:14px;line-height:1.6;}
.vt-cert-div{width:28px;height:2px;background:var(--vt-red);margin-bottom:14px;}
.vt-cert-scope{font-size:13px;color:rgba(255,255,255,.6);line-height:1.65;font-weight:300;}

/* ── PROCESS STEPS ── */
.vt-process-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:0;position:relative;}
.vt-process-steps::before{content:'';position:absolute;top:22px;left:12.5%;right:12.5%;height:1px;background:var(--vt-bd);}
.vt-process-step{padding:0 20px;text-align:center;}
.vt-process-dot{width:12px;height:12px;border-radius:50%;background:var(--vt-red);margin:0 auto 16px;position:relative;z-index:1;}
.vt-process-num{font-family:var(--vt-sans);font-size:10px;font-weight:700;letter-spacing:2px;color:var(--vt-red);margin-bottom:8px;}
.vt-process-h{font-size:13px;font-weight:600;color:var(--vt-ch);margin-bottom:6px;}
.vt-process-d{font-size:12px;color:var(--vt-mid);font-weight:300;line-height:1.6;}

/* ── MISSION ── */
.vt-mission-grid{display:grid;grid-template-columns:1fr 1fr;gap:44px 64px;}
.vt-mission-item{border-top:2px solid var(--vt-red);padding-top:28px;}
.vt-mission-h{font-family:var(--vt-sans);font-size:15px;font-weight:600;color:var(--vt-ch);margin-bottom:10px;}

/* ── TESTIMONIALS ── */
.vt-testi-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.vt-testi-card{background:#fff;border:1px solid var(--vt-bd);padding:36px;display:flex;flex-direction:column;gap:20px;}
.vt-testi-q{font-family:var(--vt-serif);font-size:48px;font-weight:300;color:var(--vt-red);opacity:.3;line-height:1;}
.vt-testi-txt{font-size:14px;color:var(--vt-mid);line-height:1.8;font-weight:300;flex:1;}
.vt-testi-auth{display:flex;align-items:center;gap:12px;border-top:1px solid var(--vt-bd);padding-top:20px;}
.vt-testi-av{width:40px;height:40px;border-radius:50%;background:var(--vt-ch);display:flex;align-items:center;justify-content:center;font-family:var(--vt-serif);font-size:14px;color:#fff;flex-shrink:0;}

/* ── CONTACT PAGE ── */
.vt-contact-grid{display:grid;grid-template-columns:3fr 2fr;gap:64px;align-items:start;}
.vt-contact-info-card{display:flex;gap:14px;align-items:flex-start;padding:16px 18px;border:1px solid var(--vt-bd);border-radius:4px;background:#fff;margin-bottom:10px;}
.vt-ci-icon{font-size:18px;width:24px;text-align:center;flex-shrink:0;margin-top:2px;}
.vt-ci-lbl{font-family:var(--vt-sans);font-size:9px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--vt-mid);margin-bottom:3px;}
.vt-ci-val{font-size:14px;color:var(--vt-ch);font-weight:400;line-height:1.5;}

/* ── FAQ ── */
.vt-faq-list{display:flex;flex-direction:column;gap:6px;}
.vt-faq-item{border:1px solid var(--vt-bd);border-radius:4px;overflow:hidden;}
.vt-faq-q{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;cursor:pointer;font-size:15px;font-weight:500;color:var(--vt-ch);background:#fff;user-select:none;border:none;width:100%;text-align:left;}
.vt-faq-q:hover{background:var(--vt-off);}
.vt-faq-icon{font-size:20px;color:var(--vt-red);font-weight:300;transition:transform .3s;flex-shrink:0;}
.vt-faq-a{padding:0 20px;max-height:0;overflow:hidden;transition:max-height .4s,padding .3s;font-size:14px;color:var(--vt-mid);line-height:1.75;font-weight:300;}
.vt-faq-item.vt-faq-open .vt-faq-q{background:var(--vt-red-l);}
.vt-faq-item.vt-faq-open .vt-faq-icon{transform:rotate(45deg);}
.vt-faq-item.vt-faq-open .vt-faq-a{max-height:200px;padding:14px 20px 20px;}

/* ── RESPONSIVE ── */
/* ── SINGLE POST (khung đọc bài 1 cột) ── */
.vt-single-wrap{max-width:820px;margin:0 auto;}
.vt-single-feat-img{width:100%;height:auto;max-height:480px;object-fit:cover;margin-bottom:40px;display:block;}
.vt-single-content{font-size:16.5px;line-height:1.9;color:var(--vt-ink);font-weight:400;}
.vt-single-content > *{margin-bottom:1.25em;}
.vt-single-content h2{font-family:var(--vt-serif);font-size:clamp(24px,3vw,32px);font-weight:400;color:var(--vt-ch);margin:1.6em 0 .5em;line-height:1.25;}
.vt-single-content h3{font-family:var(--vt-serif);font-size:22px;font-weight:400;color:var(--vt-ch);margin:1.4em 0 .5em;}
.vt-single-content a{color:var(--vt-red);text-decoration:underline;}
.vt-single-content img{height:auto;margin:8px 0;}
.vt-single-content ul,.vt-single-content ol{padding-left:22px;}
.vt-single-content li{margin-bottom:.5em;}
.vt-single-content blockquote{border-left:3px solid var(--vt-red);padding:6px 0 6px 22px;margin:24px 0;color:var(--vt-mid);font-style:italic;}
.vt-single-content figure{margin:24px 0;}
.vt-single-pages{margin-top:24px;font-size:13px;color:var(--vt-mid);}
.vt-single-tags{margin-top:36px;display:flex;flex-wrap:wrap;gap:8px;align-items:center;}
.vt-single-share{margin-top:24px;padding:20px 24px;background:var(--vt-off);border:1px solid var(--vt-bd);display:flex;flex-wrap:wrap;gap:10px;align-items:center;}
.vt-single-tags-lbl{font-family:var(--vt-sans);font-size:10px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--vt-mid);margin-right:4px;}
.vt-single-nav{margin-top:36px;padding-top:24px;border-top:1px solid var(--vt-bd);display:flex;justify-content:space-between;gap:20px;}
.vt-single-nav-lbl{display:block;font-size:11px;color:var(--vt-mid);margin-bottom:4px;}
.vt-single-nav-title{font-family:var(--vt-serif);font-size:16px;color:var(--vt-ch);line-height:1.3;}
.vt-single-nav a{color:var(--vt-ch);}

/* ── SEARCH form ── */
.vt-search-form{display:flex;gap:8px;margin-top:22px;max-width:440px;}
.vt-search-form input[type=search]{flex:1;padding:11px 14px;border:1px solid rgba(255,255,255,.25);background:rgba(255,255,255,.08);color:#fff;border-radius:3px;font-size:14px;font-family:var(--vt-sans);}
.vt-search-form input[type=search]::placeholder{color:rgba(255,255,255,.45);}
.vt-search-form button{padding:11px 20px;background:var(--vt-red);color:#fff;border:none;border-radius:3px;font-weight:700;font-size:11px;letter-spacing:1px;text-transform:uppercase;cursor:pointer;}
.vt-search-form button:hover{background:var(--vt-red-d);}
.vt-search-form--light input[type=search]{border-color:var(--vt-bd);background:#fff;color:var(--vt-ink);}
.vt-search-form--light input[type=search]::placeholder{color:var(--vt-mid);}

/* Số "15+" trang trí (6rem) ở hero trang chủ → thu nhỏ trên mobile cho gọn */
@media(max-width:600px){ .vt-hero-bgvideo__panels p[style*="font-size:6rem"]{ font-size:3.4rem!important; } }

/* Khối "Hồ Sơ Năng Lực" nổi bật (trang Download) — grid 2 cột, stack trên mobile */
.vt-dl-profile{display:grid;grid-template-columns:1fr 1fr;gap:48px;padding:48px;align-items:center;}
@media(max-width:768px){ .vt-dl-profile{grid-template-columns:1fr;gap:28px;padding:32px 24px;} }
@media(max-width:400px){ .vt-dl-profile{padding:26px 18px;} }

/* ═══════════ ĐỒNG BỘ NỘI DUNG TRONG THẺ (.vt-card) THEO TRANG ═══════════
   .vt-card đã là cột flex + cao bằng nhau (xem viettop-blocks.css). Dưới đây
   căn các "chân thẻ" (logo / nhãn / tác giả / số hiệu) thẳng hàng giữa các thẻ
   dù nội dung dài ngắn khác nhau — đặc biệt khi responsive.
   Dùng :has()/:not() để phân biệt loại thẻ trên cùng một trang.
   LƯU Ý: các rule page-id chỉ chạy ở FRONTEND (body có class page-id) — trong
   trình soạn thảo không có nên thẻ hiện khác; lấy bản web thật làm chuẩn. */

/* ── KHÁCH HÀNG (id 9 / 45) ── */
/* (a) Thẻ LOGO (có ảnh): tên trên (chừa 2 dòng), logo cao 80px căn giữa khoảng trống */
.page-id-9 .vt-card img, .page-id-45 .vt-card img{
  max-height:80px; width:auto; max-width:100%;
  margin:0 auto; display:block; object-fit:contain;
}
.page-id-9 .vt-card:has(img) > p, .page-id-45 .vt-card:has(img) > p{
  line-height:1.3; min-height:2.6em; margin-bottom:0;
  display:flex; align-items:center; justify-content:center;
}
.page-id-9 .vt-card:has(img) .wp-block-image,
.page-id-45 .vt-card:has(img) .wp-block-image{ margin-top:auto; margin-bottom:auto; }
/* (b) Thẻ NHẬN XÉT (không ảnh): trích dẫn giãn ra → tên + đơn vị dồn xuống đáy, thẳng hàng */
.page-id-9 .vt-card:not(:has(img)) > p:first-child,
.page-id-45 .vt-card:not(:has(img)) > p:first-child{ flex:1 1 auto; margin-bottom:0; }

/* ── DỰ ÁN (id 8 / 44): thẻ dự án — nhãn ngành (dòng cuối) dồn xuống đáy ── */
.page-id-8 .vt-card > p:last-child, .page-id-44 .vt-card > p:last-child{
  margin-top:auto; padding-top:.6rem;
}

/* ── GIỚI THIỆU (id 6 / 41) ── */
/* Thẻ chứng chỉ (có dòng vàng): chừa tiêu đề 2 dòng → dòng số hiệu thẳng nhau */
.page-id-6 .vt-card:has(.has-vt-gold-color) > h3,
.page-id-41 .vt-card:has(.has-vt-gold-color) > h3{ line-height:1.35; min-height:2.7em; margin-bottom:10px; }
/* Ảnh chứng chỉ (dọc, tỉ lệ lệch nhau) → ép CÙNG khung 71/100 (contain, không méo/cắt)
   → mọi thẻ cao đều, tiêu đề bắt đầu cùng độ cao, các dòng thẳng hàng. */
.page-id-6 .vt-card:has(.has-vt-gold-color) .wp-block-image img,
.page-id-41 .vt-card:has(.has-vt-gold-color) .wp-block-image img{
  width:100%; aspect-ratio:71/100; object-fit:contain; object-position:center;
  background:#fff; border:1px solid var(--vt-bd); border-radius:4px;
}
.page-id-6 .vt-card:has(.has-vt-gold-color) .wp-block-image,
.page-id-41 .vt-card:has(.has-vt-gold-color) .wp-block-image{ margin:0 0 16px; }
/* Thẻ lãnh đạo (4 phần: tên + chức danh + mô tả + SĐT): SĐT dồn xuống đáy, thẳng nhau */
.page-id-6 .vt-card > p:last-child:nth-child(4),
.page-id-41 .vt-card > p:last-child:nth-child(4){ margin-top:auto; padding-top:.6rem; }

/* ═══════════════ RESPONSIVE: TABLET & MOBILE ═══════════════ */

/* ── TABLET (≤1024px) ── */
@media(max-width:1024px){
  .vt-container{padding:0 32px;}
  /* Top bar mobile = Logo + Hamburger (mép phải); VI/EN + nút dồn vào panel menu */
  .vt-nav-menu{display:none;}
  .vt-hamburger{display:flex;margin-left:auto;}
  .vt-nav-inner > .vt-nav-lang,.vt-nav-inner > .vt-nav-cta{display:none;}
  .vt-footer-grid{grid-template-columns:repeat(2,1fr);gap:32px;}
  /* lưới custom 3–4 cột → 2 cột cho cân đối */
  .vt-grid-3,.vt-grid-4,.vt-blog-grid,.vt-svc-grid,.vt-download-grid,.vt-testi-grid,
  .vt-client-grid,.vt-leaders-grid,.vt-cert-docs,.vt-cert-cards{grid-template-columns:repeat(2,1fr);}
  .vt-grid-2{gap:40px;}
}
/* lưới BLOCK (wp:columns ≥3 cột) → 2 cột trên tablet; layout 2 cột (image-text, hero) GIỮ NGUYÊN */
@media(min-width:782px) and (max-width:1024px){
  .wp-block-columns:not(.vt-hero-bgvideo__panels):has(> .wp-block-column:nth-child(3)){flex-wrap:wrap;}
  .wp-block-columns:not(.vt-hero-bgvideo__panels):has(> .wp-block-column:nth-child(3)) > .wp-block-column{
    flex-basis:calc(50% - .9rem)!important;flex-grow:1;
  }
}

/* ── MOBILE lớn / TABLET dọc (≤768px) ── */
@media(max-width:768px){
  .vt-container{padding:0 22px;}
  /* hero chia đôi + lưới chính → xếp dọc 1 cột */
  .vt-page-hero,.vt-grid-2,.vt-grid-3,.vt-grid-4,.vt-blog-layout,.vt-blog-grid,.vt-cta-grid,.vt-contact-grid,
  .vt-client-grid,.vt-leaders-grid,.vt-process-steps,.vt-mission-grid,.vt-policy-grid,
  .vt-stats-bar,.vt-form-row{grid-template-columns:1fr;}
  /* lưới thẻ giữ 2 cột (đỡ trống trên tablet dọc) */
  .vt-svc-grid,.vt-download-grid,.vt-testi-grid,.vt-cert-docs,.vt-cert-cards{grid-template-columns:repeat(2,1fr);}
  /* hero stack gọn */
  .vt-page-hero{min-height:auto;}
  /* Hero BLOCK (.vt-page-hero.wp-block-group — 2 class) cần rule 2-class mới đè được → stack 1 cột như hero trang Dự Án */
  .vt-page-hero.wp-block-group{grid-template-columns:1fr;}
  /* Hero TRANG CHỦ: title 42px (x-large !important) + eyebrow (in hoa, giãn chữ) → co lại trên mobile để từ dài không vỡ giữa từ */
  .vt-hero-bgvideo h1.has-x-large-font-size{font-size:clamp(1.9rem,7.5vw,2.6rem)!important;letter-spacing:.5px!important;line-height:1.14!important;}
  .vt-ph-left{padding:88px 24px 48px;}  /* 88 > 72px nav → breadcrumb không bị header đè */
  .vt-ph-right{padding:44px 24px;min-height:170px;}
  .vt-ph-bignum{font-size:96px;}
  .vt-ph-motto{font-size:24px;}
  .vt-stat-box{border-right:none;border-bottom:1px solid var(--vt-bd);}
  .vt-footer-grid{grid-template-columns:1fr;gap:28px;}
  .vt-sec,.vt-sec-alt{padding:60px 0;}
}

/* ── MOBILE (≤600px) ── */
@media(max-width:600px){
  .vt-svc-grid,.vt-download-grid,.vt-testi-grid,.vt-cert-docs,.vt-cert-cards{grid-template-columns:1fr;}
  .vt-sec,.vt-sec-alt{padding:48px 0;}
  .vt-grid-2,.vt-grid-3,.vt-grid-4{gap:24px;}
}

/* ── MOBILE nhỏ (≤400px) ── */
@media(max-width:400px){
  .vt-container{padding:0 16px;}
  .vt-ph-left{padding:80px 18px 40px;}
  .vt-ph-right{padding:36px 18px;}
  .vt-ph-bignum{font-size:78px;}
  .vt-ph-title{font-size:30px;}
}

/* ═══════════════════════════════════════════════════════════════════
   HIỆU ỨNG CHUYỂN ĐỘNG — scroll reveal + đếm số + hero vào trang
   • Chỉ áp khi html.vt-anim (JS bật) → tắt JS vẫn hiện đủ nội dung.
   • Tôn trọng prefers-reduced-motion (người dùng tắt hiệu ứng → bỏ qua).
   • Tinh tế, chuẩn brand xây dựng: fade + trượt nhẹ, không nảy/xoay.
   ═══════════════════════════════════════════════════════════════════ */

/* --- Scroll reveal: item (card/số liệu…) ẩn nhẹ, hiện dần khi cuộn tới --- */
.vt-anim .vt-card,.vt-anim .vt-svc-card,.vt-anim .vt-svc-item,
.vt-anim .vt-proj-card,.vt-anim .vt-blog-card,.vt-anim .vt-download-card,
.vt-anim .vt-client-cell,.vt-anim .vt-leader-card,.vt-anim .vt-policy-tab,
.vt-anim .vt-cert-doc,.vt-anim .vt-cert-card,.vt-anim .vt-stat-box,
.vt-anim .vt-stat,.vt-anim .vt-mission-item,.vt-anim .vt-faq-item,
.vt-anim .vt-testi-card,.vt-anim .vt-process-step,
.vt-anim .vt-contact-info-card,.vt-anim .vt-tl-item,
.vt-anim .vt-reveal{
  opacity:0;
  transform:translateY(22px);
  transition:opacity .6s ease,transform .6s cubic-bezier(.22,.61,.36,1);
  will-change:opacity,transform;
}
.vt-anim .vt-card.vt-in,.vt-anim .vt-svc-card.vt-in,.vt-anim .vt-svc-item.vt-in,
.vt-anim .vt-proj-card.vt-in,.vt-anim .vt-blog-card.vt-in,.vt-anim .vt-download-card.vt-in,
.vt-anim .vt-client-cell.vt-in,.vt-anim .vt-leader-card.vt-in,.vt-anim .vt-policy-tab.vt-in,
.vt-anim .vt-cert-doc.vt-in,.vt-anim .vt-cert-card.vt-in,.vt-anim .vt-stat-box.vt-in,
.vt-anim .vt-stat.vt-in,.vt-anim .vt-mission-item.vt-in,.vt-anim .vt-faq-item.vt-in,
.vt-anim .vt-testi-card.vt-in,.vt-anim .vt-process-step.vt-in,
.vt-anim .vt-contact-info-card.vt-in,.vt-anim .vt-tl-item.vt-in,
.vt-anim .vt-reveal.vt-in{
  opacity:1;transform:none;
}

/* --- Hero vào trang: các dòng hiện tuần tự (chỉ .vt-page-hero, mặt tiền) --- */
@keyframes vt-hero-in{from{opacity:0;transform:translateY(16px);}to{opacity:1;transform:none;}}
@keyframes vt-hero-num{from{opacity:0;transform:translate(-50%,-50%) scale(1.12);}to{opacity:1;transform:translate(-50%,-50%) scale(1);}}
.vt-anim .vt-page-hero .vt-ph-breadcrumb,
.vt-anim .vt-page-hero .vt-label,
.vt-anim .vt-page-hero .vt-ph-rule,
.vt-anim .vt-page-hero .vt-ph-title,
.vt-anim .vt-page-hero .vt-ph-sub,
.vt-anim .vt-page-hero .vt-ph-motto,
.vt-anim .vt-page-hero .vt-ph-note{
  animation:vt-hero-in .7s both cubic-bezier(.22,.61,.36,1);
}
.vt-anim .vt-page-hero .vt-ph-breadcrumb{animation-delay:.05s}
.vt-anim .vt-page-hero .vt-label{animation-delay:.13s}
.vt-anim .vt-page-hero .vt-ph-rule{animation-delay:.21s}
.vt-anim .vt-page-hero .vt-ph-title{animation-delay:.29s}
.vt-anim .vt-page-hero .vt-ph-sub{animation-delay:.37s}
.vt-anim .vt-page-hero .vt-ph-motto{animation-delay:.42s}
.vt-anim .vt-page-hero .vt-ph-note{animation-delay:.52s}
/* số mờ khổng lồ nền phải: phóng nhẹ khi vào (giữ đúng vị trí căn giữa) */
.vt-anim .vt-page-hero .vt-ph-bignum{animation:vt-hero-num 1s both ease-out;}

/* --- Người tắt hiệu ứng: hiện tất cả, không animation --- */
@media (prefers-reduced-motion: reduce){
  .vt-anim .vt-reveal,
  .vt-anim [class*="vt-"].vt-reveal{opacity:1 !important;transform:none !important;transition:none !important;}
  .vt-anim .vt-card,.vt-anim .vt-svc-card,.vt-anim .vt-svc-item,.vt-anim .vt-proj-card,
  .vt-anim .vt-blog-card,.vt-anim .vt-download-card,.vt-anim .vt-client-cell,
  .vt-anim .vt-leader-card,.vt-anim .vt-policy-tab,.vt-anim .vt-cert-doc,
  .vt-anim .vt-cert-card,.vt-anim .vt-stat-box,.vt-anim .vt-stat,
  .vt-anim .vt-mission-item,.vt-anim .vt-faq-item,.vt-anim .vt-testi-card,
  .vt-anim .vt-process-step,.vt-anim .vt-contact-info-card,.vt-anim .vt-tl-item{
    opacity:1 !important;transform:none !important;transition:none !important;
  }
  .vt-anim .vt-page-hero .vt-ph-breadcrumb,.vt-anim .vt-page-hero .vt-label,
  .vt-anim .vt-page-hero .vt-ph-rule,.vt-anim .vt-page-hero .vt-ph-title,
  .vt-anim .vt-page-hero .vt-ph-sub,.vt-anim .vt-page-hero .vt-ph-motto,
  .vt-anim .vt-page-hero .vt-ph-note,.vt-anim .vt-page-hero .vt-ph-bignum{
    animation:none !important;
  }
}
