/* Nền chung của mọi trang hub theo thiết kế mới (H13, H14): màu, chữ, nút, nhãn, khối chìm nền, đầu trang, chân trang, nút nổi, chuyển động.
   Màu theo brand-style 16.1: Abyssal #1B2632 nền, Blue Fantastic #2C3B4D khối, Palladian #EEE9DF chữ, Oatmeal #C9C1B1 chữ phụ,
   Burning Flame #FFB162 nhấn duy nhất, Truffle #A35139 cảnh báo. --nen-sau và --nen-chan là Abyssal tối thêm, chỉ để tách khối.
   Trang chủ nạp thêm trang-chu.css, trang trong nạp thêm hub.css. Chuyển động tắt hết khi máy bật giảm chuyển động. */
:root {
  --abyssal: #1B2632; --xanh: #2C3B4D; --kem: #EEE9DF; --yen: #C9C1B1; --cam: #FFB162; --nau: #A35139; --kem-icon: #E6DFD2;
  /* Luật cam (tiêu chuẩn mục 2): chỉ nút chính, nhãn đang mở, con đường, thanh tiến độ và focus, gạch eyebrow, chữ nghiêng hero. */
  --nen-sau: #16212C; --nen-chan: #121B24; --vien: rgba(238, 233, 223, .12);
  --chu: 'Be Vietnam Pro', 'Segoe UI', system-ui, sans-serif; --mono: 'IBM Plex Mono', ui-monospace, monospace;
}
html { scroll-behavior: smooth; scroll-padding-top: 84px; }
body { margin: 0; background: var(--abyssal); }
.dtv { position: relative; overflow-x: clip; background: var(--abyssal); color: var(--kem); font-family: var(--chu); font-size: 17px; line-height: 1.6; }
.dtv *, .dtv *::before, .dtv *::after { box-sizing: border-box; }
.dtv a, .dtv button { transition: background-color .2s ease, color .2s ease, border-color .2s ease, transform .2s ease, box-shadow .2s ease; }
.dtv :focus-visible { outline: 2px solid var(--cam); outline-offset: 3px; border-radius: 10px; }
.dtv img { max-width: 100%; }
main:focus { outline: none; }
a { color: var(--kem); }
a:hover { color: var(--kem); }
h1, h2, h3 { color: inherit; }
.nhay { position: absolute; left: 12px; top: -60px; z-index: 100; background: var(--cam); color: var(--abyssal); padding: 10px 16px; border-radius: 10px; font-weight: 700; text-decoration: none; }
.nhay:focus { top: 12px; }

