/* Màu và phông theo nhận diện LVA (Hồ sơ công ty/nhan-dien.css, brand-cho-ai.md). */
:root {
  --chinh: #1C4384; --nen-toi: #0F2A5C; --nhan: #EF7630; --cam-dam: #AC5523;
  --nen: #F2F5FA; --chu: #13213F; --chu-nhat: #F6F8FC; --vien: #BFCADD; --phu: #4A5873;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 76px; }
body { margin: 0; background: #fff; color: var(--chu); font: 400 17px/1.7 Inter, system-ui, sans-serif; }
img { max-width: 100%; height: auto; display: block; }
a { color: var(--chinh); }
h1, h2, h3 { font-family: Lora, Georgia, serif; font-weight: 700; line-height: 1.3; margin: 0 0 .7em; }
h2 { font-size: clamp(26px, 4vw, 34px); color: var(--chinh); }
h3 { font-size: 22px; color: var(--chinh); }
p { margin: 0 0 1.1em; }
.khung { max-width: 1040px; margin: 0 auto; padding: 0 20px; }
.hep { max-width: 720px; }
.muc { padding: 64px 0; }
.muc-nhat { background: var(--nen); }
.chu-nho { font-size: 14px; color: var(--phu); }

.thanh-dau { position: sticky; top: 0; z-index: 10; background: #fff; border-bottom: 1px solid #E4E8F0; }
.thanh-dau-trong { display: flex; justify-content: space-between; align-items: center; padding-top: 6px; padding-bottom: 6px; }
.thanh-dau img { height: 44px; width: auto; }

.nut { display: inline-block; border: 0; border-radius: 10px; padding: 15px 26px; font: 700 17px/1.2 Inter, sans-serif; text-decoration: none; cursor: pointer; text-align: center; }
.nut:focus-visible, input:focus-visible, summary:focus-visible { outline: 3px solid var(--nhan); outline-offset: 2px; }
.nut-chinh { background: var(--chinh); color: var(--chu-nhat); }
.nut-chinh:hover { background: #183A72; }
.nut-noi-bat { background: var(--nhan); color: var(--chu); }
.nut-noi-bat:hover { background: #F39C6A; }
.nut-nho { padding: 13px 18px; font-size: 15px; }

.hero { color: var(--chu-nhat); background: radial-gradient(60% 70% at 92% 8%, rgba(239,118,48,.5), transparent 70%), linear-gradient(135deg, #173B7A, #0F2A5C 60%, #0A2048); position: relative; overflow: hidden; }
.hero::after { content: ""; position: absolute; inset: 0; background: url(/anh/nen-hero.jpg) right bottom / cover no-repeat; opacity: .45; mix-blend-mode: screen; pointer-events: none; }
.hero-trong { position: relative; z-index: 1; padding-top: 72px; padding-bottom: 84px; max-width: 880px; margin-left: max(0px, calc((100% - 1040px) / 2)); }
.nhan { color: #F7BD9C; font-weight: 700; font-size: 16px; margin-bottom: 14px; }
.hero h1 { font-size: clamp(30px, 5.2vw, 50px); line-height: 1.22; }
.hero-phu { font-size: clamp(18px, 2.4vw, 21px); max-width: 680px; margin-bottom: 28px; }

.the-chuyen { margin-top: 34px; padding: 24px 26px; background: var(--nen); border-left: 5px solid var(--nhan); border-radius: 0 10px 10px 0; }
.the-chuyen p:last-child { margin-bottom: 0; font-weight: 600; }

.dan { font-size: 18px; max-width: 760px; }
.so-lieu { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; margin: 22px 0 10px; }
.so-lieu-3 { grid-template-columns: repeat(3, 1fr); }
.so-lieu div { background: #fff; border: 1px solid #E4E8F0; border-radius: 12px; padding: 20px 18px; }
.so-lieu b { display: block; font: 700 40px/1.1 Lora, serif; color: var(--chinh); margin-bottom: 8px; }
.so-lieu span { font-size: 15.5px; line-height: 1.5; display: block; }

.lo-trinh { list-style: none; counter-reset: buoi; margin: 30px 0 38px; padding: 0; max-width: 820px; }
.lo-trinh li { counter-increment: buoi; position: relative; padding: 0 0 26px 62px; }
.lo-trinh li::before { content: counter(buoi); position: absolute; left: 0; top: 0; width: 42px; height: 42px; border-radius: 50%; background: var(--chinh); color: var(--chu-nhat); display: grid; place-items: center; font: 700 19px Lora, serif; }
.lo-trinh li:not(:last-child)::after { content: ""; position: absolute; left: 20px; top: 46px; bottom: 4px; width: 2px; background: var(--vien); }

.hai-cot { display: grid; grid-template-columns: 1.25fr 1fr; gap: 36px; align-items: center; }
.the-anh { border-radius: 12px; box-shadow: 0 12px 30px rgba(15,42,92,.22); }

.ds-ho-so { list-style: none; padding: 0; margin: 22px 0 0; display: grid; gap: 10px; }
.ds-ho-so li { padding: 13px 16px 13px 46px; background: var(--nen); border-radius: 10px; position: relative; font-weight: 500; }
.ds-ho-so li::before { content: "✓"; position: absolute; left: 17px; color: var(--cam-dam); font-weight: 700; }

.muc-toi { color: var(--chu-nhat); background: radial-gradient(50% 80% at 8% 0%, rgba(239,118,48,.28), transparent 70%), linear-gradient(135deg, #173B7A, #0F2A5C 70%, #0A2048); }
.muc-toi h2 { color: var(--chu-nhat); }
.gv { display: grid; grid-template-columns: 300px 1fr; gap: 40px; align-items: center; }
.gv img { border-radius: 14px; }

.trich { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; margin-top: 26px; }
blockquote { margin: 0; padding: 22px; background: var(--nen); border-radius: 12px; font-size: 16px; line-height: 1.65; }
cite { display: block; margin-top: 12px; font-style: normal; font-size: 14px; color: var(--phu); }

.muc-dat { background: var(--chinh); background: linear-gradient(135deg, #173B7A, #0F2A5C); color: var(--chu-nhat); }
.muc-dat h2 { color: var(--chu-nhat); }
.muc-dat a { color: #FBD9C5; }
.dat-hai-cot { display: grid; grid-template-columns: 1fr 420px; gap: 44px; align-items: start; }
.gia { font: 700 44px/1.2 Lora, serif; color: #F7BD9C; }
.gia small { display: block; font: 400 16px Inter, sans-serif; color: var(--chu-nhat); margin-top: 4px; }
.the-dat { background: #fff; color: var(--chu); border-radius: 14px; padding: 26px; box-shadow: 0 16px 40px rgba(5,15,40,.35); }
.the-dat-dan { font-size: 15.5px; }
label { display: block; font-weight: 600; font-size: 15px; margin-bottom: 14px; }
input { display: block; width: 100%; margin-top: 5px; padding: 12px 13px; border: 1px solid var(--vien); border-radius: 8px; font: 400 17px Inter, sans-serif; color: var(--chu); }
.the-dat .nut { width: 100%; }
.nut:disabled { opacity: .6; cursor: wait; }
.o-bay { position: absolute; left: -9999px; }
.bao-loi { color: #A32A12; font-size: 15px; min-height: 0; margin: 0 0 10px; }
#anh-qr { margin: 0 auto 14px; width: 280px; max-width: 100%; background: var(--nen); min-height: 200px; }
dl { display: grid; grid-template-columns: 112px 1fr; gap: 6px 10px; margin: 0 0 12px; font-size: 15.5px; }
dt { color: var(--phu); } dd { margin: 0; font-weight: 600; overflow-wrap: anywhere; }
.ma-don { color: var(--cam-dam); font-size: 18px; letter-spacing: .03em; }
.dang-cho { font-weight: 600; color: var(--chinh); margin: 0; }
.dang-cho::after { content: ""; display: inline-block; width: 12px; height: 12px; margin-left: 8px; border: 2px solid var(--vien); border-top-color: var(--chinh); border-radius: 50%; animation: quay 1s linear infinite; vertical-align: -1px; }
@keyframes quay { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } .dang-cho::after { animation: none; } }

details { border-bottom: 1px solid #E4E8F0; }
summary { cursor: pointer; font-weight: 600; padding: 14px 0; }
details p { margin: 0 0 14px; }

.chan { background: var(--nen-toi); color: var(--chinh-200, #BFCADD); padding: 34px 0 96px; font-size: 15px; }
.chan a { color: #F6F8FC; }
.chan p { margin-bottom: .5em; }
.nut-dinh { display: none; }

@media (max-width: 860px) {
  body { font-size: 16.5px; }
  .muc { padding: 46px 0; }
  .khung { padding: 0 16px; }
  .so-lieu, .so-lieu-3 { grid-template-columns: 1fr 1fr; gap: 10px; }
  .so-lieu-3 div:first-child { grid-column: 1 / -1; }
  .so-lieu b { font-size: 34px; }
  .hai-cot, .gv, .trich, .dat-hai-cot { grid-template-columns: 1fr; gap: 22px; }
  .gv img { max-width: 240px; }
  .the-dat { padding: 20px; }
  .hero-trong { padding-top: 46px; padding-bottom: 56px; }
  .hero::after { opacity: .28; }
  .lo-trinh li { padding-left: 54px; }
  .nut-dinh { display: block; position: fixed; left: 12px; right: 12px; bottom: 12px; z-index: 9; box-shadow: 0 8px 24px rgba(5,15,40,.4); }
  .nut-dinh.an { display: none; }
}

/* ---- Khối màu nhiều lớp và chuyển động ---- */
@property --p { syntax: "<number>"; inherits: true; initial-value: 0; }

.hero { background: radial-gradient(70% 90% at 96% 0%, rgba(239,118,48,.42), transparent 62%), radial-gradient(60% 80% at 0% 100%, rgba(92,120,166,.45), transparent 65%), linear-gradient(135deg, #173B7A, #0F2A5C 58%, #0A2048); }
.hero::after { opacity: .3; }
.vang-sang { position: absolute; width: 440px; height: 440px; right: 4%; top: -200px; border-radius: 50%; background: radial-gradient(circle, rgba(239,118,48,.42), transparent 68%); animation: tho 7s ease-in-out infinite alternate; pointer-events: none; }
@keyframes tho { from { transform: translate(-30px, 0) scale(1); opacity: .55; } to { transform: translate(40px, 40px) scale(1.2); opacity: 1; } }
.hero-trong { max-width: 1040px; margin: 0 auto; display: grid; grid-template-columns: 1.35fr 1fr; gap: 42px; align-items: center; padding-bottom: 88px; }
.nhan-chu { color: #F7BD9C; background: linear-gradient(transparent 88%, var(--nhan) 88%); }
.nut-nhip { animation: nhip 2.6s ease-in-out infinite; }
@keyframes nhip { 0%, 100% { box-shadow: 0 0 0 0 rgba(239,118,48,.55); } 60% { box-shadow: 0 0 0 14px rgba(239,118,48,0); } }

.to-hd { position: relative; background: #fff; color: var(--chu); border-radius: 12px; padding: 20px; box-shadow: 0 24px 60px rgba(4,12,32,.55); font-size: 15px; animation: troi 6s ease-in-out infinite alternate; }
@keyframes troi { from { transform: translateY(0); } to { transform: translateY(-10px); } }
.to-dau { border-bottom: 2px solid var(--chinh); padding-bottom: 10px; margin-bottom: 8px; }
.to-dau b { display: block; font: 700 18px/1.3 Lora, serif; color: var(--chinh); }
.to-dau span { font-size: 13.5px; color: var(--phu); }
.to-hd ul { list-style: none; margin: 0; padding: 0; }
.to-hd li { position: relative; padding: 8px 10px; border-radius: 6px; margin-top: 4px; }
.to-hd li[class]::after { content: ""; position: absolute; right: 10px; top: 50%; width: 11px; height: 11px; margin-top: -5.5px; border-radius: 50%; background: var(--c); }
.co-do { --c: #C8402A; background: #FBE6E1; font-weight: 600; }
.co-cam { --c: #EF7630; background: #FDEFE6; font-weight: 600; }
.co-vang { --c: #E2B100; background: #FCF5D7; font-weight: 600; }
.to-hd li:nth-child(2) { animation: hien-dong .6s .5s both; } .to-hd li:nth-child(3) { animation: hien-dong .6s .9s both; }
.to-hd li:nth-child(4) { animation: hien-dong .6s 1.3s both; } .to-hd li:nth-child(5) { animation: hien-dong .6s 1.7s both; }
@keyframes hien-dong { from { background: #fff; transform: translateX(-8px); } }
.bong-chat { position: absolute; left: -30px; bottom: -48px; margin: 0; background: var(--nhan); color: var(--chu); padding: 9px 15px; border-radius: 14px 14px 14px 3px; font-weight: 700; box-shadow: 0 10px 24px rgba(4,12,32,.4); animation: bat-len .5s 2.3s both cubic-bezier(.2,1.5,.5,1); }
.bong-chat b { display: block; font-size: 12px; font-weight: 500; }
@keyframes bat-len { from { transform: scale(.4) translateY(20px); opacity: 0; } }

.the-chuyen { position: relative; overflow: hidden; color: var(--chu-nhat); border-left: 0; border-radius: 16px; padding: 30px; background: radial-gradient(70% 120% at 100% 0%, rgba(239,118,48,.45), transparent 60%), linear-gradient(135deg, #1C4384, #0F2A5C); box-shadow: 0 18px 40px rgba(15,42,92,.28); }
.the-chuyen p:last-child { color: #F7BD9C; }

.muc-sau { color: var(--chu-nhat); background: radial-gradient(50% 45% at 100% 0%, rgba(239,118,48,.3), transparent 70%), radial-gradient(45% 40% at 0% 60%, rgba(92,120,166,.4), transparent 70%), linear-gradient(170deg, #173B7A, #0F2A5C 55%, #0A2048); padding: 80px 0; }
.muc-sau h2 { color: var(--chu-nhat); }
.muc-sau .chu-nho { color: #BFCADD; }
.muc-sau .so-lieu div { background: rgba(255,255,255,.08); border-color: rgba(255,255,255,.18); backdrop-filter: blur(4px); }
.muc-sau .so-lieu b { color: #F7BD9C; }
.muc-sau .lo-trinh li::before { background: var(--nhan); color: var(--chu); box-shadow: 0 0 0 5px rgba(239,118,48,.22); }
.muc-sau .lo-trinh li:not(:last-child)::after { background: linear-gradient(var(--nhan), rgba(239,118,48,.15)); }
.lo-trinh li { padding-top: 2px; }
.lo-trinh b { color: #F7BD9C; }

.muc-am { background: radial-gradient(45% 70% at 100% 100%, rgba(239,118,48,.2), transparent 70%), linear-gradient(160deg, #FDEFE6, #F2F5FA 70%); }
#ho-so p { max-width: 760px; }
.ds-ho-so { grid-template-columns: repeat(3, 1fr); gap: 14px; }
.ds-ho-so li { background: #fff; padding: 46px 16px 16px; border-radius: 12px; box-shadow: 0 8px 22px rgba(15,42,92,.1); transition: transform .25s, box-shadow .25s; }
.ds-ho-so li::before { left: 16px; top: 14px; width: 24px; height: 24px; border-radius: 50%; background: var(--nhan); color: var(--chu); display: grid; place-items: center; font-size: 14px; }
.ds-ho-so li:hover { transform: translateY(-5px); box-shadow: 0 16px 30px rgba(15,42,92,.18); }

.muc-toi { position: relative; overflow: hidden; }
.muc-toi::before { content: ""; position: absolute; right: -180px; top: -180px; width: 620px; height: 620px; border-radius: 50%; background: repeating-radial-gradient(circle, transparent 0 26px, rgba(255,255,255,.07) 26px 28px); animation: xoay 60s linear infinite; }
@keyframes xoay { to { transform: rotate(360deg); } }
.gv { position: relative; }
.gv img { box-shadow: -14px 14px 0 var(--nhan), 0 22px 44px rgba(4,12,32,.5); }

.so-lieu-3 .vong b { width: 92px; height: 92px; border-radius: 50%; display: grid; place-items: center; font-size: 25px; background: radial-gradient(closest-side, #fff 76%, transparent 78%), conic-gradient(var(--nhan) calc(var(--p) * 1%), #E4E8F0 0); transition: --p 1.3s ease-out; }
.chua-chay .vong b { --p: 0; }
.trich blockquote { position: relative; background: #fff; box-shadow: 0 10px 26px rgba(15,42,92,.11); padding-top: 42px; transition: transform .25s; border-top: 4px solid var(--nhan); }
.trich blockquote::before { content: "“"; position: absolute; left: 18px; top: 2px; font: 700 54px/1 Lora, serif; color: var(--nhan); }
.trich blockquote:hover { transform: translateY(-4px); }
#hoc-thu { background: linear-gradient(180deg, #F2F5FA, #fff); }

.muc-dat { position: relative; overflow: hidden; background: radial-gradient(45% 60% at 100% 0%, rgba(239,118,48,.5), transparent 70%), radial-gradient(45% 60% at 0% 100%, rgba(92,120,166,.45), transparent 70%), linear-gradient(135deg, #173B7A, #0F2A5C 60%, #0A2048); }
.dat-hai-cot { position: relative; }

/* Khối hiện dần khi cuộn tới. Không có script thì mọi thứ vẫn hiện đủ. */
.cd .truot { opacity: .12; transform: translateY(26px); }
.truot { transition: opacity .7s ease-out, transform .7s ease-out; }
.cd .truot.hien { opacity: 1; transform: none; }

@media (max-width: 860px) {
  .hero::after { opacity: .18; }
  .vang-sang { width: 300px; height: 300px; right: -90px; top: -130px; }
  .hero-trong { grid-template-columns: 1fr; gap: 34px; padding-bottom: 76px; }
  .to-hd { margin: 0 14px 18px 18px; font-size: 14.5px; }
  .bong-chat { left: -14px; bottom: -40px; }
  .muc-sau { padding: 56px 0; }
  .ds-ho-so { grid-template-columns: 1fr; }
  .ds-ho-so li { padding: 14px 14px 14px 52px; }
  .ds-ho-so li::before { top: 14px; left: 14px; }
  .gv img { margin-left: 14px; }
  .muc-toi::before { width: 400px; height: 400px; right: -160px; top: -140px; }
  .the-chuyen { padding: 22px; }
}

@media (prefers-reduced-motion: reduce) {
  .vang-sang, .nut-nhip, .to-hd, .to-hd li, .bong-chat, .muc-toi::before { animation: none !important; }
  .truot { transition: none; }
  .cd .truot { opacity: 1; transform: none; }
  .so-lieu-3 .vong b { transition: none; }
}

.cta-giua { margin: 34px 0 0; text-align: center; }
.so-lieu-3 { grid-template-columns: repeat(2, 1fr); max-width: 760px; }
.so-lieu-3 .vong { display: flex; gap: 16px; align-items: center; }
.so-lieu-3 .vong b { flex: none; margin: 0; }
strong { font-weight: 600; }
@media (max-width: 860px) {
  .so-lieu-3 { grid-template-columns: 1fr; }
  .so-lieu-3 div:first-child { grid-column: auto; }
}

.di-kem { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; }
.di-kem li { background: #fff; border-radius: 12px; padding: 20px 18px; font-size: 15.5px; line-height: 1.5; box-shadow: 0 8px 22px rgba(15,42,92,.08); border-top: 4px solid var(--chinh); }
.di-kem li:first-child { border-top-color: var(--nhan); }
.di-kem b { display: block; font: 700 18px/1.3 Lora, serif; color: var(--chinh); margin-bottom: 8px; }
.lien-thong { margin: 24px 0 0; max-width: 760px; }
@media (max-width: 860px) { .di-kem { grid-template-columns: 1fr; } }

.dong-y { position: fixed; left: 16px; right: 16px; bottom: 16px; z-index: 20; max-width: 560px; margin: 0 auto; background: #fff; color: var(--chu); border-radius: 12px; padding: 16px 18px; box-shadow: 0 16px 40px rgba(5,15,40,.4); font-size: 15px; line-height: 1.5; }
.dong-y p { margin: 0 0 12px; }
.dong-y div { display: flex; gap: 10px; }
.nut-vien { background: #fff; color: var(--chinh); border: 1px solid var(--chinh); }
