/* ==========================================================
   Hồng Tín — giao diện mới (2026-09-29)
   Header top bar + trang chủ (.home-v2) + footer (.hv2-footer)
   Khối Tin tức & Video giữ nguyên style cũ.
   ========================================================== */
:root {
	--hv2-navy: #0f3b78;
	--hv2-navy-dark: #0b2f63;
	--hv2-blue: #1557a8;
	--hv2-red: #d71f26;
	--hv2-text: #1d2b45;
	--hv2-muted: #6b7890;
	--hv2-line: #e5eaf2;
	--hv2-bg: #f4f7fb;
}

/* ---------- Header ---------- */
.hv2-topbar { background: var(--hv2-navy); color: #fff; font-size: .8125rem; }
.hv2-topbar .container { min-height: 38px; }
.hv2-topbar a { color: #fff; text-decoration: none; }
.hv2-topbar a:hover { color: #ffd2d4; }
.hv2-topbar-info a { display: inline-flex; align-items: center; margin-right: 2rem; }
.hv2-topbar-info i { margin-right: .5rem; font-size: .75rem; }
.hv2-lang { display: flex; align-items: center; font-weight: 600; }
.hv2-lang a { opacity: .75; }
.hv2-lang a.active { opacity: 1; }
.hv2-lang span { margin: 0 .4rem; opacity: .5; }
.hv2-search { display: flex; align-items: center; margin-left: 1.25rem; }
.hv2-search input { width: 0; padding: 0; border: 0; background: rgba(255,255,255,.12); color: #fff; height: 26px; border-radius: 3px; transition: width .3s, padding .3s; outline: none; font-size: .8125rem; }
.hv2-search input::placeholder { color: rgba(255,255,255,.7); }
.hv2-search.open input { width: 180px; padding: 0 .6rem; }
.hv2-search-toggle { background: none; border: 0; color: #fff; padding: 0 0 0 .5rem; line-height: 1; cursor: pointer; }

@media (min-width: 992px) {
	.header, .header.sticky { padding: 0 !important; }
	.header .header-top { display: none !important; }
	.header .container-inner > .row { align-items: center; min-height: 82px; }
	.header .logo img { max-height: 66px; width: auto; }
	.wrapper { padding-top: 120px; }
	.header .nav-navbar { gap: .25rem; }
	.header .nav-navbar > .nav-item > .nav-link { color: var(--hv2-text); font-weight: 600; font-size: .875rem; text-transform: uppercase; position: relative; padding-top: 1.9rem; padding-bottom: 1.9rem; }
	.header .nav-navbar > .nav-item > .nav-link .bi { display: none; }
	.header .nav-navbar > .nav-item > .nav-link::after { content: ''; position: absolute; left: 50%; right: 50%; bottom: 1.35rem; height: 2px; background: var(--hv2-red); transition: left .25s, right .25s; }
	.header .nav-navbar > .nav-item > .nav-link.active,
	.header .nav-navbar > .nav-item > .nav-link:hover { color: var(--hv2-red); }
	.header .nav-navbar > .nav-item > .nav-link.active::after,
	.header .nav-navbar > .nav-item:hover > .nav-link::after { left: .75rem; right: .75rem; }
}

/* ---------- Common ---------- */
.home-v2 { color: var(--hv2-text); }
.hv2-section { padding: 3.5rem 0; }
.hv2-bg-light { background: var(--hv2-bg); }
.hv2-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 1.5rem; margin-bottom: 2rem; }
.hv2-eyebrow { display: flex; align-items: center; color: var(--hv2-navy); font-size: .8125rem; font-weight: 700; text-transform: uppercase; letter-spacing: .03em; margin-bottom: .5rem; }
.hv2-eyebrow::before { content: ''; width: 28px; height: 2px; background: var(--hv2-red); margin-right: .75rem; }
.hv2-title { color: var(--hv2-navy); font-size: 2rem; font-weight: 700; line-height: 1.25; margin: 0; }
.hv2-head-desc { max-width: 460px; color: var(--hv2-muted); font-size: .9375rem; line-height: 1.7; margin: 0; }
.hv2-link { color: var(--hv2-blue); font-weight: 600; font-size: .9375rem; white-space: nowrap; text-decoration: none; }
.hv2-link i, .hv2-btn i { margin-left: .6rem; transition: transform .25s; display: inline-block; }
.hv2-link:hover { color: var(--hv2-red); }
.hv2-link:hover i, .hv2-btn:hover i { transform: translateX(4px); }

/* ---------- Hero ---------- */
.hv2-hero { position: relative; background: var(--hv2-navy-dark); }
.hv2-hero-item { position: relative; height: clamp(440px, 40vw, 640px); overflow: hidden; }
.hv2-hero-bg, .hv2-hero-bg img { position: absolute; inset: 0; width: 100%; height: 100%; }
.hv2-hero-bg img { object-fit: cover; }
.hv2-hero-overlay { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(6,24,54,.82) 0%, rgba(6,24,54,.55) 38%, rgba(6,24,54,0) 70%); }
.hv2-hero-inner { position: relative; height: 100%; display: flex; align-items: center; }
.hv2-hero-content { max-width: 640px; color: #fff; }
.hv2-hero-content, .hv2-hero-content p, .hv2-hero-content h1, .hv2-hero-content h2 { color: #fff; }
.hv2-hero-eyebrow { font-size: .875rem; font-weight: 500; text-transform: uppercase; letter-spacing: .02em; margin-bottom: 1rem; opacity: .95; }
.hv2-hero-eyebrow strong { font-weight: 700; }
.hv2-hero-title { font-size: clamp(1.75rem, 3vw, 2.75rem); font-weight: 700; line-height: 1.3; margin-bottom: 1.25rem; }
.hv2-hero-desc { font-size: 1rem; line-height: 1.7; margin-bottom: 2rem; opacity: .92; }
.hv2-btn { display: inline-flex; align-items: center; background: var(--hv2-red); color: #fff !important; font-weight: 600; font-size: .9375rem; padding: .85rem 1.6rem; border-radius: 3px; text-decoration: none; transition: background .25s; }
.hv2-btn:hover { background: #b5141b; }
.hv2-hero .slick-dots { position: absolute; bottom: 1.75rem; right: max(1rem, calc((100vw - 1320px) / 2 + 12px)); left: auto; width: auto; display: flex !important; gap: .5rem; margin: 0; padding: 0; list-style: none; }
.hv2-hero .slick-dots li { margin: 0; width: auto; height: auto; }
.hv2-hero .slick-dots li button { width: 34px; height: 3px; padding: 0; border: 0; background: rgba(255,255,255,.5); font-size: 0; border-radius: 2px; }
.hv2-hero .slick-dots li button::before { display: none; }
.hv2-hero .slick-dots li.slick-active button { background: var(--hv2-red); }

/* ---------- Stats ---------- */
.hv2-stats { background: #fff; border-bottom: 1px solid var(--hv2-line); }
.hv2-stats-list { display: grid; grid-template-columns: repeat(4, 1fr); }
.hv2-stat { text-align: center; padding: 2.5rem 1rem; position: relative; }
.hv2-stat + .hv2-stat::before { content: ''; position: absolute; left: 0; top: 25%; bottom: 25%; width: 1px; background: var(--hv2-line); }
.hv2-stat-value { color: var(--hv2-navy); font-size: 2.75rem; font-weight: 700; line-height: 1; margin-bottom: .6rem; }
.hv2-stat-value small { font-size: 1.5rem; font-weight: 700; }
.hv2-stat-label { color: var(--hv2-muted); font-size: .9375rem; margin: 0; }

/* ---------- Projects ---------- */
.hv2-projects { margin: 0 -10px; }
.hv2-project-wrap { padding: 0 10px; }
.hv2-project { display: block; background: #fff; border-radius: 4px; overflow: hidden; box-shadow: 0 2px 10px rgba(15,59,120,.06); text-decoration: none; transition: box-shadow .3s, transform .3s; height: 100%; }
.hv2-project:hover { box-shadow: 0 10px 28px rgba(15,59,120,.14); transform: translateY(-3px); }
.hv2-project-photo { aspect-ratio: 4 / 3; overflow: hidden; background: #dfe6ef; }
.hv2-project-photo img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s; }
.hv2-project:hover .hv2-project-photo img { transform: scale(1.06); }
.hv2-project-body { position: relative; padding: 1rem 1.1rem 2.75rem; min-height: 132px; }
.hv2-project-cat { color: var(--hv2-muted); font-size: .6875rem; font-weight: 600; text-transform: uppercase; letter-spacing: .04em; margin-bottom: .35rem; }
.hv2-project-title { color: var(--hv2-text); font-size: .9375rem; font-weight: 600; line-height: 1.4; margin-bottom: .35rem; text-transform: uppercase; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.hv2-project:hover .hv2-project-title { color: var(--hv2-blue); }
.hv2-project-loc { color: var(--hv2-muted); font-size: .8125rem; margin: 0; display: -webkit-box; -webkit-line-clamp: 1; -webkit-box-orient: vertical; overflow: hidden; }
.hv2-project-arrow { position: absolute; right: 1.1rem; bottom: 1rem; color: var(--hv2-navy); font-size: 1rem; transition: transform .25s, color .25s; }
.hv2-project:hover .hv2-project-arrow { color: var(--hv2-red); transform: translateX(4px); }
.hv2-projects .slick-track { display: flex; }
.hv2-projects .slick-slide { height: auto; }
.hv2-projects .slick-slide > div { height: 100%; }

/* slick arrows (projects + partners) */
.home-v2 .slick-arrow { position: absolute; top: 50%; transform: translateY(-50%); z-index: 2; width: 38px; height: 38px; border-radius: 50%; border: 1px solid var(--hv2-line); background: #fff; color: var(--hv2-navy); font-size: 0; box-shadow: 0 2px 8px rgba(15,59,120,.12); cursor: pointer; transition: background .25s; }
.home-v2 .slick-arrow::before { content: ''; display: block; width: 9px; height: 9px; border-top: 2px solid currentColor; border-right: 2px solid currentColor; margin: 0 auto; opacity: 1; }
.home-v2 .slick-prev { left: -8px; }
.home-v2 .slick-prev::before { transform: translateX(2px) rotate(-135deg); }
.home-v2 .slick-next { right: -8px; }
.home-v2 .slick-next::before { transform: translateX(-2px) rotate(45deg); }
.home-v2 .slick-arrow:hover { background: var(--hv2-navy); color: #fff; }
.hv2-projects .slick-arrow { top: 36%; }

/* ---------- Services ---------- */
.hv2-head--split { align-items: flex-end; }
.hv2-services { display: grid; grid-template-columns: repeat(5, 1fr); gap: 1.25rem; }
.hv2-service { display: block; background: #fff; border: 1px solid var(--hv2-line); border-radius: 4px; padding: 1.75rem 1.4rem; text-decoration: none; transition: box-shadow .3s, border-color .3s, transform .3s; position: relative; overflow: hidden; }
.hv2-service::after { content: ''; position: absolute; left: 0; bottom: 0; height: 3px; width: 0; background: var(--hv2-red); transition: width .35s; }
.hv2-service:hover { border-color: transparent; box-shadow: 0 12px 30px rgba(15,59,120,.12); transform: translateY(-3px); }
.hv2-service:hover::after { width: 100%; }
.hv2-service-ico { display: block; width: 56px; height: 56px; margin-bottom: 1.25rem; }
.hv2-service-ico .icon { display: block; width: 72px; height: 72px; transform: scale(.78); transform-origin: 0 0; }
.hv2-service-title { color: var(--hv2-navy); font-size: 1rem; font-weight: 700; line-height: 1.4; margin-bottom: .6rem; }
.hv2-service:hover .hv2-service-title { color: var(--hv2-red); }
.hv2-service-text { color: var(--hv2-muted); font-size: .8125rem; line-height: 1.6; margin: 0; }

/* ---------- Partners ---------- */
.hv2-partners .partner-slider { padding: 0 44px; }
.hv2-partners .slick-prev { left: 0; }
.hv2-partners .slick-next { right: 0; }
.hv2-partner-wrap { padding: 0 6.5px; }
.hv2-partner { display: flex; align-items: center; justify-content: center; background: #fff; border: 1px solid var(--hv2-line); border-radius: 4px; height: 99px; padding: .75rem 1rem; transition: box-shadow .3s; }
.hv2-partner:hover { box-shadow: 0 6px 18px rgba(15,59,120,.12); }
.hv2-partner img { max-width: 100%; max-height: 70px; object-fit: contain; }

/* ---------- Footer ---------- */
.hv2-footer { background: linear-gradient(135deg, #0f3b78 0%, #0b2f63 100%); color: rgba(255,255,255,.85); font-size: .875rem; }
.hv2-footer a { color: rgba(255,255,255,.85); text-decoration: none; }
.hv2-footer a:hover { color: #fff; }
/* .hv2-footer-top { padding: 3.5rem 0 2.5rem; } */
.hv2-footer-logo img { background: #fff; border-radius: 50%; padding: 4px; max-width: 140px; }
.hv2-footer-company { color: #fff; font-size: .9375rem; font-weight: 700; text-transform: uppercase; margin-bottom: 1.1rem; line-height: 1.5; }
.hv2-footer-company .brand-red { color: #ff5a60; }
.hv2-footer-info li { display: flex; gap: .75rem; margin-bottom: .65rem; line-height: 1.6; }
.hv2-footer-info i { color: rgba(255,255,255,.7); font-size: .875rem; margin-top: .15rem; flex: 0 0 auto; }
.hv2-footer-heading { color: #fff; font-size: .875rem; font-weight: 700; text-transform: uppercase; margin-bottom: 1rem; }
.hv2-footer-menu li { margin-bottom: .5rem; }
.hv2-footer-follow { margin-bottom: .75rem; }
.hv2-footer-social { display: flex; gap: .6rem; margin: 0; }
.hv2-footer-social a { display: inline-flex; align-items: center; justify-content: center; width: 32px; height: 32px; border-radius: 4px; background: rgba(255,255,255,.12); font-size: .9375rem; transition: background .25s; }
.hv2-footer-social a:hover { background: var(--hv2-red); }
.hv2-footer-bottom { border-top: 1px solid rgba(255,255,255,.12); padding: 1rem 0; font-size: .8125rem; }
.hv2-footer-legal li + li { margin-left: 1rem; padding-left: 1rem; border-left: 1px solid rgba(255,255,255,.3); }

/* ---------- Responsive ---------- */
@media (max-width: 1199.98px) {
	.hv2-services { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 991.98px) {
	.hv2-section { padding: 3rem 0; }
	.hv2-title { font-size: 1.625rem; }
	.hv2-head--split { flex-direction: column; align-items: flex-start; }
	.hv2-stats-list { grid-template-columns: repeat(2, 1fr); }
	.hv2-stat:nth-child(3)::before { display: none; }
	.hv2-stat { padding: 1.75rem .75rem; }
	.hv2-stat-value { font-size: 2.25rem; }
	.hv2-footer-logo img { max-width: 120px; }
}
@media (max-width: 767.98px) {
	.hv2-hero-item { height: 480px; }
	.hv2-hero-overlay { background: linear-gradient(0deg, rgba(6,24,54,.85) 0%, rgba(6,24,54,.45) 60%, rgba(6,24,54,.2) 100%); }
	.hv2-hero-inner { align-items: flex-end; padding-bottom: 3.5rem; }
	.hv2-hero-desc { font-size: .9375rem; margin-bottom: 1.5rem; }
	.hv2-hero .slick-dots { bottom: 1.25rem; right: 1rem; }
	.hv2-head { flex-direction: column; align-items: flex-start; gap: .75rem; }
	.hv2-services { grid-template-columns: repeat(2, 1fr); gap: .75rem; }
	.hv2-service { padding: 1.25rem 1rem; }
	.hv2-stat-value { font-size: 1.875rem; }
	.hv2-stat-value small { font-size: 1.125rem; }
	.hv2-partners .partner-slider { padding: 0 36px; }
	.hv2-partner { height: 79px; }
	.hv2-footer-bottom .container { gap: .5rem; text-align: center; }
}

/* Banner desktop gốc có viền trắng 2 bên (ảnh thật chỉ chiếm ~51% giữa) → phóng to phần giữa */
@media (min-width: 992px) {
	.hv2-hero-item.is-padded .hv2-hero-bg img { left: 50%; top: 50%; width: 196%; height: auto; min-height: 100%; transform: translate(-50%, -50%); max-width: none; }
}

/* Arrow slick: dùng icon <i> sẵn có của theme */
.home-v2 .slick-slider .slick-arrow { width: 38px; height: 38px; border-radius: 50%; border: 1px solid var(--hv2-line); background: #fff; color: var(--hv2-navy); text-indent: 0; font-size: 0; box-shadow: 0 2px 8px rgba(15,59,120,.12); }
.home-v2 .slick-slider .slick-arrow::before, .home-v2 .slick-slider .slick-arrow::after { display: none; }
.home-v2 .slick-slider .slick-arrow i { font-size: .9375rem; margin: 0; color: inherit; }
.home-v2 .slick-slider .slick-arrow:hover { background: var(--hv2-navy); color: #fff; opacity: 1; }
.home-v2 .hv2-projects.slick-slider .slick-arrow { top: 36% !important; }
.home-v2 .hv2-projects .slide-prev { left: -8px; right: auto; }
.home-v2 .hv2-projects .slide-next { right: -8px; left: auto; }
.home-v2 .hv2-partners .slide-prev { left: 0; right: auto; }
.home-v2 .hv2-partners .slide-next { right: 0; left: auto; }

/* Khối Tin tức nằm trên nền xám nhạt → ô tin nền trắng cho nổi */
.home-v2 .hv2-bg-light .video-item { background-color: #fff; }

/* Hình tòa nhà (skyline) nối liền vào footer, cùng màu footer */
.hv2-skyline { height: clamp(90px, 14.5vw, 210px); background: url(../images/others/footer-skyline-3.png) center bottom / 100% 100% no-repeat; margin-bottom: -15px; pointer-events: none; }
.hv2-footer { background: linear-gradient(180deg, #0f3b78 0%, #0b2f63 100%); }
.hv2-footer-top { padding-top: 1.75rem; }
.home-v2 .hv2-partners { padding-bottom: 0rem; }
@media (max-width: 767.98px) {
	.hv2-skyline { height: 90px; }
	.home-v2 .hv2-partners { padding-bottom: 0rem; }
}

/* Banner bấm được → sang trang chi tiết dự án (nút đỏ vẫn đi trang Giới thiệu) */
.hv2-hero-link { position: absolute; inset: 0; z-index: 1; }
.hv2-hero-item.has-link .hv2-hero-inner { position: relative; z-index: 2; pointer-events: none; }
.hv2-hero-item.has-link .hv2-hero-content a { pointer-events: auto; }

/* Hero trên điện thoại: khung theo tỉ lệ ảnh dọc 1555x2442 (cắt rất ít), chữ gọn dồn xuống đáy */
@media (max-width: 767.98px) {
	.hv2-hero-item { height: auto; aspect-ratio: 1555 / 2300; max-height: calc(100svh - 70px); min-height: 420px; }
	.hv2-hero-overlay { background: linear-gradient(0deg, rgba(6,24,54,.88) 0%, rgba(6,24,54,.55) 28%, rgba(6,24,54,0) 55%); }
	.hv2-hero-inner { padding-bottom: 2.75rem; }
	.hv2-hero-eyebrow { font-size: .6875rem; margin-bottom: .4rem; letter-spacing: 0; }
	.hv2-hero-title { font-size: 1.375rem; line-height: 1.35; margin-bottom: .9rem; }
	.hv2-hero-title br { display: none; }
	.hv2-hero-desc { display: none; }
	.hv2-btn { font-size: .8125rem; padding: .6rem 1.1rem; }
	.hv2-hero .slick-dots { bottom: 1rem; left: 1rem; right: auto; }
	.hv2-hero .slick-dots li button { width: 22px; }
}

/* ===== Đợt chỉnh 2026-09-30 ===== */
/* Tiêu đề khối: 1 dòng + gạch đỏ bên dưới */
.hv2-title { position: relative; padding-bottom: .9rem; }
.hv2-title::after { content: ''; position: absolute; left: 0; bottom: 0; width: 48px; height: 3px; border-radius: 2px; background: var(--hv2-red); }
.hv2-title::before { content: ''; position: absolute; left: 54px; bottom: 0; width: 10px; height: 3px; border-radius: 2px; background: var(--hv2-red); opacity: .45; }
.hv2-head { align-items: flex-end; }
.hv2-head .hv2-link { padding-bottom: .9rem; }

/* Số liệu: dòng mô tả rõ hơn */
.hv2-stat-label { color: var(--hv2-text); font-size: 1rem; font-weight: 600; letter-spacing: .01em; }
.hv2-stat-value { margin-bottom: .5rem; }

/* Lĩnh vực hoạt động: card chuyên nghiệp hơn */
.hv2-service { display: flex; flex-direction: column; padding: 1.75rem 1.4rem 1.4rem; }
.hv2-service-no { position: absolute; top: 1.1rem; right: 1.25rem; font-size: 1.75rem; font-weight: 700; line-height: 1; color: var(--hv2-navy); opacity: .08; transition: opacity .3s; }
.hv2-service:hover .hv2-service-no { opacity: .18; }
.hv2-service-ico { display: flex; align-items: center; justify-content: center; width: 64px; height: 64px; border-radius: 12px; background: #eaf1fb; color: var(--hv2-navy); margin-bottom: 1.25rem; transition: background .3s, color .3s; }
.hv2-service:hover .hv2-service-ico { background: var(--hv2-navy); color: #fff; }
.hv2-svc-svg { width: 38px; height: 38px; }
.hv2-service-ico .icon { transform: scale(.7); transform-origin: center; }
.hv2-service-text { flex: 1 1 auto; margin-bottom: 1rem; }
.hv2-service-more { margin-top: auto; color: var(--hv2-blue); font-size: .8125rem; font-weight: 600; }
.hv2-service-more i { margin-left: .4rem; display: inline-block; transition: transform .25s; }
.hv2-service:hover .hv2-service-more { color: var(--hv2-red); }
.hv2-service:hover .hv2-service-more i { transform: translateX(4px); }

/* Tin tức & Video: giữ layout, đổi style cho đồng bộ */
.hv2-news .video-list { margin-top: 0 !important; }
.hv2-news .video-item { background: #fff; border-radius: 4px; overflow: hidden; box-shadow: 0 2px 10px rgba(15,59,120,.06); margin-bottom: 1rem; transition: box-shadow .3s, transform .3s; }
.hv2-news .video-item:last-child { margin-bottom: 0; }
.hv2-news .video-item:hover { box-shadow: 0 10px 28px rgba(15,59,120,.12); transform: translateY(-2px); }
.hv2-news .video-date { background: var(--hv2-navy); border-radius: 0 0 4px 0; }
.hv2-news .video-date span { font-family: inherit; font-weight: 700; }
.hv2-news .video-date em { font-family: inherit; font-style: normal; }
.hv2-news .video-detail { padding-top: .9rem; padding-bottom: .9rem; }
.hv2-news .video-title { color: var(--hv2-navy); font-size: .9375rem; line-height: 1.4; text-transform: none; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.hv2-news .video-title:hover { color: var(--hv2-red); }
.hv2-news .video-desc { color: var(--hv2-muted); font-size: .8125rem; line-height: 1.6; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.hv2-news .youtube-view figure, .hv2-news .row figure { border-radius: 4px; overflow: hidden; box-shadow: 0 2px 10px rgba(15,59,120,.08); }
.hv2-news .video-play { width: 64px; height: 64px; }

@media (max-width: 767.98px) {
	.hv2-stat-label { font-size: .875rem; }
	.hv2-service-ico { width: 52px; height: 52px; border-radius: 10px; }
	.hv2-svc-svg { width: 30px; height: 30px; }
	.hv2-head .hv2-link { padding-bottom: 0; }
}

/* Mobile: tiêu đề khối căn trái (ghi đè .hv2-head align-items: flex-end ở trên) */
@media (max-width: 767.98px) {
	.hv2-head { align-items: flex-start; }
}

/* Card dự án: phần chữ kéo dài hết card → mũi tên luôn nằm cùng 1 hàng */
.hv2-project { display: flex; flex-direction: column; }
.hv2-project-photo { flex: 0 0 auto; }
.hv2-project-body { flex: 1 1 auto; }

/* Footer: chữ HỒNG TÍN dạng ảnh */
.hv2-footer-company .hv2-wordmark { display: inline-block; height: 1.4em; width: auto; vertical-align: -0.12em; margin: 0 .15em; }
@media (max-width: 767.98px) {
	.hv2-footer-logo { text-align: center; }
	.hv2-footer-logo img { margin: 0 auto; }
	.hv2-footer-company { text-align: center; }
	.hv2-footer-company .hv2-wordmark { display: block; height: 30px; margin: .5rem auto; }
}

/* ===== Lĩnh vực hoạt động: card ảnh nền (phương án A) ===== */
.hv2-svc-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 1.25rem; }
.hv2-svc-card { position: relative; display: block; aspect-ratio: 10 / 9; border-radius: 6px; overflow: hidden; background: var(--hv2-navy); box-shadow: 0 4px 16px rgba(15,59,120,.12); text-decoration: none; isolation: isolate; }
.hv2-svc-img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform .6s ease; z-index: -2; }
.hv2-svc-shade { position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg, rgba(8,33,72,0) 30%, rgba(8,33,72,.55) 58%, rgba(8,33,72,.92) 100%); transition: background .4s; }
.hv2-svc-body { position: absolute; left: 0; right: 0; bottom: 0; padding: 1.1rem 1.1rem 1rem; display: flex; flex-direction: column; color: #fff; }
.hv2-svc-icon { display: flex; align-items: center; justify-content: center; width: 44px; height: 44px; border-radius: 10px; background: rgba(255,255,255,.14); border: 1px solid rgba(255,255,255,.28); color: #fff; margin-bottom: .7rem; backdrop-filter: blur(2px); transition: background .3s, border-color .3s; }
.hv2-svc-icon .hv2-svc-svg { width: 26px; height: 26px; }
.hv2-svc-name { font-size: 1rem; font-weight: 700; line-height: 1.35; padding-right: 1.75rem; text-shadow: 0 1px 3px rgba(0,0,0,.25); }
.hv2-svc-arrow { position: absolute; right: 1.1rem; bottom: 1rem; font-size: 1.05rem; transition: transform .25s; }
.hv2-svc-card::after { content: ''; position: absolute; left: 0; bottom: 0; height: 3px; width: 0; background: var(--hv2-red); transition: width .4s; }
.hv2-svc-card:hover .hv2-svc-img { transform: scale(1.07); }
.hv2-svc-card:hover .hv2-svc-shade { background: linear-gradient(180deg, rgba(8,33,72,.15) 0%, rgba(8,33,72,.7) 50%, rgba(8,33,72,.95) 100%); }
.hv2-svc-card:hover .hv2-svc-icon { background: var(--hv2-red); border-color: var(--hv2-red); }
.hv2-svc-card:hover .hv2-svc-arrow { transform: translateX(4px); }
.hv2-svc-card:hover::after { width: 100%; }
@media (max-width: 1199.98px) { .hv2-svc-grid { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 767.98px) {
	.hv2-svc-grid { grid-template-columns: repeat(2, 1fr); gap: .75rem; }
	.hv2-svc-card:last-child:nth-child(odd) { grid-column: 1 / -1; aspect-ratio: 2 / 1; }
	.hv2-svc-body { padding: .8rem .8rem .75rem; }
	.hv2-svc-icon { width: 36px; height: 36px; margin-bottom: .5rem; }
	.hv2-svc-icon .hv2-svc-svg { width: 22px; height: 22px; }
	.hv2-svc-name { font-size: .875rem; padding-right: 1.25rem; }
	.hv2-svc-arrow { right: .8rem; bottom: .75rem; font-size: .9rem; }
}

/* ===== Header + menu trượt trên điện thoại/tablet (< 992px) ===== */
@media (max-width: 991.98px) {
	.header, .header.sticky { padding: .5rem 0 !important; box-shadow: 0 2px 12px rgba(15,59,120,.08); }
	.header .header-top { display: none !important; }
	.header .container-inner > .row { align-items: center; }
	.header .logo a { display: block; height: 48px; overflow: hidden; }
	.header .logo img { height: 48px; width: auto; max-width: none; }
	.wrapper { padding-top: 64px; }

	/* Nút ☰ */
	.btn-toggle { background: transparent !important; width: 44px; height: 40px; padding: 10px 8px; border-radius: 6px; }
	.btn-toggle span, .btn-toggle span::before, .btn-toggle span::after { background-color: var(--hv2-navy); height: 2px; border-radius: 2px; }
	.btn-toggle:active { background: #eaf1fb !important; }

	/* Panel menu */
	.main-menu { width: 300px; max-width: 86vw; right: -300px; padding: 0; background: #fff; box-shadow: -8px 0 30px rgba(8,33,72,.18); }
	.open-menu .main-menu { right: 0; }
	.open-menu .wrapper { right: min(300px, 86vw); }
	.overlay { background: rgba(8,33,72,.55); }
	.main-menu-inner { height: 100%; display: flex; flex-direction: column; overflow-y: auto; position: relative; }
	.main-menu .logo { margin: 0; padding: 1rem 1.25rem; border-bottom: 1px solid var(--hv2-line); height: auto; width: auto; }
	.main-menu .logo a { text-align: left; }
	.main-menu .logo img { height: 52px; width: auto; }
	.hv2-mm-close { position: absolute; top: 1.4rem; right: 1rem; width: 36px; height: 36px; border: 0; border-radius: 50%; background: var(--hv2-bg); color: var(--hv2-navy); font-size: .95rem; display: flex; align-items: center; justify-content: center; z-index: 2; }
	.hv2-mm-close:active { background: #e3eaf5; }

	.main-menu .nav { height: auto; margin: 0; padding: .5rem 0; flex: 0 0 auto; }
	.main-menu .nav-navbar > .nav-item > .nav-link { position: relative; height: auto; padding: .85rem 1.25rem; color: var(--hv2-text); font-size: .9375rem; font-weight: 600; border-bottom: 1px solid #eef2f8; }
	.main-menu .nav-navbar > .nav-item > .nav-link .bi { display: none; }
	.main-menu .nav-navbar > .nav-item.dropdown > .nav-link::after { content: ''; width: 8px; height: 8px; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: rotate(45deg); margin-top: -5px; transition: transform .25s, margin .25s; opacity: .6; flex: 0 0 auto; }
	.main-menu .nav-navbar > .nav-item.dropdown.active > .nav-link::after { transform: rotate(225deg); margin-top: 4px; }
	.main-menu .nav-navbar > .nav-item > .nav-link.active,
	.main-menu .nav-navbar > .nav-item.active > .nav-link { color: var(--hv2-red); }
	.main-menu .nav-navbar > .nav-item > .nav-link.active::before { content: ''; position: absolute; left: 0; top: .6rem; bottom: .6rem; width: 3px; border-radius: 0 3px 3px 0; background: var(--hv2-red); }

	/* Menu con */
	.main-menu .dropdown-content { background: var(--hv2-bg); border: 0; box-shadow: none; padding: .35rem 0; min-width: 0; max-width: none !important; }
	.main-menu .dropdown-content .dropdown-link { display: block; padding: .6rem 1.25rem .6rem 2rem; color: #44526b; font-size: .875rem; font-weight: 500; background: none; }
	.main-menu .dropdown-content .dropdown-link:hover, .main-menu .dropdown-content .dropdown-link.active { color: var(--hv2-red); background: none; }
	.main-menu .dropdown-mega .dropdown-content { flex-direction: column; transform: none !important; }
	.main-menu .dropdown-mega .dropdown-item { width: 100%; margin: 0 !important; }
	.main-menu .dropdown-mega .dropdown-item > .dropdown-link { color: var(--hv2-navy); font-weight: 700; font-size: .8125rem; text-transform: uppercase; letter-spacing: .02em; padding-top: .75rem; pointer-events: none; }
	.main-menu .dropdown-mega .navbar-nav { padding-left: 0; }
	.main-menu .dropdown-mega .navbar-nav a { padding: .5rem 1.25rem .5rem 2.75rem; border: 0; color: #44526b; font-size: .875rem; }
	.main-menu .dropdown-mega .navbar-nav a:hover { color: var(--hv2-red); }

	/* Liên hệ + ngôn ngữ + MXH cuối panel */
	.hv2-mm-extra { margin-top: auto; background: var(--hv2-navy); color: #fff; padding: 1.1rem 1.25rem 1.25rem; }
	.hv2-mm-contact { display: flex; align-items: center; gap: .75rem; color: #fff; text-decoration: none; padding: .5rem 0; }
	.hv2-mm-contact i { width: 34px; height: 34px; flex: 0 0 34px; border-radius: 50%; background: rgba(255,255,255,.12); display: flex; align-items: center; justify-content: center; font-size: .875rem; }
	.hv2-mm-contact span { display: flex; flex-direction: column; font-size: .875rem; font-weight: 600; line-height: 1.3; word-break: break-all; }
	.hv2-mm-contact small { font-size: .6875rem; font-weight: 400; opacity: .7; text-transform: uppercase; letter-spacing: .03em; }
	.hv2-mm-lang { display: flex; gap: .5rem; margin: .9rem 0 .9rem; }
	.hv2-mm-lang a { flex: 1; text-align: center; padding: .4rem 0; border: 1px solid rgba(255,255,255,.3); border-radius: 4px; color: #fff; font-size: .8125rem; font-weight: 600; text-decoration: none; }
	.hv2-mm-lang a.active { background: #fff; color: var(--hv2-navy); border-color: #fff; }
	.hv2-mm-social { display: flex; gap: .5rem; }
	.hv2-mm-social a { width: 34px; height: 34px; border-radius: 4px; background: rgba(255,255,255,.12); color: #fff; display: flex; align-items: center; justify-content: center; font-size: .9375rem; }
	.hv2-mm-social a:active { background: var(--hv2-red); }
}

/* Khẩu hiệu trong banner in đỏ */
.hv2-slogan { color: #ff3b44; font-weight: 700; white-space: nowrap; }

/* Header điện thoại: cố định cao 64px, logo căn giữa theo chiều dọc */
@media (max-width: 991.98px) {
	.header, .header.sticky { height: 64px; padding: 0 !important; display: flex; align-items: center; }
	.header > .container { width: 100%; }
	.header .container-inner > .row { min-height: 64px; margin-top: 0; margin-bottom: 0; }
	.header .container-inner > .row > [class*="col-"] { display: flex; align-items: center; }
	.header .logo { width: auto; height: auto; margin: 0; display: flex; align-items: center; }
	.header .logo a { display: flex; align-items: center; height: 50px; width: auto; }
	.header .logo img { height: 50px; width: 50px; object-fit: contain; }
	.wrapper { padding-top: 64px; }
}
@media (min-width: 992px) {
	.header .logo { height: 66px; overflow: hidden; display: flex; align-items: center; }
	.header .container-inner > .row { height: 82px; }
}

/* Video nhỏ: <= 3 video → lưới 3 cột; > 3 video → slider trượt */
.hv2-video-slider:not(.is-slider) { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; }
.hv2-video-slider.is-slider { margin: 0 -8px; }
.hv2-video-slider.is-slider .hv2-video-item { padding: 0 8px; }
.hv2-video-item figure { margin: 0; }
.home-v2 .hv2-video-slider .slick-arrow { width: 32px; height: 32px; top: 50% !important; }
.home-v2 .hv2-video-slider .slide-prev { left: 0; right: auto; }
.home-v2 .hv2-video-slider .slide-next { right: 0; left: auto; }
.home-v2 .hv2-video-slider .slick-arrow i { font-size: .8125rem; }