/* ── Chung ── */
.wrap { max-width: 1240px; margin: 0 auto; padding-left: clamp(16px, 4vw, 40px); padding-right: clamp(16px, 4vw, 40px); position: relative; z-index: 2; }
.mono { font-family: var(--mono); }
.nho { font-size: 12px; }
.phu { color: var(--yen); }
.cam { color: var(--kem); } /* tên cũ, nay là kem theo luật cam */
.dam { font-weight: 600; }
.gach { text-decoration: underline; text-underline-offset: 3px; }
.cao { min-height: 52px; display: inline-flex; align-items: center; font-size: 15px; }
.eyebrow { font-family: var(--mono); font-size: 13px; letter-spacing: .12em; color: var(--yen); margin: 0; display: flex; align-items: center; gap: 10px; }
.eyebrow::before { content: ""; width: 28px; height: 1px; background: var(--cam); flex: none; }
.eyebrow.giua { justify-content: center; }
.eyebrow.nau { color: var(--nau); }
.eyebrow.nau::before { background: var(--nau); }
.h2 { margin: 0; font-size: clamp(34px, 4.6vw, 64px); line-height: 1.06; letter-spacing: -.025em; font-weight: 700; text-wrap: balance; }
.h2 .nhan { color: var(--yen); } /* nửa sau tiêu đề: Oatmeal */
.lead { margin: 0; color: var(--yen); font-size: clamp(16px, 1.3vw, 19px); text-wrap: pretty; }
.lead.hep { max-width: 620px; }
.grain { background-image: url(/anh/nen-hat-giay.png); background-repeat: repeat; }
.topo { position: relative; }
.topo::before { content: ""; position: absolute; inset: 0; background: url(/anh/nen-duong-dong-muc.png) center/1500px auto repeat; opacity: .08; pointer-events: none; z-index: 0; }
.phu-kin { position: absolute; inset: 0; }
.hang-nut { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; }
.hang-nut.giua { justify-content: center; }
.lnk { color: var(--kem); text-decoration: none; }
.lnk:hover { color: #fff; }
.ico { width: 22px; height: 22px; flex: 0 0 auto; color: var(--kem-icon); }
.ico-nho { width: 18px; height: 18px; }

.btn-p { white-space: nowrap; background: var(--cam); color: var(--abyssal) !important; text-decoration: none; font-weight: 700; border-radius: 999px; display: inline-flex; align-items: center; gap: 10px;
  min-height: 52px; padding: 0 28px; font-size: 16px; box-shadow: 0 12px 30px -14px rgba(255, 177, 98, .8); border: 0; }
.btn-p:hover { background: var(--kem); transform: translateY(-2px); }
.btn-o { white-space: nowrap; color: var(--kem) !important; text-decoration: none; font-weight: 600; border: 1.5px solid rgba(238, 233, 223, .38); border-radius: 999px; display: inline-flex;
  align-items: center; gap: 10px; min-height: 52px; padding: 0 24px; font-size: 16px; background: rgba(27, 38, 50, .35); backdrop-filter: blur(6px); }
.btn-o:hover { border-color: var(--kem); background: rgba(238, 233, 223, .06); }
.btn-l { white-space: nowrap; background: var(--kem); color: var(--abyssal) !important; text-decoration: none; font-weight: 700; border-radius: 999px; display: inline-flex;
  align-items: center; gap: 10px; min-height: 52px; padding: 0 28px; font-size: 16px; border: 0; }
.btn-l:hover { background: #fff; transform: translateY(-2px); }
/* Ô icon (tiêu chuẩn mục 5, 6) theo luật chìm nền: icon trên quầng tròn mờ, không ô vuông. */
.o-ic { width: 44px; height: 44px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; flex: 0 0 auto; color: var(--kem-icon);
  background: radial-gradient(circle, rgba(238, 233, 223, .10), rgba(238, 233, 223, 0) 70%); }
.o-ic .ico { width: 22px; height: 22px; }
/* Viền sáng chạy (thiết kế: thẻ đang mở, ô bài test). Màu kem theo luật cam; tắt khi giảm chuyển động. */
.vien-chay { position: relative; }
.vien-chay::after { content: ""; position: absolute; inset: -1px; border-radius: inherit; padding: 1px; pointer-events: none;
  background: linear-gradient(90deg, rgba(238, 233, 223, 0), rgba(238, 233, 223, .85), rgba(238, 233, 223, 0)) 0 0/200% 100%;
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0); -webkit-mask-composite: xor; mask-composite: exclude; animation: vien 3.2s linear infinite; }
.btn-nho { min-height: 44px; font-size: 15px; padding: 0 20px; }
.btn-giua { justify-content: center; }
.btn-d { color: var(--abyssal) !important; text-decoration: none; font-weight: 600; border: 1.5px solid var(--abyssal); border-radius: 999px; display: inline-flex; align-items: center; gap: 10px;
  min-height: 48px; padding: 0 22px; font-size: 16px; }
.btn-d:hover { background: var(--abyssal); color: var(--kem) !important; }
.btn-d-nhat { border-color: rgba(27, 38, 50, .35); }

.chip { font-family: var(--mono); font-size: 12px; border-radius: 999px; padding: 4px 11px; display: inline-flex; align-items: center; gap: 7px; white-space: nowrap; }
.chip-mo { background: var(--cam); color: var(--abyssal); }
.chip-mo::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: var(--abyssal); animation: nhip 1.6s ease-in-out infinite; }
.chip-tin { border: 1px solid rgba(238, 233, 223, .45); color: var(--kem); background: rgba(27, 38, 50, .9); }
.cham-do { width: 7px; height: 7px; border-radius: 50%; background: var(--nau); animation: nhip 1.4s infinite; flex: none; display: inline-block; }

/* Khối KHÔNG đóng hộp (Quỳnh 18/10: "bỏ hết các khối vuông... chìm nền"): không nền đặc, không viền; một quầng sáng tan vào nền
   từ góc trên trái và một vạch cam ngắn làm điểm neo. Rê chuột thì quầng sáng đậm lên. */
