
:root{
  /* Font HỆ THỐNG (như vnis.edu.vn): mảnh, sắc, native - không tải Google Font, render tức thì */
  --font:-apple-system,BlinkMacSystemFont,"Segoe UI",system-ui,"Helvetica Neue",Roboto,"Noto Sans",Arial,sans-serif;
  --navy:#0b1836;--navy-2:#122448;--blue:#1f4ea3;--blue-2:#3b82f6;--gold:#e2b54f;--gold-2:#f2d488;--green:#8fb832;
  --brand-grad:linear-gradient(90deg,#2a2a78,#1f4ea3 30%,#e2b54f 68%,#8fb832);
  --soft:#eef4ff;--bg:#f7f9fe;--text:#243041;--muted:#5b6b84;--line:#e5ebf4;--white:#fff;
  --radius:18px;--shadow:0 6px 24px rgba(11,24,54,.07),0 1px 3px rgba(11,24,54,.05);
  --shadow-lg:0 18px 50px rgba(11,24,54,.14);
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;overflow-x:clip}
body{font-family:var(--font);color:var(--text);background:var(--bg);line-height:1.62;font-size:15.5px;
  -webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;letter-spacing:-.01em}
img{max-width:100%;height:auto}
a{color:var(--blue);text-decoration:none}
.container{max-width:1180px;margin:0 auto;padding:0 20px}
.muted{color:var(--muted)}

/* ===== Buttons ===== */
.btn{display:inline-flex;align-items:center;gap:8px;justify-content:center;border:0;cursor:pointer;font:inherit;font-weight:600;
  padding:10px 20px;border-radius:999px;transition:transform .15s ease,box-shadow .15s ease,background .15s ease;white-space:nowrap}
.btn:hover{transform:translateY(-1px)}
.btn-primary{background:linear-gradient(135deg,var(--blue),#2c62c4);color:#fff;box-shadow:0 6px 18px rgba(31,78,163,.32)}
.btn-primary:hover{box-shadow:0 10px 26px rgba(31,78,163,.42)}
.btn-gold{background:linear-gradient(135deg,var(--gold),#c79a45);color:var(--navy);box-shadow:0 6px 18px rgba(216,177,97,.35)}
.btn-ghost{background:transparent;color:var(--text);border:1.5px solid var(--line)}
.btn-ghost:hover{border-color:var(--blue);color:var(--blue)}
.btn-white{background:#fff;color:var(--blue);box-shadow:var(--shadow)}
.btn-lg{padding:14px 30px;font-size:17px}

/* ===== Top bar ===== */
/* position+z-index: panel '2 cơ sở' xổ xuống phải nằm TRÊN .site-header (sticky, z-index:60).
   Cùng z-index thì header đè vì đứng sau trong DOM → Hà Nội Campus bị che (Alex báo 17/07). */
.topbar{background:var(--navy);color:#c9d6ee;font-size:13px;position:relative;z-index:70}
.topbar-inner{display:flex;align-items:center;justify-content:space-between;height:38px;gap:16px}
.topbar a{color:#c9d6ee}.topbar a:hover{color:var(--gold-2)}
.topbar-left{display:flex;gap:18px;align-items:center;min-width:0}
.topbar-left span{color:#8ea3c9}
.topbar-right{display:flex;gap:14px;align-items:center}
/* Icon tròn CHỈ cho mạng xã hội - dùng class, không dùng [aria-label] (bất kỳ link nào có
   aria-label cũng dính, kể cả link chữ → tràn chữ ra ngoài ô 24px). */
.topbar-right a.tb-ico{width:24px;height:24px;border-radius:50%;background:rgba(255,255,255,.12);display:inline-flex;align-items:center;justify-content:center;font-weight:800;font-size:12px;flex:none}
.tb-search,.tb-portal{display:inline-flex;align-items:center;gap:5px;white-space:nowrap}
@media(max-width:820px){.topbar .hide-sm{display:none}.topbar-left{gap:12px;font-size:12px}.topbar-right{gap:10px}
  /* Chật chỗ: chỉ giữ icon, bỏ nhãn chữ - vẫn bấm được, không đè nhau */
  .tb-search .tb-lbl,.tb-portal .tb-lbl{display:none}
  .tb-search,.tb-portal{font-size:15px}}
@media(max-width:520px){.topbar-left a:nth-child(2){display:none}}

/* ===== Header ===== */
.site-header{position:sticky;top:0;z-index:60;background:rgba(255,255,255,.85);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
.header-inner{display:flex;align-items:center;gap:14px;height:72px}
.brand img{display:block;height:38px;width:auto;max-width:160px;object-fit:contain}
.main-nav{display:flex;gap:2px;margin-left:auto;align-items:center}
.nav-cta{display:none}
.nav-item{position:relative}
.nav-link{display:inline-flex;align-items:center;gap:4px;padding:8px 11px;border-radius:10px;color:var(--text);font-weight:500;font-size:14.5px;white-space:nowrap}
.nav-link:hover{background:var(--soft);color:var(--blue)}
.nav-link.active{color:var(--blue);font-weight:700;background:var(--soft)}
.nav-caret{transition:transform .18s;opacity:.6}
.nav-item.has-sub:hover .nav-caret{transform:rotate(180deg)}
/* Dropdown desktop */
.nav-sub{position:absolute;top:100%;left:0;min-width:264px;background:#fff;border:1px solid var(--line);border-radius:16px;
  box-shadow:var(--shadow-lg);padding:8px;margin-top:8px;opacity:0;visibility:hidden;transform:translateY(8px);
  transition:opacity .16s ease,transform .16s ease,visibility .16s;z-index:70}
.nav-item.has-sub:hover .nav-sub{opacity:1;visibility:visible;transform:translateY(0)}
.nav-sub::before{content:"";position:absolute;top:-10px;left:0;right:0;height:12px}
.nav-sub a{display:flex;flex-direction:column;gap:1px;padding:10px 13px;border-radius:11px;color:var(--navy)}
.nav-sub a:hover{background:var(--soft)}
.nav-sub a b{font-size:14px;font-weight:700}
.nav-sub a span{font-size:12px;color:var(--muted)}
.nav-sub-h{padding:8px 13px 3px;font-size:10.5px;font-weight:800;letter-spacing:.09em;text-transform:uppercase;color:var(--muted)}
.nav-sub-h:not(:first-child){margin-top:5px;padding-top:11px;border-top:1px solid var(--line)}
.header-actions{display:flex;align-items:center;gap:10px}
.menu-toggle{display:none;border:1px solid var(--line);border-radius:10px;width:40px;height:40px;background:#fff;cursor:pointer;color:var(--navy);align-items:center;justify-content:center;line-height:0}
.lang-switch{display:flex;border:1.5px solid var(--line);border-radius:999px;overflow:hidden;font-size:12.5px;font-weight:800}
.lang-switch a{padding:6px 11px;color:var(--muted)}
.lang-switch a.on{background:var(--navy);color:#fff}
.login-menu{position:relative}
.login-dropdown{position:absolute;right:0;top:calc(100% + 8px);background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow-lg);
  min-width:240px;padding:8px;display:none;z-index:70}
.login-dropdown.open{display:block}
.login-dropdown a{display:block;padding:10px 14px;border-radius:10px;color:var(--text);font-weight:500}
.login-dropdown a:hover{background:var(--soft);color:var(--blue)}

/* ===== Hero ===== */
.hero{position:relative;overflow:hidden;background:radial-gradient(1100px 500px at 85% -10%,rgba(59,130,246,.35),transparent 60%),
  radial-gradient(800px 420px at -10% 110%,rgba(216,177,97,.22),transparent 55%),linear-gradient(160deg,var(--navy) 0%,var(--navy-2) 55%,#16325f 100%);
  color:#fff;padding:72px 0 80px}
/* Hero có video nền: poster (LCP) + video phủ lên khi sẵn sàng + lớp gradient tối cho chữ luôn đọc được */
.hero-v{position:relative;overflow:hidden;isolation:isolate}
.hero-v .hero-bg{position:absolute;inset:0;z-index:0}
.hero-v .hero-bg img,.hero-v .hero-bg video{width:100%;height:100%;object-fit:cover;display:block}
/* Poster luôn "sống" bằng Ken Burns → hero đẹp kể cả khi video không phát được */
.hero-v .hero-bg img{animation:heroKen 26s ease-in-out infinite alternate;transform-origin:60% 45%}
@keyframes heroKen{from{transform:scale(1.04)}to{transform:scale(1.15)}}
.hero-v .hero-bg video{position:absolute;inset:0;opacity:0;transition:opacity 1.4s ease}
.hero-v .hero-bg video.on{opacity:1}
@media(prefers-reduced-motion:reduce){.hero-v .hero-bg img{animation:none}}
.hero-v::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;
  background:linear-gradient(100deg,rgba(8,20,44,.94) 0%,rgba(8,20,44,.86) 42%,rgba(8,20,44,.62) 72%,rgba(8,20,44,.5) 100%)}
.hero-v>.container{position:relative;z-index:2}
/* Hero video: bỏ khung tablet, chỉ còn badge tin cậy nổi trên nền video */
.hero-visual-v{min-height:360px;position:relative;display:flex;align-items:center;justify-content:center}
.hero-photo-card{width:min(400px,100%);aspect-ratio:4/4.7;border-radius:26px;overflow:hidden;border:1px solid rgba(255,255,255,.18);
  box-shadow:0 30px 80px rgba(0,0,0,.45);transform:rotate(1.5deg);background:linear-gradient(135deg,#16305f,#0b1836)}
.hero-photo-card img{width:100%;height:100%;object-fit:cover;display:block}
@media(max-width:900px){.hero-photo-card{display:none}}
@media(max-width:900px){.hero-visual-v{min-height:0;display:flex;gap:12px;flex-wrap:wrap;margin-top:26px}
  .hero-visual-v .hero-badge{position:static!important;animation:none!important}}
@media(max-width:900px){.hero-v::after{background:linear-gradient(180deg,rgba(8,20,44,.9),rgba(8,20,44,.95))}}
.hero h1{font-size:clamp(32px,5vw,54px);line-height:1.15;font-weight:800;letter-spacing:-.5px;max-width:760px}
.hero h1 em{font-style:normal;background:linear-gradient(120deg,var(--gold-2),var(--gold));-webkit-background-clip:text;background-clip:text;color:transparent}
.hero p.lede{margin:22px 0 34px;font-size:clamp(16px,2vw,20px);color:#c9d6ee;max-width:640px}
.hero-ctas{display:flex;gap:14px;flex-wrap:wrap}
.hero-stats{display:grid;grid-template-columns:repeat(4,auto);justify-content:start;gap:clamp(14px,4vw,64px);margin-top:48px}
.hero-stat b{display:block;font-size:clamp(17px,3.2vw,38px);font-weight:800;color:var(--gold-2);white-space:nowrap}
.hero-stat span{color:#a9bad9;font-size:clamp(10.5px,1.6vw,14px);line-height:1.35;display:block}
.hero .eyebrow{display:inline-flex;align-items:center;gap:8px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.18);
  padding:7px 16px;border-radius:999px;font-size:13.5px;font-weight:600;color:var(--gold-2);margin-bottom:22px}

/* ===== Sections ===== */
.section{padding:44px 0}
.section.alt{background:#fff}
.sec-head{max-width:680px;margin:0 auto 28px;text-align:center}
.sec-head h2{font-size:clamp(22px,3vw,32px);letter-spacing:-.025em}
.sec-head h2::after{content:"";display:block;width:52px;height:4px;border-radius:99px;background:var(--brand-grad);margin:13px auto 0}
.sec-head[style*="text-align:left"] h2::after{margin-left:0;margin-right:auto}
.sec-head .eyebrow-c{margin-bottom:8px}
.sec-head .eyebrow{color:var(--blue);font-weight:700;font-size:13.5px;letter-spacing:1.5px;text-transform:uppercase}
.sec-head h2{font-size:clamp(26px,3.6vw,38px);font-weight:800;letter-spacing:-.4px;color:var(--navy);margin:10px 0 12px}
.sec-head p{color:var(--muted);font-size:17px}
.grid{display:grid;gap:22px}
.grid-3{grid-template-columns:repeat(3,1fr)}
.grid-4{grid-template-columns:repeat(4,1fr)}
.grid-2{grid-template-columns:repeat(2,1fr)}

/* ===== Cards ===== */
.card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:28px;transition:transform .18s ease,box-shadow .18s ease}
a.card{color:var(--text);display:block}
.card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}
.card .icon{width:52px;height:52px;border-radius:14px;display:flex;align-items:center;justify-content:center;font-size:26px;
  background:linear-gradient(135deg,var(--soft),#dbe7ff);margin-bottom:16px}
.card h3{font-size:19px;font-weight:700;color:var(--navy);margin-bottom:8px}
.card p{color:var(--muted);font-size:14.5px}
.card .more{display:inline-block;margin-top:14px;font-weight:600;color:var(--blue);font-size:14.5px}

/* ===== Blog cards ===== */
.post-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);display:flex;flex-direction:column;transition:transform .18s ease,box-shadow .18s ease}
.post-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}
.post-card .thumb{aspect-ratio:1200/630;background:linear-gradient(135deg,var(--soft),#dce8ff);overflow:hidden;position:relative}
.post-card .thumb img{width:100%;height:100%;object-fit:contain;object-position:center;display:block;transition:transform .4s ease}
.post-card:hover .thumb img{transform:scale(1.04)}
/* Ảnh đại diện trong bài - khung tỉ lệ cố định, fit đẹp (WP featured hay lệch kích thước) */
.article-hero-img{width:100%;border-radius:18px;overflow:hidden;background:linear-gradient(135deg,var(--soft),#dce8ff);box-shadow:var(--shadow-lg);margin:0 0 4px}
.article-hero-img img{width:100%;height:auto;display:block;margin:0;border-radius:0;box-shadow:none}
.post-card .body{padding:22px;display:flex;flex-direction:column;gap:9px;flex:1}
.post-card .cat{color:var(--blue);font-size:12.5px;font-weight:700;text-transform:uppercase;letter-spacing:1px}
.post-card h3{font-size:17.5px;line-height:1.42;font-weight:700}
.post-card h3 a{color:var(--navy)}
.post-card h3 a:hover{color:var(--blue)}
.post-card .excerpt{color:var(--muted);font-size:14px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.post-card .date{margin-top:auto;color:var(--muted);font-size:13px}

/* ===== CTA band ===== */
.cta-band{background:radial-gradient(700px 300px at 90% 0%,rgba(216,177,97,.25),transparent 60%),linear-gradient(135deg,var(--navy),var(--blue));
  border-radius:24px;color:#fff;padding:clamp(34px,5vw,60px);display:flex;align-items:center;justify-content:space-between;gap:28px;flex-wrap:wrap}
.cta-band h2{font-size:clamp(22px,3vw,32px);font-weight:800;letter-spacing:-.3px}
.cta-band p{color:#c9d6ee;margin-top:8px}

/* ===== Article / WP content ===== */
.page-hero{background:linear-gradient(160deg,var(--navy),var(--navy-2));color:#fff;padding:52px 0 46px}
.page-hero h1{font-size:clamp(26px,4vw,40px);font-weight:800;letter-spacing:-.4px;max-width:860px;line-height:1.22}
/* .meta = câu dẫn dưới H1. PHẢI là block: nó từng là flex (dựng cho dải chip), mà flex biến mỗi
   <b> và mỗi mẩu chữ thành một item riêng → câu bị bẻ vụn mỗi vế một dòng (trang Lịch khai giảng).
   Dải chip ngày/tác giả nay dùng .meta-chips. */
.page-hero .meta{color:#a9bad9;margin-top:12px;font-size:14.5px;line-height:1.7}
.page-hero .meta b{color:#e6edfa;font-weight:700}
.page-hero .meta-chips{display:flex;gap:16px;flex-wrap:wrap;align-items:center;line-height:1.5}
.crumbs{font-size:13.5px;color:#a9bad9;margin-bottom:16px;display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.crumbs a{color:#c9d6ee}.crumbs .sep{opacity:.5}
.crumbs span[aria-current]{color:var(--gold-2)}
.article-wrap{max-width:820px;margin:0 auto;padding:46px 20px 20px}
/* Tin tuyển dụng rich HTML (soạn từ ATS): đủ heading/bullet/quote - xh-prose chỉ style <p> */
.job-rich h2{font-size:20px;color:var(--navy);margin:22px 0 10px}
.job-rich h3{font-size:17px;color:var(--navy);margin:18px 0 8px}
.job-rich h4{font-size:15.5px;color:var(--navy);margin:14px 0 6px}
.job-rich ul{list-style:disc;padding-left:22px;margin:0 0 14px}
.job-rich ol{list-style:decimal;padding-left:22px;margin:0 0 14px}
.job-rich li{font-size:15.5px;line-height:1.75;color:var(--text);margin:5px 0}
.job-rich blockquote{border-left:3px solid var(--gold-2);padding:4px 0 4px 16px;margin:14px 0;color:var(--muted);font-style:italic}
.job-rich table{border-collapse:collapse;width:100%;margin:14px 0;font-size:14.5px}
.job-rich th,.job-rich td{border:1px solid var(--line);padding:8px 10px;text-align:left}
.job-rich th{background:var(--brand-50)}
.job-rich a{color:var(--blue);text-decoration:underline}

/* Hero có ảnh nền (courses…): phủ navy đậm để chữ trắng luôn đọc được trên mọi ảnh */
.hero-photobg{background:linear-gradient(100deg,rgba(11,24,54,.92) 20%,rgba(11,24,54,.55)),var(--hero-img) center/cover no-repeat}
/* Bài/trang thiết kế riêng (full-width HTML thời WP): không ép cột, tự khối tự style */
.designed-full{width:100%;overflow-x:hidden}
.designed-full img{max-width:100%;height:auto}
.prose{font-size:17px;line-height:1.8}
.prose>*+*{margin-top:1.05em}
.prose h2{font-size:26px;font-weight:800;color:var(--navy);margin-top:1.7em;letter-spacing:-.3px}
.prose h3{font-size:21px;font-weight:700;color:var(--navy);margin-top:1.5em}
.prose h4{font-size:18px;font-weight:700;color:var(--navy)}
.prose img{border-radius:14px;box-shadow:var(--shadow)}
.prose a{text-decoration:underline;text-underline-offset:3px}
.prose ul,.prose ol{padding-left:26px}
.prose li+li{margin-top:.4em}
.prose blockquote{border-left:4px solid var(--gold);background:var(--soft);padding:16px 22px;border-radius:0 14px 14px 0;color:var(--navy)}
.prose table{width:100%;border-collapse:collapse;font-size:15px;display:block;overflow-x:auto}
.prose table th,.prose table td{border:1px solid var(--line);padding:10px 14px;text-align:left}
.prose table th{background:var(--soft);color:var(--navy);font-weight:700}
.prose pre{background:var(--navy);color:#dbe7ff;padding:18px;border-radius:14px;overflow-x:auto;font-size:14px}
.prose figure{margin:1.4em 0}.prose figcaption{text-align:center;color:var(--muted);font-size:13.5px;margin-top:8px}
.prose iframe{max-width:100%;border-radius:14px}

/* ===== Lead form ===== */
.lead-card{background:#fff;border:1px solid var(--line);border-radius:22px;box-shadow:var(--shadow-lg);padding:clamp(24px,4vw,40px);max-width:640px;margin:0 auto}
.lead-card h3{font-size:24px;font-weight:800;color:var(--navy)}
.lead-card .muted{margin:8px 0 22px}
.lead-form{display:grid;gap:14px}
/* Hai ô một hàng cho các trường ngắn (điểm, ngày thi, trường) - trên điện thoại tự xuống 1 cột */
.lead-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
@media(max-width:520px){.lead-row{grid-template-columns:1fr}}
.lead-form input,.lead-form select,.lead-form textarea{font:inherit;padding:13px 16px;border:1.5px solid var(--line);border-radius:12px;background:var(--bg);width:100%;transition:border-color .15s}
.lead-form input:not([type=checkbox]),.lead-form select{min-height:54px}
.lead-form input:focus,.lead-form select:focus,.lead-form textarea:focus{outline:none;border-color:var(--blue);background:#fff}
/* Ô NGÀY THI. Hai lỗi chỉ thấy trên iOS: (1) Safari không cho input[type=date] co theo khung nên nó
   rộng hơn các ô khác và lệch hàng; (2) chưa chọn ngày thì ô TRỐNG TRƠN, không placeholder, người
   dùng không biết ô đó để làm gì. Nên bọc trong nhãn có chú thích nhỏ luôn hiện, và ép kiểu dáng
   về giống hệt các ô còn lại. Chiều cao tính cho khớp: 13+13+dòng chữ ≈ 22+7+dòng chữ. */
.lead-form .fld-ngay{position:relative;display:block}
.lead-form .fld-ngay>span{position:absolute;top:7px;left:17px;font-size:11px;font-weight:700;
  letter-spacing:.02em;color:var(--muted);pointer-events:none}
.lead-form .fld-ngay input[type=date]{-webkit-appearance:none;appearance:none;min-width:0;max-width:100%;
  padding-top:20px;padding-bottom:4px;color:var(--text);height:54px}
.lead-form .fld-ngay input[type=date]::-webkit-date-and-time-value{text-align:left;margin:0}
.form-status{font-size:14.5px;min-height:20px}.form-status.ok{color:#0a7a4b;font-weight:600}.form-status.err{color:#c0392b;font-weight:600}

/* ===== Teachers ===== */
.teacher-card{text-align:center}
.teacher-card .avatar{position:relative;width:110px;height:110px;border-radius:50%;margin:0 auto 16px;background:linear-gradient(135deg,var(--soft),#dbe7ff);
  display:flex;align-items:center;justify-content:center;font-size:40px;font-weight:800;color:var(--blue);overflow:hidden}
/* Chữ cái đầu nền - luôn hiện; ảnh (nếu load được) phủ lên trên */
.teacher-card .avatar[data-ini]::before{content:attr(data-ini);position:absolute;inset:0;display:flex;align-items:center;justify-content:center}
.teacher-card .avatar img{position:relative;z-index:1;width:100%;height:100%;object-fit:cover}
.teacher-card .title{color:var(--gold);font-weight:600;font-size:14px;margin-bottom:6px}
.teacher-card .subjects{display:flex;gap:6px;justify-content:center;flex-wrap:wrap;margin-top:10px}
.teacher-card .subjects span{background:var(--soft);color:var(--blue);font-size:12.5px;font-weight:600;padding:4px 12px;border-radius:999px}

/* ===== Pagination ===== */
.pagination{display:flex;gap:8px;justify-content:center;margin-top:44px;flex-wrap:wrap}
.pagination a,.pagination span{min-width:40px;height:40px;display:inline-flex;align-items:center;justify-content:center;border-radius:12px;
  border:1.5px solid var(--line);color:var(--text);font-weight:600;padding:0 12px;background:#fff}
.pagination a:hover{border-color:var(--blue);color:var(--blue)}
.pagination .current{background:var(--blue);border-color:var(--blue);color:#fff}

/* ===== Footer ===== */
.footer-cta{border-top:4px solid;border-image:var(--brand-grad) 1;background:radial-gradient(700px 300px at 88% 0%,rgba(216,177,97,.28),transparent 60%),linear-gradient(135deg,var(--blue),#2c62c4);color:#fff;margin-top:80px}
.footer-cta .container{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;padding:38px 20px}
.footer-cta h2{font-size:clamp(20px,2.6vw,28px);font-weight:800}
.footer-cta p{color:#dce7ff;margin-top:6px}
.site-footer{background:var(--navy);color:#c9d6ee;margin-top:0}
.footer-trust{border-bottom:1px solid rgba(255,255,255,.1);background:linear-gradient(180deg,rgba(255,255,255,.03),transparent)}
.footer-trust .container{display:flex;justify-content:space-between;gap:18px;flex-wrap:wrap;padding:26px 20px}
.footer-trust .ft-item{text-align:center;flex:1;min-width:110px}
.footer-trust .ft-item b{display:block;font-size:23px;font-weight:800;color:var(--gold-2);letter-spacing:-.3px}
.footer-trust .ft-item span{font-size:12.5px;color:#a9bad9}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:36px;padding:52px 20px 40px}
.footer-logo{filter:brightness(0) invert(1);opacity:.95}
/* Cơ sở: icon SVG + địa chỉ (thay emoji) */
.footer-campuses{display:flex;flex-direction:column;gap:12px;margin-top:18px}
.fc-item{display:flex;gap:10px;align-items:flex-start}
.fc-ic{flex-shrink:0;width:26px;height:26px;border-radius:8px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.13);
  display:grid;place-items:center;line-height:0;color:var(--gold-2)}
.fc-body{display:flex;flex-direction:column;gap:2px;min-width:0}
.fc-body b{color:#e8eefb;font-size:12.5px;font-weight:700;letter-spacing:.01em}
.fc-body span{color:#93a6c8;font-size:12.5px;line-height:1.5}
/* Hotline / email */
.footer-reach{display:flex;flex-direction:column;gap:9px;margin-top:16px}
.footer-reach .fr-link{display:inline-flex;align-items:center;gap:9px;color:#c9d6ee;font-size:13.5px;font-weight:600;padding:0;width:fit-content}
.footer-reach .fr-link:hover{color:var(--gold-2)}
.fr-ic{display:grid;place-items:center;line-height:0;color:var(--gold-2);flex-shrink:0}
/* Social - ISOLATE: grid canh giữa + line-height 0 để SVG không lệch theo line-height kế thừa */
.footer-social{display:flex;gap:9px;margin-top:20px;isolation:isolate}
.footer-social a,.site-footer .footer-social a{width:36px;height:36px;flex:0 0 36px;border-radius:10px;background:rgba(255,255,255,.06);border:0;
  display:grid;place-items:center;line-height:0;font-size:0;color:#c9d6ee;padding:0;text-decoration:none;
  transition:transform .15s ease,background .15s ease,color .15s ease}
.footer-social a:hover{transform:translateY(-2px);color:#fff}
/* Bỏ viền icon social (Alex 18/07) - nền mờ đã đủ tách khỏi footer. Giữ outline khi focus
   bàn phím: đó là chỉ báo tiếp cận, không phải trang trí. */
.footer-social a:focus-visible{outline:2px solid var(--gold-2);outline-offset:2px}
.footer-social a[aria-label="Facebook"]:hover{background:#1877f2}
.footer-social a[aria-label="YouTube"]:hover{background:#ff0000}
.footer-social a[aria-label="LinkedIn"]:hover{background:#0a66c2}
.footer-social a svg{display:block;width:16px;height:16px;fill:currentColor;stroke:none}
.footer-vnis{display:inline-flex;align-items:center;gap:10px;margin-top:20px;padding:0}
.footer-vnis span{color:#8ea3c9;font-size:12px}
.footer-vnis img{height:26px;width:auto;filter:brightness(0) invert(1);opacity:.92}
.footer-vnis:hover img{opacity:1}
/* Dải đăng ký nhận bản tin */
.nl-band{border-top:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.03)}
.nl-wrap{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;padding:24px 20px}
.nl-copy b{display:block;color:#fff;font-size:16px;font-weight:800;margin-bottom:4px}
.nl-copy span{color:#a9bad9;font-size:13.5px;line-height:1.6;max-width:520px;display:block}
.nl-form{display:flex;gap:8px;flex-wrap:wrap;align-items:center;position:relative;min-width:280px}
.nl-hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
.nl-form input[type=email]{flex:1;min-width:200px;padding:12px 16px;border-radius:999px;border:1px solid rgba(255,255,255,.2);
  background:rgba(255,255,255,.08);color:#fff;font-size:14px;font-family:inherit}
.nl-form input[type=email]::placeholder{color:#8ea3c9}
.nl-form input[type=email]:focus{outline:none;border-color:var(--gold-2);background:rgba(255,255,255,.12)}
.nl-form button{padding:12px 24px;border-radius:999px;border:0;background:linear-gradient(135deg,var(--gold),var(--gold-2));
  color:var(--navy);font-weight:800;font-size:14px;cursor:pointer;white-space:nowrap;font-family:inherit;transition:transform .15s}
.nl-form button:hover{transform:translateY(-1px)}
.nl-form button:disabled{opacity:.6;cursor:default;transform:none}
.nl-msg{flex-basis:100%;margin:2px 0 0;font-size:13px;min-height:1px}
/* Bản inline (cuối bài blog) - nền sáng, bo góc */
.nl-inline{border:1px solid var(--line);border-radius:20px;background:var(--soft);margin:38px 0 8px}
.nl-inline .nl-copy b{color:var(--navy)}
.nl-inline .nl-copy span{color:var(--muted)}
.nl-inline .nl-form input[type=email]{background:#fff;border-color:var(--line);color:var(--text)}
.nl-inline .nl-form input[type=email]::placeholder{color:var(--muted)}
@media(max-width:640px){.nl-wrap{flex-direction:column;align-items:stretch}.nl-form{width:100%}}
.footer-bottom{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;font-size:12.5px;line-height:1.6}
/* Dải công bố pháp nhân + biểu tượng "Đã thông báo Bộ Công Thương" (Nghị định 52/2013 (nay thay bằng Luật TMĐT + NĐ 248/2026) Điều 28–29, 55).
   Logo là ảnh chữ xanh nền trong suốt, đặt thẳng lên nền navy sẽ chìm - nên phải lót chip trắng. */
.footer-legal{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;
  border-top:1px solid rgba(255,255,255,.09);margin-top:8px;padding:18px 0 4px;font-size:12.5px;line-height:1.7;color:#7c8fb2}
.fl-info{display:flex;flex-direction:column;min-width:0}
/* Mỗi cụm pháp lý là một ĐƠN VỊ: trình duyệt ưu tiên xuống dòng giữa các đơn vị thay vì cắt ngang
   "cấp ngày 12/03/2015" hay tách nơi cấp khỏi ngày cấp (Alex báo 30/08/2026, xem trên điện thoại).
   Dùng inline-block chứ KHÔNG dùng white-space:nowrap - cụm dài nhất 57 ký tự, nowrap sẽ tràn
   ngang trên máy 320px, tệ hơn cả cái đang sửa. inline-block co lại vừa khung khi hết chỗ. */
.fl-info .nb{display:inline-block;font-style:normal}
.fl-co{color:#c9d6ee;font-weight:600}
.fl-more{display:inline-flex;align-items:center;gap:6px;align-self:flex-start;margin-top:10px;padding:6px 13px;
  border:1px solid rgba(255,255,255,.16);border-radius:999px;color:#c9d6ee;font-weight:600;font-size:12px;
  text-decoration:none;transition:border-color .16s ease,background .16s ease,color .16s ease}
.fl-more:hover{border-color:rgba(255,255,255,.42);background:rgba(255,255,255,.06);color:#fff}
.fl-moit{flex:none;display:inline-flex;align-items:center;background:#fff;border-radius:12px;padding:8px 14px;
  box-shadow:0 2px 10px rgba(0,0,0,.18);transition:transform .16s ease,box-shadow .16s ease}
.fl-moit:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(0,0,0,.3)}
.fl-moit img{display:block;height:38px;width:auto}
@media(max-width:640px){
  .footer-legal{flex-direction:column;align-items:center;text-align:center;gap:14px;padding-bottom:20px}
  .fl-more{align-self:center}
}
@media(max-width:640px){
  .footer-bottom{flex-direction:column;text-align:center;gap:4px;padding-top:18px;padding-bottom:22px}
  .footer-bottom span{display:block;color:#7c8fb2}
  .footer-campuses .fc-body span{font-size:12px}
  .footer-social{width:100%;margin-top:22px}
  /* Phải set CẢ flex-basis: rule gốc có flex:0 0 36px, nếu chỉ đổi width thì ô méo 36×42 (Alex báo
     icon lệch trên mobile 19/07). display:grid lặp lại vì .site-footer a{display:block} đứng SAU
     trong bảng CSS và cùng độ ưu tiên → nó thắng, làm place-items:center mất tác dụng. */
  /* Selector phải MẠNH BẰNG rule gốc (.site-footer .footer-social a) - media query KHÔNG làm tăng
     độ ưu tiên, nên nếu chỉ viết .footer-social a thì rule gốc thắng và 42px không áp được. */
  .footer-social a,.site-footer .footer-social a{width:42px;height:42px;flex:0 0 42px;border-radius:12px;display:grid;place-items:center}
  .footer-social a svg{width:18px;height:18px}
  .footer-brand,.footer-campuses .fc-item,.footer-reach .fr-link{text-align:left}
  .footer-social{justify-content:flex-start}
}
.site-footer h4{color:#fff;font-size:15px;margin-bottom:14px;font-weight:700}
.site-footer a{display:block;color:#a9bad9;padding:5px 0;font-size:14.5px}
.site-footer a:hover{color:var(--gold-2)}
.footer-tagline{margin-top:16px;font-size:14.5px;max-width:340px;color:#a9bad9}
.footer-bottom{border-top:1px solid rgba(255,255,255,.1);padding:20px;text-align:center;font-size:13.5px;color:#7c8db0}

/* ===== AI chat ===== */
.ai-fab{position:fixed;right:22px;bottom:22px;z-index:80;border:0;cursor:pointer;font:inherit;font-weight:700;color:var(--navy);
  background:linear-gradient(135deg,var(--gold-2),var(--gold));border-radius:999px;padding:13px 22px;font-size:15.5px;
  box-shadow:0 10px 30px rgba(216,177,97,.5);display:flex;align-items:center;gap:6px;transition:transform .15s}
.ai-fab:hover{transform:scale(1.05)}
.ai-panel[hidden]{display:none}
.ai-panel{position:fixed;right:22px;bottom:86px;z-index:80;width:min(380px,calc(100vw - 32px));height:520px;max-height:calc(100vh - 120px);
  background:#fff;border-radius:20px;box-shadow:var(--shadow-lg);display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--line)}
.ai-head{background:linear-gradient(135deg,var(--navy),var(--blue));color:#fff;padding:15px 18px;display:flex;justify-content:space-between;align-items:center}
.ai-head button{background:none;border:0;color:#fff;font-size:17px;cursor:pointer}
.ai-msgs{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:10px}
.ai-msg{max-width:85%;padding:11px 15px;border-radius:16px;font-size:14.5px;line-height:1.55;white-space:pre-wrap}
.ai-msg.bot{background:var(--soft);color:var(--text);border-bottom-left-radius:5px;align-self:flex-start}
.ai-msg.user{background:var(--blue);color:#fff;border-bottom-right-radius:5px;align-self:flex-end}
.ai-input{display:flex;gap:8px;padding:12px;border-top:1px solid var(--line)}
.ai-input input{flex:1;font:inherit;padding:10px 14px;border:1.5px solid var(--line);border-radius:999px}
.ai-input input:focus{outline:none;border-color:var(--blue)}
.ai-input .btn{padding:8px 18px}
.ai-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}
.ai-chips button{border:1px solid var(--line);background:#fff;color:var(--navy);border-radius:999px;padding:6px 13px;font:inherit;font-size:12.5px;font-weight:600;cursor:pointer;transition:all .15s}
.ai-chips button:hover{background:var(--navy);color:#fff;border-color:var(--navy)}
.ai-msg.ok{background:#e8f7ee;border:1px solid #b7e4c7;color:#15683a;max-width:100%;align-self:stretch}
.ai-msg p{margin:0 0 7px}.ai-msg p:last-child{margin-bottom:0}
.ai-msg ul{margin:5px 0;padding-left:18px}.ai-msg li{margin:2px 0}
.ai-msg.bot a{color:var(--blue);font-weight:600}
.ai-actions{padding:8px 12px 0;display:flex}
.ai-actions button{flex:1;border:1px dashed var(--gold);background:#fffdf6;color:var(--navy);border-radius:12px;padding:9px 12px;font:inherit;font-size:13px;font-weight:700;cursor:pointer;transition:background .15s}
.ai-actions button:hover{background:var(--gold-2)}
.ai-bform{display:flex;flex-direction:column;gap:7px;margin-top:8px}
.ai-bform input,.ai-bform select{font:inherit;padding:9px 12px;border:1.5px solid var(--line);border-radius:10px;font-size:13.5px;width:100%;box-sizing:border-box}
.ai-bform .row{display:flex;gap:6px}
.ai-bform .row>*{flex:1}
.ai-bform .go{background:var(--blue);color:#fff;border:0;border-radius:10px;padding:10px;font-weight:700;cursor:pointer}

/* ===== Responsive ===== */
/* Laptop 1101–1360px: thanh đầu trang TRÀN NGANG cả trang.
   Đo trên chính website 30/08/2026 ở 1280px (bề ngang laptop phổ biến nhất): nội dung header cần
   ~1226px trong khi khung chỉ có 1140px, nên nút "Đăng ký tư vấn" đẩy ra 1297px - tức lòi khỏi màn
   hình 17px và cả trang có thanh cuộn ngang. Có ở MỌI trang, không riêng trang nào.
   Dưới 1100px đã chuyển sang menu hamburger nên không dính; trên 1360px thì đủ chỗ.
   Cách chữa: bóp khoảng đệm trong dải này thay vì ẩn bớt mục - menu đầy đủ vẫn là thứ đáng giữ ở
   cỡ laptop. Đặt min-width:0 để thanh điều hướng co được thay vì đẩy hàng xóm ra ngoài. */
@media(min-width:1101px) and (max-width:1360px){
  .header-inner{gap:8px}
  .main-nav{gap:0}
  .nav-link{padding:8px 7px;font-size:14px}
  .header-actions{gap:7px}
  .lang-switch a{padding:6px 8px}
  .header-actions .btn-primary{padding-left:14px;padding-right:14px}
}
/* Dưới 1240px bóp khoảng đệm vẫn chưa đủ (thiếu tới 146px ở 1101px) - phải nhường hẳn chỗ, nên ẩn
   nút "Đăng ký tư vấn" y như cách đã làm ở dưới 1100px. Thử cách chỉ nén (min-width:0 cho thanh
   điều hướng) thì hết tràn trang nhưng menu ĐÈ lên nút VI/EN - trông còn tệ hơn. */
@media(min-width:1101px) and (max-width:1239px){
  .header-actions .btn-primary{display:none}
}
@media(max-width:1100px){
  .main-nav{position:absolute;top:100%;left:0;right:0;background:#fff;flex-direction:column;align-items:stretch;padding:12px 16px 18px;border-bottom:1px solid var(--line);
    box-shadow:var(--shadow-lg);display:none;z-index:55;gap:1px;max-height:calc(100vh - 72px);overflow-y:auto}
  .main-nav .nav-link{display:flex;width:100%;justify-content:flex-start;text-align:left;padding:13px 14px;font-size:15.5px;border-radius:12px}
  .main-nav.open{display:flex}
  .main-nav .nav-cta{display:flex;justify-content:center;margin:10px 2px 2px}
  .menu-toggle{display:inline-flex}
  .header-actions .btn-primary{display:none}
  /* Submenu mobile: hiện phẳng dạng danh sách con thụt vào (không cần hover) */
  .nav-item{width:100%}
  .nav-item.has-sub>.nav-link .nav-caret{display:none}
  .nav-sub{position:static;opacity:1;visibility:visible;transform:none;box-shadow:none;border:0;border-radius:0;
    margin:0 0 6px;padding:0 0 0 12px;min-width:0;border-left:2px solid var(--line)}
  .nav-sub a{padding:9px 12px}
  .nav-sub a span{display:none}
}
/* Header mobile hẹp: gọn để hamburger LUÔN vừa màn hình (fix tràn 375px) */
@media(max-width:640px){
  .header-inner{gap:6px}
  .header-actions{gap:6px;margin-left:auto}
  .brand img{height:28px;max-width:108px}
  .lang-switch{font-size:11px}
  .lang-switch a{padding:4px 7px}
  .login-menu .btn{padding:7px 10px;font-size:12.5px}
  .menu-toggle{width:36px;height:36px}
}
@media(max-width:1020px){
  .grid-4{grid-template-columns:repeat(2,1fr)}.grid-3{grid-template-columns:repeat(2,1fr)}
  .footer-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:640px){
  .grid-3,.grid-4,.grid-2{grid-template-columns:1fr}
  .hero{padding:52px 0 60px}
  .section{padding:40px 0}
  .footer-grid{grid-template-columns:1fr}
  .ai-fab span{display:none}
  /* Căn TRÁI đồng nhất toàn trang trên mobile (Alex chốt 17/07) */
  .hero-copy,.page-hero .container{text-align:left}
  .sec-head{text-align:left;margin-left:0}
  .sec-head h2::after{margin-left:0}
  .hero-ctas,.chero-cta{justify-content:flex-start}
  .hero-trustline{text-align:left}
  .exam-hero-row{flex-direction:column;align-items:flex-start}
}

/* ============================================================
   PREMIUM - nâng cấp giao diện đẳng cấp trung tâm luyện thi #1
   ============================================================ */

/* Hero 2 cột + ảnh học viên + thẻ trust nổi */
.hero-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:48px;align-items:center}
.hero-visual{position:relative}
.hero-photo{border-radius:26px;overflow:hidden;aspect-ratio:5/6;box-shadow:0 30px 70px rgba(0,0,0,.4);border:5px solid rgba(255,255,255,.12);background:#132a52;transform:rotate(1.4deg)}
.hero-photo img{width:100%;height:100%;object-fit:cover;object-position:center;display:block}
/* Carousel: ảnh xếp chồng, fade + Ken Burns zoom, chấm điều hướng */
.hero-carousel{position:relative}
.hero-carousel img{position:absolute;inset:0;opacity:0;transition:opacity 1.1s ease}
.hero-carousel img.on{opacity:1;animation:kenburns 6s ease-out both}
@keyframes kenburns{from{transform:scale(1.08)}to{transform:scale(1)}}
.hero-dots{position:absolute;bottom:14px;left:0;right:0;display:flex;gap:7px;justify-content:center;z-index:2}
.hero-dots button{width:8px;height:8px;border-radius:999px;border:0;cursor:pointer;background:rgba(255,255,255,.5);padding:0;transition:all .2s}
.hero-dots button.on{background:#fff;width:22px}
@media(prefers-reduced-motion:reduce){.hero-carousel img.on{animation:none}}
.hero-badge{position:absolute;background:rgba(255,255,255,.96);backdrop-filter:blur(8px);border-radius:16px;padding:12px 16px;box-shadow:0 14px 34px rgba(0,0,0,.22);display:flex;align-items:center;gap:11px}
.hero-badge .hb-em{font-size:24px}
.hero-badge b{display:block;color:var(--navy);font-size:17px;font-weight:800;line-height:1.1}
.hero-badge small{color:var(--muted);font-size:12px}
.hero-badge.hb1{top:24px;left:-24px;animation:floaty 4s ease-in-out infinite}
.hero-badge.hb2{bottom:30px;right:-18px;animation:floaty 4s ease-in-out infinite .6s}
@keyframes floaty{0%,100%{transform:translateY(0)}50%{transform:translateY(-9px)}}
@media(prefers-reduced-motion:reduce){.hero-badge{animation:none}.hero-photo{transform:none}}
@media(max-width:900px){.hero-grid{grid-template-columns:1fr}.hero-visual{display:none}}

/* Khóa học */
.course-group{margin-bottom:48px}
.group-title{font-size:22px;font-weight:800;color:var(--navy);margin-bottom:20px;padding-left:14px;border-left:4px solid var(--gold)}
.course-card{display:flex;flex-direction:column}
.course-card .cat{color:var(--blue);font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:1px;margin-top:2px}
.pkg-list{margin:14px 0;display:flex;flex-direction:column;gap:8px}
.pkg-row{display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:13.5px;padding:9px 12px;background:var(--bg);border-radius:10px;border:1px solid var(--line)}
.pkg-row span{color:var(--muted)}
.pkg-row b{color:var(--navy);white-space:nowrap}
.pkg-more{font-size:12.5px;color:var(--muted);text-align:center}
.course-foot{margin-top:auto;padding-top:16px;display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid var(--line)}
.price-from{font-weight:800;color:var(--blue);font-size:15px}

/* Lịch khai giảng */
.sched-list{display:flex;flex-direction:column;gap:12px;max-width:860px;margin:0 auto}
.sched-row{display:flex;align-items:center;gap:20px;background:#fff;border:1px solid var(--line);border-radius:16px;padding:18px 22px;box-shadow:var(--shadow);transition:transform .15s,box-shadow .15s}
.sched-row:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}
.sched-date{flex-shrink:0;width:120px;text-align:center;background:linear-gradient(135deg,var(--soft),#dbe7ff);border-radius:12px;padding:12px 8px}
.sched-date .d{font-weight:800;color:var(--navy);font-size:14px;line-height:1.3}
.sched-main{flex:1;min-width:0}
.sched-main h3{font-size:17px;font-weight:700;color:var(--navy)}
.sched-main p{font-size:13.5px;margin-top:4px}
@media(max-width:640px){.sched-row{flex-wrap:wrap}.sched-date{width:100%}}

/* Trang khóa học - card chương trình theo màu kỳ thi */
.course-group{margin-bottom:52px}
.group-head{margin-bottom:24px}
.group-head .group-title{margin-bottom:4px}
.grid.grid-3{gap:24px}
.prog-card{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:20px;overflow:hidden;box-shadow:var(--shadow);color:var(--text);transition:transform .2s ease,box-shadow .2s ease}
.prog-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-lg)}
.prog-top{position:relative;height:96px;display:flex;align-items:center;padding:0 24px;overflow:hidden}
.prog-top::after{content:"";position:absolute;inset:0;background:radial-gradient(120px 90px at 90% 20%,rgba(255,255,255,.25),transparent 70%)}
.prog-abbr{color:#fff;font-size:34px;font-weight:900;letter-spacing:-1px;z-index:1;text-shadow:0 2px 10px rgba(0,0,0,.18)}
.prog-icon{position:absolute;right:20px;bottom:-6px;font-size:56px;opacity:.9;filter:drop-shadow(0 6px 14px rgba(0,0,0,.25))}
.prog-body{padding:22px 24px;display:flex;flex-direction:column;flex:1}
.prog-body h3{font-size:19px;font-weight:800;color:var(--navy)}
.prog-body p{color:var(--muted);font-size:14px;margin-top:7px;line-height:1.6;flex:1}
.prog-foot{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:16px}
.prog-price{font-weight:800;color:var(--blue);font-size:16px}
.prog-open{font-size:12px;font-weight:700;color:var(--gold);background:rgba(216,177,97,.14);padding:4px 10px;border-radius:999px}
.prog-cta{margin-top:14px;font-weight:700;color:var(--blue);font-size:14.5px}
.prog-card:hover .prog-cta{color:var(--navy)}

/* Exam hub (/tuyen-sinh-du-hoc-my/<exam>/) */
.exam-hero{padding:56px 0 60px}
.exam-hero-row{display:flex;gap:26px;align-items:flex-start;margin-top:8px}
.exam-icon{width:84px;height:84px;flex-shrink:0;border-radius:22px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.18);display:flex;align-items:center;justify-content:center;font-size:42px}
@media(max-width:640px){.exam-hero-row{flex-direction:column}.exam-icon{width:64px;height:64px;font-size:32px}}
.hub-pkgs{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:14px;position:relative}
.hub-pkg{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.14);border-radius:16px;padding:18px;display:flex;flex-direction:column;gap:6px}
.hub-pkg b{color:#fff;font-size:15px;line-height:1.35}
.hub-pkg span{color:#a9bad9;font-size:13px}
.hub-pkg em{font-style:normal;color:var(--gold-2);font-weight:800;font-size:19px;margin-top:auto}
.profile-photo{position:relative;width:148px;height:148px;flex-shrink:0;border-radius:50%;overflow:hidden;border:4px solid rgba(255,255,255,.25);box-shadow:0 16px 40px rgba(0,0,0,.35);background:rgba(255,255,255,.1);display:flex;align-items:center;justify-content:center;font-size:52px;font-weight:800;color:var(--gold-2)}
.profile-photo[data-ini]::before{content:attr(data-ini);position:absolute;inset:0;display:flex;align-items:center;justify-content:center}
.profile-photo img{position:relative;z-index:1;width:100%;height:100%;object-fit:cover}
@media(max-width:640px){.profile-photo{width:110px;height:110px}}

/* Thanh tiến độ đọc + nút back-to-top */
.read-progress{position:fixed;top:0;left:0;height:3px;width:0;z-index:70;background:linear-gradient(90deg,var(--blue),var(--gold));transition:width .1s}

/* Trust bar dưới hero */
.trust-bar{background:#fff;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.trust-bar .container{display:flex;align-items:center;justify-content:center;gap:clamp(20px,5vw,60px);flex-wrap:wrap;padding:22px 20px}
.trust-bar .ti{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:14px;font-weight:600}
.trust-bar .ti b{color:var(--navy)}
.trust-bar .ti .em{font-size:22px}

/* Section eyebrow căn giữa dùng chung */
.eyebrow-c{display:inline-block;color:var(--blue);font-weight:800;font-size:12.5px;letter-spacing:2px;text-transform:uppercase;margin-bottom:10px}

/* Kết quả / điểm số nổi bật */
.results-band{background:linear-gradient(160deg,#0a1730,#132a52);color:#fff;border-radius:26px;padding:clamp(30px,5vw,56px);overflow:hidden;position:relative}
.results-band::after{content:"";position:absolute;inset:0;background:radial-gradient(600px 260px at 88% -10%,rgba(216,177,97,.22),transparent 60%);pointer-events:none}
.results-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;position:relative}
.result-cell b{display:block;font-size:clamp(30px,4vw,46px);font-weight:900;letter-spacing:-1px;background:linear-gradient(120deg,#fff,var(--gold-2));-webkit-background-clip:text;background-clip:text;color:transparent}
.result-cell span{color:#a9bad9;font-size:14px}

/* Testimonials */
.tcard{background:#fff;border:1px solid var(--line);border-radius:20px;padding:26px;box-shadow:var(--shadow);display:flex;flex-direction:column;gap:14px;position:relative}
.tcard .stars{color:#f5b301;font-size:15px;letter-spacing:2px}
.tcard .quote{font-size:15.5px;line-height:1.7;color:var(--text)}
.tcard .who{display:flex;align-items:center;gap:12px;margin-top:auto}
.tcard .ava{width:46px;height:46px;border-radius:50%;background:linear-gradient(135deg,var(--soft),#dbe7ff);display:flex;align-items:center;justify-content:center;font-weight:800;color:var(--blue)}
.tcard .who b{display:block;font-size:14.5px;color:var(--navy)}
.tcard .who span{font-size:12.5px;color:var(--muted)}
.tcard .badge{position:absolute;top:22px;right:22px;background:var(--soft);color:var(--blue);font-size:12px;font-weight:800;padding:5px 12px;border-radius:999px}

/* Dải logo trường / đối tác */
.logo-strip{display:flex;flex-wrap:wrap;gap:14px;justify-content:center}
.logo-strip .chip{background:#fff;border:1px solid var(--line);border-radius:14px;padding:12px 20px;font-weight:800;color:var(--navy);font-size:15px;box-shadow:var(--shadow)}
.logo-strip .chip small{display:block;font-weight:600;color:var(--muted);font-size:11.5px}

/* Quy trình học */
.steps{counter-reset:step;display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
.step{position:relative;background:#fff;border:1px solid var(--line);border-radius:18px;padding:26px 22px;box-shadow:var(--shadow)}
.step::before{counter-increment:step;content:counter(step);position:absolute;top:-16px;left:22px;width:38px;height:38px;border-radius:12px;background:linear-gradient(135deg,var(--blue),#2c62c4);color:#fff;font-weight:900;display:flex;align-items:center;justify-content:center;box-shadow:0 6px 16px rgba(31,78,163,.35)}
.step h3{margin-top:8px;font-size:17px;color:var(--navy);font-weight:800}
.step p{color:var(--muted);font-size:14px;margin-top:6px}

/* Cam kết / guarantee */
.guarantee{display:flex;gap:22px;align-items:center;background:linear-gradient(135deg,#fff,var(--soft));border:1.5px solid #dbe7ff;border-radius:22px;padding:clamp(24px,4vw,38px);box-shadow:var(--shadow)}
.guarantee .seal{width:88px;height:88px;border-radius:50%;flex-shrink:0;background:radial-gradient(circle at 50% 35%,var(--gold-2),var(--gold));display:flex;align-items:center;justify-content:center;font-size:40px;box-shadow:0 10px 26px rgba(216,177,97,.4)}
.guarantee h3{font-size:clamp(19px,2.4vw,25px);color:var(--navy);font-weight:800}
.guarantee p{color:var(--muted);margin-top:6px;font-size:15px}

/* FAQ */
.faq{max-width:820px;margin:0 auto;display:flex;flex-direction:column;gap:12px}
.faq details{background:#fff;border:1px solid var(--line);border-radius:14px;padding:2px 20px;box-shadow:var(--shadow)}
.faq summary{cursor:pointer;list-style:none;padding:16px 0;font-weight:700;color:var(--navy);font-size:16px;display:flex;justify-content:space-between;align-items:center;gap:12px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-size:22px;color:var(--blue);font-weight:400;transition:transform .2s}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq details p{padding:0 0 18px;color:var(--muted);font-size:15px;line-height:1.7}

/* ===== ARTICLE premium ===== */
.article-shell{display:grid;grid-template-columns:1fr minmax(0,760px) 1fr;gap:0;padding:44px 20px}
.article-shell .toc{grid-column:1;position:sticky;top:96px;align-self:start;max-height:calc(100vh - 120px);overflow:auto;padding-right:20px;font-size:13.5px}
.article-shell .toc b{display:block;text-transform:uppercase;letter-spacing:1.5px;font-size:11px;color:var(--muted);margin-bottom:12px}
.article-shell .toc a{display:block;color:var(--muted);padding:5px 0 5px 12px;border-left:2px solid var(--line);line-height:1.4}
.article-shell .toc a:hover,.article-shell .toc a.active{color:var(--blue);border-left-color:var(--blue);font-weight:600}
.article-main{grid-column:2}
.article-shell .rail{grid-column:3}
@media(max-width:1100px){.article-shell{grid-template-columns:1fr;max-width:780px;margin:0 auto}.article-shell .toc,.article-shell .rail{display:none}}

.prose{font-size:18px;line-height:1.85;color:#2a3547;font-variant-numeric:oldstyle-nums}
.prose>p:first-of-type{font-size:20px;line-height:1.75;color:#1f2a3d}
.prose>p:first-of-type::first-letter{float:left;font-size:3.4em;line-height:.82;font-weight:800;color:var(--blue);padding:6px 12px 0 0;font-family:inherit}
.prose h2{font-size:27px;font-weight:800;color:var(--navy);letter-spacing:-.4px;margin-top:1.9em;padding-top:.3em;scroll-margin-top:96px;position:relative}
.prose h2::before{content:"";position:absolute;left:0;top:-2px;width:46px;height:4px;border-radius:3px;background:linear-gradient(90deg,var(--blue),var(--gold))}
.prose h3{font-size:20px;font-weight:800;color:#1b2c4d;margin-top:1.6em;scroll-margin-top:96px;padding-left:14px;border-left:3px solid var(--gold);line-height:1.3}
.prose p{margin-top:1.05em}
.prose a{color:var(--blue);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1.5px;text-decoration-color:#bcd0f0}
.prose a:hover{text-decoration-color:var(--blue)}
.prose ul,.prose ol{padding-left:2px;margin-top:1.1em;list-style:none}
.prose ul li,.prose ol li{position:relative;padding-left:34px;margin-top:.62em;line-height:1.65}
/* Bullet = dấu check trong badge tròn gradient (editorial, cao cấp hơn chấm) */
.prose ul li::before{content:"✓";position:absolute;left:0;top:.15em;width:22px;height:22px;border-radius:50%;
  background:linear-gradient(135deg,var(--blue),#2c62c4);color:#fff;font-size:12px;font-weight:800;
  display:flex;align-items:center;justify-content:center;box-shadow:0 2px 6px rgba(31,78,163,.25)}
.prose ol{counter-reset:li}
.prose ol li::before{counter-increment:li;content:counter(li);position:absolute;left:0;top:.05em;width:24px;height:24px;border-radius:8px;background:var(--soft);color:var(--blue);font-size:13px;font-weight:800;display:flex;align-items:center;justify-content:center}
.prose blockquote{border:0;position:relative;background:linear-gradient(135deg,var(--soft),#fff);border-left:4px solid var(--gold);border-radius:0 16px 16px 0;padding:20px 26px;margin:1.6em 0;color:var(--navy);font-size:18px;font-style:italic;box-shadow:var(--shadow)}
.prose img{border-radius:16px;box-shadow:var(--shadow-lg);margin:1.6em auto;display:block}
.prose table{width:100%;border-collapse:separate;border-spacing:0;font-size:15px;margin:1.6em 0;border:1px solid var(--line);border-radius:14px;overflow:hidden;display:block;overflow-x:auto}
.prose table th{background:var(--navy);color:#fff;font-weight:700;padding:12px 16px;text-align:left}
.prose table td{padding:11px 16px;border-top:1px solid var(--line)}
.prose table tr:nth-child(even) td{background:var(--bg)}
.prose hr{border:0;height:1px;background:var(--line);margin:2.4em 0}
.prose-preview{font-size:15px;line-height:1.7}

/* Hộp tác giả / uy tín cuối bài */
.author-box{display:flex;gap:16px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:18px;padding:22px;box-shadow:var(--shadow);margin:36px 0}
.author-box .logo{width:60px;height:60px;border-radius:16px;background:linear-gradient(135deg,var(--navy),var(--blue));display:flex;align-items:center;justify-content:center;font-size:28px;flex-shrink:0}
.author-box b{color:var(--navy);font-size:16px}
.author-box p{color:var(--muted);font-size:13.5px;margin-top:3px}
.article-cta{background:radial-gradient(600px 240px at 85% 0%,rgba(216,177,97,.25),transparent 60%),linear-gradient(135deg,var(--navy),var(--blue));border-radius:20px;padding:30px;color:#fff;margin:32px 0;text-align:center}
.article-cta h3{font-size:22px;font-weight:800}
.article-cta p{color:#c9d6ee;margin:8px 0 18px}
.share-row{display:flex;gap:10px;align-items:center;margin:28px 0;flex-wrap:wrap}
.share-row a{width:40px;height:40px;border-radius:50%;border:1.5px solid var(--line);display:flex;align-items:center;justify-content:center;color:var(--muted);font-weight:800;transition:all .15s}
.share-row a:hover{border-color:var(--blue);color:var(--blue);transform:translateY(-2px)}
.chip-meta{display:inline-flex;align-items:center;gap:6px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.16);padding:6px 14px;border-radius:999px;font-size:13px;color:#c9d6ee}
/* Link CTA dính nhau trong prose → hàng nút chip */
.prose .prose-links{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0}
.prose .prose-links a{display:inline-flex;align-items:center;gap:6px;background:var(--soft);border:1.5px solid #dbe7ff;color:var(--blue);font-weight:600;font-size:14px;padding:9px 17px;border-radius:999px;text-decoration:none}
.prose .prose-links a:hover{background:var(--blue);color:#fff;border-color:var(--blue)}
.article-cta-form{margin-top:38px}
.plc-cta{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin:28px 0 14px;padding:18px 22px;border-radius:16px;background:linear-gradient(135deg,var(--navy,#0b1836),#1f4ea3);color:#fff}
.plc-cta b{display:block;font-size:17px;margin-bottom:3px}.plc-cta span{font-size:13.5px;color:rgba(255,255,255,.82)}
.plc-cta .btn{white-space:nowrap}
@media(max-width:640px){.plc-cta{padding:16px 18px}.plc-cta .btn{width:100%;text-align:center}}
/* Khối "quick facts" chuẩn hóa → lưới thẻ */
.prose .facts-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px;margin:24px 0;padding:0;list-style:none}
.prose .facts-grid .fact{background:linear-gradient(135deg,var(--soft),#fff);border:1px solid #dbe7ff;border-radius:16px;padding:18px 20px}
.prose .facts-grid .fact b{display:block;font-size:20px;color:var(--navy);font-weight:800;letter-spacing:-.3px;margin-bottom:5px}
.prose .facts-grid .fact span{font-size:13.5px;color:var(--muted);line-height:1.5}

@media(max-width:1020px){.results-grid,.steps{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){
  .results-grid{grid-template-columns:repeat(2,1fr);gap:26px 14px}
  .result-cell{text-align:center}
  .steps{grid-template-columns:1fr}
  .guarantee{flex-direction:column;text-align:center}
  .prose{font-size:17px}.prose>p:first-of-type{font-size:18px}
  .trust-bar .container{gap:16px}
}

/* ===== Scroll reveal (chỉ bật khi có JS + không giảm chuyển động) ===== */
.js .grid>.card,.js .grid>.post-card,.js .grid>.prog-card,.js .grid>.tcard,
.js .steps>.step,.js .results-grid>.result-cell,.js .guarantee,.js .sched-row,.js .logo-strip>.chip,.js .faq>details{
  opacity:0;transform:translateY(22px);transition:opacity .7s cubic-bezier(.2,.7,.2,1),transform .7s cubic-bezier(.2,.7,.2,1)}
.js .rv-in{opacity:1 !important;transform:none !important}
/* Stagger theo vị trí trong lưới (mỗi lưới tự reset đếm) */
.js .grid>:nth-child(4n+2),.js .steps>:nth-child(4n+2),.js .results-grid>:nth-child(4n+2){transition-delay:.07s}
.js .grid>:nth-child(4n+3),.js .steps>:nth-child(4n+3),.js .results-grid>:nth-child(4n+3){transition-delay:.14s}
.js .grid>:nth-child(4n+4),.js .steps>:nth-child(4n+4),.js .results-grid>:nth-child(4n+4){transition-delay:.21s}
@media(prefers-reduced-motion:reduce){.js .grid>*,.js .steps>*,.js .results-grid>*,.js .guarantee,.js .sched-row,.js .logo-strip>.chip,.js .faq>details{opacity:1 !important;transform:none !important;transition:none !important}}
/* Header đổ bóng nhẹ khi cuộn */
.site-header.scrolled{box-shadow:0 6px 24px rgba(11,24,54,.09)}

/* ===== Box tên bài thi nổi bật trên card khóa học (trang chủ) ===== */
.exam-badge{width:auto;min-width:64px;height:52px;padding:0 16px;border-radius:14px;display:inline-flex;align-items:center;justify-content:center;
  font-size:20px;font-weight:900;letter-spacing:-.5px;color:#fff;margin-bottom:16px;box-shadow:0 8px 20px rgba(11,24,54,.18);position:relative;overflow:hidden}
.exam-badge::after{content:"";position:absolute;inset:0;background:radial-gradient(60px 44px at 85% 15%,rgba(255,255,255,.28),transparent 70%)}
.exam-badge .eb-em{position:absolute;right:6px;bottom:-6px;font-size:30px;opacity:.85}
/* Badge lớn ở hero trang khóa/bài thi (thay ô icon vuông) */
.exam-badge-lg{width:96px;height:84px;min-width:96px;border-radius:22px;font-size:30px;flex-shrink:0;box-shadow:0 16px 36px rgba(0,0,0,.32);border:1px solid rgba(255,255,255,.14)}
/* Hub không phải kỳ thi (Hệ thống giáo dục Mỹ…) - huy hiệu là emoji, không phải mã bài thi */
.exam-badge-icon{font-size:40px;letter-spacing:0}
.exam-badge-lg .eb-em{right:8px;bottom:-4px;font-size:38px}
@media(max-width:640px){.exam-badge-lg{width:74px;height:66px;min-width:74px;font-size:24px}.exam-badge-lg .eb-em{font-size:30px}}
.exam-hero .hero-trustline{margin-top:20px;color:#a9bad9;font-size:13.5px;font-weight:600;display:flex;gap:6px;flex-wrap:wrap}

/* Thumbnail bài viết thiếu ảnh: placeholder THEO CHỦ ĐỀ (gradient + icon + nhãn) - trông như
   featured image được thiết kế, không phải ảnh lỗi. background gradient set inline theo chủ đề. */
.thumb.ph{position:relative;overflow:hidden;display:flex;align-items:flex-end;
  background:linear-gradient(135deg,var(--navy),var(--blue))}
.thumb.ph::before{content:"";position:absolute;inset:0;
  background-image:radial-gradient(rgba(255,255,255,.16) 1.1px,transparent 1.2px);background-size:15px 15px;opacity:.5}
.thumb.ph::after{content:"";position:absolute;right:-18px;bottom:-30px;width:150px;height:150px;border-radius:50%;
  background:radial-gradient(circle at 30% 30%,rgba(255,255,255,.22),transparent 68%)}
.thumb.ph .ph-ic{position:absolute;top:50%;right:14px;transform:translateY(-50%);font-size:74px;line-height:1;
  opacity:.28;filter:saturate(1.2) drop-shadow(0 4px 12px rgba(0,0,0,.25));z-index:1}
.thumb.ph .ph-in{position:relative;z-index:2;display:flex;flex-direction:column;gap:3px;padding:15px 16px}
.thumb.ph .ph-cat{font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:2px;color:#fff}
.thumb.ph .ph-mark{font-size:12.5px;font-weight:700;letter-spacing:.3px;
  background:linear-gradient(120deg,#fff,var(--gold-2));-webkit-background-clip:text;background-clip:text;color:transparent}
/* Social icon (topbar + footer) chứa SVG - căn giữa, không vỡ trên mobile */
.topbar-right a.tb-ico svg,.footer-social a svg{display:block}

/* ===== Trust cards (dùng chung trang khóa/bài thi) ===== */
.trust-card{text-align:left}
.trust-card .icon{background:linear-gradient(135deg,var(--navy),var(--blue));color:#fff}

/* ===== Lịch học linh hoạt ===== */
.flex-band{background:linear-gradient(160deg,#0a1730,#132a52);border-radius:26px;padding:clamp(30px,5vw,52px);color:#fff;position:relative;overflow:hidden}
.flex-band::after{content:"";position:absolute;inset:0;background:radial-gradient(560px 240px at 90% -10%,rgba(216,177,97,.2),transparent 60%);pointer-events:none}
.flex-head{position:relative;max-width:720px}
.flex-head h2{font-size:clamp(22px,3vw,32px);font-weight:800;letter-spacing:-.4px}
.flex-head p{color:#c9d6ee;margin-top:12px;font-size:15.5px;line-height:1.7}
.flex-grid{position:relative;display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:30px}
.flex-item{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.13);border-radius:16px;padding:20px;display:flex;flex-direction:column;gap:6px}
.flex-item .fi-em{font-size:26px}
.flex-item b{color:#fff;font-size:15px}
.flex-item span{color:#a9bad9;font-size:13px;line-height:1.5}
.flex-cta{position:relative;margin-top:28px}
@media(max-width:900px){.flex-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:520px){.flex-grid{grid-template-columns:1fr}}

/* ===== Kiểm tra trình độ (dẫn tới tool) ===== */
.assess-band{display:flex;align-items:center;gap:22px;background:linear-gradient(135deg,#fff,var(--soft));border:1.5px solid #dbe7ff;border-radius:22px;padding:clamp(22px,3.5vw,32px);box-shadow:var(--shadow);color:var(--text);transition:transform .18s,box-shadow .18s;flex-wrap:wrap}
.assess-band:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg)}
.assess-ic{width:70px;height:70px;flex-shrink:0;border-radius:18px;background:radial-gradient(circle at 40% 30%,var(--gold-2),var(--gold));display:flex;align-items:center;justify-content:center;font-size:34px;box-shadow:0 10px 24px rgba(216,177,97,.4)}
.assess-copy{flex:1;min-width:240px}
.assess-copy h3{font-size:clamp(18px,2.3vw,22px);font-weight:800;color:var(--navy);margin:4px 0 6px}
.assess-copy p{color:var(--muted);font-size:14.5px}

/* ===== AI Strip (trang chủ): hỏi nhanh → prefill Cố vấn AI ===== */
.ai-strip{background:linear-gradient(120deg,#101f42,#16305f 55%,#1a3a74);border-top:1px solid rgba(255,255,255,.06);border-bottom:1px solid rgba(255,255,255,.06);position:relative;overflow:hidden}
.ai-strip::after{content:"";position:absolute;inset:0;background:radial-gradient(420px 160px at 12% 0%,rgba(226,181,79,.18),transparent 60%),radial-gradient(420px 160px at 88% 100%,rgba(143,184,50,.12),transparent 60%);pointer-events:none}
.ai-strip-in{position:relative;display:flex;align-items:center;gap:22px;padding-top:18px;padding-bottom:18px;flex-wrap:wrap}
.ais-copy{display:flex;align-items:center;gap:12px;min-width:260px;flex:1}
.ais-spark{width:38px;height:38px;flex-shrink:0;border-radius:12px;background:linear-gradient(135deg,var(--gold-2),var(--gold));display:grid;place-items:center;font-size:19px;box-shadow:0 8px 20px rgba(226,181,79,.35)}
.ais-copy b{display:block;color:#fff;font-size:15px;font-weight:800;letter-spacing:-.01em}
.ais-copy>div>span{color:#9fb2d5;font-size:12.5px}
.ais-chips{display:flex;gap:8px;flex-wrap:wrap}
.ais-chips a{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.16);color:#dbe6fb;font-size:12.5px;font-weight:600;padding:8px 14px;border-radius:999px;transition:background .15s,color .15s,border-color .15s,transform .15s}
.ais-chips a:hover{background:var(--gold);border-color:var(--gold);color:var(--navy);transform:translateY(-1px)}
@media(max-width:640px){.ai-strip-in{gap:12px}.ais-chips a{font-size:12px;padding:7px 12px}}

/* ===== Widget ước tính học phí 1 kèm 1 ===== */
.quote-box{background:radial-gradient(680px 300px at 85% -10%,rgba(226,181,79,.22),transparent 60%),linear-gradient(160deg,var(--navy),var(--navy-2));
  border-radius:28px;padding:clamp(28px,4.5vw,52px);color:#fff;box-shadow:var(--shadow-lg)}
.quote-head{max-width:700px;margin-bottom:24px}
.quote-head h2{font-size:clamp(22px,3vw,32px);font-weight:800;letter-spacing:-.02em;line-height:1.25}
.quote-head h2::after{display:none}
.quote-head p{color:#c9d6ee;margin-top:12px;font-size:15px;line-height:1.7}
.quote-form{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.quote-form label{display:flex;flex-direction:column;gap:7px;font-size:13.5px;font-weight:600;color:#c9d6ee}
.qf-hint{font-weight:400;color:#8ea3c9;font-size:12px}
.quote-form input,.quote-form select{font:inherit;font-weight:500;padding:12px 14px;border-radius:12px;border:1.5px solid rgba(255,255,255,.16);background:rgba(255,255,255,.07);color:#fff}
.quote-form select option{color:#111}
.quote-form input:focus,.quote-form select:focus{outline:none;border-color:var(--gold);background:rgba(255,255,255,.12)}
.quote-form input::placeholder{color:#7f93b8}
.quote-form button{grid-column:1/-1;margin-top:4px}
.quote-result{margin-top:22px;background:#fff;border-radius:18px;padding:24px 26px;color:var(--text);box-shadow:0 16px 40px rgba(0,0,0,.25)}
.quote-result.loading{text-align:center;color:var(--muted)}
.qr-top{display:flex;gap:28px;flex-wrap:wrap;align-items:flex-end;padding-bottom:16px;border-bottom:1px solid var(--line)}
.qr-hours b,.qr-total b{display:block;font-size:clamp(26px,4vw,36px);font-weight:800;letter-spacing:-.03em;line-height:1.1}
.qr-hours b{color:var(--blue)}.qr-total b{color:var(--navy)}
.qr-hours span,.qr-total span{font-size:12.5px;color:var(--muted)}
.qr-total{margin-left:auto;text-align:right}
.qr-why{margin:14px 0 0;font-size:14px;line-height:1.65;color:var(--text)}
.qr-break{list-style:none;padding:0;margin:16px 0 0;display:flex;flex-direction:column;gap:9px}
.qr-break li{display:flex;justify-content:space-between;gap:14px;font-size:14px;color:var(--muted)}
.qr-break li b{color:var(--navy);font-weight:700}
.qr-break .qr-sum{border-top:1px solid var(--line);padding-top:10px;margin-top:2px;font-size:15.5px}
.qr-break .qr-sum b{color:var(--blue);font-size:18px;font-weight:800}
.qr-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px;padding-top:16px;border-top:1px solid var(--line)}
/* ===== Thanh trên: chip 2 cơ sở (2 địa chỉ đầy đủ quá dài cho 1 dòng → mở panel) ===== */
.tb-campus{position:relative}
.tb-campus-btn{display:inline-flex;align-items:center;gap:5px;background:none;border:0;padding:0;margin:0;font:inherit;font-size:inherit;color:inherit;cursor:pointer;opacity:.9}
.tb-campus-btn:hover{opacity:1}
.tb-caret{font-size:9px;transition:transform .15s}
.tb-campus:hover .tb-caret,.tb-campus:focus-within .tb-caret{transform:rotate(180deg)}
.tb-campus-pop{position:absolute;top:calc(100% + 8px);left:0;z-index:5;min-width:330px;background:#fff;border:1px solid var(--line);
  border-radius:12px;box-shadow:0 12px 34px rgba(11,24,54,.16);padding:6px;opacity:0;visibility:hidden;transform:translateY(-4px);
  transition:opacity .15s,transform .15s,visibility .15s}
.tb-campus:hover .tb-campus-pop,.tb-campus:focus-within .tb-campus-pop{opacity:1;visibility:visible;transform:translateY(0)}
.tb-campus-pop a{display:block;padding:9px 11px;border-radius:8px;text-decoration:none;color:var(--ink)}
.tb-campus-pop a:hover{background:var(--brand-50)}
.tb-campus-pop b{display:block;font-size:12.5px;color:var(--brand-700);margin-bottom:2px}
.tb-campus-pop span{display:block;font-size:12.5px;line-height:1.5;color:var(--muted)}
/* ===== Trang "Về chúng tôi" (/gioi-thieu/ve-chung-toi/ + /en/about-us/overview/) ===== */
.page-hero-crumbs{background:var(--navy);padding:14px 0 12px}
/* .crumbs mặc định có margin-bottom:16px (hợp lý khi nằm trong .page-hero có padding đáy).
   Ở khối breadcrumb RỜI này, cha không có padding-bottom → margin ĐÙN RA NGOÀI (margin collapse)
   → hở 16px lộ nền trắng body ngay dưới header. Triệt tiêu margin, dùng padding của cha. */
.page-hero-crumbs .crumbs{margin-bottom:0}
/* Nền navy sâu để chữ trắng luôn đủ tương phản (brand-grad đi qua vàng/xanh lá → chữ trắng
   trên nửa phải không đọc được). Dấu ấn thương hiệu giữ bằng dải gradient mỏng ở đáy hero. */
.au-hero{background:linear-gradient(125deg,#0b1836 0%,#16295c 46%,#2b4b8f 100%);position:relative;overflow:hidden;padding:clamp(38px,6vw,66px) 0 clamp(60px,7vw,84px)}
.au-hero::after{content:"";position:absolute;left:0;right:0;bottom:0;height:4px;background:var(--brand-grad);z-index:3}
.au-hero::before{content:"";position:absolute;inset:0;background-image:radial-gradient(rgba(255,255,255,.1) 1.2px,transparent 1.3px);background-size:22px 22px;opacity:.6}
.au-hero-grid{position:relative;z-index:2;display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(28px,5vw,64px);align-items:center}
.au-hero-copy h1{font-size:clamp(30px,4.4vw,50px);line-height:1.12;font-weight:800;color:#fff;letter-spacing:-1px;margin:14px 0 16px}
.au-hero-copy h1 em{font-style:normal;background:linear-gradient(100deg,var(--gold-2),#ffe9a8);-webkit-background-clip:text;background-clip:text;color:transparent}
.au-hero-copy .lede{color:#c5d3ee;font-size:clamp(15px,1.6vw,17px);line-height:1.7;max-width:640px;margin:0 0 26px}
.au-hero-visual{position:relative}
.au-hero-visual img{width:100%;height:auto;border-radius:20px;box-shadow:0 24px 60px rgba(0,0,0,.34);border:1px solid rgba(255,255,255,.14);object-fit:cover}
/* Dải số liệu - nổi lên giữa hero và nội dung */
.au-stats-band{background:#fff;padding:0;position:relative;z-index:3;margin-top:-38px}
.au-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:16px;overflow:hidden;box-shadow:0 14px 40px rgba(11,24,54,.1)}
.au-stat{background:#fff;padding:22px 18px;text-align:center}
.au-stat b{display:block;font-size:clamp(22px,2.8vw,30px);font-weight:900;letter-spacing:-.8px;
  background:var(--brand-grad);-webkit-background-clip:text;background-clip:text;color:transparent;line-height:1.15}
.au-stat span{display:block;margin-top:5px;font-size:12.5px;line-height:1.5;color:var(--muted);font-weight:600}
/* Chúng tôi là ai + thẻ pháp lý */
.au-split{display:grid;grid-template-columns:1.25fr .75fr;gap:clamp(26px,4vw,52px);align-items:start}
.au-split h2{font-size:clamp(22px,2.9vw,30px);font-weight:800;color:var(--navy);letter-spacing:-.4px;margin:8px 0 14px}
.au-p{color:var(--ink-2);line-height:1.75;margin:0 0 13px;font-size:15.5px}
.au-legal{background:var(--brand-50);border:1px solid var(--line);border-radius:16px;padding:20px}
.au-legal-eye{display:block;font-size:11px;font-weight:800;letter-spacing:1.6px;text-transform:uppercase;color:var(--brand-700);margin-bottom:12px}
.au-legal ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}
.au-legal li{display:flex;flex-direction:column;gap:2px;padding-bottom:12px;border-bottom:1px solid var(--line)}
.au-legal li:last-child{border-bottom:0;padding-bottom:0}
.au-legal li>span{font-size:11.5px;font-weight:700;text-transform:uppercase;letter-spacing:.7px;color:var(--muted)}
.au-legal li>b{font-size:14px;color:var(--ink);line-height:1.45}
.au-legal li>b.au-addr{font-weight:600;font-size:13px;color:var(--ink-2)}
.au-legal li>em{font-style:normal;font-size:12px;color:var(--muted)}
/* Hình thức đào tạo */
.au-fmt h3{font-size:17px}
/* Lộ trình học viên */
.au-paths{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:12px}
.au-path{display:flex;align-items:center;gap:14px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:16px 18px;text-decoration:none;transition:border-color .15s,transform .15s,box-shadow .15s}
.au-path:hover{border-color:var(--blue);transform:translateY(-2px);box-shadow:0 10px 26px rgba(11,24,54,.09)}
.au-path-ic{font-size:26px;flex:none}
.au-path div{flex:1;min-width:0}
.au-path b{display:block;font-size:15px;color:var(--navy);margin-bottom:2px}
.au-path span{display:block;font-size:13px;color:var(--muted);line-height:1.55}
.au-path-go{color:var(--blue);font-weight:800;flex:none;transition:transform .15s}
.au-path:hover .au-path-go{transform:translateX(3px)}
/* Lý do - danh sách đánh số */
.au-reasons{list-style:none;margin:0;padding:0;counter-reset:aur;display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:16px}
.au-reasons li{counter-increment:aur;position:relative;padding:18px 18px 18px 60px;background:#fff;border:1px solid var(--line);border-radius:14px}
.au-reasons li::before{content:counter(aur);position:absolute;left:18px;top:18px;width:30px;height:30px;border-radius:9px;
  background:var(--brand-grad);color:#fff;font-weight:800;font-size:14px;display:flex;align-items:center;justify-content:center}
.au-reasons b{display:block;font-size:15.5px;color:var(--navy);margin-bottom:4px}
.au-reasons span{font-size:14px;color:var(--muted);line-height:1.65}
/* Clever Junior */
.au-junior{display:flex;align-items:center;gap:28px;background:linear-gradient(120deg,#0b1836,#2b4b8f);border-radius:20px;padding:clamp(24px,4vw,40px);overflow:hidden;position:relative}
.au-junior-copy{flex:1;min-width:0}
.au-junior-copy h2{color:#fff;font-size:clamp(20px,2.6vw,27px);font-weight:800;margin:8px 0 10px}
.au-junior-copy p{color:#c5d3ee;line-height:1.7;font-size:14.5px;margin:0 0 18px;max-width:620px}
.au-junior-em{font-size:clamp(60px,9vw,110px);line-height:1;opacity:.9;flex:none}
.au-junior-logo{flex:none;padding:0 clamp(4px,2vw,24px)}
.au-junior-logo img{width:clamp(180px,24vw,280px);height:auto;display:block;opacity:.97}
/* ===== Exam Hub (xh-*) - bố cục native cho /tuyen-sinh-du-hoc-my/* + /en/study-abroad-info/*
   Nội dung nhập từ WP đã mất khung <div>; các block này dựng lại bố cục thật (thẻ, bảng, bước…). */
.xh-sec{padding:clamp(34px,4.4vw,54px) 0}
.xh-narrow{max-width:860px}
.xh-sec .sec-head{margin-bottom:26px}
.xh-sec .sec-head p{color:var(--muted);font-size:15px;line-height:1.75;margin-top:10px}
/* Lede - đoạn mở đầu to hơn body, có CTA */
.xh-lede p{font-size:clamp(15.5px,1.5vw,17.5px);line-height:1.78;color:var(--text);margin-bottom:14px}
.xh-lede p:first-child{font-weight:500;color:var(--navy)}
.xh-lede-ctas{display:flex;gap:12px;flex-wrap:wrap;margin-top:22px}
/* Dải số liệu - flex (không grid): grid auto-fit kéo thẻ đơn lẻ rộng hết 1180px,
   chữ gradient khi đó chỉ hiện 1 lát giữa của dải màu nên trông xám xịt. */
.xh-stats{display:flex;flex-wrap:wrap;gap:14px;justify-content:center}
.xh-stat{flex:1 1 165px;min-width:150px;max-width:300px;
  background:#fff;border:1px solid var(--line);border-radius:16px;padding:20px 18px;text-align:center;box-shadow:var(--shadow)}
.xh-sec.alt .xh-stat{background:var(--bg)}
.xh-stat b{display:block;font-size:clamp(22px,3vw,30px);font-weight:800;letter-spacing:-.5px;line-height:1.15;
  background:var(--brand-grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.xh-stat span{display:block;margin-top:7px;font-size:13px;color:var(--muted);line-height:1.5}
.xh-note{margin-top:16px;font-size:14px;color:var(--muted);line-height:1.7;text-align:center}
/* Thẻ nhãn + mô tả (thay các cụm <strong> bị đổ rời) */
.xh-cards{display:flex;flex-wrap:wrap;gap:14px;justify-content:center}
.xh-card{flex:1 1 240px;min-width:230px;max-width:380px;
  background:#fff;border:1px solid var(--line);border-radius:16px;padding:20px;box-shadow:var(--shadow);
  border-top:3px solid var(--gold);transition:transform .18s,box-shadow .18s}
.xh-sec.alt .xh-card{background:var(--bg)}
.xh-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg)}
.xh-card b{display:block;font-size:15.5px;font-weight:800;color:var(--navy);margin-bottom:7px;letter-spacing:-.2px}
.xh-card p{font-size:14px;color:var(--muted);line-height:1.7}
/* Nhãn ngắn cạnh tiêu đề ("2 năm", "Grades 9–12") - trước đây bị nhét vào paras nên thành một
   đoạn văn cụt lủn đứng trơ một dòng. */
.xh-badge{display:inline-block;vertical-align:middle;margin-left:10px;padding:4px 12px;border-radius:99px;
  background:var(--soft);border:1px solid #d7e4fb;color:var(--blue);font-size:13px;font-weight:700;
  letter-spacing:0;white-space:nowrap;transform:translateY(-2px)}
/* Mục lục nhanh - neo thật tới tiêu đề trong trang */
.xh-toc{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:10px}
.xh-toc a{display:flex;align-items:center;gap:11px;background:#fff;border:1px solid var(--line);
  border-radius:12px;padding:13px 16px;text-decoration:none;color:var(--navy);font-weight:600;
  font-size:14.5px;transition:border-color .16s,transform .16s,box-shadow .16s}
.xh-sec.alt .xh-toc a{background:var(--bg)}
.xh-toc a:hover{border-color:var(--blue);transform:translateY(-2px);box-shadow:var(--shadow)}
.xh-toc-n{flex:none;font-size:11.5px;font-weight:800;color:var(--blue);opacity:.55;letter-spacing:.06em}
/* Đoạn văn + bullet tick */
.xh-prose p{font-size:15.5px;line-height:1.8;color:var(--text);margin-bottom:14px}
/* Đoạn văn "mồ côi" (không tiêu đề) được gộp vào section của tiêu đề trước → phải có khoảng thở,
   không thì nó dán ngay dưới bullet cuối. */
.xh-prose + .xh-prose{margin-top:18px}
.xh-prose > :last-child{margin-bottom:0}
.xh-bl-intro{font-weight:600;color:var(--navy);margin-top:6px}
.xh-checks{list-style:none;display:grid;gap:9px;margin:6px 0 0}
.xh-checks li{position:relative;padding-left:28px;font-size:14.5px;line-height:1.7;color:var(--text)}
.xh-checks li::before{content:"✓";position:absolute;left:0;top:1px;width:19px;height:19px;border-radius:50%;
  background:var(--soft);color:var(--blue);font-size:11px;font-weight:900;display:grid;place-items:center}
/* Hai panel (Section 1 / Section 2 …) */
.xh-split{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:16px}
.xh-part{background:linear-gradient(150deg,var(--navy),var(--navy-2));border-radius:18px;padding:clamp(22px,2.6vw,30px);color:#fff}
.xh-part-tag{display:inline-block;font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;
  color:var(--gold-2);background:rgba(226,181,79,.14);border:1px solid rgba(226,181,79,.3);border-radius:99px;padding:4px 11px}
.xh-part h3{color:#fff;font-size:clamp(19px,2.3vw,24px);font-weight:800;margin:12px 0 8px;letter-spacing:-.3px}
.xh-part-meta{color:#c5d3ee;font-size:14px;line-height:1.7;margin-bottom:14px}
.xh-part .xh-checks li{color:#dbe5f7}
.xh-part .xh-checks li::before{background:rgba(255,255,255,.11);color:var(--gold-2)}
/* Bảng thông tin */
.xh-table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:16px;background:#fff;box-shadow:var(--shadow)}
.xh-table{width:100%;border-collapse:collapse;font-size:14.5px;min-width:540px}
.xh-table th{background:var(--navy);color:#fff;text-align:left;padding:13px 16px;font-size:12.5px;font-weight:700;
  letter-spacing:.06em;text-transform:uppercase;white-space:nowrap}
.xh-table td{padding:13px 16px;border-top:1px solid var(--line);color:var(--text);line-height:1.65;vertical-align:top}
.xh-table tbody tr:nth-child(even){background:var(--bg)}
.xh-td-k{font-weight:700;color:var(--navy);white-space:nowrap}
/* Các bước */
.xh-steps{list-style:none;display:flex;flex-wrap:wrap;gap:14px;justify-content:center}
.xh-steps li{flex:1 1 252px;min-width:240px;max-width:390px;
  display:flex;gap:14px;background:#fff;border:1px solid var(--line);border-radius:16px;padding:20px;box-shadow:var(--shadow)}
.xh-sec.alt .xh-steps li{background:var(--bg)}
.xh-step-n{flex:none;font-size:23px;font-weight:900;line-height:1;letter-spacing:-1px;color:var(--gold);opacity:.85}
.xh-steps b{display:block;font-size:15.5px;font-weight:800;color:var(--navy);margin-bottom:6px}
.xh-steps p{font-size:14px;color:var(--muted);line-height:1.7}
/* Thẻ tài nguyên / công cụ */
.xh-links,.xh-tools{display:flex;flex-wrap:wrap;gap:14px;justify-content:center}
.xh-link,.xh-tool{flex:1 1 262px;min-width:250px;max-width:400px;
  position:relative;display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);
  border-radius:16px;padding:22px;box-shadow:var(--shadow);text-decoration:none;transition:transform .18s,box-shadow .18s,border-color .18s}
.xh-sec.alt .xh-link,.xh-sec.alt .xh-tool{background:var(--bg)}
.xh-link:hover,.xh-tool:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg);border-color:var(--blue)}
.xh-tool-n{font-size:11.5px;font-weight:800;letter-spacing:.12em;color:var(--blue);opacity:.6;margin-bottom:8px}
.xh-link b,.xh-tool b{font-size:15.5px;font-weight:800;color:var(--navy);margin-bottom:7px;letter-spacing:-.2px}
.xh-link p,.xh-tool p{font-size:14px;color:var(--muted);line-height:1.7;flex:1}
.xh-go{margin-top:14px;font-size:13.5px;font-weight:700;color:var(--blue)}
.xh-tip{background:var(--soft);border:1px solid #d7e4fb;border-radius:14px;padding:14px 18px;font-size:14px;
  color:var(--navy);line-height:1.7;margin-bottom:20px}
/* FAQ */
.xh-faq{display:flex;flex-direction:column;gap:10px}
.xh-faq details{background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden}
.xh-sec.alt .xh-faq details{background:var(--bg)}
.xh-faq summary{cursor:pointer;padding:16px 18px;font-weight:700;font-size:15px;color:var(--navy);list-style:none;
  display:flex;align-items:center;gap:12px}
.xh-faq summary::-webkit-details-marker{display:none}
.xh-q-n{flex:none;width:22px;height:22px;border-radius:50%;background:var(--soft);color:var(--blue);
  font-size:11.5px;font-weight:800;display:grid;place-items:center}
.xh-faq summary::after{content:"+";margin-left:auto;font-size:20px;font-weight:400;color:var(--blue);flex:none;transition:transform .18s}
.xh-faq details[open] summary::after{transform:rotate(45deg)}
.xh-faq details[open] summary{border-bottom:1px solid var(--line)}
.xh-faq details p{padding:14px 18px 17px 52px;font-size:14.5px;color:var(--muted);line-height:1.75}
/* Chip từ khóa SEO - nhỏ, cuối bài, không tranh chỗ với nội dung đọc */
.xh-sec-chips{padding:0 0 28px}
.xh-chips{display:flex;flex-wrap:wrap;gap:8px;align-items:center;padding-top:22px;border-top:1px solid var(--line)}
.xh-chips-k{font-size:11.5px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-right:4px}
.xh-chip{font-size:12.5px;color:var(--muted);background:var(--soft);border:1px solid #dbe6fa;border-radius:99px;padding:5px 11px}
/* Dải kết bài */
.xh-cta{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;
  background:linear-gradient(120deg,var(--navy),#2b4b8f);border-radius:20px;padding:clamp(24px,3.6vw,38px)}
.xh-cta h2{color:#fff;font-size:clamp(20px,2.6vw,28px);font-weight:800;margin-bottom:9px;letter-spacing:-.3px}
.xh-cta p{color:#c5d3ee;font-size:14.5px;line-height:1.75;max-width:660px}
@media (max-width:640px){
  .xh-table{min-width:0}
  .xh-table thead{display:none}
  .xh-table,.xh-table tbody,.xh-table tr,.xh-table td{display:block;width:100%}
  .xh-table tr{border-top:1px solid var(--line);padding:6px 0}
  .xh-table td{border:0;padding:7px 16px}
  .xh-table td::before{content:attr(data-th);display:block;font-size:11px;font-weight:800;letter-spacing:.08em;
    text-transform:uppercase;color:var(--muted);margin-bottom:3px}
  .xh-td-k{white-space:normal}
  .xh-faq details p{padding-left:18px}
}

/* ===== Tìm kiếm toàn site (/tim-kiem/) ===== */
.search-form{display:flex;gap:10px;max-width:640px;margin-top:18px}
.search-form input{flex:1;padding:13px 17px;border-radius:12px;border:1px solid rgba(255,255,255,.25);
  background:rgba(255,255,255,.1);color:#fff;font:inherit;font-size:15.5px}
.search-form input::placeholder{color:#a9bad9}
.search-form input:focus{outline:2px solid var(--gold);background:rgba(255,255,255,.16)}
.search-count{color:var(--muted);font-size:14.5px;margin-bottom:18px}
.search-results{display:flex;flex-direction:column;gap:12px}
.search-hit{display:block;background:#fff;border:1px solid var(--line);border-radius:14px;padding:16px 19px;
  text-decoration:none;transition:border-color .15s,transform .15s}
.search-hit:hover{border-color:var(--blue);transform:translateY(-1px)}
.sh-kind{display:inline-block;font-size:10.5px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;
  color:var(--blue);background:var(--soft);border-radius:99px;padding:3px 9px;margin-bottom:7px}
.search-hit b{display:block;font-size:16px;color:var(--navy);margin-bottom:5px}
.search-hit p{font-size:13.5px;color:var(--muted);line-height:1.65;margin-bottom:5px}
.search-hit p mark{background:#fef3c7;color:inherit;border-radius:3px;padding:0 2px}
.search-hit em{font-style:normal;font-size:12px;color:var(--green)}
.search-popular{display:flex;gap:10px;flex-wrap:wrap}

@media(max-width:640px){.search-form{flex-direction:column}}

/* ===== Kho tài liệu (/tai-lieu/) - thẻ file + modal gate thu lead ===== */
.doc-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px}
.doc-card{display:flex;align-items:center;gap:14px;background:#fff;border:1px solid var(--line);border-radius:16px;
  padding:16px 18px;box-shadow:var(--shadow)}
.xh-sec.alt .doc-card{background:var(--bg)}
.doc-ic{font-size:28px;flex:none}
.doc-body{flex:1;min-width:0}
.doc-body b{display:block;font-size:14.5px;color:var(--navy);line-height:1.45}
.doc-body span{font-size:12.5px;color:var(--muted)}
.doc-dl{flex:none;padding:9px 14px;font-size:13.5px;white-space:nowrap}
.tlk-chips{display:flex;flex-wrap:wrap;gap:9px;align-items:center;margin-top:20px}
.tlk-chips>span{font-size:13px;color:rgba(255,255,255,.72);font-weight:700}
.tlk-chips a{font-size:13px;font-weight:700;color:#fff;background:rgba(255,255,255,.12);
  border:1px solid rgba(255,255,255,.22);border-radius:999px;padding:7px 14px;transition:background .15s}
.tlk-chips a:hover{background:rgba(255,255,255,.24)}
.tlk-links{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px}
.tlk-link{display:block;background:#fff;border:1px solid var(--line);border-radius:16px;padding:16px 18px;
  box-shadow:var(--shadow);transition:border-color .15s,transform .15s}
.xh-sec.alt .tlk-link{background:var(--bg)}
.tlk-link:hover{border-color:var(--gold-2);transform:translateY(-2px)}
.tlk-link b{display:block;font-size:14.5px;color:var(--navy);line-height:1.45}
.tlk-link span{display:block;margin-top:5px;font-size:13px;color:var(--muted);line-height:1.6}
/* [hidden] là thuộc tính DUY NHẤT điều khiển ẩn/hiện cửa chắn, nhưng display:flex ở dòng dưới đè
   lên display:none mặc định của trình duyệt - thiếu dòng này thì modal thu lead che kín trang ngay
   khi khách vừa vào. Đã xảy ra thật trên /tai-lieu/ (phát hiện 09/09/2026). Mọi khối bật/tắt khác
   trong file đều có dòng tương ứng: .ai-panel[hidden], .fac-lightbox[hidden], .xi-back[hidden]. */
.doc-gate[hidden]{display:none}
.doc-gate{position:fixed;inset:0;z-index:90;background:rgba(11,24,54,.55);backdrop-filter:blur(3px);
  display:flex;align-items:center;justify-content:center;padding:20px}
.doc-modal{position:relative;background:#fff;border-radius:20px;padding:28px;max-width:420px;width:100%;box-shadow:var(--shadow-lg)}
.doc-modal h3{font-size:20px;color:var(--navy);margin-bottom:6px}
.doc-modal>p{font-size:14px;color:var(--muted);margin-bottom:16px;line-height:1.6}
.doc-modal label{display:block;font-size:13px;font-weight:700;color:var(--navy);margin-bottom:12px}
.doc-modal input{width:100%;margin-top:5px;padding:11px 13px;border:1px solid var(--line);border-radius:10px;font:inherit;font-size:14.5px}
.doc-modal .btn{width:100%;margin-top:4px}
.doc-x{position:absolute;top:14px;right:14px;background:none;border:0;font-size:17px;color:var(--muted);cursor:pointer}
.doc-msg{display:block;margin-top:10px;font-size:13.5px;color:var(--green);text-align:center;min-height:18px}

/* Chip đếm ngược hạn mã ưu đãi (/uu-dai/) - JS tick 30s, hết hạn tự ẩn */
.promo-count{position:absolute;top:16px;right:16px;padding:4px 11px;border-radius:99px;font-size:12px;font-weight:800;
  background:#fff7ed;border:1px solid #fed7aa;color:#c2410c;white-space:nowrap}
.promo-card{position:relative}

/* Badge sĩ số thật trên thẻ lịch khai giảng (chỉ hiện khi lớp có capacity trong CRM) */
.sch-seats{display:inline-block;margin-top:8px;padding:4px 11px;border-radius:99px;font-size:12.5px;font-weight:800;
  background:#fef2f2;border:1px solid #fecaca;color:#b91c1c}
.sch-seats.sch-full{background:var(--bg);border-color:var(--line);color:var(--muted)}

/* ===== Tuyển dụng (/tuyen-dung/) ===== */
.jobs-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}
.job-card{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:18px;
  padding:22px;box-shadow:var(--shadow);text-decoration:none;color:var(--text);
  transition:transform .18s,box-shadow .18s,border-color .18s}
.section.alt .job-card{background:var(--bg)}
.job-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg);border-color:var(--blue)}
.job-top{display:flex;align-items:center;gap:10px;margin-bottom:12px}
.job-ic{font-size:26px;line-height:1}
.job-type{font-size:11.5px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--blue);
  background:var(--soft);border:1px solid #d7e4fb;border-radius:99px;padding:4px 11px}
.job-card h3{font-size:17px;font-weight:800;color:var(--navy);letter-spacing:-.2px;margin-bottom:8px}
.job-loc{font-size:13.5px;color:var(--muted);margin-bottom:8px}
.job-desc{font-size:14px;color:var(--muted);line-height:1.65;flex:1;margin-bottom:12px}
.job-hero{display:flex;gap:20px;align-items:flex-start;margin-top:18px}
.job-ic-lg{font-size:clamp(40px,6vw,64px);line-height:1;flex:none}
.job-chips{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}
@media(max-width:640px){.job-hero{gap:14px}.job-ic-lg{font-size:38px}}

/* ===== Bảng vàng thành tích (/thanh-tich/) - thẻ điểm thật đã xác minh ===== */
.res-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:16px}
.res-course{margin:0 0 34px}.res-course-h{font-size:20px;margin:0 0 14px;display:flex;align-items:baseline;gap:10px}.res-course-h a{color:var(--navy)}.res-course-h small{font-size:13px;font-weight:700;color:var(--muted);background:var(--soft);padding:3px 9px;border-radius:999px}
.res-verified a{color:inherit;text-decoration:none;border-bottom:1px dotted currentColor}
.res-card{background:#fff;border:1px solid var(--line);border-radius:16px;overflow:hidden;box-shadow:var(--shadow);
  transition:transform .18s,box-shadow .18s}
.res-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg)}
.res-top{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;color:#fff}
.res-exam{font-size:12px;font-weight:800;letter-spacing:.1em;opacity:.9}
.res-score{font-size:26px;font-weight:900;letter-spacing:-.5px;text-shadow:0 2px 8px rgba(0,0,0,.2)}
.res-score.res-score-long{font-size:15px;line-height:1.25;text-align:right;max-width:62%}
.res-body{padding:14px 18px 16px;display:flex;flex-direction:column;gap:5px}
.res-body b{font-size:15px;color:var(--navy)}
.res-body span{font-size:13px;color:var(--muted);line-height:1.5}
.res-verified{font-style:normal;font-size:12px;font-weight:700;color:var(--green)}

/* ===== Trang lead-magnet College Board SAT (cbs-*) ===== */
.cbs-split{display:grid;grid-template-columns:1.1fr .9fr;gap:36px;align-items:center}
.cbs-figure{margin:0}
.cbs-figure img{width:100%;height:auto;border-radius:18px;box-shadow:var(--shadow-lg);display:block}
.cbs-figure figcaption{margin-top:12px;font-size:13.5px;color:var(--muted);line-height:1.7;text-align:center}
.cbs-form-wrap{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:start}
.cbs-form-copy .eyebrow-c{margin-bottom:8px}
.cbs-form-copy h2{font-size:clamp(22px,2.8vw,30px);color:var(--navy);font-weight:800;letter-spacing:-.4px;margin-bottom:10px}
.cbs-form-copy>p{color:var(--muted);line-height:1.75;margin-bottom:14px}
.cbs-note{background:var(--soft);border:1px solid #d7e4fb;border-radius:14px;padding:13px 16px;font-size:13.5px;color:var(--navy);line-height:1.7}
.cbs-contact{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;margin-top:22px}
.cbs-contact>div{background:#fff;border:1px solid var(--line);border-radius:14px;padding:16px 18px;box-shadow:var(--shadow)}
.section.alt .cbs-contact>div{background:var(--bg)}
.cbs-contact span{display:block;font-size:12px;font-weight:700;letter-spacing:.05em;color:var(--muted);text-transform:uppercase;margin-bottom:5px}
.cbs-contact b{color:var(--navy);font-size:14.5px;line-height:1.5}
@media(max-width:820px){.cbs-split,.cbs-form-wrap{grid-template-columns:1fr}.cbs-figure{order:-1}}

/* Quote thông điệp */
.au-quote{position:relative;text-align:center;padding:34px 24px;border-radius:20px;background:var(--brand-50);border:1px solid var(--line)}
.au-quote-mark{position:absolute;top:6px;left:22px;font-size:70px;line-height:1;color:var(--gold);opacity:.35;font-weight:900}
.au-quote blockquote{margin:0 0 12px;font-size:clamp(22px,3.2vw,32px);font-weight:800;letter-spacing:-.5px;line-height:1.3;
  background:var(--brand-grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.au-quote p{margin:0;color:var(--ink-2);font-size:14.5px;line-height:1.75;max-width:660px;margin-inline:auto}
/* FAQ */
.au-faq{display:flex;flex-direction:column;gap:10px}
.au-faq details{background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden}
.au-faq summary{cursor:pointer;padding:15px 17px;font-weight:700;font-size:15px;color:var(--navy);list-style:none;display:flex;align-items:center;justify-content:space-between;gap:12px}
.au-faq summary::-webkit-details-marker{display:none}
.au-faq summary::after{content:"+";font-size:20px;font-weight:400;color:var(--blue);flex:none;transition:transform .18s}
.au-faq details[open] summary::after{transform:rotate(45deg)}
.au-faq details[open] summary{border-bottom:1px solid var(--line)}
.au-faq p{margin:0;padding:14px 17px;color:var(--ink-2);line-height:1.75;font-size:14.5px}
@media (max-width:900px){
  .au-hero-grid{grid-template-columns:1fr;gap:26px}
  .au-hero-visual{order:-1;max-width:420px}
  .au-split{grid-template-columns:1fr}
  .au-stats{grid-template-columns:repeat(2,1fr)}
  .au-stats-band{margin-top:-28px}
  .au-junior{flex-direction:column;text-align:center;gap:14px}
  .au-junior-em{order:-1}
  .au-junior-logo{order:-1;padding:0}
  .au-junior-logo img{margin:0 auto}
}
@media (max-width:520px){.au-stats{grid-template-columns:1fr}}
/* ===== Trang chủ "wow" (17/07): shimmer, marquee, spotlight GV, count-up, hover khóa ===== */
.hero h1 em.shimmer{background:linear-gradient(110deg,var(--gold-2) 20%,#fff6d8 40%,var(--gold-2) 60%);
  background-size:220% 100%;-webkit-background-clip:text;background-clip:text;animation:shimmer 5.5s linear infinite}
@keyframes shimmer{to{background-position:-220% 0}}
/* Marquee dùng chung: nhân đôi nội dung, chạy -50% là khớp vòng lặp */
.marq{overflow:hidden;position:relative;-webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);
  mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}
.marq-track{display:inline-flex;align-items:center;gap:0;white-space:nowrap;animation:marq 36s linear infinite;will-change:transform}
.marq:hover .marq-track{animation-play-state:paused}
@keyframes marq{to{transform:translateX(-50%)}}
/* Dải logo tổ chức khảo thí */
.org-band{background:#fff;border-bottom:1px solid var(--line);padding:16px 0 18px}
.ob-label{display:block;text-align:center;font-size:11.5px;font-weight:800;letter-spacing:1.8px;text-transform:uppercase;color:var(--muted);margin-bottom:12px}
.ob-item{display:inline-flex;align-items:center;gap:10px;margin:0 34px}
.ob-item img{height:30px;width:auto;object-fit:contain;filter:grayscale(1) opacity(.72);transition:filter .25s}
.ob-item:hover img{filter:grayscale(0) opacity(1)}
.ob-item i{font-style:normal;font-size:11px;font-weight:800;letter-spacing:1px;color:var(--muted)}
/* Spotlight GV - nền navy, ảnh ĐEN TRẮNG đồng bộ trang đội ngũ, hover trả màu */
.tspot{background:linear-gradient(120deg,#0b1836,#16295c);padding:clamp(34px,5vw,54px) 0 clamp(38px,5vw,58px)}
.tspot-head{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;flex-wrap:wrap;margin-bottom:26px}
.tspot-head h2{color:#fff;font-size:clamp(21px,2.9vw,30px);font-weight:800;letter-spacing:-.4px;margin:6px 0 0}
.tspot-marq{padding:4px 0 8px}
.ts-card{position:relative;display:inline-flex;flex-direction:column;width:150px;margin:0 9px;text-decoration:none;vertical-align:top;white-space:normal}
.ts-card img{width:150px;height:180px;object-fit:cover;object-position:top center;border-radius:14px;
  filter:grayscale(1) contrast(1.06);transition:filter .3s,transform .3s;border:1px solid rgba(255,255,255,.14)}
.ts-card:hover img{filter:grayscale(0);transform:translateY(-4px)}
.ts-score{position:absolute;top:148px;left:6px;background:linear-gradient(120deg,#b98c2e,#e2b54f);color:#fff;
  font-size:10.5px;font-weight:800;border-radius:999px;padding:4px 9px;box-shadow:0 3px 10px rgba(0,0,0,.35);white-space:nowrap}
.ts-card b{margin-top:12px;font-size:12.5px;font-weight:700;color:#c5d3ee;line-height:1.35;
  overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
/* Thẻ khóa học trang chủ: viền gradient khi hover + mũi tên trượt */
#khoa-hoc .card,#courses .card{position:relative;overflow:hidden}
#khoa-hoc .card::after,#courses .card::after{content:"";position:absolute;inset:0;border-radius:inherit;padding:2px;
  background:var(--brand-grad);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);
  -webkit-mask-composite:xor;mask-composite:exclude;opacity:0;transition:opacity .22s;pointer-events:none}
#khoa-hoc .card:hover::after,#courses .card:hover::after{opacity:1}
#khoa-hoc .card .more,#courses .card .more{transition:transform .2s;display:inline-block}
#khoa-hoc .card:hover .more,#courses .card:hover .more{transform:translateX(4px)}
@media(prefers-reduced-motion:reduce){.marq-track{animation:none}.hero h1 em.shimmer{animation:none}}
/* ===== Đội ngũ giảng viên (redesign 17/07): lưới + tab lọc + badge điểm thật ===== */
.tch-tabs{display:flex;gap:8px;flex-wrap:wrap;justify-content:center;margin:0 0 28px}
.tch-tabs button{font:700 13.5px/1 inherit;font-family:inherit;color:var(--muted);background:#fff;border:1px solid var(--line);
  border-radius:999px;padding:9px 16px;cursor:pointer;transition:all .15s;display:inline-flex;align-items:center;gap:6px}
.tch-tabs button em{font-style:normal;font-size:11px;font-weight:800;background:var(--brand-50);color:var(--brand-700);border-radius:99px;padding:2px 7px}
.tch-tabs button:hover{border-color:var(--blue);color:var(--brand-700)}
.tch-tabs button.on{background:var(--navy);border-color:var(--navy);color:#fff}
.tch-tabs button.on em{background:rgba(255,255,255,.16);color:var(--gold-2)}
.tch-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:18px}
.tch{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:16px;overflow:hidden;
  text-decoration:none;transition:transform .18s,box-shadow .18s,border-color .18s}
.tch:hover{transform:translateY(-4px);box-shadow:0 16px 38px rgba(11,24,54,.13);border-color:#c8d6ef}
.tch-photo{position:relative;aspect-ratio:5/6;background:linear-gradient(135deg,var(--brand-50),#e5ecf9);overflow:hidden}
.tch-photo img{width:100%;height:100%;object-fit:cover;object-position:top center;
  filter:grayscale(1) contrast(1.06);transition:transform .35s ease,filter .35s ease}
.tch:hover .tch-photo img{transform:scale(1.05);filter:grayscale(0) contrast(1)}
.tch-ini{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:52px;font-weight:900;color:#b9c9e8}
.tch-score{position:absolute;left:10px;bottom:10px;background:linear-gradient(120deg,#b98c2e,#e2b54f);color:#fff;
  font-size:12px;font-weight:800;letter-spacing:.3px;border-radius:999px;padding:6px 12px;box-shadow:0 4px 14px rgba(0,0,0,.28);
  text-shadow:0 1px 2px rgba(0,0,0,.25);white-space:nowrap}
.tch-body{padding:14px 15px 15px;display:flex;flex-direction:column;gap:7px;flex:1}
.tch-body h3{margin:0;font-size:16px;font-weight:800;color:var(--navy);letter-spacing:-.2px}
.tch-subj{display:flex;gap:5px;flex-wrap:wrap}
.tch-subj i{font-style:normal;font-size:10.5px;font-weight:800;letter-spacing:.8px;color:var(--brand-700);
  background:var(--brand-50);border-radius:6px;padding:3px 8px}
.tch-body p{margin:0;font-size:12.5px;line-height:1.55;color:var(--muted);
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.tch-more{margin-top:auto;font-size:13px;font-weight:700;color:var(--blue)}
@media (max-width:560px){.tch-grid{grid-template-columns:repeat(2,1fr);gap:10px}
  .tch-body{padding:10px 11px 12px}.tch-body h3{font-size:14px}.tch-body p{display:none}
  .tch-score{font-size:10.5px;padding:4px 9px;left:7px;bottom:7px}}
/* ===== Trang info: thanh toán / trả góp / phương pháp / cơ sở vật chất ===== */
/* Thẻ ngân hàng - trình bày số tài khoản như thẻ thật, có nút copy */
.pay-wrap{display:grid;grid-template-columns:1fr 1fr;gap:clamp(26px,4vw,54px);align-items:center}
.pay-copy h2{font-size:clamp(22px,2.9vw,30px);font-weight:800;color:var(--navy);letter-spacing:-.4px;margin:8px 0 12px}
.bank-card{position:relative;background:linear-gradient(130deg,#0b1836 0%,#1c3468 55%,#2b4b8f 100%);border-radius:20px;padding:26px 26px 22px;color:#fff;
  box-shadow:0 22px 54px rgba(11,24,54,.32);overflow:hidden;max-width:460px;justify-self:center;width:100%}
.bank-card::before{content:"";position:absolute;top:-70px;right:-70px;width:220px;height:220px;border-radius:50%;
  background:radial-gradient(circle at 35% 35%,rgba(226,181,79,.35),transparent 70%)}
.bc-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px;position:relative}
.bc-brand{font-size:15px;font-weight:400;letter-spacing:.4px}.bc-brand b{font-weight:800;color:var(--gold-2)}
.bc-bank{font-size:13px;font-weight:800;letter-spacing:1px;color:#e4353f;background:#fff;border-radius:6px;padding:3px 9px}
.bc-number{font-size:clamp(21px,2.6vw,26px);font-weight:800;letter-spacing:2.5px;font-variant-numeric:tabular-nums;margin-bottom:18px;position:relative}
.bc-row{position:relative;margin-bottom:10px}
.bc-row span{display:block;font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:1.2px;color:#93a7cf}
.bc-row b{display:block;font-size:14px;font-weight:700;color:#fff;line-height:1.4}
.bc-copy{position:relative;margin-top:14px;width:100%;border:1px dashed rgba(255,255,255,.45);background:rgba(255,255,255,.08);color:#fff;
  font:700 13.5px/1 inherit;font-family:inherit;border-radius:10px;padding:11px;cursor:pointer;transition:background .15s}
.bc-copy:hover{background:rgba(255,255,255,.16)}
.bc-copy.ok{border-style:solid;border-color:var(--green);color:#d7f0ae}
/* Trả góp: ô lợi ích số to */
.inst-benefit{text-align:left}
.inst-benefit .ib-n{font-size:38px;font-weight:900;letter-spacing:-1px;line-height:1;margin-bottom:12px;
  background:var(--brand-grad);-webkit-background-clip:text;background-clip:text;color:transparent}
/* Cơ sở vật chất: hero ảnh thật full-bleed */
.fac-hero{background-size:cover;background-position:center;padding:clamp(46px,7vw,90px) 0 clamp(64px,8vw,104px);position:relative}
.fac-hero .eyebrow{display:inline-flex;align-items:center;gap:8px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.22);color:#fff;border-radius:999px;padding:7px 14px;font-size:13px;font-weight:700}
.fac-hero h1{font-size:clamp(30px,4.6vw,52px);line-height:1.12;font-weight:800;color:#fff;letter-spacing:-1px;margin:12px 0 16px}
.fac-hero .meta{color:#c5d3ee;font-size:clamp(15px,1.6vw,17px);line-height:1.7;max-width:680px}
/* Card campus landmark */
.fac-campus{background:#fff;border:1px solid var(--line);border-radius:18px;padding:24px;transition:transform .15s,box-shadow .15s;overflow:hidden}
/* Ảnh toà nhà tràn mép trên của thẻ (margin âm = bù đúng padding 24px của thẻ).
   Bitexco là ảnh dọc nên lấy phần trên (toà tháp), không lấy giữa khung. */
.fc-photo{margin:-24px -24px 18px;height:180px;overflow:hidden}
.fc-photo img{width:100%;height:100%;object-fit:cover;object-position:center 28%;display:block;transition:transform .4s ease}
.fac-campus:hover .fc-photo img{transform:scale(1.04)}
.fac-campus:hover{transform:translateY(-3px);box-shadow:0 16px 40px rgba(11,24,54,.12)}
.fc-head{display:flex;align-items:center;gap:13px;padding-bottom:15px;margin-bottom:15px;border-bottom:1px solid var(--line)}
.fc-em{font-size:34px;line-height:1}
.fc-head b{display:block;font-size:19px;font-weight:800;color:var(--navy);letter-spacing:-.3px}
.fc-head span{display:block;font-size:12.5px;color:var(--muted);margin-top:1px}
.fac-campus h3{font-size:15px;font-weight:800;color:var(--brand-700);text-transform:uppercase;letter-spacing:1px;margin:0 0 6px}
.fac-campus p{margin:0 0 14px;color:var(--ink-2);line-height:1.65;font-size:14.5px}
.fc-foot{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}
/* Gallery + lightbox */
.fac-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.fg-item{margin:0}
.fg-wide{grid-column:span 2;grid-row:span 2}
.fg-open{position:relative;display:block;width:100%;padding:0;border:0;background:none;cursor:zoom-in;border-radius:14px;overflow:hidden}
.fg-open img{display:block;width:100%;height:100%;min-height:200px;object-fit:cover;aspect-ratio:3/2;transition:transform .35s ease}
.fg-wide .fg-open img{aspect-ratio:auto;height:100%}
.fg-open:hover img{transform:scale(1.045)}
.fg-zoom{position:absolute;right:10px;bottom:10px;width:34px;height:34px;border-radius:10px;background:rgba(11,24,54,.62);color:#fff;
  display:flex;align-items:center;justify-content:center;font-size:16px;opacity:0;transition:opacity .2s}
.fg-open:hover .fg-zoom{opacity:1}
.fg-item figcaption{font-size:12.5px;color:var(--muted);padding:7px 2px 0;line-height:1.5}
.fac-lightbox{position:fixed;inset:0;z-index:200;background:rgba(6,12,28,.92);display:flex;align-items:center;justify-content:center;padding:28px}
.fac-lightbox[hidden]{display:none}
.fac-lightbox figure{margin:0;max-width:min(1200px,94vw);max-height:88vh;display:flex;flex-direction:column;gap:10px}
.fac-lightbox img{max-width:100%;max-height:80vh;object-fit:contain;border-radius:12px}
.fac-lightbox figcaption{color:#c5d3ee;text-align:center;font-size:14px}
.fl-close{position:fixed;top:18px;right:20px;width:42px;height:42px;border-radius:50%;border:1px solid rgba(255,255,255,.3);
  background:rgba(255,255,255,.1);color:#fff;font-size:17px;cursor:pointer}
.fl-close:hover{background:rgba(255,255,255,.22)}
@media (max-width:860px){
  .pay-wrap{grid-template-columns:1fr}
  .fac-gallery{grid-template-columns:1fr 1fr}
  .fg-wide{grid-column:1/-1;grid-row:auto}
}
@media (max-width:560px){.fac-gallery{grid-template-columns:1fr}}
/* ===== Trang đối tác: Corporate Success + Affiliate ===== */
.corp-steps{list-style:none;margin:0;padding:0;counter-reset:cs;display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px}
.corp-steps li{counter-increment:cs;position:relative;background:#fff;border:1px solid var(--line);border-radius:14px;padding:20px 18px 18px;display:flex;flex-direction:column;gap:7px}
.corp-steps li:before{content:counter(cs);position:absolute;top:-13px;left:18px;width:28px;height:28px;border-radius:50%;background:var(--brand-grad);color:#fff;font-weight:800;font-size:13px;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 8px rgba(30,64,140,.25)}
.corp-steps li b{font-size:16px;color:var(--navy);margin-top:4px}
.corp-steps li span{font-size:14px;line-height:1.65;color:var(--muted)}
.partner-card{max-width:none}
.partner-form{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.partner-form label{display:block;min-width:0}
.partner-form label:not(.pf-half){grid-column:1/-1}
.partner-form input,.partner-form select,.partner-form textarea{width:100%;padding:11px 13px;border:1px solid var(--line);border-radius:10px;font:inherit;font-size:14.5px;background:#fff;color:var(--ink)}
.partner-form textarea{resize:vertical;min-height:78px}
.partner-form input:focus,.partner-form select:focus,.partner-form textarea:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 3px rgba(30,64,140,.1)}
.partner-form button[type=submit]{grid-column:1/-1;margin-top:4px}
.pf-msg{grid-column:1/-1;margin:0;font-size:14px;font-weight:600;border-radius:10px;padding:10px 12px}
.pf-msg.ok{background:rgba(143,184,50,.12);color:#4a6b12}
.pf-msg.err{background:rgba(180,35,42,.08);color:#b4232a}
@media (max-width:640px){.partner-form{grid-template-columns:1fr}.partner-form label.pf-half{grid-column:1/-1}}
/* ===== Mã ưu đãi - /uu-dai/ + widget báo giá ===== */
.promo-card{display:flex;flex-direction:column;gap:10px;border:1px solid var(--line);border-top:3px solid var(--gold);position:relative}
.promo-val{font-size:30px;font-weight:800;letter-spacing:-.5px;background:var(--brand-grad);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;line-height:1.1}
.promo-card h3{margin:0;font-size:17px}
.promo-card p{margin:0;color:var(--muted);font-size:14px;line-height:1.6}
.promo-cond{list-style:none;margin:2px 0 0;padding:0;display:flex;flex-direction:column;gap:5px}
.promo-cond li{font-size:13px;color:var(--muted);padding-left:16px;position:relative}
.promo-cond li:before{content:'•';position:absolute;left:2px;color:var(--gold);font-weight:700}
.promo-code{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;
  border:1px dashed var(--gold);background:rgba(226,181,79,.08);border-radius:10px;padding:10px 12px;cursor:pointer;
  font:inherit;transition:background .15s,border-color .15s}
.promo-code:hover{background:rgba(226,181,79,.16)}
.promo-code.copied{border-style:solid;border-color:var(--green);background:rgba(143,184,50,.12)}
.promo-code span{font-weight:800;letter-spacing:1px;font-size:15px;color:var(--ink)}
.promo-code b{font-size:12px;font-weight:600;color:var(--muted);white-space:nowrap}
.promo-code.copied b{color:var(--green)}
.qf-promo input{text-transform:uppercase;letter-spacing:.5px}
.qr-disc{color:var(--green)}
.qr-disc b{color:var(--green)}
.qr-promo-err{margin:8px 0 0;font-size:13px;color:#b4232a;background:rgba(180,35,42,.07);border-radius:8px;padding:8px 10px}
/* ===== Trang pháp lý (Điều khoản, Điều kiện giao dịch, Thanh toán, Hoàn phí, Khiếu nại) ===== */
.legal-hero{background:var(--brand-grad)}
.legal-wrap{display:grid;grid-template-columns:230px 1fr;gap:44px;align-items:start}
.legal-toc-in{position:sticky;top:88px;display:flex;flex-direction:column;gap:2px;border-left:2px solid var(--line);padding-left:14px}
.legal-toc-in>span{font-size:11px;font-weight:800;letter-spacing:.9px;text-transform:uppercase;color:var(--muted);margin-bottom:6px}
.legal-toc-in a{font-size:13px;color:var(--muted);text-decoration:none;padding:5px 0;line-height:1.45;border-bottom:1px solid transparent}
.legal-toc-in a:hover{color:var(--brand-700)}
.legal-body{max-width:760px;min-width:0}
.legal-sec{margin-bottom:34px;scroll-margin-top:92px}
.legal-sec h2{font-size:20px;margin:0 0 12px;color:var(--ink);letter-spacing:-.2px;padding-bottom:9px;border-bottom:1px solid var(--line)}
.legal-sec p{margin:0 0 12px;line-height:1.75;color:var(--ink-2)}
.legal-list{list-style:none;margin:0 0 12px;padding:0;display:flex;flex-direction:column;gap:9px}
.legal-list li{position:relative;padding-left:22px;line-height:1.7;color:var(--ink-2)}
.legal-list li:before{content:'';position:absolute;left:2px;top:10px;width:7px;height:7px;border-radius:2px;background:var(--gold);transform:rotate(45deg)}
.legal-steps{margin:0 0 12px;padding:0;list-style:none;counter-reset:ls;display:flex;flex-direction:column;gap:11px}
.legal-steps li{counter-increment:ls;position:relative;padding-left:38px;line-height:1.7;color:var(--ink-2);min-height:26px}
.legal-steps li:before{content:counter(ls);position:absolute;left:0;top:0;width:26px;height:26px;border-radius:50%;background:var(--brand-grad);color:#fff;font-size:13px;font-weight:800;display:flex;align-items:center;justify-content:center}
.legal-note{background:rgba(226,181,79,.1);border-left:3px solid var(--gold);border-radius:0 8px 8px 0;padding:11px 14px;font-size:14px;color:var(--ink-2);margin:14px 0 0!important}
.legal-entity .legal-list li:before{background:var(--green)}
.legal-related{border-top:1px solid var(--line);padding-top:20px;margin-top:8px}
.legal-related>span{display:block;font-size:11px;font-weight:800;letter-spacing:.9px;text-transform:uppercase;color:var(--muted);margin-bottom:10px}
.legal-related>div{display:flex;flex-wrap:wrap;gap:8px}
.legal-related a{font-size:13px;font-weight:600;color:var(--brand-700);text-decoration:none;border:1px solid var(--line);border-radius:999px;padding:6px 13px;background:#fff}
.legal-related a:hover{border-color:var(--brand-600);background:var(--brand-50)}
@media (max-width:900px){
  .legal-wrap{grid-template-columns:1fr;gap:22px}
  .legal-toc-in{position:static;border-left:0;border-top:1px solid var(--line);padding:14px 0 0;flex-direction:row;flex-wrap:wrap;gap:8px}
  .legal-toc-in>span{width:100%;margin:0}
  .legal-toc-in a{font-size:12px;border:1px solid var(--line);border-radius:999px;padding:5px 11px;background:#fff}
  .legal-sec h2{font-size:18px}
}
.quote-note{margin-top:16px;font-size:12.5px;color:#8ea3c9;line-height:1.6}
@media(max-width:640px){.quote-form{grid-template-columns:1fr}.qr-total{margin-left:0;text-align:left}}

/* ===== AI Course Advisor ===== */
.advisor{background:radial-gradient(680px 300px at 85% -10%,rgba(59,130,246,.28),transparent 60%),linear-gradient(160deg,var(--navy),var(--navy-2));
  border-radius:28px;padding:clamp(28px,4.5vw,52px);color:#fff;box-shadow:var(--shadow-lg);position:relative;overflow:hidden}
.advisor-head{max-width:680px;margin-bottom:26px}
.advisor-head h2{font-size:clamp(22px,3vw,32px);font-weight:800;letter-spacing:-.4px;line-height:1.25}
.advisor-head p{color:#c9d6ee;margin-top:12px;font-size:15.5px;line-height:1.7}
.advisor-form{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.advisor-form label{display:flex;flex-direction:column;gap:7px;font-size:13.5px;font-weight:600;color:#c9d6ee}
.advisor-form select,.advisor-form input{font:inherit;font-weight:500;padding:12px 14px;border-radius:12px;border:1.5px solid rgba(255,255,255,.16);background:rgba(255,255,255,.07);color:#fff}
.advisor-form select option{color:#111}
.advisor-form select:focus,.advisor-form input:focus{outline:none;border-color:var(--gold);background:rgba(255,255,255,.12)}
.advisor-form input::placeholder{color:#8ea3c9}
.advisor-form button{grid-column:1/-1;margin-top:4px}
.advisor-result{margin-top:24px;background:rgba(255,255,255,.97);border-radius:18px;padding:24px 26px;color:var(--text);box-shadow:0 16px 40px rgba(0,0,0,.25)}
.advisor-result.loading{text-align:center;color:var(--muted)}
.adv-badge{display:inline-block;background:linear-gradient(135deg,var(--gold-2),var(--gold));color:var(--navy);font-weight:800;font-size:12.5px;padding:5px 14px;border-radius:999px;margin-bottom:14px}
.adv-body p{margin:0 0 10px;font-size:15px;line-height:1.72;color:var(--text)}
.adv-body h4{font-size:15.5px;font-weight:800;color:var(--navy);margin:12px 0 6px}
.adv-body h4:first-child{margin-top:0}
.adv-body b{color:var(--navy)}
.adv-body ul{margin:6px 0 12px;padding-left:2px;list-style:none;display:flex;flex-direction:column;gap:7px}
.adv-body li{position:relative;padding-left:26px;font-size:14.5px;line-height:1.6}
.adv-body li::before{content:"✓";position:absolute;left:0;top:0;width:19px;height:19px;border-radius:50%;background:var(--soft);color:var(--blue);font-size:12px;font-weight:800;display:flex;align-items:center;justify-content:center}
.adv-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px;padding-top:16px;border-top:1px solid var(--line)}
.adv-spin{width:34px;height:34px;border:3px solid var(--soft);border-top-color:var(--blue);border-radius:50%;margin:6px auto 12px;animation:advspin .7s linear infinite}
@keyframes advspin{to{transform:rotate(360deg)}}
@media(max-width:640px){.advisor-form{grid-template-columns:1fr}}

/* ===== Hero trang khóa học: copy trái + card thông tin bài thi phải (thay nửa phải trống) ===== */
.chero-copy h1 .h1-accent{font-style:normal;background:linear-gradient(120deg,var(--gold-2),var(--gold));-webkit-background-clip:text;background-clip:text;color:transparent;font-weight:800}
.course-hero{padding-bottom:56px}
.chero-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:44px;align-items:start;margin-top:18px}
.chero-top{display:flex;align-items:center;gap:14px;margin-bottom:16px;flex-wrap:wrap}
.chero-copy h1{font-size:clamp(26px,3.6vw,40px);line-height:1.2;font-weight:800;letter-spacing:-.025em}
.chero-copy .meta{margin-top:12px;max-width:600px;font-size:15.5px;line-height:1.65}
.chero-cta{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}
.chero-card{background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.14);border-radius:18px;padding:22px;backdrop-filter:blur(6px)}
.cc-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding-bottom:14px;border-bottom:1px solid rgba(255,255,255,.12)}
.cc-head b{color:#fff;font-size:15px;font-weight:800;letter-spacing:.01em}
.cc-score{background:rgba(216,177,97,.16);border:1px solid rgba(216,177,97,.4);color:var(--gold-2);font-size:12px;font-weight:700;padding:4px 11px;border-radius:999px;white-space:nowrap}
.cc-facts{list-style:none;padding:0;margin:14px 0 0;display:flex;flex-direction:column;gap:11px}
.cc-facts li{display:flex;justify-content:space-between;gap:14px;font-size:13px;align-items:baseline}
.cc-facts li span{color:#8ea3c9;flex-shrink:0}
.cc-facts li b{color:#e8eefb;text-align:right;font-weight:600;line-height:1.45}
.cc-out{margin-top:18px;padding-top:16px;border-top:1px solid rgba(255,255,255,.12)}
.cc-out>b{display:block;color:#fff;font-size:13px;font-weight:800;margin-bottom:9px}
.cc-out ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:7px}
.cc-out li{position:relative;padding-left:20px;color:#c9d6ee;font-size:12.5px;line-height:1.5}
.cc-out li::before{content:"✓";position:absolute;left:0;top:0;color:var(--green);font-weight:800;font-size:11px}
.cc-links{display:flex;flex-direction:column;gap:8px;margin-top:18px;padding-top:15px;border-top:1px solid rgba(255,255,255,.12)}
.cc-links a{color:var(--gold-2);font-size:12.5px;font-weight:700}
.cc-links a:hover{color:#fff}
/* Đơn vị khảo thí - logo thật trên nền trắng nhỏ + tên tổ chức */
.cc-org{display:flex;align-items:center;gap:10px;margin-top:16px;padding-top:14px;border-top:1px solid rgba(255,255,255,.12)}
.cc-org img{background:#fff;border-radius:8px;padding:4px 8px;height:26px;width:auto;max-width:120px;object-fit:contain}
.cc-org span{font-size:11.5px;color:#8ea3c9;line-height:1.45}
.cc-org b{color:#c9d6ee;font-weight:700}
.org-chip img{background:#fff;border-radius:5px;padding:2px 5px;height:18px;width:auto;max-width:90px;object-fit:contain;vertical-align:middle}
@media(max-width:980px){.chero-grid{grid-template-columns:1fr;gap:28px}.chero-card{max-width:520px}}

/* ===== Gói học (chương trình & học phí) - thông tin thật từ nội dung khóa ===== */
.pkg-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px;align-items:stretch}
.pkg-card{display:flex;flex-direction:column;background:#fff;border:1.5px solid var(--line);border-radius:20px;padding:24px;box-shadow:var(--shadow);transition:transform .18s,box-shadow .18s,border-color .18s}
.pkg-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);border-color:var(--blue)}
.pkg-top{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-wrap:wrap;margin-bottom:12px}
.pkg-top h3{font-size:19px;font-weight:800;color:var(--navy);letter-spacing:-.3px}
.pkg-price{text-align:right;font-size:19px;font-weight:800;color:var(--blue);white-space:nowrap}
.pkg-price .pkg-live{display:block;font-size:10.5px;font-weight:600;color:var(--muted);letter-spacing:.02em}
.pkg-desc{font-size:13.5px;color:var(--muted);line-height:1.65;margin-bottom:14px}
.pkg-fields{list-style:none;padding:0;margin:0 0 18px;display:flex;flex-direction:column;gap:9px;flex:1}
.pkg-fields li{display:flex;justify-content:space-between;gap:12px;font-size:13.5px;padding-bottom:9px;border-bottom:1px dashed var(--line)}
.pkg-fields li:last-child{border-bottom:0}
.pkg-fields li span{color:var(--muted);flex-shrink:0}
.pkg-fields li b{color:var(--navy);text-align:right;font-weight:700}
.pkg-cta{width:100%;justify-content:center;margin-top:auto}

/* ===== Nội dung khóa học đã cấu trúc hoá (thay text thô WP) ===== */
.ci-checks{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
.ci-check{display:flex;gap:12px;align-items:flex-start;background:#fff;border:1px solid var(--line);border-radius:14px;padding:16px 18px;box-shadow:var(--shadow)}
.ci-check .ci-tick{flex-shrink:0;width:22px;height:22px;border-radius:50%;background:linear-gradient(135deg,#8fb832,#6f9a1f);color:#fff;font-size:12px;font-weight:800;display:flex;align-items:center;justify-content:center;margin-top:2px}
.ci-check>span:last-child{font-size:14.5px;line-height:1.6;color:var(--text)}
.ci-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.ci-card{background:#fff;border:1px solid var(--line);border-top:3px solid var(--gold);border-radius:16px;padding:20px;box-shadow:var(--shadow);transition:transform .15s,box-shadow .15s}
.ci-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg)}
.ci-card b{display:block;color:var(--navy);font-size:15.5px;font-weight:800;margin-bottom:7px;line-height:1.35}
.ci-card span{font-size:13.5px;line-height:1.6;color:var(--muted)}
.ci-audience{display:flex;gap:18px;align-items:center;background:linear-gradient(135deg,var(--soft),#fff);border:1.5px solid #dbe7ff;border-radius:18px;padding:22px 24px}
.ci-audience .ci-au-ic{font-size:34px;flex-shrink:0}
.ci-audience b{color:var(--navy);font-size:16px;display:block;margin-bottom:4px}
.ci-audience p{color:var(--muted);font-size:14px;line-height:1.6}
.ci-fine{margin-top:18px;padding:14px 18px;background:#f8fafc;border-left:3px solid var(--line);border-radius:0 10px 10px 0}
.ci-fine p{font-size:12.5px;color:var(--muted);line-height:1.6;margin:0 0 6px}
.ci-fine p:last-child{margin:0}
@media(max-width:900px){.ci-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.ci-grid,.ci-checks{grid-template-columns:1fr}}

/* ===== Dải quyền lợi dưới bảng giá khóa học ===== */
.pkg-perks{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:26px}
.pk-item{display:flex;align-items:center;gap:13px;background:#fff;border:1px solid var(--line);border-radius:16px;padding:16px 18px;box-shadow:var(--shadow)}
.pk-ic{flex-shrink:0;width:42px;height:42px;border-radius:12px;background:linear-gradient(135deg,var(--soft),#dce8ff);display:grid;place-items:center;font-size:20px}
.pk-item b{display:block;color:var(--navy);font-size:14px;font-weight:800;letter-spacing:-.01em}
.pk-item>div>span{color:var(--muted);font-size:12.5px;line-height:1.45;display:block;margin-top:2px}
a.pk-cta{background:linear-gradient(135deg,var(--navy),var(--navy-2));border-color:transparent;transition:transform .15s,box-shadow .15s}
a.pk-cta b{color:var(--gold-2)}a.pk-cta>div>span{color:#c9d6ee}
a.pk-cta .pk-ic{background:rgba(255,255,255,.1)}
a.pk-cta:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}
@media(max-width:820px){.pkg-perks{grid-template-columns:1fr}}

/* ===== Lịch khai giảng theo tuần ===== */
.week-block{margin-bottom:26px}
/* ===== Lịch khai giảng v2: tab tuần + lọc môn + grid card ===== */
.sch-flt{margin-bottom:10px}
.wk-tabs{margin-bottom:22px}
.wk-pane .week-head{margin-bottom:14px}
.sched-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:14px}
.sch-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:18px;box-shadow:var(--shadow);
  display:flex;flex-direction:column;gap:8px;transition:transform .15s,box-shadow .15s}
.sch-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg)}
.sch-card h3{font-size:16.5px;letter-spacing:-.01em}
.sch-top{display:flex;align-items:center;justify-content:space-between;gap:10px}
.sch-cd{font-size:11px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;padding:5px 10px;border-radius:999px;white-space:nowrap}
.sch-cd:empty{display:none}
.cd-soon{background:#fdeaea;color:#b3261e}
.cd-later{background:var(--brand-50);color:var(--brand-700)}
.cd-past{background:#eef1f5;color:var(--muted)}
.sch-meta{color:var(--muted);font-size:13.5px;line-height:1.55}
.sch-foot{margin-top:auto;display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding-top:10px;border-top:1px dashed var(--line)}
.sch-foot a{font-size:12.5px;font-weight:700}
.sch-foot .sch-cta{margin-left:auto;padding:9px 16px;font-size:13px}
.sch-empty{text-align:center;color:var(--muted);padding:26px 0;font-size:14.5px}

/* ===== Voucher (/voucher/) - dùng lại toàn bộ .dep-* của trang đặt cọc, chỉ thêm phần riêng ===== */
.vc-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(255px,1fr));gap:16px;margin:9px 0 8px}
.vc-pick{position:relative;display:block;cursor:pointer}
.vc-pick input{position:absolute;opacity:0;pointer-events:none}
.vc-box{border:1.5px solid var(--line);border-radius:16px;padding:20px 20px 18px;height:100%;background:#fff;transition:all .16s;display:flex;flex-direction:column;gap:6px}
.vc-pick:hover .vc-box{border-color:var(--blue);transform:translateY(-2px)}
.vc-pick input:checked+.vc-box{border-color:var(--navy);box-shadow:0 0 0 3px rgba(11,31,58,.09);background:linear-gradient(180deg,#fff,#f7f9fc)}
.vc-face{font:800 27px/1.15 Georgia,serif;color:var(--brand-800)}
.vc-name{font-weight:700;font-size:14px}
.vc-desc{font-size:13px;color:var(--muted);line-height:1.55;flex:1}
.vc-price{font-size:13.5px;font-weight:700;color:var(--brand-700);border-top:1px dashed var(--line);padding-top:9px;margin-top:4px}
/* z-index BẮT BUỘC: .vc-box khi hover có transform → tạo tầng xếp chồng riêng và vì đứng sau
   badge trong DOM nên nó ĐÈ LÊN badge (Alex báo 07/08 nhãn 'Popular' biến mất lúc rê chuột). */
.vc-badge{position:absolute;z-index:2;top:-9px;right:14px;background:var(--navy);color:var(--gold-2);font-size:11.5px;font-weight:800;padding:4px 11px;border-radius:999px;letter-spacing:.3px;box-shadow:0 2px 6px rgba(11,31,58,.25)}
.vc-cards{display:flex;flex-direction:column;gap:16px;margin:6px 0 4px}
.vc-cards img,.vc-cards svg{width:100%;height:auto;display:block;border-radius:16px;box-shadow:0 6px 20px rgba(11,31,58,.18)}
.vc-copyrow{display:flex;gap:8px;align-items:center;flex-wrap:wrap;font-size:13.5px;margin-top:8px}
.vc-copyrow code{font-weight:800;background:var(--brand-50);padding:5px 11px;border-radius:8px;letter-spacing:1px}
.vc-bal{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin:16px 0}
.vc-bal>div{background:var(--brand-50);border-radius:12px;padding:13px 15px}
.vc-bal b{display:block;font-size:19px;color:var(--brand-800);margin-top:2px}
.vc-bal span{font-size:12.5px;color:var(--muted)}
.vc-how{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:14px;margin-top:6px}
.vc-how>div{background:#fff;border:1px solid var(--line);border-radius:14px;padding:16px 18px}
.vc-how h3{font-size:15px;margin:0 0 6px}
.vc-how p{font-size:13.5px;color:var(--muted);line-height:1.6;margin:0}

/* ===== Đặt cọc giữ chỗ (/dat-coc/) ===== */
.dep-grid{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:22px;align-items:start}
@media(max-width:900px){.dep-grid{grid-template-columns:1fr}}
.dep-card{padding:26px}
.dep-h{font-size:21px;margin-bottom:16px}
.dep-card form{display:flex;flex-direction:column;gap:14px}
.dep-card label{display:flex;flex-direction:column;gap:6px;font-size:13.5px;font-weight:700;color:var(--brand-800)}
.dep-card input,.dep-card select{padding:11px 13px;border:1px solid var(--line);border-radius:11px;font:inherit;font-weight:500}
.dep-card input:focus,.dep-card select:focus{outline:2px solid var(--blue);outline-offset:1px}
.dep-row2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
@media(max-width:560px){.dep-row2{grid-template-columns:1fr}}
.dep-lb{font-size:13.5px;font-weight:700;color:var(--brand-800);display:block;margin-bottom:8px}
.dep-preset{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:8px}
.dep-chip input{position:absolute;opacity:0}
.dep-chip span{display:inline-block;padding:9px 16px;border:1.5px solid var(--line);border-radius:999px;font-weight:800;font-size:13.5px;cursor:pointer;transition:all .15s}
.dep-chip input:checked+span{background:var(--navy);border-color:var(--navy);color:var(--gold-2)}
.dep-policy{font-size:13px;color:var(--muted);background:var(--brand-50);border-radius:10px;padding:10px 14px;line-height:1.6}
.ai-consent{margin:0;padding:7px 12px 10px;font-size:10.5px;line-height:1.5;color:var(--muted,#6b7280);border-top:1px solid var(--line,#eee)}
.ai-consent a{color:inherit;text-decoration:underline}
.nl-consent{grid-column:1/-1;margin:8px 0 0;font-size:11.5px;line-height:1.55;opacity:.8}
.nl-consent a{color:inherit;text-decoration:underline}
.consent-box{margin:14px 0 4px;padding:12px 14px;border:1px solid var(--line,#e5e7eb);border-radius:12px;background:var(--brand-50,#faf7f0)}
.consent-box.consent-miss{border-color:#dc2626;box-shadow:0 0 0 3px rgba(220,38,38,.12)}
.consent-note{margin:0 0 9px;font-size:12.5px;line-height:1.6;color:var(--muted,#6b7280)}
.consent-note a{color:inherit;text-decoration:underline}
.consent-line{display:flex;gap:9px;align-items:flex-start;font-size:13px;line-height:1.55;color:var(--ink,#1f2937);cursor:pointer;padding:3px 0}
.consent-line input{margin-top:2px;width:16px;height:16px;flex:none;accent-color:var(--brand,#b8860b);cursor:pointer}
.consent-line i{font-style:normal;color:var(--muted,#6b7280)}
.consent-req{color:#dc2626}
.consent-err{margin:8px 0 0;font-size:12.5px;font-weight:600;color:#dc2626}
.dep-agree{display:flex;gap:9px;align-items:flex-start;font-size:13px;color:var(--muted);line-height:1.55;margin:12px 0 2px;cursor:pointer}
.dep-agree input{margin-top:2px;width:16px;height:16px;flex:none;accent-color:var(--brand,#b8860b);cursor:pointer}
.dep-agree a{color:inherit;text-decoration:underline}
.dep-err{color:#b3261e;font-weight:600;font-size:13.5px}
.dep-status{padding:12px 16px;border-radius:12px;background:#fff8e6;border:1px solid #f2dfae;font-weight:700;font-size:14px;margin-bottom:16px}
.dep-status.dep-ok{background:#ecfdf3;border-color:#abefc6;color:#067647}
.dep-status.dep-bad{background:#fef3f2;border-color:#fecdca;color:#b3261e}
.dep-sum{display:flex;flex-direction:column;gap:8px;margin-bottom:18px}
.dep-sum>div{display:flex;justify-content:space-between;gap:12px;font-size:14px;border-bottom:1px dashed var(--line);padding-bottom:8px}
.dep-sum span{color:var(--muted)}
.dep-amt{font-size:20px;color:var(--brand-700)}
.dep-qr-wrap{display:grid;grid-template-columns:230px 1fr;gap:18px;align-items:start;margin-bottom:16px}
@media(max-width:640px){.dep-qr-wrap{grid-template-columns:1fr}}
.dep-qr{text-align:center}
.dep-qr img{width:100%;max-width:230px;border:1px solid var(--line);border-radius:14px;background:#fff}
.dep-qr span{display:block;font-size:12px;color:var(--muted);margin-top:6px}
.dep-bank{display:flex;flex-direction:column;gap:10px;font-size:14px}
.dep-bk-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.dep-bk-row span{color:var(--muted);min-width:120px;font-size:13px}
.dep-bk-row code{font-weight:800;font-size:15px;background:var(--brand-50);padding:4px 10px;border-radius:8px}
.dep-hl code{background:#fff8e6;border:1px dashed #d8b856}
.dep-copy{font-size:12px;font-weight:800;border:1px solid var(--line);background:#fff;border-radius:8px;padding:4px 10px;cursor:pointer}
.dep-copy:hover{border-color:var(--blue);color:var(--brand-700)}
.dep-side{display:flex;flex-direction:column;gap:12px}
.dep-step{display:flex;gap:14px;align-items:flex-start;padding:16px 18px}
.dep-step .dep-n{flex:0 0 34px;height:34px;border-radius:50%;background:var(--navy);color:var(--gold-2);display:grid;place-items:center;font-weight:800}
.dep-step h3{font-size:15px;margin-bottom:3px}
.dep-step p{font-size:13px;color:var(--muted);line-height:1.55}

/* ===== Test xếp lớp (/test-xep-lop/) ===== */
.plc-pick{text-align:left;cursor:pointer;border:1px solid var(--line);background:#fff;font:inherit;padding:24px;transition:transform .15s,box-shadow .15s,border-color .15s}
.plc-pick:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg);border-color:var(--blue)}
.plc-badge{display:inline-block;color:#fff;font-weight:800;font-size:13px;letter-spacing:.03em;padding:7px 16px;border-radius:10px;margin-bottom:14px}
.plc-pick h3{font-size:19px;margin-bottom:6px}
.plc-pick p{color:var(--muted);font-size:14px;margin-bottom:12px}
.plc-fact{text-align:center;padding:22px}
/* .card .icon là khối 52px → text-align:center của cha KHÔNG căn được nó (Alex báo icon lệch trái).
   Dùng margin auto như .mode-card đang làm. */
.plc-fact .icon{margin:0 auto 12px}
.plc-fact h3{font-size:16px;margin:8px 0 4px}
.plc-fact p{font-size:13.5px;color:var(--muted);line-height:1.55}
.plc-disc{max-width:760px;margin:30px auto 0;text-align:center;font-size:12.5px;color:var(--muted);line-height:1.6;font-style:italic}
.plc-bar{max-width:780px;margin:0 auto 14px}
.plc-prog{height:7px;background:var(--brand-50);border-radius:99px;overflow:hidden}
.plc-prog span{display:block;height:100%;background:var(--brand-grad);border-radius:99px;transition:width .3s;width:0}
.plc-meta{display:flex;justify-content:space-between;align-items:center;margin-top:10px;font-size:13.5px;font-weight:700}
.plc-timer{font-variant-numeric:tabular-nums;background:var(--brand-50);color:var(--brand-700);padding:5px 12px;border-radius:999px}
.plc-timer.plc-warn{background:#fdeaea;color:#b3261e}
.plc-qcard{max-width:780px;margin:0 auto;padding:28px}
.plc-skill{display:inline-block;font-size:11px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:var(--brand-700);background:var(--brand-50);padding:5px 11px;border-radius:999px;margin-bottom:14px}
.plc-q{font-size:17px;line-height:1.7;font-weight:600;white-space:pre-wrap;margin-bottom:20px;color:var(--ink)}
.plc-opts{display:flex;flex-direction:column;gap:10px}
.plc-opt{display:flex;align-items:flex-start;gap:12px;border:1.5px solid var(--line);border-radius:13px;padding:13px 16px;cursor:pointer;transition:all .12s;font-size:15px;line-height:1.6}
.plc-opt:hover{border-color:var(--blue);background:var(--brand-50)}
.plc-opt.on{border-color:var(--navy);background:var(--brand-50);box-shadow:inset 0 0 0 1px var(--navy)}
.plc-opt input{position:absolute;opacity:0}
.plc-opt i{flex:0 0 24px;height:24px;border-radius:50%;background:var(--brand-50);color:var(--brand-700);display:grid;place-items:center;font-style:normal;font-weight:800;font-size:12px}
.plc-opt.on i{background:var(--navy);color:var(--gold-2)}
.plc-nav{display:flex;justify-content:space-between;gap:12px;margin-top:24px}
.plc-nav .btn:disabled{opacity:.4;pointer-events:none}
.plc-score{max-width:780px;margin:0 auto 20px;display:flex;align-items:center;gap:28px;flex-wrap:wrap;background:var(--navy);color:#fff;padding:30px}
.plc-ring{flex:0 0 120px;height:120px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(var(--gold-2) 0deg, rgba(255,255,255,.14) 0)}
.plc-ring b{width:92px;height:92px;border-radius:50%;background:var(--navy);display:grid;place-items:center;font-size:26px;font-weight:800;color:var(--gold-2)}
.plc-sinfo{flex:1;min-width:240px}
.plc-sinfo h2{color:#fff;font-size:23px;margin-bottom:6px}
.plc-sline{color:#c9d6ee;font-size:15px}
.plc-sline b{color:#fff;font-size:19px}
.plc-lvl{margin-top:8px;font-size:15px;color:#c9d6ee}
.plc-lvl b{color:var(--gold-2);font-size:18px}
.plc-advice{margin-top:12px;font-size:14px;line-height:1.65;color:#c9d6ee}
.plc-lead{max-width:780px;margin:0 auto 20px;padding:24px;border:2px solid var(--gold-2)}
.plc-lead h3{font-size:18px;margin-bottom:6px}
.plc-lead>p{font-size:14px;color:var(--muted);line-height:1.6;margin-bottom:16px}
.plc-lrow{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px;margin-bottom:16px}
@media(max-width:700px){.plc-lrow{grid-template-columns:1fr}}
.plc-lead label{display:flex;flex-direction:column;gap:6px;font-size:13px;font-weight:700;color:var(--brand-800)}
.plc-lead input{padding:11px 13px;border:1px solid var(--line);border-radius:11px;font:inherit;font-weight:500}
.plc-lead input:focus{outline:2px solid var(--blue);outline-offset:1px}
#plcLeadOk{max-width:780px;margin:0 auto 20px}
.plc-rvh{max-width:780px;margin:26px auto 14px;font-size:19px}
.plc-sect{max-width:780px;margin:0 auto}
.plc-sgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:12px}
.plc-scard{padding:16px}
.plc-scard b{display:block;font-size:14px;margin-bottom:8px}
.plc-scard span{font-size:12.5px;color:var(--muted)}
.plc-sbar{height:8px;background:var(--brand-50);border-radius:99px;overflow:hidden;margin-bottom:7px}
.plc-sbar i{display:block;height:100%;border-radius:99px}
.plc-sbar i.ok{background:#12b76a}.plc-sbar i.mid{background:var(--gold-2)}.plc-sbar i.low{background:#f04438}
#plcReview{max-width:780px;margin:0 auto;display:flex;flex-direction:column;gap:12px}
.plc-rv{padding:18px 20px;border-left:4px solid var(--line)}
.plc-rv.ok{border-left-color:#12b76a}
.plc-rv.bad{border-left-color:#f04438}
.plc-rvhead{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}
.plc-rvhead b{font-size:13px;color:var(--muted)}
.plc-mark{font-weight:800;font-size:16px}
.plc-rv.ok .plc-mark{color:#12b76a}.plc-rv.bad .plc-mark{color:#f04438}
.plc-rvq{font-size:14.5px;line-height:1.65;white-space:pre-wrap;margin-bottom:8px;font-weight:600}
.plc-rva{font-size:13.5px;color:var(--muted);margin-bottom:8px}
.plc-rve{font-size:13.5px;line-height:1.65;background:var(--brand-50);border-radius:10px;padding:11px 14px;color:var(--ink)}

/* ===== Đặt lịch tư vấn (/dat-lich-tu-van/) ===== */
.bk-grid{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:22px;align-items:start}
/* minmax(0,1fr) BẮT BUỘC cả ở mobile: '1fr' trần = minmax(auto,1fr) → min-content của dải ngày
   (14 nút × 68px) thắng, cột nổ ~915px kéo cả trang cuộn ngang trên điện thoại (đo 20/07: 993px/375px) */
@media(max-width:900px){.bk-grid{grid-template-columns:minmax(0,1fr)}}
.bk-main{padding:28px;min-width:0}
@media(max-width:560px){.bk-main{padding:18px 14px}}
.bk-step{margin-bottom:26px}
.bk-lb{display:block;font-size:13px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:var(--brand-700);margin-bottom:12px}
.bk-modes{display:grid;grid-template-columns:1fr 1fr;gap:12px}
@media(max-width:560px){.bk-modes{grid-template-columns:1fr}}
.bk-mode{border:1.5px solid var(--line);border-radius:14px;padding:14px 18px;cursor:pointer;display:flex;flex-direction:column;gap:3px;transition:all .15s}
.bk-mode:hover{border-color:var(--blue)}
.bk-mode input{position:absolute;opacity:0}
.bk-mode b{font-size:15px}
.bk-mode span{font-size:12.5px;color:var(--muted)}
.bk-mode:has(input:checked){border-color:var(--navy);background:var(--brand-50);box-shadow:inset 0 0 0 1px var(--navy)}
.bk-days{display:flex;gap:9px;overflow-x:auto;padding-bottom:6px;scrollbar-width:thin}
.bk-day{flex:0 0 68px;border:1.5px solid var(--line);background:#fff;border-radius:14px;padding:11px 6px;cursor:pointer;
  display:flex;flex-direction:column;align-items:center;gap:1px;font:inherit;transition:all .15s;position:relative}
.bk-day:hover{border-color:var(--blue)}
.bk-day.on{border-color:var(--navy);background:var(--navy)}
.bk-day i{font-style:normal;font-size:11px;font-weight:700;color:var(--muted);text-transform:uppercase}
.bk-day b{font-size:20px;font-weight:800;color:var(--ink)}
.bk-day span{font-size:11px;color:var(--muted)}
.bk-day em{position:absolute;top:-6px;right:-4px;font-style:normal;font-size:10px;font-weight:800;background:var(--gold-2);color:var(--navy);border-radius:99px;padding:2px 6px;min-width:18px;text-align:center}
.bk-day.on i,.bk-day.on b,.bk-day.on span{color:#fff}
.bk-day.on i{color:var(--gold-2)}
.bk-times{display:grid;grid-template-columns:repeat(auto-fill,minmax(92px,1fr));gap:9px}
.bk-time{border:1.5px solid var(--line);background:#fff;border-radius:11px;padding:11px 6px;cursor:pointer;font:inherit;transition:all .15s;display:flex;flex-direction:column;align-items:center;gap:2px}
.bk-time:hover{border-color:var(--blue);background:var(--brand-50)}
.bk-time.on{border-color:var(--navy);background:var(--navy)}
.bk-time b{font-size:14.5px;font-weight:800;font-variant-numeric:tabular-nums}
.bk-time.on b{color:var(--gold-2)}
.bk-time i{font-style:normal;font-size:10px;color:#b3261e;font-weight:700}
.bk-time.on i{color:#fff;opacity:.8}
.bk-loading{color:var(--muted);font-size:14px;padding:14px 0}
.bk-chosen{display:flex;align-items:center;gap:12px;background:var(--brand-50);border-radius:12px;padding:11px 16px;margin-bottom:16px;flex-wrap:wrap}
.bk-chosen b{font-size:14.5px}
.bk-change{margin-left:auto;font-size:12px;font-weight:800;border:1px solid var(--line);background:#fff;border-radius:8px;padding:5px 12px;cursor:pointer}
.bk-change:hover{border-color:var(--blue);color:var(--brand-700)}
#bkF{display:flex;flex-direction:column;gap:14px}
#bkF label{display:flex;flex-direction:column;gap:6px;font-size:13.5px;font-weight:700;color:var(--brand-800)}
#bkF input,#bkF select{padding:11px 13px;border:1px solid var(--line);border-radius:11px;font:inherit;font-weight:500}
#bkF input:focus,#bkF select:focus{outline:2px solid var(--blue);outline-offset:1px}
.bk-row2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
@media(max-width:560px){.bk-row2{grid-template-columns:1fr}}
.bk-tz{font-size:12px;color:var(--muted);text-align:center;margin-top:6px}
.bk-okwrap{text-align:center;padding:26px 10px}
.bk-okicon{font-size:52px;margin-bottom:10px}
.bk-okwrap h2{font-size:24px;margin-bottom:8px}
.bk-okwrap>p{color:var(--muted);font-size:15px;max-width:460px;margin:0 auto;line-height:1.65}

/* ===== Popup thoát trang (exit-intent) ===== */
.xi-back{position:fixed;inset:0;z-index:9000;background:rgba(11,20,44,.6);backdrop-filter:blur(3px);
  display:flex;align-items:center;justify-content:center;padding:20px;animation:xiFade .2s ease}
.xi-back[hidden]{display:none}
.xi-box{position:relative;background:#fff;border-radius:22px;max-width:460px;width:100%;padding:34px 30px 28px;
  text-align:center;box-shadow:0 24px 60px rgba(0,0,0,.3);animation:xiPop .25s cubic-bezier(.2,.9,.3,1.2)}
@keyframes xiFade{from{opacity:0}to{opacity:1}}
@keyframes xiPop{from{opacity:0;transform:translateY(14px) scale(.97)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.xi-back,.xi-box{animation:none}}
.xi-x{position:absolute;top:12px;right:14px;border:0;background:transparent;font-size:17px;color:var(--muted);cursor:pointer;line-height:1;padding:6px}
.xi-x:hover{color:var(--ink)}
.xi-eyebrow{display:inline-block;font-size:12px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;
  color:var(--brand-700);background:var(--brand-50);padding:6px 14px;border-radius:999px;margin-bottom:14px}
.xi-box h3{font-size:22px;line-height:1.35;letter-spacing:-.02em;margin-bottom:10px}
.xi-box>p{color:var(--muted);font-size:14.5px;line-height:1.65;margin-bottom:20px}
.xi-code{display:flex;align-items:center;justify-content:center;gap:10px;margin-bottom:18px}
.xi-code code{font-size:19px;font-weight:800;letter-spacing:.08em;background:#fff8e6;border:1.5px dashed #d8b856;
  border-radius:11px;padding:9px 18px;color:var(--navy)}
.xi-copy{font-size:12px;font-weight:800;border:1px solid var(--line);background:#fff;border-radius:8px;padding:7px 12px;cursor:pointer}
.xi-copy:hover{border-color:var(--blue);color:var(--brand-700)}
.xi-cta{width:100%;justify-content:center}
.xi-alt{display:block;margin:12px auto 0;border:0;background:transparent;color:var(--muted);font-size:13px;
  font-weight:600;cursor:pointer;text-decoration:underline;text-underline-offset:3px}
.xi-alt:hover{color:var(--ink)}

/* ===== So sánh bài thi (/so-sanh/) ===== */
.cmp-vs{display:flex;align-items:center;gap:14px;margin-bottom:16px}
.cmp-vs b{color:var(--gold-2);font-size:17px;font-weight:800}
.cmp-vs.sm{margin-bottom:12px}
.cmp-badge{display:inline-grid;place-items:center;min-width:74px;height:40px;padding:0 14px;border-radius:11px;
  color:#fff;font-weight:800;font-size:15px;letter-spacing:.02em}
.cmp-badge.sm{min-width:56px;height:30px;font-size:12.5px;border-radius:8px}
.cmp-tbl-wrap{max-width:860px;margin:0 auto;overflow-x:auto;border:1px solid var(--line);border-radius:16px;background:#fff;box-shadow:var(--shadow)}
.cmp-tbl{width:100%;border-collapse:collapse;min-width:560px}
.cmp-tbl th,.cmp-tbl td{padding:14px 18px;text-align:left;font-size:14.5px;border-bottom:1px solid var(--line);vertical-align:top}
.cmp-tbl thead th{background:var(--brand-50);border-bottom:2px solid var(--line)}
.cmp-th{display:inline-grid;place-items:center;min-width:66px;height:30px;padding:0 12px;border-radius:8px;color:#fff;font-weight:800;font-size:12.5px}
.cmp-tbl tbody tr:last-child td{border-bottom:0}
.cmp-tbl tbody tr:hover{background:var(--brand-50)}
.cmp-k{font-weight:700;color:var(--brand-800);white-space:nowrap}
.cmp-pick{padding:24px}
.cmp-pick h3{font-size:17px;display:flex;align-items:center;gap:10px;margin-bottom:14px;flex-wrap:wrap}
.cmp-pick ul{list-style:none;display:flex;flex-direction:column;gap:11px;margin-bottom:16px}
.cmp-pick li{position:relative;padding-left:26px;font-size:14.5px;line-height:1.65;color:var(--ink)}
.cmp-pick li::before{content:"✓";position:absolute;left:0;top:0;color:#12b76a;font-weight:800}
.cmp-links{display:flex;gap:14px;flex-wrap:wrap;padding-top:14px;border-top:1px dashed var(--line)}
.cmp-links a{font-size:13px;font-weight:700}
.cmp-verdict{max-width:920px;margin:26px auto 0;background:var(--navy);color:#c9d6ee;border-radius:18px;padding:24px 28px;
  font-size:15px;line-height:1.75}
.cmp-verdict b{color:var(--gold-2)}
.cmp-cta{max-width:920px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;
  background:var(--brand-50);border:1px solid var(--line);border-radius:20px;padding:28px 32px}
.cmp-cta h2{font-size:21px;margin-bottom:6px}
.cmp-cta p{color:var(--muted);font-size:14.5px;max-width:460px;line-height:1.6}
.cmp-cta-btns{display:flex;gap:12px;flex-wrap:wrap}
.cmp-tool{text-align:center;margin-top:20px;font-size:14px;color:var(--muted)}
.cmp-card{padding:24px}
.cmp-card h3{font-size:17.5px;line-height:1.4;margin-bottom:10px}

/* ===== Video facade (YouTube chỉ nạp khi bấm play) ===== */
.vid-facade{position:relative;max-width:860px;margin:0 auto;aspect-ratio:16/9;border-radius:18px;overflow:hidden;
  cursor:pointer;background:var(--navy);box-shadow:var(--shadow-lg)}
.vid-facade img{width:100%;height:100%;object-fit:cover;transition:transform .4s,filter .3s}
.vid-facade:hover img{transform:scale(1.03);filter:brightness(.85)}
.vid-facade:focus-visible{outline:3px solid var(--gold-2);outline-offset:3px}
.vid-play{position:absolute;inset:0;margin:auto;width:78px;height:78px;border-radius:50%;
  background:rgba(255,255,255,.94);box-shadow:0 8px 30px rgba(0,0,0,.35);transition:transform .2s,background .2s}
.vid-play::after{content:"";position:absolute;inset:0;margin:auto;width:0;height:0;
  border-left:24px solid var(--navy);border-top:14px solid transparent;border-bottom:14px solid transparent;transform:translateX(3px)}
.vid-facade:hover .vid-play{transform:scale(1.08);background:var(--gold-2)}
.vid-facade.on{cursor:default}
.vid-facade iframe{width:100%;height:100%;border:0;display:block}

/* ===== Hero video nền ===== */
.hv-host{position:relative;overflow:hidden;isolation:isolate}
.hv-bg{position:absolute;inset:0;z-index:0;overflow:hidden;background:var(--navy)}
.hv-poster,.hv-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
/* Poster tự zoom rất chậm (Ken Burns): hero vẫn "sống" ngay cả khi video chưa tải xong, bị chặn
   autoplay, hoặc khách dùng mobile/tiết kiệm dữ liệu - không bao giờ là một tấm ảnh chết. */
.hv-poster{animation:hvKen 26s ease-in-out infinite alternate;transform-origin:center 42%}
@keyframes hvKen{from{transform:scale(1.02)}to{transform:scale(1.13)}}
.hv-video{opacity:0;transition:opacity 1.1s ease}
.hv-video.on{opacity:1}
@media(prefers-reduced-motion:reduce){.hv-poster{animation:none}}
/* Lớp phủ: đủ tối để chữ trắng luôn đạt tương phản WCAG trên mọi khung hình video */
.hv-scrim{position:absolute;inset:0;
  background:linear-gradient(100deg,rgba(9,18,42,.94) 0%,rgba(9,18,42,.86) 38%,rgba(9,18,42,.62) 68%,rgba(9,18,42,.5) 100%)}
.hv-host>.container{position:relative;z-index:2}
.hv-credit{position:absolute;right:10px;bottom:8px;z-index:3;font-size:10px;letter-spacing:.02em;
  color:rgba(255,255,255,.5);text-decoration:none}
.hv-credit:hover{color:rgba(255,255,255,.85)}
@media(max-width:860px){.hv-scrim{background:linear-gradient(180deg,rgba(9,18,42,.9),rgba(9,18,42,.82))}}
/* Hero exam hub: cao hơn + dải số liệu */
.exam-hero.hv-host{padding:clamp(30px,4vw,44px) 0 clamp(38px,5vw,56px);min-height:clamp(380px,44vw,520px);display:flex;align-items:center}
.hv-facts{display:flex;gap:clamp(16px,3vw,42px);flex-wrap:wrap;margin-top:26px;padding-top:22px;border-top:1px solid rgba(255,255,255,.16)}
.hvf b{display:block;font-size:clamp(16px,2.2vw,22px);font-weight:800;color:var(--gold-2);white-space:nowrap;line-height:1.25}
.hvf span{font-size:12px;color:#a9bad9;letter-spacing:.02em}



/* ===== Điểm chuẩn & học bổng Mỹ ===== */
.adm-note{font-size:13.5px;color:var(--muted);line-height:1.6;background:var(--brand-50);border-radius:10px;padding:11px 15px;margin-bottom:14px}
.adm-empty{background:#fff8e6;border:1px solid #f2dfae;border-radius:14px;padding:18px 20px;font-size:14.5px;line-height:1.7;color:var(--ink)}
.adm-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:14px;background:#fff}
.adm-tbl{width:100%;border-collapse:collapse;min-width:760px;font-size:13.5px}
.adm-tbl th,.adm-tbl td{padding:11px 13px;text-align:left;border-bottom:1px solid var(--line);white-space:nowrap}
.adm-tbl thead th{background:var(--brand-50);font-size:12px;text-transform:uppercase;letter-spacing:.03em;color:var(--brand-700)}
.adm-tbl tbody tr:hover{background:var(--brand-50)}
.adm-tbl tbody tr:last-child td{border-bottom:0}
.adm-s{font-weight:700;color:var(--brand-800);white-space:normal;min-width:170px}
.adm-dl{white-space:normal;font-size:12.5px;line-height:1.5}
.adm-cta{display:flex;align-items:center;justify-content:space-between;gap:22px;flex-wrap:wrap;
  background:var(--navy);color:#c9d6ee;border-radius:18px;padding:24px 28px}
.adm-cta h3{color:#fff;font-size:19px;margin-bottom:6px}
.adm-cta p{font-size:14px;line-height:1.6;max-width:440px}

/* ===== Giới thiệu bạn ===== */
.rf-check{font-size:13px;font-weight:700;padding:8px 12px;border-radius:9px;margin-top:-6px}
.rf-check.ok{background:#ecfdf3;color:#067647;border:1px solid #abefc6}
.rf-check.bad{background:#fef3f2;color:#b3261e;border:1px solid #fecdca}
.rf-reward{padding:20px;border:2px solid var(--gold-2)}
.rf-reward h3{font-size:16px;margin-bottom:10px}
.rf-reward ul{list-style:none;display:flex;flex-direction:column;gap:8px}
.rf-reward li{font-size:13.5px;line-height:1.6;padding-left:18px;position:relative}
.rf-reward li::before{content:"🎁";position:absolute;left:0;font-size:11px;top:2px}
.rf-note{font-size:13px;color:var(--muted);line-height:1.65}









.week-head{display:flex;align-items:center;gap:12px;margin-bottom:12px}
.week-head .wk-tag{background:var(--navy);color:var(--gold-2);font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;padding:5px 12px;border-radius:999px}
.week-head b{color:var(--navy);font-size:16px;letter-spacing:-.01em}
.week-head .wk-count{color:var(--muted);font-size:12.5px;margin-left:auto}
.sr-badge{flex-shrink:0;width:54px;height:54px;border-radius:14px;display:grid;place-items:center;color:#fff;font-weight:800;font-size:12.5px;letter-spacing:.01em}
.sr-links{display:flex;gap:14px;flex-wrap:wrap;margin-top:6px}
.sr-links a{font-size:12.5px;font-weight:700;color:var(--blue)}
.sr-links a:hover{text-decoration:underline}
.sr-cta{padding:9px 18px;font-size:13.5px;white-space:nowrap;align-self:center}
.wk-note{margin-top:22px;text-align:center;color:var(--muted);font-size:13.5px;background:var(--soft);border-radius:12px;padding:13px 18px}
@media(max-width:640px){.sched-row{flex-wrap:wrap}.sr-cta{width:100%;text-align:center;margin-top:8px}}

/* ===== Lịch học - hình thức học ===== */
.mode-card{text-align:center;display:flex;flex-direction:column;align-items:center}
.mode-card .icon{margin:0 auto 16px}
.mode-card p{flex:1}
.mode-card .mode-tag{margin-top:14px;background:var(--soft);color:var(--blue);font-size:12.5px;font-weight:700;padding:5px 15px;border-radius:999px}
.steps.steps-3{grid-template-columns:repeat(3,1fr)}
@media(max-width:760px){.steps.steps-3{grid-template-columns:1fr}}

/* ===== Giới thiệu (About) ===== */
.about-hero .lede{max-width:700px}
.about-quote{max-width:840px;margin:0 auto;text-align:center;padding:0 20px}
.about-quote .aq-mark{font-size:84px;line-height:.55;color:var(--gold);font-family:Georgia,'Times New Roman',serif;height:46px}
.about-quote blockquote{border:0;background:none;box-shadow:none;padding:0;margin:0;font-size:clamp(19px,2.6vw,27px);line-height:1.5;font-weight:700;color:var(--navy);letter-spacing:-.3px;font-style:normal}
.campus-card{text-align:left}
.campus-card .campus-badge{width:58px;height:58px;border-radius:16px;display:flex;align-items:center;justify-content:center;font-size:28px;background:linear-gradient(135deg,var(--soft),#dbe7ff);margin-bottom:14px}
.campus-card h3{font-size:19px;color:var(--navy);font-weight:800}
.campus-card p{margin-top:8px;font-size:14.5px;color:var(--text)}
.explore-card{text-align:left}
.explore-card .icon{width:46px;height:46px;font-size:22px}

/* ===== Ưu đãi ===== */
.offer-card{position:relative;display:flex;flex-direction:column}
.offer-card .offer-tag{position:absolute;top:18px;right:18px;background:linear-gradient(135deg,var(--gold),#c79a45);color:var(--navy);font-size:11px;font-weight:800;padding:4px 12px;border-radius:999px}
.offer-card p{flex:1}
.offer-card .more{margin-top:14px}

/* Kicker: <strong> trần WP flatten trước heading/nhóm link → nhãn nhỏ vàng có gạch */
/* Nhãn nhóm (kicker) - là EYEBROW của heading ngay dưới, KHÔNG phải heading cấp trên.
   Cỡ 12.5px bám thang .eyebrow-c của site. Nhãn tự gánh khoảng cách mở section, và heading
   dưới nó bị kéo sát lại - trước đây quy tắc dán chỉ viết cho h3 nên nhãn đứng trước h2 bị bỏ
   cách 53px, trôi lơ lửng và đọc ra như một heading riêng cấp cao hơn (Alex báo 17/07). */
.prose .prose-kicker{display:inline-flex;align-items:center;gap:8px;margin:44px 0 3px;font-size:12.5px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:#b98c2e;line-height:1.3}
.prose .prose-kicker::before{content:"";width:18px;height:3px;border-radius:99px;background:var(--brand-grad);flex:none}
.prose .prose-kicker:first-child{margin-top:0}
.prose .prose-kicker+h2,.prose .prose-kicker+h3,.prose .prose-kicker+h4{margin-top:3px}
/* h2 có gạch gradient riêng ở top:-2px - khi đã có nhãn ngay trên thì gạch đè vào nhãn và lặp trang trí */
.prose .prose-kicker+h2{padding-top:0}
.prose .prose-kicker+h2::before{display:none}
/* Nhãn KHÔNG có heading theo sau (chỉ nhóm link) → chính nó LÀ tiêu đề của khối: để to hơn,
   đúng yêu cầu Alex cho "CFA Level II – Phân tích chuyên sâu". Khác hẳn nhãn eyebrow ở trên. */
.prose .prose-kicker:has(+.prose-links){font-size:16px;letter-spacing:.02em;text-transform:none;color:var(--navy)}
.prose .prose-kicker:has(+.prose-links)::before{width:22px;height:4px}
.prose .prose-kicker+.prose-links{margin-top:10px}
@media (max-width:640px){.prose .prose-kicker{font-size:11.5px;letter-spacing:.13em;margin-top:34px}
  .prose .prose-kicker:has(+.prose-links){font-size:15px;letter-spacing:.01em}}

/* ===== Photo gallery native (trang campus full) ===== */
.photo-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.photo-gallery figure{margin:0;border-radius:18px;overflow:hidden;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow);
  transition:transform .18s,box-shadow .18s}
.photo-gallery figure:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg)}
.photo-gallery img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block}
.photo-gallery figcaption{padding:12px 16px;font-size:13px;color:var(--muted);line-height:1.5;font-weight:600}
.photo-gallery .pg-wide{grid-column:span 2}
.photo-gallery .pg-wide img{aspect-ratio:8/4.5}
@media(max-width:860px){.photo-gallery{grid-template-columns:repeat(2,1fr)}.photo-gallery .pg-wide{grid-column:span 2}}
@media(max-width:560px){.photo-gallery{grid-template-columns:1fr}.photo-gallery .pg-wide{grid-column:span 1}.photo-gallery .pg-wide img{aspect-ratio:4/3}}

/* ===== Gallery ảnh trang giới thiệu (campus…) ===== */
.prose .prose-gallery{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin:24px 0;padding:0}
.prose .prose-gallery figure{margin:0;border-radius:16px;overflow:hidden;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow)}
.prose .prose-gallery img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block;margin:0;border-radius:0;box-shadow:none}
.prose .prose-gallery figcaption{padding:11px 15px;font-size:12.5px;color:var(--muted);line-height:1.5}
@media(max-width:640px){.prose .prose-gallery{grid-template-columns:1fr}}

/* ===== Trang giới thiệu: icon-box flatten → thẻ + bullet ===== */
.prose .prose-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin:22px 0}
.prose .prose-cards .pc-item{background:#fff;border:1px solid var(--line);border-left:3px solid var(--gold);border-radius:14px;padding:18px 20px;box-shadow:var(--shadow)}
.prose .prose-cards .pc-item h4{font-size:15px;font-weight:800;color:var(--navy);margin:0 0 7px;letter-spacing:-.01em}
.prose .prose-cards .pc-item p{font-size:13.5px;line-height:1.6;color:var(--muted);margin:0 0 6px}
.prose .prose-cards .pc-item p:last-child{margin:0}
.prose .prose-points{display:flex;flex-direction:column;gap:10px;margin:20px 0}
.prose .prose-points .pp-item{position:relative;padding:12px 16px 12px 42px;background:var(--soft);border-radius:12px;font-size:14.5px;line-height:1.6}
.prose .prose-points .pp-item::before{content:"✓";position:absolute;left:15px;top:12px;width:19px;height:19px;border-radius:50%;background:linear-gradient(135deg,#8fb832,#6f9a1f);color:#fff;font-size:11px;font-weight:800;display:flex;align-items:center;justify-content:center}
@media(max-width:640px){.prose .prose-cards{grid-template-columns:1fr}}

/* ===== Công cụ (tool widget nhúng) ===== */
.tool-embed{padding:6px 0 0}
.tool-links{display:flex;flex-wrap:wrap;gap:12px;justify-content:center}
.tool-link{background:#fff;border:1.5px solid var(--line);border-radius:14px;padding:12px 20px;font-weight:600;color:var(--navy);box-shadow:var(--shadow);transition:transform .15s,border-color .15s,color .15s}
.tool-link:hover{border-color:var(--blue);color:var(--blue);transform:translateY(-2px)}

/* ===== Bảng thông tin bài thi (exam facts) ===== */
.exam-facts{display:grid;grid-template-columns:repeat(2,1fr);gap:0;border:1px solid var(--line);border-radius:18px;overflow:hidden;background:#fff;box-shadow:var(--shadow)}
.exam-facts .ef{display:flex;gap:12px;padding:16px 20px;border-bottom:1px solid var(--line)}
.exam-facts .ef:nth-child(2n){border-left:1px solid var(--line)}
.exam-facts .ef .ef-k{color:var(--muted);font-size:13px;font-weight:600;min-width:96px}
.exam-facts .ef .ef-v{color:var(--navy);font-size:14px;font-weight:700}
@media(max-width:560px){.exam-facts{grid-template-columns:1fr}.exam-facts .ef:nth-child(2n){border-left:0}}
.exam-info-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:24px;align-items:start}
.exam-aud h3{font-size:18px;font-weight:800;color:var(--navy)}
.exam-aud p{color:var(--muted);font-size:14.5px;margin-top:8px}
.exam-aud h4{font-size:13px;font-weight:700;color:var(--blue);text-transform:uppercase;letter-spacing:.5px;margin-top:18px}
.exam-aud ul{list-style:none;margin:10px 0 0;padding:0;display:flex;flex-direction:column;gap:8px}
.exam-aud li{position:relative;padding-left:26px;font-size:14px;color:var(--text);line-height:1.5}
.exam-aud li::before{content:"✓";position:absolute;left:0;top:0;width:18px;height:18px;border-radius:50%;background:var(--soft);color:var(--blue);font-size:11px;font-weight:800;display:flex;align-items:center;justify-content:center}
@media(max-width:800px){.exam-info-grid{grid-template-columns:1fr}}