.the { position: relative; background: radial-gradient(ellipse 80% 70% at 0% 0%, rgba(44, 59, 77, .5), rgba(44, 59, 77, 0) 100%); border: 0; border-radius: 0; }
.the::before { content: ""; position: absolute; left: 0; top: 0; width: 32px; height: 2px; background: var(--kem); opacity: .45; transition: width .3s ease; }
.the-h:hover { background: radial-gradient(ellipse 90% 80% at 0% 0%, rgba(238, 233, 223, .07), rgba(44, 59, 77, .35) 45%, rgba(44, 59, 77, 0) 100%); }
.the-h:hover::before { width: 64px; opacity: 1; }
.gborder { position: relative; }

.orbit { position: absolute; inset: 0; border-radius: 50%; border: 1px dashed rgba(238, 233, 223, .16); animation: quay 80s linear infinite; }
.orbit.r2 { animation-duration: 46s; animation-direction: reverse; border-style: solid; border-color: rgba(238, 233, 223, .08); }
.orbit.r3 { animation-duration: 24s; border-color: rgba(238, 233, 223, .10); }
.sat { position: absolute; width: 9px; height: 9px; border-radius: 50%; background: var(--kem); box-shadow: 0 0 12px 2px rgba(238, 233, 223, .35); }
.sat-dinh { left: 50%; top: -5px; }
.sat-trai { left: -5px; top: 50%; }
.flow { stroke-dasharray: 14 18; animation: chay 2.6s linear infinite; }
.flow-s { stroke-dasharray: 2 10; animation: chay 5s linear infinite; }

.khoi-tc { position: relative; z-index: 2; padding: clamp(64px, 8vw, 112px) 0; }
.nen-sau { background-color: var(--nen-sau); border-top: 1px solid rgba(238, 233, 223, .08); border-bottom: 1px solid rgba(238, 233, 223, .08); overflow: hidden; }
.nen-xanh { background-color: var(--xanh); }
.luoi-hai { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(440px, 100%), 1fr)); gap: 16px 64px; }
.luoi-hai.giua { align-items: center; gap: clamp(32px, 5vw, 72px); }
.luoi-hai.cuoi { align-items: end; }
.cot, .cot-hep { display: flex; flex-direction: column; gap: 22px; }
.cot-hep { gap: 16px; }
.dau-khoi { margin-bottom: 40px; }
.dau-giua { text-align: center; display: flex; flex-direction: column; align-items: center; gap: 16px; max-width: 860px; margin: 0 auto 44px; }

/* Ảnh trang bán trong khung trình duyệt (trang chủ, Cổng học viên). */
.trinh { display: block; position: relative; text-decoration: none; border-radius: 16px; overflow: hidden; border: 1px solid rgba(238, 233, 223, .2); }
.trinh-thanh { display: flex; align-items: center; gap: 8px; padding: 9px 14px; background: var(--nen-sau); }
.trinh-thanh .mono { font-size: 11px; color: var(--yen); }
.trinh-cham { display: flex; gap: 5px; }
.trinh-cham i { width: 8px; height: 8px; border-radius: 50%; background: rgba(238, 233, 223, .25); }
.trinh img { width: 100%; height: auto; aspect-ratio: 16 / 10; object-fit: cover; object-position: top; display: block; }

/* ── Lời mời cuối ── */
.cuoi-khoi { margin-top: clamp(64px, 8vw, 112px); padding: 0; }
.cuoi-quy { position: absolute; left: 50%; top: 50%; width: 900px; height: 900px; margin: -450px 0 0 -450px; }
.cuoi-quy .cq-r2 { inset: 120px; }
.cuoi-quy .cq-r3 { inset: 250px; }
.cuoi-trong { padding-top: clamp(72px, 9vw, 140px); padding-bottom: clamp(72px, 9vw, 140px); text-align: center; display: flex; flex-direction: column; align-items: center; gap: 22px; }
.cuoi-h2 { margin: 0; font-size: clamp(38px, 5.6vw, 80px); line-height: 1.04; letter-spacing: -.03em; font-weight: 800; max-width: 920px; text-wrap: balance; }
.cuoi-trong > .lnk { font-size: 15px; }
@media (max-width: 860px) { .cuoi-quy { width: 600px; height: 600px; margin: -300px 0 0 -300px; } .cuoi-quy .cq-r2 { inset: 80px; } .cuoi-quy .cq-r3 { inset: 170px; } }

/* ── Nền đường cong chạy dọc trang ── */
.nen-duong { position: absolute; inset: 0; width: 100%; height: 100%; z-index: 1; pointer-events: none; }
.nen-duong path { fill: none; stroke-width: 2; vector-effect: non-scaling-stroke; }
.nen-1 { stroke: rgba(238, 233, 223, .05); }
.nen-2 { stroke: rgba(238, 233, 223, .16); }

/* ── Thanh tiến độ, dải thông báo, đầu trang ── */
.tien-do { position: fixed; left: 0; top: 0; height: 3px; width: 100%; background: var(--cam); transform-origin: 0 50%; transform: scaleX(0); z-index: 60; }
.dai-tb { background: var(--xanh); border-bottom: 1px solid rgba(238, 233, 223, .10); position: relative; z-index: 5; }
.dai-tb-trong { padding-top: 9px; padding-bottom: 9px; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px 24px; font-size: 14px; }
.dai-tb-mo { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; min-height: 28px; }
.dai-tb-live { font-size: 12px; color: var(--yen); display: flex; align-items: center; gap: 8px; }
.dau-tc { position: sticky; top: 0; z-index: 40; background: rgba(27, 38, 50, .82); backdrop-filter: blur(14px); border-bottom: 1px solid rgba(238, 233, 223, .10); }
.dau-tc-trong { padding-top: 12px; padding-bottom: 12px; display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.logo { display: flex; align-items: center; min-height: 44px; flex: none; }
.logo img { height: 26px; width: auto; display: block; }
.nav-links { display: flex; align-items: center; gap: clamp(16px, 1.6vw, 26px); font-size: 15px; white-space: nowrap; }
.nav-phai { display: flex; align-items: center; gap: 10px; white-space: nowrap; margin-left: auto; }
.cong-hv { color: var(--yen); font-size: 15px; display: flex; align-items: center; gap: 6px; min-height: 44px; padding: 0 8px; }
.cong-hv .ico { color: currentColor; }
.nav-m { display: none; position: relative; }
.nav-m summary { list-style: none; cursor: pointer; display: flex; align-items: center; gap: 8px; color: var(--kem); border: 1.5px solid rgba(238, 233, 223, .35); border-radius: 999px; padding: 0 16px;
  min-height: 44px; font-size: 15px; font-weight: 500; }
.nav-m summary::-webkit-details-marker { display: none; }
.nav-m summary .ico { color: currentColor; width: 18px; height: 18px; }
.nav-m[open] summary { border-color: var(--kem); }
.nav-m nav { position: absolute; right: 0; top: calc(100% + 10px); width: min(320px, calc(100vw - 32px)); background: var(--xanh); border: 1px solid var(--vien); border-radius: 18px; padding: 10px;
  display: flex; flex-direction: column; box-shadow: 0 30px 60px -30px rgba(0, 0, 0, .9); }
.nav-m nav .lnk { min-height: 46px; display: flex; align-items: center; padding: 0 12px; border-radius: 10px; }
.nav-m nav .lnk:hover { background: rgba(238, 233, 223, .06); }
.nav-m nav .btn-p { margin-top: 8px; justify-content: center; }
@media (max-width: 1400px) { .nav-links { display: none !important; } .nav-m { display: block; } }

/* ── Chân trang ── */
.chan-tc { position: relative; z-index: 2; background: var(--nen-chan); border-top: 1px solid rgba(238, 233, 223, .10); overflow: hidden; }
.chan-trong { padding-top: 64px; padding-bottom: 96px; display: flex; flex-direction: column; gap: 40px; }
.chan-luoi { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(190px, 100%), 1fr)); gap: 32px; }
@media (min-width: 1100px) { .chan-luoi { grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr) minmax(0, .9fr) minmax(0, 1.35fr) minmax(0, 1.1fr) minmax(0, 1fr); gap: 24px; } }
.chan-nhom .lnk { overflow-wrap: anywhere; }
.chan-dau { display: flex; flex-direction: column; gap: 14px; }
.chan-dau img { width: 100%; max-width: 210px; height: auto; }
.chan-dau p { margin: 0; }
.chan-nhom { display: flex; flex-direction: column; gap: 2px; font-size: 15px; }
.chan-nhom > .mono { margin-bottom: 8px; }
.chan-nhom .lnk { min-height: 36px; display: flex; align-items: center; }
.chan-logo-mo { display: block; width: 100%; max-width: 1160px; height: auto; margin: 8px auto; opacity: .08; pointer-events: none; user-select: none;
  -webkit-mask-image: linear-gradient(180deg, #000 20%, rgba(0, 0, 0, .25) 100%); mask-image: linear-gradient(180deg, #000 20%, rgba(0, 0, 0, .25) 100%); }
.chan-cty { border-top: 1px solid var(--vien); padding-top: 20px; display: flex; flex-wrap: wrap; justify-content: space-between; gap: 6px 24px; font-size: 13px; color: var(--yen); }

/* ── Nổi: lên đầu trang, Zalo ── */
.zalo { position: fixed; right: 18px; bottom: 18px; z-index: 50; display: flex; align-items: center; gap: 10px; background: var(--kem); color: var(--abyssal) !important; text-decoration: none; border-radius: 999px;
  padding: 7px 18px 7px 7px; font-weight: 600; font-size: 15px; box-shadow: 0 16px 36px -14px rgba(0, 0, 0, .7); }
.zalo:hover { transform: translateY(-2px); }
.zalo-ic { width: 42px; height: 42px; border-radius: 50%; background: var(--abyssal); color: var(--kem); display: flex; align-items: center; justify-content: center; font-weight: 800; font-size: 10.5px;
  letter-spacing: -.02em; position: relative; }
.zalo-ic::after { content: ""; position: absolute; inset: -4px; border-radius: 50%; border: 2px solid rgba(238, 233, 223, .55); animation: song 2.2s ease-out infinite; }
.len-dau { position: fixed; right: 24px; bottom: 84px; z-index: 50; width: 48px; height: 48px; border-radius: 50%; background: rgba(27, 38, 50, .9); border: 1px solid rgba(238, 233, 223, .25); color: var(--kem);
  display: flex; align-items: center; justify-content: center; text-decoration: none; }
.len-dau .ico { color: currentColor; width: 20px; height: 20px; }
.len-dau:hover { border-color: var(--kem); color: #fff; }

/* ── Chuyển động ── */
@keyframes quay { to { transform: rotate(360deg); } }
@keyframes chay { to { stroke-dashoffset: -64; } }
@keyframes truot { to { transform: translateX(-50%); } }
@keyframes nhip { 0%, 100% { opacity: 1; } 50% { opacity: .25; } }
@keyframes vien { to { background-position: -200% 0; } }
@keyframes vang { 0% { box-shadow: 0 0 0 0 rgba(255, 177, 98, .6); } 100% { box-shadow: 0 0 0 22px rgba(255, 177, 98, 0); } }
@keyframes song { 0% { transform: scale(.9); opacity: 1; } 100% { transform: scale(1.45); opacity: 0; } }
@keyframes noi { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-10px); } }
@keyframes cuon { 0% { opacity: 0; transform: translateY(0); } 30% { opacity: 1; } 100% { opacity: 0; transform: translateY(12px); } }
@keyframes rise { from { opacity: 0; transform: translateY(28px); } to { opacity: 1; transform: none; } }
@keyframes hien { from { opacity: 0; } to { opacity: 1; } }
@keyframes ve { from { stroke-dashoffset: 1; } to { stroke-dashoffset: 0; } }
@keyframes thanh { to { transform: scaleX(1); } }
@keyframes chu { from { opacity: 0; transform: translateY(40px) skewY(4deg); } to { opacity: 1; transform: none; } }
@keyframes nudge { 0%, 100% { transform: translateX(0); } 50% { transform: translateX(6px); } }
.rise { animation: rise .9s cubic-bezier(.2, .7, .2, 1) both; }
.chu { display: inline-block; animation: chu 1s cubic-bezier(.2, .7, .2, 1) both; }
.d1 { animation-delay: .12s; } .d2 { animation-delay: .24s; } .d3 { animation-delay: .36s; } .d4 { animation-delay: .48s; } .d5 { animation-delay: .6s; }
@supports (animation-timeline: view()) {
  .rv { animation: rise linear both; animation-timeline: view(); animation-range: entry 0% cover 28%; }
  .tien-do { animation: thanh linear both; animation-timeline: scroll(root); }
  .len-dau { animation: hien linear both; animation-timeline: scroll(root); animation-range: 0 900px; }
}

/* ── Điện thoại ── */
@media (max-width: 860px) {
  .nav-d, .hide-m { display: none !important; }
  .swipe-hint { display: flex; }
  .swipe { display: flex !important; overflow-x: auto; scroll-snap-type: x mandatory; gap: 12px !important; padding-bottom: 10px; scrollbar-width: none; margin-right: calc(-1 * clamp(16px, 4vw, 40px)); padding-right: 16px; }
  .swipe::-webkit-scrollbar { display: none; }
  .swipe > * { flex: 0 0 82%; scroll-snap-align: start; }
  .zalo { padding: 7px; right: 14px; bottom: 14px; }
  .zalo-txt { display: none; }
  .len-dau { right: 20px; bottom: 76px; }
  .btn-p, .btn-o, .btn-l { padding: 0 20px; font-size: 15px; }
}
@media (max-width: 480px) {
  .hang-nut > .btn-p, .hang-nut > .btn-o, .hang-nut > .btn-l { width: 100%; justify-content: center; white-space: normal; text-align: center; }
}

/* ── Nút hành động mạnh hơn (Quỳnh 18/10, tiêu chuẩn mục 8): nổi lên và sáng hơn khi rê, mũi tên nhích,
   nút cam chính có vệt sáng chậm mỗi 6 giây. Không nảy, không lắc; giảm chuyển động thì tắt hết (khối dưới). ── */
.btn-p, .btn-o, .btn-l { position: relative; overflow: hidden; isolation: isolate;
  transition: background-color .2s ease, color .2s ease, border-color .2s ease, transform .2s ease, box-shadow .2s ease; }
.btn-p:hover { box-shadow: 0 18px 40px -14px rgba(255, 177, 98, .95); }
.btn-o:hover { transform: translateY(-2px); }
.btn-l:hover { box-shadow: 0 16px 34px -16px rgba(238, 233, 223, .6); }
.btn-p::after { content: ""; position: absolute; inset: 0; pointer-events: none; transform: translateX(-130%);
  background: linear-gradient(105deg, transparent 32%, rgba(255, 255, 255, .55) 50%, transparent 68%); animation: loe 6s ease-in-out 1.2s infinite; }
.btn-p:hover::after { animation: none; }
@keyframes loe { 0%, 72% { transform: translateX(-130%); } 88%, 100% { transform: translateX(130%); } }
/* Mũi tên icon (i-arrow trong trang, i-out ra ngoài): theo màu chữ, nhích khi rê. */
.mui { width: 18px; height: 18px; color: currentColor; transition: transform .2s ease; }
a:hover > .mui, button:hover > .mui, a:focus-visible > .mui { transform: translateX(4px); }
a:hover > .mui-ra, a:focus-visible > .mui-ra { transform: translate(2px, -2px); }
.mui-xuong { transform: rotate(90deg); }
a:hover > .mui-xuong { transform: rotate(90deg) translateX(4px); }
.nudge { display: inline-block; animation: nudge 1.6s ease-in-out infinite; }
a:hover > .mui.nudge { animation: none; transform: translateX(4px); }
/* Chữ có icon đứng đầu (nhãn tầng, tiêu đề nhỏ, liên hệ): icon kem, thẳng hàng với chữ. */
.co-ic { display: inline-flex; align-items: center; gap: 8px; }
.co-ic > .ico-nho { color: var(--kem-icon); }
.dtv dt > .ico { width: 16px; height: 16px; margin-right: 7px; vertical-align: -3px; color: var(--kem-icon); }

/* ── Giảm chuyển động: trang đứng yên, mọi nội dung vẫn hiện ── */
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .dtv *, .dtv *::before, .dtv *::after { animation: none !important; transition: none !important; }
  .tien-do { display: none; }
}
