/* SAFI - styles.css (mobile-first, không build)
   Bảng màu và font theo bảng hiệu cổng trường (docs/06-nhan-dien-tu-bang-hieu.md); đồ họa theo docs/07-thiet-ke-banner.md */
:root{
  /* thương hiệu (lấy mẫu từ bảng hiệu) */
  --navy-900:#151D54;--navy-800:#1A2266;--navy-700:#232D80;
  --cyan:#00AEEF;--yellow:#FFD500;--red:#ED2024;--sky:#E8F3FF;
  /* biến thể để đạt tương phản AA */
  --red-700:#C8141A;            /* chữ/nút đỏ trên nền trắng (#ED2024 chỉ đạt 4,3:1) */
  --yellow-hover:#FFE14D;--yellow-edge:#D9B400;
  --ink:#1E2440;--muted:#4A5578;--line:#D3DCEE;--bg:#FFFFFF;--bg-soft:#F4F8FE;--sky-line:#C6DBF4;
  --success:#047857;--error:#B91C1C;--zalo:#0068FF;--field:#6B7699;
  --focus:#232D80;--ico-accent:#00AEEF;
  --font:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  --fs-xs:.8125rem;--fs-sm:.9375rem;--fs-base:1rem;--fs-lg:1.125rem;--fs-h4:1.25rem;
  --fs-h3:clamp(1.375rem,1.2rem + .8vw,1.75rem);
  --fs-h2:clamp(1.625rem,1.35rem + 1.5vw,2.5rem);
  --fs-h1:clamp(2rem,1.5rem + 2.6vw,3.5rem);
  --s-1:.25rem;--s-2:.5rem;--s-3:.75rem;--s-4:1rem;--s-5:1.5rem;--s-6:2rem;--s-7:3rem;--s-8:4rem;--s-9:6rem;
  --section:clamp(2.75rem,5.5vw,5rem);
  --r-sm:6px;--r-md:12px;--r-lg:20px;--r-pill:999px;
  --sh-1:0 1px 2px rgba(21,29,84,.10);--sh-2:0 6px 20px rgba(21,29,84,.12);--sh-3:0 16px 40px rgba(21,29,84,.20);
  --ease:cubic-bezier(.2,.7,.2,1);--t-fast:150ms;--t-base:250ms;--t-slow:500ms;
  --hdr:60px;--gutter:16px;--bar:56px;
  --tri:url(../assets/banners/divider-tri.svg);
  --sai-b:env(safe-area-inset-bottom,0px);--sai-l:env(safe-area-inset-left,0px);--sai-r:env(safe-area-inset-right,0px);
}
@media (min-width:768px){:root{--gutter:24px}}
@media (max-height:500px) and (orientation:landscape){:root{--bar:48px;--hdr:52px}.bar a{font-size:.875rem}}
@media (min-width:1024px){:root{--hdr:72px}}
@media (min-width:1280px){:root{--gutter:32px}}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:var(--stick,calc(var(--hdr) + 64px))}
body{margin:0;font-family:var(--font);font-size:var(--fs-base);line-height:1.65;color:var(--ink);background:var(--bg);overflow-x:hidden;padding-bottom:calc(var(--bar) + var(--sai-b));-webkit-font-smoothing:antialiased}
@media (min-width:768px){body{padding-bottom:0}}
img,svg{max-width:100%;height:auto}
img{display:block}
h1,h2,h3,h4{font-family:var(--font);color:var(--navy-800);margin:0 0 var(--s-3);line-height:1.2;font-weight:800;text-wrap:pretty;letter-spacing:-.01em;overflow-wrap:break-word}
h1{font-size:var(--fs-h1);line-height:1.1;font-weight:900}
h2{font-size:var(--fs-h2);font-weight:800}
h3{font-size:var(--fs-h3);line-height:1.3}
h4{font-size:var(--fs-h4);line-height:1.4;font-weight:700}
p{margin:0 0 var(--s-4);max-width:68ch;text-wrap:pretty;overflow-wrap:break-word}
ul,ol{margin:0 0 var(--s-4);padding-left:1.25rem}
a{color:var(--navy-700);text-underline-offset:3px}
a:hover{color:var(--navy-900)}
table{border-collapse:collapse;width:100%}
.nw,a[href^="tel:"],a[href^="mailto:"]{white-space:nowrap}
.btn[href^="tel:"]{white-space:normal}
.container{width:100%;max-width:1264px;margin-inline:auto;padding-inline:max(var(--gutter),var(--sai-l)) max(var(--gutter),var(--sai-r))}
.section{padding-block:var(--section)}
.section--soft{background:var(--bg-soft)}
.section--dots{background-image:url(../assets/banners/pattern-dots.svg)}
.section--tight{padding-block:var(--s-6)}
.section--flush-top{padding-top:0}
.section__head{margin-bottom:var(--s-6);min-width:0}
.section__head::before{content:"";display:block;width:64px;height:5px;border-radius:3px;background:var(--tri) center/100% 100% no-repeat;margin-bottom:var(--s-3)}
.section__head p{font-size:var(--fs-lg);color:var(--muted);margin-bottom:0}
.section__cta{margin:var(--s-6) 0 0}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.ico{width:1.5rem;height:1.5rem;flex:none;display:inline-block;vertical-align:middle}
:focus{outline:none}
:focus-visible{outline:3px solid var(--focus);outline-offset:2px;border-radius:4px}
.on-dark,.footer,.hero,.page-hero,.band,.hotline,.gbanner,.topbar{--ico-accent:var(--yellow)}
.on-dark :focus-visible,.footer :focus-visible,.hero :focus-visible,.page-hero :focus-visible,.band :focus-visible,.hotline :focus-visible,.gbanner :focus-visible,.topbar :focus-visible{outline-color:var(--yellow)}
.skip-link{position:fixed;left:var(--s-3);top:-100px;z-index:200;background:var(--navy-900);color:#fff;padding:var(--s-3) var(--s-4);border-radius:var(--r-md);font-weight:600;text-decoration:none;transition:top var(--t-fast)}
.skip-link:focus{top:var(--s-3);outline:3px solid var(--yellow);outline-offset:2px}
.hide-m{display:none}
.show-m{display:inline}
@media (min-width:768px){.hide-m{display:inline}.show-m{display:none}}

/* chú thích cho cụm quảng cáo cần rà soát (R) */
.rv-note{display:block;margin:var(--s-2) 0 0;font-size:var(--fs-xs);line-height:1.5;color:var(--muted);max-width:none}
.on-dark .rv-note,.hero .rv-note,.gbanner .rv-note,.band .rv-note{color:#D5DCF5}

/* buttons: CTA chính = vàng nền + chữ navy (≈12:1) */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--s-2);min-height:48px;padding:12px 22px;border-radius:var(--r-md);border:2px solid transparent;font:700 1rem/1.2 var(--font);text-decoration:none;cursor:pointer;transition:background-color var(--t-fast) ease-out,box-shadow var(--t-fast) ease-out,transform var(--t-fast) ease-out;text-align:center;text-wrap:pretty}
.btn:active{transform:translateY(1px)}
.btn-primary{background:var(--yellow);color:var(--navy-800);border-color:var(--yellow-edge)}
.hero .btn-primary,.gbanner .btn-primary,.band .btn-primary,.hotline .btn-primary{border-color:var(--yellow)}
.btn-secondary{background:var(--navy-800);color:#fff}
.btn-outline{border-color:var(--navy-700);color:var(--navy-800);background:transparent}
.btn-outline.on-dark{border-color:#fff;color:#fff}
.btn-sm{min-height:44px;padding:8px 16px;font-size:var(--fs-sm)}
.btn--2l{flex-direction:column;gap:2px;padding-block:8px}
.btn--2l .ico{display:none}
.drawer .btn--2l small{font-size:var(--fs-sm);font-weight:700}
.btn--2l small{font-size:var(--fs-xs);font-weight:600;line-height:1.2;white-space:nowrap}
.btn[disabled],.btn[aria-disabled="true"]{opacity:.55;pointer-events:none}
@media (hover:hover){
  .btn-primary:hover{background:var(--yellow-hover);color:var(--navy-900);box-shadow:var(--sh-1)}
  .btn-secondary:hover{background:var(--navy-900);color:#fff}
  .btn-outline:hover{background:var(--sky);color:var(--navy-800)}
  .btn-outline.on-dark:hover{background:rgba(255,255,255,.14);color:#fff}
}
.link-arrow{display:inline-flex;align-items:center;gap:var(--s-2);min-height:44px;font-weight:700;color:var(--navy-700);text-decoration:none}
.link-arrow .ico{width:1.125rem;height:1.125rem;transition:transform var(--t-fast) ease-out}
@media (hover:hover){.link-arrow:hover{text-decoration:underline}.link-arrow:hover .ico{transform:translateX(4px)}}
.btn-row{display:flex;flex-wrap:wrap;gap:var(--s-3)}

/* dải ba màu như viền bảng hiệu */
.header::before{content:"";display:block;height:5px;background:var(--tri) center/100% 100% no-repeat}

/* topbar + header */
.topbar{display:none;background:var(--navy-900);color:#E2E8F0;font-size:var(--fs-xs)}
.topbar a{color:#fff;text-decoration:none}
.topbar a:hover{text-decoration:underline}
.topbar__in{display:flex;gap:var(--s-1) var(--s-5);justify-content:space-between;align-items:center;min-height:36px;flex-wrap:wrap}
.topbar__in>*{display:inline-flex;align-items:center;gap:6px;min-height:36px}
.topbar .ico{width:14px;height:14px}
.topbar__loc{display:none!important}
@media (pointer:coarse){.topbar__in>*{min-height:44px}.topbar a{display:inline-flex;align-items:center;min-height:44px}}
@media (min-width:768px){.topbar{display:block}}
@media (min-width:1100px){.topbar__loc{display:inline-flex!important}}
.header{container:hdr/inline-size;position:sticky;top:0;z-index:100;background:#fff;border-bottom:1px solid var(--line);transition:box-shadow var(--t-base)}
.header.is-scrolled{box-shadow:var(--sh-1)}
.header__in{display:flex;align-items:center;gap:var(--s-3);height:var(--hdr)}
.brand{display:flex;align-items:center;gap:10px;flex:none;min-height:44px;text-decoration:none;color:var(--navy-800);min-width:0}
.brand img{width:40px;height:40px;border-radius:50%;flex:none}
.brand__txt{display:flex;flex-direction:column;line-height:1.15;min-width:0}
.brand__name{font-weight:900;font-size:1.25rem;letter-spacing:.02em;color:var(--navy-800)}
.brand__sub{display:none;font-weight:600;font-size:.6875rem;color:var(--muted);line-height:1.2}
@media (min-width:768px){.brand__sub{display:block;max-width:150px}}
@media (min-width:1024px){.brand img{width:48px;height:48px}.brand__sub{font-size:.75rem;max-width:none}.brand__name{font-size:1.375rem}}
.header__sp{flex:1}
.nav{display:none}
.hdr-phone{display:none;align-items:center;gap:6px;font-weight:800;color:var(--navy-800);text-decoration:none;white-space:nowrap}
.hdr-call{display:none;width:44px;height:44px;align-items:center;justify-content:center;color:var(--navy-800);border-radius:var(--r-md)}
.hdr-cta{padding:8px 14px;min-height:44px;white-space:nowrap;font-size:var(--fs-sm)}
.hdr-cta .full{display:none}
.menu-btn{display:inline-flex;width:44px;height:44px;align-items:center;justify-content:center;background:transparent;border:0;color:var(--navy-800);cursor:pointer;border-radius:var(--r-md)}
@media (min-width:768px){.hdr-call{display:inline-flex}}
@container hdr (min-width:64em){.nav{display:block}.hdr-call,.menu-btn{display:none}}
@container hdr (min-width:80em){.hdr-cta{padding:12px 20px;font-size:1rem}.hdr-cta .full{display:inline}.hdr-cta .short{display:none}}
@container hdr (min-width:96em){.hdr-phone{display:inline-flex}}
.nav__list{display:flex;gap:0;list-style:none;margin:0;padding:0}
.nav__link{position:relative;display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:0 var(--s-2);color:var(--navy-800);font:700 .9375rem/1 var(--font);text-decoration:none;background:none;border:0;cursor:pointer;margin:0;white-space:nowrap}
@container hdr (min-width:75em){.nav__link{padding:0 var(--s-3);font-size:var(--fs-base)}}
.nav__link::after{content:"";position:absolute;left:var(--s-2);right:var(--s-2);bottom:6px;height:3px;background:var(--red);transform:scaleX(0);transform-origin:left;transition:transform var(--t-base) var(--ease)}
.nav__link[aria-current="page"]::after{transform:scaleX(1)}
@media (hover:hover){.nav__link:hover{color:var(--navy-700)}.nav__link:hover::after{transform:scaleX(1)}}
.nav__link .chev{width:16px;height:16px;transition:transform var(--t-base)}
.nav__link[aria-expanded="true"] .chev{transform:rotate(180deg)}
.mega{position:absolute;left:0;right:0;top:100%;background:#fff;box-shadow:var(--sh-3);border-radius:0 0 var(--r-lg) var(--r-lg);border-top:1px solid var(--line);z-index:110;padding-block:var(--s-5)}
.mega[hidden]{display:none}
.mega__grid{display:grid;grid-template-columns:1.2fr 1.1fr 1fr 1fr;gap:var(--s-5)}
.mega-title{margin:0 0 var(--s-2);font-weight:800;font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}
.mega ul{list-style:none;margin:0 0 var(--s-4);padding:0}
.mega li a{display:block;padding:7px 10px;border-radius:var(--r-sm);color:var(--ink);text-decoration:none;font-weight:500}
.mega li a.all{font-weight:700;color:var(--navy-700)}
@media (hover:hover){.mega li a:hover{background:var(--sky);color:var(--navy-800)}}
.mega__card{background:var(--sky);border-radius:var(--r-md);padding:var(--s-4);border-top:4px solid var(--cyan);align-self:start}
.mega__card p{font-size:var(--fs-sm);margin-bottom:var(--s-3)}
.mega__card strong{display:block;color:var(--navy-800);margin-bottom:var(--s-2)}

/* drawer */
.overlay{position:fixed;inset:0;background:rgba(21,29,84,.55);z-index:119;opacity:0;visibility:hidden;transition:opacity var(--t-base),visibility var(--t-base)}
.overlay.is-open{opacity:1;visibility:visible}
.drawer{position:fixed;top:0;right:0;bottom:0;width:min(88vw,360px);background:#fff;z-index:120;transform:translateX(100%);visibility:hidden;transition:transform var(--t-base) var(--ease),visibility var(--t-base);display:flex;flex-direction:column;overflow-y:auto;overscroll-behavior:contain;padding-right:var(--sai-r)}
.drawer.is-open{transform:none;visibility:visible}
.drawer__top{display:flex;align-items:center;justify-content:space-between;padding:var(--s-3) var(--s-4);border-bottom:1px solid var(--line)}
.drawer__top .brand img{width:36px;height:36px}
.drawer__top .brand__sub{display:block;max-width:150px}
.drawer nav{padding:var(--s-3) var(--s-4)}
.drawer ul{list-style:none;margin:0;padding:0}
.drawer a.dl,.drawer button.dl{display:flex;width:100%;align-items:center;justify-content:space-between;min-height:48px;padding:0 var(--s-2);color:var(--navy-800);font:700 1.0625rem/1.2 var(--font);text-decoration:none;background:none;border:0;border-bottom:1px solid var(--line);cursor:pointer;text-align:left}
.drawer [aria-current="page"]{color:var(--red-700);box-shadow:inset 3px 0 0 var(--red);padding-left:var(--s-3)}
.drawer .sub{padding:var(--s-2) 0 var(--s-3) var(--s-3)}
.drawer .sub[hidden]{display:none}
.drawer .sub strong{display:block;font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin:var(--s-3) 0 2px}
.drawer .sub a{display:block;padding:10px var(--s-2);color:var(--ink);text-decoration:none;min-height:44px}
.drawer button[aria-expanded="true"] .chev{transform:rotate(180deg)}
.drawer .chev{width:18px;height:18px;transition:transform var(--t-base)}
.drawer__cta{margin-top:auto;padding:var(--s-4) var(--s-4) calc(var(--s-4) + var(--sai-b));display:grid;gap:var(--s-3);border-top:1px solid var(--line);background:var(--bg-soft)}
body.no-scroll{overflow:hidden}

/* nút nổi (desktop) + thanh dưới (mobile) */
.float{display:none}
@media (min-width:768px){
  .float{display:flex;flex-direction:column;gap:var(--s-3);position:fixed;right:max(16px,var(--sai-r));bottom:max(16px,var(--sai-b));z-index:90;transition:opacity var(--t-base)}
}
@media (min-width:768px) and (max-height:520px){
  .float{flex-direction:row;gap:var(--s-2)}
  .float a{width:44px!important;height:44px!important}
}
.float a{position:relative;display:flex;width:56px;height:56px;border-radius:50%;align-items:center;justify-content:center;color:#fff;box-shadow:var(--sh-2);text-decoration:none;transition:transform var(--t-fast),box-shadow var(--t-fast);font-weight:700;font-size:.9375rem}
.float .f-call{background:var(--navy-700)}
.float .f-zalo{background:var(--zalo)}
.float a .tip{position:absolute;right:68px;background:var(--navy-900);color:#fff;font-size:var(--fs-xs);font-weight:600;padding:6px 10px;border-radius:var(--r-sm);white-space:nowrap;opacity:0;pointer-events:none;transition:opacity var(--t-fast)}
.float a:focus-visible .tip{opacity:1}
@media (hover:hover){.float a:hover{transform:scale(1.06);box-shadow:var(--sh-3)}.float a:hover .tip{opacity:1}}
.bar{position:fixed;left:0;right:0;bottom:0;z-index:90;display:grid;grid-template-columns:1fr 1fr 1.1fr;height:calc(var(--bar) + var(--sai-b));padding:0 var(--sai-r) var(--sai-b) var(--sai-l);background:#fff;border-top:1px solid var(--line);box-shadow:0 -4px 16px rgba(21,29,84,.10);transition:transform var(--t-base) var(--ease)}
.bar a{display:flex;align-items:center;justify-content:center;gap:6px;min-width:0;font-weight:800;font-size:var(--fs-sm);text-decoration:none;color:var(--navy-800);white-space:nowrap}
.bar a .ico{width:20px;height:20px}
.bar .b-zalo{background:var(--zalo);color:#fff}
.bar .b-reg{background:var(--yellow);color:var(--navy-800)}
@media (max-width:359px){.bar a{font-size:.8125rem;gap:4px}.bar a .ico{width:18px;height:18px}}
body.hide-bar .bar{transform:translateY(110%)}
body.hide-bar .float{opacity:0;pointer-events:none}
@media (min-width:768px){.bar{display:none}}
.bar :focus-visible{outline-offset:-4px;outline-color:var(--navy-800)}
.bar .b-zalo:focus-visible{outline-color:#fff}

/* hero carousel: nền theo breakpoint (mobile ≤767 không tải bản desktop) */
.hero{position:relative;background:var(--navy-800);color:#fff;overflow:hidden}
.hero__view{position:relative;touch-action:pan-y}
.hero__track{display:grid}
.slide{grid-area:1/1;opacity:0;visibility:hidden;transition:opacity var(--t-slow) var(--ease),visibility 0s linear var(--t-slow);padding-block:var(--s-6) 0;background:var(--navy-800) 50% 100%/cover no-repeat}
.slide.is-active{opacity:1;visibility:visible;transition-delay:0s}
.slide.s1{background-image:url(../assets/banners/hero-1-trung-cap-mobile.webp)}
.slide.s2{background-image:url(../assets/banners/hero-2-song-bang-mobile.webp)}
.slide.s3{background-image:url(../assets/banners/hero-3-dong-thap-mobile.webp)}
.slide.s4{background-image:url(../assets/banners/hero-4-tra-vinh-mobile.webp)}
.slide{display:flex;flex-direction:column}
.slide__grid{display:grid;gap:var(--s-4);align-items:end;min-width:0;flex:1;width:100%}
.slide__txt{align-self:start;min-width:0;container:stxt/inline-size}
@container stxt (max-width:30em){.slide__sub{min-height:calc(2 * 1.65em)}}
@container stxt (max-width:16em){.slide__sub{min-height:calc(4 * 1.65em)}}
.slide h2{color:#fff;font-size:min(clamp(1.875rem,1.4rem + 2.4vw,3.25rem),9.5vw);font-weight:900;line-height:1.1;margin-bottom:var(--s-3);text-wrap:pretty}
.slide h2 em{font-style:normal;color:var(--yellow)}
.slide__sub{font-size:var(--fs-lg);color:#fff;max-width:46ch;margin-bottom:var(--s-5)}
.chip{display:inline-flex;align-items:center;gap:6px;border-radius:16px;padding:4px 14px;font-size:var(--fs-xs);font-weight:700;line-height:1.5;text-wrap:pretty}
.chip--cy{background:var(--cyan);color:var(--navy-800);margin-bottom:var(--s-3)}
.chip--yl{background:var(--yellow);color:var(--navy-800)}
.slide .btn-row{flex-direction:column;align-items:stretch}
.slide .rv-note{margin-top:var(--s-3)}
@media (min-width:560px){.slide .btn-row{align-items:flex-start}.slide .btn-row .btn{min-width:min(100%,15rem)}}
@media (min-width:1024px){.slide .btn-row{flex-direction:row;flex-wrap:wrap;align-items:stretch}.slide .btn-row .btn{min-width:0}}
.art{position:relative;height:clamp(240px,62vw,300px);width:100%}
.art::before{content:"";position:absolute;left:50%;bottom:3%;height:92%;aspect-ratio:1;transform:translateX(-50%);background:center/contain no-repeat}
.s1 .art::before,.gbanner--1 .art::before{background-image:url(../assets/banners/halo-1.svg)}
.s2 .art::before,.gbanner--2 .art::before{background-image:url(../assets/banners/halo-2.svg)}
.s3 .art::before,.gbanner--4 .art::before{background-image:url(../assets/banners/halo-3.svg)}
.s4 .art::before,.gbanner--3 .art::before,.gbanner--5 .art::before{background-image:url(../assets/banners/halo-4.svg)}
.art img{position:absolute;bottom:0;left:50%;transform:translateX(-50%);height:100%;width:auto;max-width:none;z-index:1;filter:drop-shadow(0 8px 16px rgba(0,0,0,.25))}
.hero__ctrl{position:relative;z-index:2;display:none;align-items:center;gap:var(--s-2);padding-block:var(--s-2) var(--s-3);justify-content:center}
.js .hero__ctrl{display:flex}
.hero__ctrl button{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;border:2px solid rgba(255,255,255,.7);background:rgba(21,29,84,.55);color:#fff;cursor:pointer;padding:0;transition:background-color var(--t-fast)}
.hero__ctrl button .ico{width:20px;height:20px}
@media (hover:hover){.hero__ctrl button:hover{background:var(--navy-700);border-color:#fff}}
.hero__dots{display:flex;gap:0;margin:0 var(--s-1)}
.hero__dots button{width:36px;height:44px;border:0;background:transparent;border-radius:var(--r-sm)}
.hero__dots button::after{content:"";display:block;width:12px;height:12px;border-radius:50%;margin:auto;background:transparent;border:2px solid #fff;transition:width var(--t-base) var(--ease),background-color var(--t-base)}
.hero__dots button[aria-current="true"]::after{width:28px;border-radius:6px;background:var(--yellow);border-color:var(--yellow)}
@media (hover:hover){.hero__dots button:hover{background:transparent}}
@media (min-width:380px){.hero__dots button{width:44px}}
.hero__pause .ico{display:none}
.hero__pause[data-state="playing"] .i-pause,.hero__pause[data-state="paused"] .i-play{display:inline-block}
@media (min-width:768px),(min-width:560px) and (orientation:landscape){
  .slide{padding-block:var(--s-7) 0;background-position:50% 50%}
  .slide.s1{background-image:url(../assets/banners/hero-1-trung-cap-desktop.webp)}
  .slide.s2{background-image:url(../assets/banners/hero-2-song-bang-desktop.webp)}
  .slide.s3{background-image:url(../assets/banners/hero-3-dong-thap-desktop.webp)}
  .slide.s4{background-image:url(../assets/banners/hero-4-tra-vinh-desktop.webp)}
  .slide__grid{grid-template-columns:1.1fr .9fr;gap:var(--s-6)}
  .art{height:clamp(340px,38vw,470px)}
  .hero__ctrl{justify-content:flex-start;margin-top:calc(-1 * (var(--s-2) + 52px))}
  .slide__txt{padding-bottom:calc(var(--s-4) + 40px)}
}
@media (min-width:560px) and (max-width:767px) and (orientation:landscape){
  .slide{padding-block:var(--s-5) 0}
  .slide h2{font-size:1.75rem}
  .slide__sub{font-size:var(--fs-base);margin-bottom:var(--s-4)}
  .art{height:clamp(220px,52vh,300px)}
}

/* dải hotline */
.hotline{background:var(--navy-900);color:#fff;border-top:4px solid var(--yellow)}
.hotline__in{display:grid;gap:var(--s-2) var(--s-5);padding-block:var(--s-4);align-items:center}
.hotline__lbl{margin:0;font-weight:700;font-size:var(--fs-sm);max-width:none;color:#E2E8F8}
.hotline__nums{display:grid;gap:var(--s-2) var(--s-5);grid-template-columns:1fr}
.hotline a.num{display:flex;align-items:center;gap:10px;min-height:48px;color:#fff;text-decoration:none;font-weight:600}
.hotline a.num strong{color:var(--yellow);font-size:clamp(1.25rem,1rem + 1.2vw,1.625rem);font-weight:900;letter-spacing:.01em;white-space:nowrap}
.hotline a.num .ico{color:var(--cyan);width:1.5rem;height:1.5rem}
@media (hover:hover){.hotline a.num:hover strong{text-decoration:underline}}
@media (min-width:480px){.hotline__nums{grid-template-columns:1fr 1fr}}
@media (min-width:600px){.hotline__in>.btn{justify-self:start}}
@media (min-width:1024px){.hotline__in{grid-template-columns:auto 1fr auto}.hotline__nums{grid-template-columns:auto auto;justify-content:start}}

/* dải số liệu */
.stats{position:relative;display:grid;grid-template-columns:1fr 1fr;background:#fff;border-radius:var(--r-lg);box-shadow:var(--sh-2);overflow:hidden;border:1px solid var(--line)}
.stat{padding:var(--s-4);border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-width:0}
.stat:nth-child(2n){border-right:0}
.stat:nth-last-child(-n+2){border-bottom:0}
.stat__v{display:block;font-size:var(--fs-h2);font-weight:900;color:var(--navy-800);line-height:1.1}
.stat__l{display:block;color:var(--muted);font-size:var(--fs-sm);margin-top:4px;line-height:1.4;text-wrap:pretty}
@media (min-width:768px){.stats{grid-template-columns:repeat(4,1fr)}.stat{border-bottom:0;padding:var(--s-5)}.stat:nth-child(2n){border-right:1px solid var(--line)}.stat:last-child{border-right:0}}

/* lưới và thẻ */
.grid{display:grid;gap:var(--s-4)}
.grid>*{min-width:0}
@media (min-width:768px){.grid{gap:var(--s-5)}.grid--2,.grid--3{grid-template-columns:repeat(2,1fr)}}
@media (min-width:768px) and (max-width:1023px){.grid--3>*:last-child:nth-child(odd){grid-column:1/-1}}
@media (min-width:1024px){.grid--3{grid-template-columns:repeat(3,1fr)}.grid--4{grid-template-columns:repeat(4,1fr)}}
.card{position:relative;display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:var(--r-md);padding:var(--s-5);transition:transform var(--t-base) var(--ease),box-shadow var(--t-base),border-color var(--t-base)}
.card h2,.card h3,.card h4{font-size:var(--fs-h4);line-height:1.35}
.card p{font-size:var(--fs-sm);color:var(--muted)}
.card .link-arrow{margin-top:auto}
.card--link a.stretch::after{content:"";position:absolute;inset:0;border-radius:inherit}
.card--link:has(a.stretch:focus-visible){outline:3px solid var(--focus);outline-offset:2px}
.card--link a.stretch:focus-visible{outline:none}
@media (hover:hover){.card--link:hover{transform:translateY(-4px);box-shadow:var(--sh-2);border-color:var(--navy-700)}}
.card--major{padding:0;overflow:hidden}
.card--major img,.news-card img{width:100%;aspect-ratio:8/5;object-fit:cover;background:var(--sky)}
.card__body{display:flex;flex-direction:column;flex:1;padding:var(--s-4) var(--s-5) var(--s-4)}
.card__body h3{margin-bottom:var(--s-2)}
.chip--tc{background:#E1E7F6;color:var(--navy-800);align-self:flex-start;margin-bottom:var(--s-2)}
.meta .chip--tc{margin-bottom:0}
.icon-circle{display:flex;width:56px;height:56px;border-radius:50%;background:var(--sky);color:var(--navy-800);align-items:center;justify-content:center;margin-bottom:var(--s-4);flex:none}
.icon-circle .ico{width:28px;height:28px}
.filters{display:flex;gap:var(--s-2);overflow-x:auto;scroll-snap-type:x proximity;padding:4px 2px var(--s-3);margin-bottom:var(--s-3);-webkit-overflow-scrolling:touch;scrollbar-width:none}
.filters::-webkit-scrollbar{display:none}
.filters button{flex:none;scroll-snap-align:start;min-height:44px;padding:0 var(--s-4);border-radius:var(--r-pill);border:1.5px solid var(--navy-800);background:#fff;color:var(--navy-800);font:700 var(--fs-sm)/1 var(--font);cursor:pointer;transition:background-color var(--t-fast);white-space:nowrap}
.filters button[aria-pressed="true"]{background:var(--navy-800);color:#fff}
@media (hover:hover){.filters button[aria-pressed="false"]:hover{background:var(--sky)}}
.filterbar{position:sticky;top:var(--hdr);z-index:50;background:rgba(255,255,255,.97);border-bottom:1px solid var(--line);padding-top:var(--s-3)}
.filterbar .filters{margin-bottom:0}
.result-count{font-size:var(--fs-sm);color:var(--muted);margin:var(--s-3) 0 0}
[hidden]{display:none!important}

/* hệ đào tạo: thẻ chọn */
.sys{display:grid;gap:var(--s-4)}
.sys>*{min-width:0}
@media (min-width:768px){.sys{grid-template-columns:repeat(2,1fr);gap:var(--s-5)}}
@media (min-width:768px) and (max-width:1023px){.sys>*:last-child{grid-column:1/-1}}
@media (min-width:1024px){.sys{grid-template-columns:repeat(6,1fr)}.sys>*{grid-column:span 2}.sys>*:nth-child(4),.sys>*:nth-child(5){grid-column:span 3}}
.card--sys{border-top:6px solid var(--c,var(--cyan));padding-top:var(--s-4)}
.card--sys:nth-child(5n+1){--c:var(--red)}
.card--sys:nth-child(5n+2){--c:var(--cyan)}
.card--sys:nth-child(5n+3){--c:var(--yellow)}
.card--sys:nth-child(5n+4){--c:var(--navy-700)}
.card--sys:nth-child(5n+5){--c:var(--cyan)}
.sys__logos{display:flex;align-items:center;gap:var(--s-3);margin-bottom:var(--s-3)}
.sys__logos img{width:44px;height:44px;max-width:none;border-radius:50%;flex:none}
.eyebrow{font-size:var(--fs-xs);font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.card--sys h3{font-size:var(--fs-h4);margin-bottom:var(--s-2)}
.card--sys .link-arrow{margin-top:auto}
.callout{margin-top:var(--s-6);background:var(--navy-800) url(../assets/banners/pattern-dots-white.svg);color:#fff;border-radius:var(--r-lg);padding:var(--s-5);display:flex;flex-wrap:wrap;gap:var(--s-3) var(--s-5);align-items:center;justify-content:space-between}
.callout p{margin:0;font-weight:700;font-size:var(--fs-lg);max-width:none}
.callout a:not(.btn){color:var(--yellow)}

/* page hero: cắt chéo + dải ba màu */
.page-hero{position:relative;background:var(--navy-800) url(../assets/banners/pattern-dots-white.svg);color:#fff;padding-block:var(--s-6) calc(var(--s-6) + 28px);overflow:hidden}
.page-hero::before{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(112deg,var(--navy-800) 0 55%,rgba(35,45,128,.9) 55% 74%,var(--navy-800) 74%);opacity:.92}
.page-hero::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:clamp(28px,3.75vw,90px);pointer-events:none;background:url(../assets/banners/divider-cut-white.svg) center/100% 100% no-repeat}
.page-hero .container{position:relative;z-index:1}
.page-hero h1{color:#fff;font-size:clamp(1.875rem,1.4rem + 2vw,2.75rem);margin-bottom:var(--s-2)}
.page-hero p{color:#E2E8F8;font-size:var(--fs-lg);margin:0}
.crumbs{font-size:var(--fs-sm);margin-bottom:var(--s-3)}
.crumbs ol{list-style:none;display:flex;flex-wrap:wrap;gap:6px;margin:0;padding:0}
.crumbs li+li::before{content:"/";margin-right:6px;color:#C9D3F0}
.crumbs a{color:#fff;display:inline-block;padding:10px 0}
.crumbs [aria-current]{color:#E2E8F8}

/* timeline / flow */
.caption-note{font-size:var(--fs-sm);color:var(--muted);margin-top:var(--s-5)}
.caption-note a:not(.link-arrow){font-weight:600}
.flow{display:grid;gap:var(--s-3);margin:var(--s-5) 0;list-style:none;padding:0}
.flow li{background:#fff;border:1px solid var(--line);border-radius:var(--r-md);padding:var(--s-4);text-align:center}
.flow li strong{display:block;color:var(--navy-800)}
.flow li span{font-size:var(--fs-sm);color:var(--muted)}
.flow li.arrow{background:none;border:0;padding:0;color:var(--navy-700);font-weight:700;font-size:var(--fs-sm);display:flex;align-items:center;justify-content:center;gap:6px}
.flow li.arrow .ico{transform:rotate(90deg)}
@media (min-width:768px){.flow{grid-template-columns:1fr auto 1fr;align-items:center}.flow li.arrow .ico{transform:none}}

/* lộ trình theo hệ (tuyển sinh) */
.route{display:grid;gap:var(--s-4);margin:0 0 var(--s-5);padding:var(--s-5);background:#fff;border:1px solid var(--line);border-left:6px solid var(--c,var(--cyan));border-radius:var(--r-md);min-width:0}
.route>*{min-width:0}
.route:nth-of-type(5n+1){--c:var(--red)}
.route:nth-of-type(5n+2){--c:var(--cyan)}
.route:nth-of-type(5n+3){--c:var(--yellow)}
.route:nth-of-type(5n+4){--c:var(--navy-700)}
.route:nth-of-type(5n+5){--c:var(--cyan)}
.route h3{margin-bottom:var(--s-3)}
.route__meta{display:grid;gap:var(--s-2);font-size:var(--fs-sm);margin:0 0 var(--s-2);padding:0;list-style:none}
.route__meta li strong{color:var(--navy-800)}
.route__link{margin:0}
.route__steps{list-style:none;counter-reset:rs;margin:0;padding:0;display:grid;gap:var(--s-3)}
.route__steps li{counter-increment:rs;position:relative;padding-left:2.5rem;font-size:var(--fs-sm);min-height:1.625rem}
.route__steps li::before{content:counter(rs);position:absolute;left:0;top:-1px;width:1.625rem;height:1.625rem;border-radius:50%;background:var(--navy-800);color:#fff;font-weight:800;font-size:.8125rem;display:flex;align-items:center;justify-content:center}
@media (min-width:1024px){.route{grid-template-columns:1fr 1.2fr;gap:var(--s-6)}}

/* hai cột */
.split{display:grid;gap:var(--s-6);align-items:start}
.split>*{min-width:0}
@media (min-width:1024px){.split{grid-template-columns:1fr 1fr;gap:var(--s-7)}.split--form{grid-template-columns:7fr 5fr}.split--form-rev{grid-template-columns:5fr 7fr;align-items:center}}
.split--media{align-items:center}
.split--media>img{border-radius:var(--r-lg);background:var(--bg-soft);width:100%;height:auto}
.partner-block+.partner-block{margin-top:var(--s-7)}
.partner-block{scroll-margin-top:0}
@media (max-width:1023px){.split--rev>.gbanner{order:2}}
.panel{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:var(--s-5)}
.panel h2{font-size:var(--fs-h3)}
.notice{background:var(--sky);border-left:4px solid var(--red);border-radius:var(--r-md);padding:var(--s-4) var(--s-5)}
.notice p{margin:0;max-width:none}
.notice p+p{margin-top:var(--s-2)}
.h-lich{margin-top:var(--s-6)}
.notice--row{display:flex;flex-wrap:wrap;gap:var(--s-4) var(--s-5);align-items:center;justify-content:space-between}
.notice--row>div{flex:1 1 320px}

/* đối tác */
.partners{display:grid;gap:var(--s-4)}
.partners>*{min-width:0}
@media (min-width:768px){.partners{grid-template-columns:1fr 1fr;gap:var(--s-5)}}
.partner{display:grid;grid-template-columns:auto minmax(0,1fr);gap:var(--s-4);align-items:start;background:#fff;border:1px solid var(--line);border-radius:var(--r-md);padding:var(--s-5)}
.partner img{width:72px;height:72px;max-width:none;border-radius:50%}
.partner>div{display:flex;flex-direction:column;height:100%}
.partner .link-arrow{margin-top:auto}
.partner h3{font-size:var(--fs-h4);margin-bottom:var(--s-2)}
.partner p{font-size:var(--fs-sm);color:var(--muted)}
@media (max-width:479px){.partner{grid-template-columns:minmax(0,1fr)}}
@media (min-width:480px){.partner img{width:88px;height:88px}}

/* bảng so sánh (mobile: xếp thành thẻ, không cuộn ngang) */
.table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:var(--r-md);background:#fff}
.table-wrap table{font-size:var(--fs-sm)}
caption{text-align:left;font-weight:800;color:var(--navy-800);padding:var(--s-3) var(--s-4)}
th,td{text-align:left;padding:var(--s-3) var(--s-4);border-top:1px solid var(--line);vertical-align:top}
thead th{background:var(--navy-800);color:#fff;border-top:0}
tbody th{color:var(--navy-800);font-weight:700;min-width:170px}
tbody tr:nth-child(even){background:var(--bg-soft)}
@media (max-width:767px){
  .rtable{--lab:min(7rem,34vw);border:0;background:transparent;overflow:visible}
  .rtable table,.rtable tbody,.rtable tr,.rtable th,.rtable td{display:block}
  .rtable thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
  .rtable tbody tr{background:#fff;border:1px solid var(--line);border-radius:var(--r-md);margin-bottom:var(--s-3);overflow:hidden}
  .rtable tbody tr:nth-child(even){background:#fff}
  .rtable tbody th{background:var(--navy-800);color:#fff;border:0;padding:var(--s-3) var(--s-4);font-size:var(--fs-base)}
  .rtable td{position:relative;display:block;padding:var(--s-2) var(--s-4) var(--s-2) calc(var(--lab) + var(--s-4) + var(--s-3))}
  .rtable td::before{content:attr(data-label);position:absolute;left:var(--s-4);top:var(--s-2);width:var(--lab);font-size:.875rem;line-height:1.85;font-weight:700;color:var(--navy-800)}
}
@media (min-width:768px){.table-wrap table{min-width:720px}}

/* checklist / steps */
.checklist{list-style:none;padding:0;margin:0 0 var(--s-4);display:grid;gap:var(--s-3)}
.checklist li{display:flex;gap:var(--s-3);align-items:flex-start}
.checklist .ico{color:var(--success);margin-top:2px;width:1.25rem;height:1.25rem}
.steps{list-style:none;counter-reset:s;padding:0;margin:0;display:grid;gap:var(--s-4)}
.steps li{counter-increment:s;position:relative;background:#fff;border:1px solid var(--line);border-radius:var(--r-md);padding:var(--s-4) var(--s-5) var(--s-4) 4.5rem;min-width:0}
.steps li::before{content:counter(s);position:absolute;left:var(--s-5);top:var(--s-4);width:2.25rem;height:2.25rem;border-radius:50%;background:var(--navy-800);color:var(--yellow);font-weight:900;display:flex;align-items:center;justify-content:center}
.steps h3{font-size:var(--fs-h4);margin-bottom:var(--s-2)}
.steps p{font-size:var(--fs-sm);color:var(--muted);margin:0}
@media (min-width:1024px){
  .steps--5{grid-template-columns:repeat(5,1fr);gap:var(--s-4)}
  .steps--5 li{padding:4.25rem var(--s-4) var(--s-4)}
  .steps--5 li::before{left:var(--s-4);top:var(--s-4)}
  .steps--5 h3{font-size:1.0625rem}
}

/* faq */
.faq{display:grid;gap:var(--s-3);max-width:860px}
.faq details{background:#fff;border:1px solid var(--line);border-radius:var(--r-md);overflow:hidden}
.faq summary{display:flex;justify-content:space-between;align-items:center;gap:var(--s-4);min-height:56px;padding:var(--s-3) var(--s-5);cursor:pointer;font-weight:700;color:var(--navy-800);list-style:none;text-wrap:pretty}
.faq summary::-webkit-details-marker{display:none}
.faq summary .pm{flex:none;width:20px;height:20px;position:relative;transition:transform var(--t-base) var(--ease)}
.faq summary .pm::before,.faq summary .pm::after{content:"";position:absolute;background:var(--navy-700);border-radius:2px}
.faq summary .pm::before{left:0;right:0;top:9px;height:2px}
.faq summary .pm::after{top:0;bottom:0;left:9px;width:2px}
.faq details[open] summary .pm{transform:rotate(45deg)}
.faq details[open]{background:var(--sky);border-left:4px solid var(--cyan)}
.faq .ans{padding:0 var(--s-5) var(--s-4)}
.faq .ans p:last-child{margin-bottom:0}
.faq-group{font-size:var(--fs-h4);margin:var(--s-6) 0 var(--s-3)}
.faq-group:first-of-type{margin-top:0}
@media (hover:hover){.faq summary:hover{background:var(--bg-soft)}.faq details[open] summary:hover{background:transparent}}

/* tin tức */
.news-card{padding:0;overflow:hidden}
.news-card h3{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.meta{font-size:var(--fs-xs);color:var(--muted);display:flex;gap:var(--s-3);flex-wrap:wrap;align-items:center;margin-bottom:var(--s-2)}
.search{display:flex;flex-direction:column;gap:6px;margin-bottom:var(--s-4);max-width:420px}
.search label{font-weight:700;font-size:var(--fs-sm);color:var(--navy-800)}
.article{max-width:760px;margin-inline:auto;padding-block:var(--s-7);border-top:1px solid var(--line)}
.article:first-of-type{border-top:0}
.article h2{font-size:var(--fs-h3)}
.article h3{font-size:var(--fs-h4);margin-top:var(--s-5)}
.article p,.article li{max-width:68ch}
.article .btn-row{margin-top:var(--s-5)}
.article__top{margin:var(--s-4) 0 0}
.empty{text-align:center;padding:var(--s-6);color:var(--muted);max-width:none}
.news-card .card__body{flex:1}

/* nhóm chương trình (trang ngành học) */
.group{padding-block:var(--s-6)}
.group:nth-child(even){background:var(--bg-soft)}
.gbanner{--c:var(--cyan);position:relative;overflow:hidden;background:var(--navy-800) 50% 100%/cover no-repeat;color:#fff;border-radius:var(--r-lg);border-top:6px solid var(--c);display:grid;gap:var(--s-4);padding:var(--s-5) var(--s-5) 0;margin-bottom:var(--s-6)}
.gbanner>*{position:relative;min-width:0}
.gbanner--1{--c:var(--cyan);background-image:url(../assets/banners/group-1-mobile.svg)}
.gbanner--2{--c:var(--yellow);background-image:url(../assets/banners/group-2-mobile.svg)}
.gbanner--3{--c:var(--cyan);background-image:url(../assets/banners/group-3-mobile.svg)}
.gbanner--4{--c:var(--red);background-image:url(../assets/banners/group-4-mobile.svg)}
.gbanner--5{--c:var(--cyan);background-image:url(../assets/banners/group-5-mobile.svg)}
.gbanner h2{color:#fff;font-weight:900;margin-bottom:var(--s-2);font-size:clamp(1.625rem,1.3rem + 1.6vw,2.5rem)}
.gbanner p{color:#fff;font-size:var(--fs-base)}
.gb__txt{padding-bottom:var(--s-5)}
.gb__val{font-size:var(--fs-lg)!important;font-weight:600}
.gb__cond{font-size:var(--fs-sm)!important;color:#E2E8F8!important}
.gb__fit{border-left:4px solid var(--yellow);padding-left:var(--s-3);margin:var(--s-3) 0}
.gb__fit strong{color:var(--yellow)}
.gb__pts{list-style:none;margin:0 0 var(--s-4);padding:0;display:grid;gap:var(--s-2)}
.gb__pts li{display:flex;gap:var(--s-2);align-items:flex-start;font-weight:600}
.gb__pts .ico{width:1.25rem;height:1.25rem;margin-top:2px;color:var(--yellow)}
.gbanner .btn-row{margin-top:var(--s-4)}
.gbanner .art{height:240px;align-self:end}
.gbanner--plain{display:block;padding:var(--s-5) var(--s-5) 0;margin:0}
.gbanner--plain .art{height:clamp(260px,60vw,340px)}
@media (min-width:768px),(min-width:560px) and (orientation:landscape){
  .gbanner{grid-template-columns:1.25fr .75fr;padding:var(--s-6) var(--s-6) 0;gap:var(--s-6);background-position:right center}
  .gbanner--1{background-image:url(../assets/banners/group-1-trung-cap-chinh-quy.svg)}
  .gbanner--2{background-image:url(../assets/banners/group-2-song-bang.svg)}
  .gbanner--3{background-image:url(../assets/banners/group-3-tra-vinh-tu-xa.svg)}
  .gbanner--4{background-image:url(../assets/banners/group-4-dong-thap-vlvh.svg)}
  .gbanner--5{background-image:url(../assets/banners/group-5-chung-chi.svg)}
  .gbanner .art{height:clamp(220px,min(34vw,56vh),420px)}
  .gb__txt{padding-bottom:var(--s-6)}
  .gbanner--plain{display:block;padding:var(--s-6) var(--s-6) 0}
  .gbanner--plain .art{height:clamp(300px,32vw,380px)}
}
.gsub{margin:var(--s-6) 0 var(--s-4)}
.gsub:first-of-type{margin-top:0}
.mgrid{display:grid;gap:var(--s-3);margin:var(--s-4) 0}
.mgrid>*{min-width:0}
@media (min-width:600px){.mgrid{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1024px){.mgrid{grid-template-columns:repeat(3,1fr)}.mgrid--2{grid-template-columns:repeat(2,1fr)}}
.mcard{display:flex;gap:var(--s-3);align-items:center;background:#fff;border:1px solid var(--line);border-radius:var(--r-md);padding:var(--s-3) var(--s-4);min-height:72px;text-decoration:none;color:var(--ink)}
.group:nth-child(even) .mcard{background:#fff}
a.mcard{transition:border-color var(--t-base),box-shadow var(--t-base),transform var(--t-base) var(--ease)}
@media (hover:hover){a.mcard:hover{border-color:var(--navy-700);box-shadow:var(--sh-2);transform:translateY(-2px)}}
.mcard .icon-circle{width:48px;height:48px;margin:0}
.mcard .icon-circle .ico{width:24px;height:24px}
.mcard strong{color:var(--navy-800);line-height:1.3;display:block}
.mcard small{display:block;font-size:var(--fs-xs);color:var(--navy-700);font-weight:700;margin-top:2px}
.badges{display:flex;flex-wrap:wrap;gap:var(--s-3);align-items:center;margin:0 0 var(--s-4)}
.badges img{height:40px;width:auto}
.pill{display:inline-flex;align-items:center;min-height:40px;padding:4px var(--s-4);border-radius:var(--r-pill);background:var(--navy-800);color:#fff;font-weight:700;font-size:var(--fs-sm)}
.notes{display:grid;gap:var(--s-2);margin:0 0 var(--s-5);padding:var(--s-3) var(--s-4);background:#fff;border:1px solid var(--line);border-left:4px solid var(--cyan);border-radius:var(--r-md);font-size:var(--fs-sm);color:var(--muted)}
.notes p{margin:0;max-width:none}

/* ngành Trung cấp */
.major{display:grid;gap:var(--s-4);padding:var(--s-4);margin-bottom:var(--s-4);background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);min-width:0}
.major>*{min-width:0}
.major__img img{width:100%;border-radius:var(--r-md);aspect-ratio:8/5;object-fit:cover;background:var(--sky)}
@media (min-width:900px){.major{grid-template-columns:minmax(240px,320px) 1fr;gap:var(--s-5);padding:var(--s-5)}}
.major h4{font-size:var(--fs-h3);margin-bottom:var(--s-2)}
.major__val{font-size:var(--fs-lg);color:var(--ink);font-weight:500}
.mdl{margin:0 0 var(--s-4);display:grid;gap:var(--s-3)}
.mdl>div{display:grid;gap:4px}
.mdl dt{font-size:var(--fs-xs);font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--navy-700)}
.mdl dd{margin:0;font-size:var(--fs-sm)}
@media (min-width:600px){.mdl>div{grid-template-columns:7.5rem 1fr;gap:var(--s-3);align-items:baseline}}
.tags{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px}
.tags li{background:var(--sky);border:1px solid var(--sky-line);border-radius:var(--r-pill);padding:2px 12px;font-weight:600;color:var(--navy-800)}
.infobox{background:var(--bg-soft);border:1px solid var(--line);border-radius:var(--r-md);padding:var(--s-3) var(--s-4);margin-bottom:var(--s-4);font-size:var(--fs-sm)}
.infobox p{margin:0;max-width:none}
.infobox p+p{margin-top:var(--s-1)}
.infobox strong{color:var(--navy-800)}

/* band CTA */
.band{background:var(--navy-800) url(../assets/banners/cta-form-bg.svg) center/cover no-repeat;color:#fff}
.band h2{color:#fff}
.band p{color:#E2E8F8}
.band .form-card h2{color:var(--navy-800)}
.band .form-card p{color:var(--ink)}
.band .form-card .form-note{color:var(--muted)}
.band .form-card a{color:var(--navy-700)}
.band__in{display:grid;gap:var(--s-5);align-items:center}
@media (min-width:900px){.band__in{grid-template-columns:1fr auto}}
.band p a:not(.btn){color:#fff;font-weight:700}
.band .form-card p a{color:var(--navy-700);font-weight:600}
.band--cta{padding-block:clamp(2.5rem,5vw,4rem)}
.band--cta .btn-row{margin-top:0}
.band--cta p{margin:0}
@media (max-width:599px){.band--cta .btn-row .btn{flex:1 1 100%}}

/* form */
.form-card{background:#fff;color:var(--ink);border-radius:var(--r-lg);box-shadow:0 24px 48px rgba(21,29,84,.35);padding:var(--s-5);border-top:6px solid var(--cyan);min-width:0}
@media (min-width:768px){.form-card{padding:var(--s-6)}}
.form-card h2,.form-card h3{font-size:var(--fs-h3)}
.field{margin-bottom:var(--s-4);min-width:0}
.field label,.field .lbl{display:block;font-weight:700;margin-bottom:6px;color:var(--navy-800)}
.field .req{color:var(--error)}
.field .hint{display:block;font-size:var(--fs-xs);color:var(--muted);margin-top:4px}
.input,select.input,textarea.input{width:100%;min-height:48px;padding:10px 14px;border:1.5px solid var(--field);border-radius:var(--r-sm);font:400 1rem/1.4 var(--font);color:var(--ink);background:#fff;transition:border-color var(--t-fast),box-shadow var(--t-fast)}
textarea.input{min-height:104px;resize:vertical}
.input::placeholder{color:#64708F;opacity:1}
@media (hover:hover){.input:hover{border-color:var(--navy-700)}}
.input:focus{border-color:var(--navy-700);outline:3px solid var(--focus);outline-offset:2px}
.input[aria-invalid="true"]{border-color:var(--error)}
.err{display:flex;gap:6px;align-items:flex-start;color:var(--error);font-size:var(--fs-sm);font-weight:600;margin-top:6px}
.err[hidden]{display:none}
.err .ico{width:18px;height:18px;margin-top:1px}
.consent{display:flex;gap:var(--s-3);align-items:flex-start}
.consent input{width:22px;height:22px;margin:2px 0 0;accent-color:var(--navy-800);flex:none}
.consent label{font-weight:400;color:var(--ink);margin:0}
.hp{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}
.form-summary{border:2px solid var(--error);border-radius:var(--r-md);padding:var(--s-3) var(--s-4);margin-bottom:var(--s-4);color:var(--error);font-weight:600}
.form-summary ul{margin:6px 0 0;padding-left:1.25rem;font-weight:500}
.form-summary li{padding-block:4px}
.form-summary a{color:var(--error);display:inline}
.form-status{border-radius:var(--r-md);padding:var(--s-4);margin-top:var(--s-4);border:2px solid var(--success);background:#ECFDF5;color:#064E3B}
.form-status--info{border-color:var(--navy-700);background:var(--sky);color:var(--ink)}
.form-status--fail{border-color:var(--error);background:#FEF2F2;color:#7F1D1D}
.form-status p{margin:0 0 var(--s-3)}
.form-status .btn-row{margin-top:var(--s-3)}
.form-note{font-size:var(--fs-sm);color:var(--muted);margin-top:var(--s-3)}
.form-card .btn-primary{width:100%}
@media (min-width:480px){.form-card .btn-primary{width:auto}}
.form-grid{display:grid;gap:0 var(--s-4)}
@media (min-width:768px){.form-grid{grid-template-columns:1fr 1fr}.form-grid .full{grid-column:1/-1}}
.contact-list{list-style:none;padding:0;margin:0;display:grid;gap:var(--s-4)}
.contact-list li{display:flex;gap:var(--s-3);align-items:flex-start}
.contact-list li>div{min-width:0}
.contact-list .ico{color:var(--navy-700);margin-top:2px}
.contact-list strong{display:block;color:var(--navy-800)}
.band .contact-list .ico,.on-dark .contact-list .ico{color:var(--cyan)}
.band .contact-list strong{color:#fff}
.band .contact-list a{color:#fff}
.on-dark>p{margin-bottom:var(--s-5)}
.quick{display:grid;gap:var(--s-4);margin-bottom:var(--s-6)}
.quick>*{min-width:0}
@media (min-width:600px){.quick{grid-template-columns:repeat(auto-fit,minmax(min(100%,17rem),1fr))}}
.quick .card{align-items:flex-start}
.quick .card p{margin:0 0 var(--s-2)}
.quick .card .btn{margin-top:auto}
.quick .card h2{margin-bottom:var(--s-2)}
@media (max-width:599px){
  .quick .card{display:grid;grid-template-columns:56px minmax(0,1fr);gap:0 var(--s-4);padding:var(--s-4)}
  .quick .card .icon-circle{grid-row:1/span 4;margin:0}
  .quick .card .btn{justify-self:start}
}
.quick a.big{display:inline-flex;align-items:center;min-height:44px;font-size:min(1.0625rem,4.6vw);font-weight:800;color:var(--navy-800);text-decoration:none;overflow-wrap:anywhere;white-space:normal}
.quick a.big.nw{white-space:nowrap}
.photo{border-radius:var(--r-lg)}

/* footer */
.footer{background:var(--navy-900);color:#CBD5E1;font-size:var(--fs-sm);padding-top:var(--s-7);border-top:5px solid transparent;border-image:linear-gradient(90deg,var(--red) 0 30%,var(--cyan) 30% 55%,var(--yellow) 55% 100%) 1}
.footer a{color:#CBD5E1;text-decoration:none}
@media (hover:hover){.footer a:hover{color:#fff;text-decoration:underline}}
.footer h2{font-size:var(--fs-base);color:#fff;margin-bottom:var(--s-3);letter-spacing:.02em}
.footer__grid{display:grid;gap:var(--s-6)}
.footer__grid>*{min-width:0}
@media (max-width:767px){.footer__grid{grid-template-columns:1fr 1fr;gap:var(--s-5) var(--s-4)}.footer__brand,.footer__grid>div:last-child{grid-column:1/-1}}
@media (min-width:768px){.footer__grid{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1024px){.footer__grid{grid-template-columns:1.4fr 1fr 1.1fr 1.5fr}}
.footer ul{list-style:none;margin:0;padding:0;display:grid;gap:2px}
.footer li a{display:inline-block;padding-block:10px}
.footer li:not(:has(a)){padding-block:10px}
.footer li{overflow-wrap:break-word}
.footer__brand .brand{margin-bottom:var(--s-3)}
.footer__brand .brand img{width:56px;height:56px}
.footer__brand .brand__name,.footer__brand .brand__sub{color:#fff}
.footer__brand .brand__sub{display:block;max-width:none;font-size:.75rem}
.footer__bottom{border-top:1px solid rgba(255,255,255,.15);margin-top:var(--s-7);padding-block:var(--s-4);display:flex;flex-wrap:wrap;gap:var(--s-2) var(--s-5);justify-content:space-between}
.footer__bottom p{margin:0;max-width:none}
.footer__bottom a{display:inline-block;padding-block:12px;margin-block:-12px}
@media (min-width:768px){.footer{padding-bottom:var(--s-8)}}

/* 404 */
.nf{text-align:center;padding-block:var(--s-8)}
.nf p{margin-inline:auto}
.nf .btn-row{justify-content:center;margin-top:var(--s-5)}

/* ===== Vòng 2 (docs/09): thông điệp, gọn trang chủ, bằng chứng, pháp lý ===== */
.tagbar{background:var(--navy-900);color:#E2E8F8;text-align:center;padding:7px 0;border-bottom:1px solid rgba(255,255,255,.12)}
.tagbar h1{margin:0;font-size:var(--fs-xs);font-weight:600;color:#E2E8F8;line-height:1.45;letter-spacing:0;text-wrap:pretty}
.tagbar strong{color:var(--yellow);font-weight:800}
@media (min-width:768px){.tagbar h1{font-size:var(--fs-sm)}}
.footer__tag{color:var(--yellow)!important;font-weight:800;font-size:var(--fs-base);margin:0 0 var(--s-2)!important}

/* mobile: bớt CTA trùng chức năng ở màn hình đầu (đã có thanh Gọi / Zalo / Đăng ký cố định ở dưới) */
@media (max-width:767px){
  .hdr-cta{display:none}
  .slide .btn-row .btn--2l{display:none}
  .hotline{display:none}
  .callout .btn{display:none}
}

/* ghi chú một dòng cho phần thông tin chưa có (thay cho dấu "-" và câu "gọi tư vấn" lặp) */
.later{display:flex;gap:var(--s-3);align-items:flex-start;margin:var(--s-5) 0 0;padding:var(--s-3) var(--s-4);background:var(--sky);border-left:4px solid var(--cyan);border-radius:var(--r-md);font-size:var(--fs-sm);color:var(--ink);max-width:none}
.later .ico{width:1.25rem;height:1.25rem;margin-top:2px;color:var(--navy-700)}
.later strong{color:var(--navy-800)}

/* dải số liệu gọn */
.stats--compact .stat{padding:var(--s-3) var(--s-2);text-align:center}
@media (max-width:767px){
  .stats--compact{grid-template-columns:repeat(4,1fr)}
  .stats--compact .stat{border-bottom:0;border-right:1px solid var(--line)}
  .stats--compact .stat:last-child{border-right:0}
  .stats--compact .stat__v{font-size:1.25rem}
  .stats--compact .stat__l{font-size:.75rem;margin-top:2px}
}
@media (min-width:768px){.stats--compact .stat{padding:var(--s-4)}}
.section--band-slim{padding-block:var(--s-5)}

/* thẻ dạng hàng (mobile): thẻ hệ, ngành, tin tức trên trang chủ */
@media (max-width:767px){
  .sys{gap:var(--s-3)}
  .card--sys{display:grid;grid-template-columns:44px minmax(0,1fr);column-gap:var(--s-3);padding:var(--s-3) var(--s-4)}
  .card--sys .sys__logos{display:contents}
  .card--sys .sys__logos img{grid-column:1;grid-row:1/span 4;margin-top:2px}
  .card--sys .eyebrow,.card--sys h3,.card--sys p,.card--sys .link-arrow{grid-column:2}
  .card--sys h3{margin-bottom:2px;font-size:1.0625rem}
  .card--sys p{margin:0 0 2px;font-size:var(--fs-sm)}
  .card--sys .link-arrow{margin-top:0}
  .card--row{display:grid;grid-template-columns:104px minmax(0,1fr);align-items:stretch}
  .card--row>img{width:100%;height:100%;aspect-ratio:auto;object-fit:cover;min-height:96px}
  .card--row .card__body{padding:var(--s-3) var(--s-4)}
  .card--row .chip{display:none}
  .card--row .meta{display:none}
  .card--row h3{font-size:1.0625rem;margin-bottom:2px}
  .card--row p{margin:0 0 4px}
  .grid:has(>.card--row){gap:var(--s-3)}
  .card--sys .link-arrow,.card--row .link-arrow{font-size:0;line-height:0;height:0;min-height:0;margin:0;display:block;overflow:visible}
  .card--sys .link-arrow .ico,.card--row .link-arrow .ico{position:absolute;right:12px;bottom:12px;width:1.25rem;height:1.25rem;color:var(--navy-700)}
  .card--row .card__body{padding-right:var(--s-6)}
  .news-card.card--row p{display:none}
  .news-card.card--row h3{-webkit-line-clamp:5}
  .card--sys p{padding-right:var(--s-5)}
  /* trang chủ: nhịp dọc chặt hơn trên di động */
  .home{--section:2rem}
  .home .section__head{margin-bottom:var(--s-4)}
  .home .head--lite p{display:none}
  .home .section__cta{margin-top:var(--s-4)}
  .home .callout{margin-top:var(--s-4);padding:var(--s-4)}
  .home .callout p{font-size:var(--fs-base)}
  .home .parents__foot{font-size:var(--fs-sm)}
  .home .band .contact-list li:nth-child(2){display:none}
  .home .partner{grid-template-columns:56px minmax(0,1fr);gap:var(--s-3);padding:var(--s-4)}
  .home .partner img{width:56px;height:56px}
  .home .caption-note{margin-top:var(--s-3)}
}

/* dành cho phụ huynh */
.parents{display:grid;gap:var(--s-3)}
.parents>*{min-width:0}
.pt{display:grid;grid-template-columns:48px minmax(0,1fr);gap:0 var(--s-3);align-items:start;background:#fff;border:1px solid var(--line);border-radius:var(--r-md);padding:var(--s-4)}
.pt .icon-circle{width:48px;height:48px;margin:0;grid-row:1/span 2}
.pt .icon-circle .ico{width:24px;height:24px}
.pt h3{font-size:1.0625rem;margin:0 0 2px}
.pt p{margin:0;font-size:var(--fs-sm);color:var(--muted)}
.parents__foot{margin:var(--s-4) 0 0;font-weight:600;color:var(--navy-800);max-width:none}
@media (min-width:768px){.parents{grid-template-columns:repeat(2,1fr);gap:var(--s-4)}}
@media (min-width:1100px){
  .parents{grid-template-columns:repeat(4,1fr)}
  .pt{grid-template-columns:1fr;padding:var(--s-5)}
  .pt .icon-circle{grid-row:auto;margin-bottom:var(--s-3);width:56px;height:56px}
  .pt .icon-circle .ico{width:28px;height:28px}
  .pt h3{font-size:var(--fs-h4);margin-bottom:var(--s-2)}
}

/* dải ảnh thật có chú thích */
.photos{display:flex;gap:var(--s-3);overflow-x:auto;scroll-snap-type:x mandatory;margin-inline:calc(-1 * var(--gutter));padding:2px var(--gutter) var(--s-3);scrollbar-width:thin;-webkit-overflow-scrolling:touch}
.photos:focus-visible{outline:3px solid var(--focus);outline-offset:-3px}
.photos figure{flex:0 0 76%;margin:0;scroll-snap-align:start;min-width:0}
.photos img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:var(--r-md);background:var(--sky)}
.photos figcaption{font-size:var(--fs-sm);color:var(--muted);margin-top:6px;line-height:1.45}
@media (min-width:560px){.photos figure{flex-basis:44%}}
@media (min-width:768px){
  .photos{display:grid;grid-template-columns:repeat(6,1fr);gap:var(--s-4);overflow:visible;margin-inline:0;padding:0}
  .photos figure{grid-column:span 2}
  .photos figure:nth-child(-n+2){grid-column:span 3}
  .photos figure:nth-child(-n+2) img{aspect-ratio:16/10}
}

/* faq + khối hỗ trợ cạnh bên (desktop) */
.faq-split{display:grid;gap:var(--s-6);align-items:start}
.faq-split .faq{max-width:none}
.faq-aside{display:none}
@media (min-width:1024px){
  .faq-split{grid-template-columns:minmax(0,1fr) 340px;gap:var(--s-7)}
  .faq-aside{display:block;position:sticky;top:calc(var(--hdr) + 24px);background:var(--navy-800) url(../assets/banners/pattern-dots-white.svg);color:#fff;border-radius:var(--r-lg);padding:var(--s-5);border-top:6px solid var(--yellow)}
  .faq-aside h3{color:#fff;font-size:var(--fs-h4)}
  .faq-aside p{color:#E2E8F8;font-size:var(--fs-sm)}
  .faq-aside a:not(.btn){color:var(--yellow);font-weight:800}
  .faq-aside ul{list-style:none;padding:0;margin:0 0 var(--s-4);display:grid;gap:var(--s-2)}
}

/* thông tin pháp lý và liên hệ */
.legal{margin:0;display:grid;border:1px solid var(--line);border-radius:var(--r-lg);background:#fff;overflow:hidden}
.legal>div{display:grid;gap:2px;padding:var(--s-3) var(--s-5);border-top:1px solid var(--line);min-width:0}
.legal>div:first-child{border-top:0}
.legal dt{font-weight:800;color:var(--navy-800);font-size:var(--fs-sm)}
.legal dd{margin:0;min-width:0;overflow-wrap:break-word}
.legal dd ul{margin:0;padding-left:1.1rem}
@media (min-width:768px){.legal>div{grid-template-columns:13rem minmax(0,1fr);gap:var(--s-4);align-items:baseline}}

/* trang văn bản (chính sách bảo mật) và trang cảm ơn */
.prose{max-width:760px;margin-inline:auto}
.prose h2{font-size:var(--fs-h3);margin-top:var(--s-6)}
.prose h2:first-of-type{margin-top:0}
.prose li{margin-bottom:var(--s-2);max-width:68ch}
.prose .updated{font-size:var(--fs-sm);color:var(--muted)}
.thanks{text-align:center;padding-block:var(--s-8)}
.thanks p{margin-inline:auto}
.thanks .btn-row{justify-content:center;margin-top:var(--s-5)}
.thanks__ico{width:72px;height:72px;border-radius:50%;background:var(--sky);color:var(--success);display:flex;align-items:center;justify-content:center;margin:0 auto var(--s-4)}
.thanks__ico .ico{width:36px;height:36px}
.consent a{font-weight:600}

/* reveal: mặc định HIỂN THỊ. Hiệu ứng chỉ là tăng cường: JS thêm .rv-on rồi mới làm mờ nhẹ khối chưa cuộn tới
   (không bao giờ về 0 nên chụp full-page, in, tắt JS, reduced-motion đều thấy đủ nội dung) */
.reveal{transition:opacity var(--t-base) var(--ease),transform var(--t-base) var(--ease);transition-delay:var(--d,0ms)}
.rv-on .reveal:not(.is-in){opacity:.7;transform:translateY(8px)}

@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;transition-delay:0s!important;scroll-behavior:auto!important}
  .reveal,.rv-on .reveal:not(.is-in){opacity:1!important;transform:none!important}
}
@media print{.header,.topbar,.float,.bar,.drawer,.overlay,.hero__ctrl,.tagbar{display:none}.reveal,.rv-on .reveal:not(.is-in){opacity:1!important;transform:none!important}}
@media (max-width:359px){.header__in{gap:var(--s-1)}.brand img{width:34px;height:34px}.brand__name{font-size:1.125rem}.hdr-cta{padding:8px 10px}}

/* ===== Chân trang gọn (vòng 2) ===== */
.footer{padding-top:var(--s-6)}
.footer__grid{display:grid;gap:var(--s-5) var(--s-6);grid-template-columns:1fr}
.footer__col h2{font-size:var(--fs-sm);text-transform:uppercase;letter-spacing:.08em;color:var(--yellow);margin-bottom:var(--s-2)}
.footer__col ul{gap:0}
.footer__brand p{max-width:34ch;margin:0 0 var(--s-2)}
.footer__hot{grid-template-columns:1fr 1fr;gap:var(--s-2)!important}
.footer__hot li a{display:flex;flex-direction:column;gap:0;padding:var(--s-2) var(--s-3);min-height:56px;border:1px solid rgba(255,255,255,.18);border-radius:var(--r-md);justify-content:center}
.footer__hot .fh__n{font-size:var(--fs-xs);color:#B8C4E4}
.footer__hot .fh__t{font-weight:800;color:#fff;font-size:1.0625rem}
.footer__hot .fh__mail{grid-column:1/-1}
.footer__hot .fh__mail a{display:inline-block;border:0;padding:12px 0;min-height:44px}
.footer__loc li{display:grid;grid-template-columns:auto minmax(0,1fr);gap:0 var(--s-3);align-items:center;padding:0;border-top:1px solid rgba(255,255,255,.12)}
.footer__loc li:first-child{border-top:0}
.footer__loc .fc__n{font-weight:700;color:#fff;white-space:nowrap}
.footer__loc .fc__a{grid-column:2}
.footer__loc .fc__m{grid-column:1/-1;display:inline-flex;align-items:center;min-height:44px;font-weight:700;color:#fff;text-decoration:underline;text-underline-offset:3px}
.footer__loc li{padding-block:var(--s-2) 0}
.footer__links{display:grid;grid-template-columns:1fr 1fr;column-gap:var(--s-4)}
.footer__links li a{display:flex;align-items:center;min-height:44px;padding-block:0}
.footer__bottom{margin-top:var(--s-5);display:grid;gap:0}
.footer__bottom a{margin-block:0;padding-block:12px}
@media (min-width:768px){
  .footer__grid{grid-template-columns:1fr 1fr}
  .footer__loc li{grid-template-columns:5.5rem minmax(0,1fr) auto;padding-block:var(--s-2)}
  .footer__loc .fc__a{grid-column:2}
  .footer__loc .fc__m{grid-column:3;min-height:44px}
}
@media (min-width:768px){.footer__bottom{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:0 var(--s-5)}}
@media (min-width:1100px){
  .footer__grid{grid-template-columns:1.1fr 1fr 1.5fr .8fr;gap:var(--s-6)}
  .footer__loc li{grid-template-columns:minmax(0,1fr);gap:0;padding-block:var(--s-2)}
  .footer__loc .fc__n,.footer__loc .fc__a,.footer__loc .fc__m{grid-column:1}
  .footer__loc .fc__m{justify-self:start;min-height:44px}
  .footer__links{grid-template-columns:1fr 1fr;column-gap:var(--s-2)}
  .footer__links li:last-child{grid-column:1/-1}
  .footer__hot{grid-template-columns:1fr}
  .footer__bottom{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:var(--s-2) var(--s-5)}
}

/* ===== Vòng 3 (docs/11) ===== */
/* tuyên bố bảng hiệu: câu hoàn chỉnh + điều kiện sát bên */
.claim{margin:0 0 var(--s-4);padding:var(--s-3) var(--s-4);background:#fff;border:1px solid var(--line);border-left:4px solid var(--yellow);border-radius:var(--r-md)}
.claim p{margin:0;max-width:none;font-weight:600;color:var(--navy-800)}
.claim p.claim__note,.claim__note{font-weight:400;font-size:var(--fs-sm);color:var(--muted)}
.claim p+.claim__note{margin-top:var(--s-2)}
.route .claim__note{margin:var(--s-2) 0 0}
.gb__cond{border-top:1px solid rgba(255,255,255,.25);padding-top:var(--s-2);margin-top:var(--s-2)!important}

/* sơ đồ 3 bước lộ trình ngay dưới hero */
.roadmap{background:var(--bg-soft);padding-block:var(--s-6)}
.roadmap__in{display:grid;gap:var(--s-5);align-items:center}
.roadmap__in>*{min-width:0}
.roadmap .section__head{margin-bottom:var(--s-4)}
.rmap{list-style:none;margin:0 0 var(--s-3);padding:0;display:grid;gap:var(--s-2)}
.rmap li{align-content:start;display:grid;grid-template-columns:40px minmax(0,1fr);gap:var(--s-3);align-items:start;background:#fff;border:1px solid var(--line);border-radius:var(--r-md);padding:var(--s-3) var(--s-4);position:relative}
.rmap__n{width:40px;height:40px;border-radius:50%;background:var(--navy-800);color:var(--yellow);font-weight:900;font-size:1.125rem;display:flex;align-items:center;justify-content:center}
.rmap li:last-child .rmap__n{background:var(--yellow);color:var(--navy-800)}
.rmap h3{font-size:1.0625rem;margin:0 0 2px}
.rmap p{margin:0;font-size:var(--fs-sm);color:var(--muted)}
.rmap__eg{font-size:var(--fs-sm);color:var(--muted);margin:0 0 var(--s-3)}
.roadmap__ph{margin:0}
.roadmap__ph img{width:100%;aspect-ratio:2/1;object-fit:cover;object-position:50% 28%;border-radius:var(--r-lg);background:var(--sky)}
.roadmap__ph figcaption{font-size:var(--fs-sm);color:var(--muted);margin-top:6px}
@media (max-width:767px){.roadmap__ph{order:-1}.roadmap__in{gap:var(--s-3)}.roadmap{padding-block:var(--s-5)}.rmap__eg{display:none}.home .stats-sec{display:none}}
@media (min-width:768px){
  .rmap{grid-template-columns:repeat(3,1fr);gap:var(--s-4)}
  .rmap li{grid-template-columns:1fr;padding:var(--s-4)}
  .rmap li:not(:last-child)::after{content:"";position:absolute;right:calc(-1 * var(--s-4) + 1px);top:34px;width:calc(var(--s-4) - 2px);height:3px;background:var(--cyan)}
  .roadmap__ph img{aspect-ratio:21/9}
}
@media (min-width:1100px){
  .roadmap__in{grid-template-columns:minmax(0,1.55fr) minmax(0,1fr);gap:var(--s-7)}
  .roadmap__ph img{aspect-ratio:4/3}
}
.photos--4 figure{flex-basis:76%}
@media (min-width:768px){.photos--4 figure{grid-column:span 3!important}.photos--4 figure img{aspect-ratio:16/10!important}}

/* thanh chip trang ngành: dính chỉ trong vùng lọc; mobile hạ xuống khi cuộn xuống */
.filterzone{position:relative}
.filterbar{transition:transform var(--t-base) var(--ease);padding-top:var(--s-1)}
.filterbar .filters{padding-bottom:var(--s-2);-webkit-mask-image:linear-gradient(to right,#000 calc(100% - 28px),transparent);mask-image:linear-gradient(to right,#000 calc(100% - 28px),transparent)}
.filterbar .filters.at-end{-webkit-mask-image:none;mask-image:none}
@media (max-width:767px){.filterbar.is-away{transform:translateY(-100%);box-shadow:none}.filterbar{z-index:40}}
@media (min-width:1024px){.filterbar .filters{-webkit-mask-image:none;mask-image:none}}

@media (max-width:767px){
  .home #chon-he .section__head p{display:none}
  .roadmap__ph img{aspect-ratio:5/2}
  .tagbar .tag__more{display:none}
}

@media (max-width:359px){
  .footer__loc li{grid-template-columns:minmax(0,1fr)}
  .footer__loc .fc__a,.footer__loc .fc__m{grid-column:1}
  .footer__loc .fc__m{min-height:44px}
}
.footer__bottom p+p{margin-top:0}

/* ===== Trang Liên thông (vòng 4) ===== */
.lt-intro{max-width:72ch}
.lt-steps{list-style:none;margin:var(--s-5) 0 var(--s-4);padding:0;display:grid;gap:var(--s-4)}
.lt-step{align-content:start;display:grid;grid-template-columns:44px minmax(0,1fr);gap:var(--s-3);align-items:start;background:#fff;border:1px solid var(--line);border-left:6px solid var(--c,var(--cyan));border-radius:var(--r-md);padding:var(--s-4) var(--s-4) var(--s-4) var(--s-3)}
.lt-step:nth-child(1){--c:var(--red)}.lt-step:nth-child(2){--c:var(--cyan)}.lt-step:nth-child(3){--c:var(--yellow)}
.lt-step h3{font-size:var(--fs-h4);margin:0 0 var(--s-2)}
.lt-step p{font-size:var(--fs-sm);margin:0 0 var(--s-2)}
.lt-need{color:var(--ink)}
.faq__src{font-size:.8125rem!important;color:var(--muted);margin:var(--s-2) 0 0!important;padding-top:var(--s-2);border-top:1px dashed var(--sky-line)}
td .faq__src,.notice .faq__src{border:0;padding-top:0;display:block}
.notice--lt h2{font-size:var(--fs-h3)}
.notice--lt ul{margin:var(--s-3) 0}
.lt-list{max-width:72ch;margin:var(--s-4) 0}
.lt-list li{margin-bottom:var(--s-2)}
@media (min-width:1024px){.lt-steps{grid-template-columns:repeat(3,1fr)}.lt-step{grid-template-columns:1fr;border-left-width:1px;border-top:6px solid var(--c)}.lt-step .rmap__n{margin-bottom:var(--s-2)}}
.footer__bottom a[href*="thong-tin-truong"]{font-weight:700;color:#fff;text-decoration:underline;text-underline-offset:3px}

/* ===== Vòng 4 ===== */
/* accordion mô tả ngành (mobile gấp; desktop JS mở sẵn) */
.mdet{margin:0 0 var(--s-3);border:1px solid var(--line);border-radius:var(--r-md);background:var(--bg-soft)}
.mdet summary{display:flex;justify-content:space-between;align-items:center;gap:var(--s-3);min-height:48px;padding:var(--s-2) var(--s-4);cursor:pointer;font-weight:700;color:var(--navy-800);list-style:none}
.mdet summary::-webkit-details-marker{display:none}
.mdet summary .pm{flex:none;width:18px;height:18px;position:relative;transition:transform var(--t-base) var(--ease)}
.mdet summary .pm::before,.mdet summary .pm::after{content:"";position:absolute;background:var(--navy-700);border-radius:2px}
.mdet summary .pm::before{left:0;right:0;top:8px;height:2px}
.mdet summary .pm::after{top:0;bottom:0;left:8px;width:2px}
.mdet[open] summary .pm{transform:rotate(45deg)}
.mdet .mdl{padding:0 var(--s-4) var(--s-3);margin:0}
@media (min-width:900px){.mdet{border:0;background:none}.mdet summary{display:none}.mdet .mdl{padding:0}}
@media (max-width:767px){.major__img{display:none}.major{padding:var(--s-3)}.major__body h4{margin-bottom:var(--s-1)}.infobox{margin-block:var(--s-2)}}

/* hành trình mẫu hiện cả trên mobile */
@media (max-width:767px){.rmap__eg{display:block!important;font-size:.8125rem}}

/* dải ảnh cuộn ngang: đầu dải thẳng lề với chữ */
.photos{scroll-padding-inline:var(--gutter)}

/* hero 768-1023: tăng khoảng hở giữa nút và thanh điều khiển */
@media (min-width:768px) and (max-width:1023px){.slide__txt{padding-bottom:calc(var(--s-6) + 88px)}.hero__ctrl{margin-top:calc(-1 * (var(--s-2) + 52px))}}

/* nút Zalo/gọi nổi: không đè nội dung (ẩn khi cuộn xuống, hiện khi cuộn lên; nhỏ hơn ở tablet) */
.float{transition:opacity var(--t-base),transform var(--t-base) var(--ease)}
body.float-away .float{opacity:0;pointer-events:none;transform:translateY(12px)}
@media (min-width:768px) and (max-width:1279px){
  .float{flex-direction:row;gap:var(--s-2)}
  .float a{width:46px;height:46px;font-size:.8125rem}
  .float a .tip{display:none}
}

/* menu thêm mục "Liên thông": không tràn ở 1024-1440 */
@media (min-width:1024px) and (max-width:1239px){.brand__sub{display:none}}
@container hdr (min-width:75em) and (max-width:89.99em){.nav__link{padding:0 var(--s-2)}}

/* trang ngành mobile gọn hơn */
.cmp{border:0}
.cmp summary{display:flex;justify-content:space-between;align-items:center;min-height:52px;padding:var(--s-2) var(--s-4);border:1px solid var(--line);border-radius:var(--r-md);background:#fff;font-weight:700;color:var(--navy-800);cursor:pointer;list-style:none}
.cmp summary::-webkit-details-marker{display:none}
.cmp summary .pm{flex:none;width:18px;height:18px;position:relative;transition:transform var(--t-base) var(--ease)}
.cmp summary .pm::before,.cmp summary .pm::after{content:"";position:absolute;background:var(--navy-700);border-radius:2px}
.cmp summary .pm::before{left:0;right:0;top:8px;height:2px}
.cmp summary .pm::after{top:0;bottom:0;left:8px;width:2px}
.cmp[open] summary .pm{transform:rotate(45deg)}
.cmp[open] summary{margin-bottom:var(--s-3)}
@media (min-width:900px){.cmp summary{display:none}.cmp[open] summary{margin:0}}
.notes__deg{display:none}
@media (max-width:767px){
  .notes__deg{display:block}
  .major .infobox{display:none}
  .major__val{font-size:var(--fs-base)}
  .gbanner .btn--2l{display:none}
  .gbanner .art{height:190px}
  .group .mgrid{grid-template-columns:1fr 1fr;gap:var(--s-2)}
  .group .mcard{min-height:56px;padding:var(--s-2) var(--s-3);gap:var(--s-2)}
  .group .mcard .icon-circle{display:none}
  .group .mcard strong{font-size:.875rem}
  .group .mcard small{font-size:.75rem}
}

@media (min-width:768px) and (max-width:1279px){
  .float{opacity:0;pointer-events:none}
  body.float-up .float{opacity:1;pointer-events:auto;transform:none}
}
/* 3 bài tin ở tablet: một hàng 3 cột, không để thẻ cuối kéo giãn toàn hàng */
@media (min-width:768px) and (max-width:1023px){
  .grid:has(>.news-card:nth-child(3):last-child){grid-template-columns:repeat(3,1fr);gap:var(--s-4)}
  .grid:has(>.news-card:nth-child(3):last-child)>*:last-child:nth-child(odd){grid-column:auto}
}
.faq-split .later+.faq-group{margin-top:var(--s-5)}

/* Vòng 5: footer địa chỉ không rớt chữ, giãn đều 3 cơ sở */
.footer__loc{display:grid;gap:0}
.footer__loc li{align-content:start}
.footer__loc .fc__a{text-wrap:pretty}
/* Liên thông: bậc thang, tóm tắt, mục lục */
.lt-stair{display:grid;gap:var(--s-2);margin:var(--s-4) 0}
.lt-stair__s{display:flex;align-items:center;gap:var(--s-3);padding:var(--s-3) var(--s-4);border-radius:var(--r-md);background:#fff;border:1px solid var(--line);border-left:6px solid var(--c)}
.lt-stair__s b{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:var(--c);color:#fff;flex:none}
.lt-stair__s span{font-weight:800;display:flex;flex-direction:column}
.lt-stair__s small{font-weight:500;color:var(--muted);font-size:var(--fs-sm)}
.lt-stair .s1{--c:var(--red)}.lt-stair .s2{--c:var(--cyan)}.lt-stair .s3{--c:#B58900}
@media (min-width:768px){.lt-stair{grid-template-columns:repeat(3,1fr);align-items:end}.lt-stair__s{padding-block:var(--s-3)}.lt-stair{align-items:end}.lt-stair .s1{margin-bottom:0}.lt-stair .s2{margin-bottom:var(--s-5)}.lt-stair .s3{margin-bottom:calc(var(--s-5)*2)}.lt-stair__s{min-height:72px}}
.lt-sum{background:var(--sky,#EEF4FF);border:1px solid var(--sky-line,#D6E2FF);border-radius:var(--r-md);padding:var(--s-4);margin:var(--s-4) 0}
.lt-sum h3{margin:0 0 var(--s-2);font-size:var(--fs-h4)}
.lt-sum ul{margin:0;padding-left:1.2em}.lt-sum li{margin:0 0 var(--s-1)}
.lt-toc{margin:0 0 var(--s-4)}
.lt-toc ul{display:flex;flex-wrap:wrap;gap:var(--s-2);list-style:none;margin:var(--s-2) 0 0;padding:0}
.lt-toc a{display:inline-flex;align-items:center;min-height:44px;padding:0 var(--s-3);border:1px solid var(--line);border-radius:999px;background:#fff;text-decoration:none;font-weight:600}
.faq__src{font-size:.75rem!important;opacity:.9}
/* Khẩu hiệu */
.footer__tag{text-wrap:pretty}
.footer__tag .sl-last{color:var(--yellow)}
.tagbar strong .sl-last{color:var(--yellow)}
.src-list{margin:0;padding-left:1.1em;font-size:.8125rem;color:var(--muted)}.src-list li{margin:0 0 var(--s-1)}
.section__cta{display:flex;flex-wrap:wrap;gap:var(--s-3)}

/* Vòng 6: footer gọn, mỗi cơ sở 2 dòng, "Xem bản đồ" cùng hàng với địa chỉ */
.footer__loc{display:grid;gap:0}
.footer__loc li,.footer__loc li:first-child{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:0 var(--s-3);padding:var(--s-2) 0;grid-template-columns:none}
.footer__loc li:first-child{padding-top:0}
.footer__loc .fc__n{flex:0 0 100%;grid-column:auto;font-size:var(--fs-xs);font-weight:700;color:#B8C4E4;letter-spacing:.02em}
.footer__loc .fc__a{flex:1 1 auto;min-width:0;grid-column:auto;text-wrap:wrap}
.footer__loc .fc__m{flex:none;grid-column:auto;white-space:nowrap;justify-self:auto;gap:6px;min-height:44px}
.footer__loc .fc__m .ico{width:16px;height:16px;flex:none}
.footer__loc .fc__m span{white-space:nowrap}
@media (min-width:1100px){
  .footer__grid{grid-template-columns:.9fr .9fr 1.95fr 1.1fr;gap:var(--s-5)}
  .footer__links{grid-template-columns:1fr 1fr;column-gap:var(--s-2)}
  .footer__links li:last-child{grid-column:1/-1}
  .footer__links li a{min-height:44px}
  .footer__loc .fc__n{line-height:1.2}
  .footer__loc li{padding-block:var(--s-1)}
  .footer__loc .fc__m{min-height:44px}
}
.footer__links li a{white-space:nowrap}
.src-list{font-size:.75rem;list-style:none;padding-left:0}.src-l{display:block;color:var(--navy-800);font-size:.8125rem}
@media (max-width:359px){
  .faq .ans{padding-inline:var(--s-3)}.faq .ans p{font-size:.9375rem}
  .legal>div{padding-inline:var(--s-3)}.legal dd{font-size:.9rem}
}
@media (max-width:899px){.rtable thead th{white-space:nowrap}}
@media (max-width:400px){
  .rtable td{padding:var(--s-2) var(--s-4)}
  .rtable td::before{position:static;display:block;width:auto;line-height:1.4;margin-bottom:2px}
}
@media (max-width:359px){
  .card--row{grid-template-columns:84px minmax(0,1fr)}
  .card--row .card__body{padding:var(--s-3)}
}
@media (min-width:768px) and (max-width:1100px){.table-wrap th,.table-wrap td{padding-inline:var(--s-2)}}
.footer__brand .brand__txt{min-width:0}
.footer__brand .brand__sub{white-space:normal;line-height:1.25}
@media (max-width:767px){.footer__loc .fc__m{flex-basis:100%;justify-content:flex-start}}
@media (min-width:1280px){.footer__grid{grid-template-columns:1fr .95fr 1.75fr 1.15fr}}
@media (min-width:1100px) and (max-width:1279px){.footer__brand .brand__sub{display:none}}
@media (max-width:767px){.lt-toc ul{display:grid;grid-template-columns:1fr 1fr;gap:var(--s-2)}.lt-toc a{width:100%;justify-content:flex-start;border-radius:12px;font-size:.875rem;line-height:1.2;padding:6px 12px}}
@media (max-width:359px){.mgrid{grid-template-columns:1fr!important}}
.mcard>span,.card--sys .card__body,.lt-stair__s>span{min-width:0}
@media (max-width:767px){.group .mgrid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:479px){#dong-thap-vlvh .mgrid{grid-template-columns:1fr}}
/* Vòng 6b: tên trường dưới chữ SAFI luôn một dòng, cột chứa đủ rộng, không lấn cột bên cạnh */
.brand__txt{flex:none}
.brand__sub{width:max-content;max-width:none;white-space:nowrap}
@media (min-width:1280px){.footer__grid{grid-template-columns:minmax(17.5rem,1fr) .95fr 1.75fr 1.15fr}}
@media (max-width:1279px){.footer__brand .brand__sub{white-space:normal;width:auto}}
/* Vòng 6c: cột cơ sở đủ rộng để "Xem bản đồ" luôn cùng hàng với địa chỉ ở 1100-1920; dưới 1100 cả ba xuống dòng đồng loạt */
@media (max-width:1099px){.footer__loc .fc__m{flex-basis:100%;justify-content:flex-start}}
@media (min-width:1100px){.footer__grid{grid-template-columns:minmax(8rem,10rem) 11.5rem minmax(26rem,1fr) 13rem;gap:var(--s-5)}}
@media (min-width:1280px){.footer__grid{grid-template-columns:minmax(15rem,17rem) 12rem minmax(27rem,1fr) 13.5rem}}

/* Vòng 7 */
.pill--soft{background:#EEF3FF;color:var(--navy-800);border:1px solid #C9D6F2;font-weight:600;min-height:32px;padding:4px var(--s-3);border-radius:16px;line-height:1.35;cursor:default}
.badges{align-items:flex-start}
p a[href^="tel:"]:not(.btn):not(.big),li a[href^="tel:"]:not(.btn):not(.big),span a[href^="tel:"]:not(.btn):not(.big){padding-block:13px}
@media (max-width:359px){.card--sys h3{font-size:.95rem}}
.news-card h3{text-wrap:balance}
@media (max-width:479px){#dong-thap-vlvh .mgrid{grid-template-columns:1fr}}
@media (max-width:359px){.route h3{font-size:1.15rem}}
@media (min-width:768px) and (max-width:899px){.lt-stair{grid-template-columns:1fr!important;align-items:stretch}.lt-stair .s1,.lt-stair .s2,.lt-stair .s3{margin-bottom:0}}
@media (min-width:768px) and (max-width:1100px){.table-wrap table{min-width:940px}}
.faq summary>span:first-child,.mdet summary,.cmp summary>span{min-width:0}
@media (max-width:359px){.faq summary{padding-inline:var(--s-3);gap:var(--s-2)}}

.fh__hours{grid-column:1/-1;font-size:var(--fs-xs);color:#B8C4E4;line-height:1.5}
.trust{display:flex;gap:var(--s-2);align-items:flex-start;max-width:none;margin:var(--s-4) 0 0;padding:var(--s-3) var(--s-4);background:#EEF3FF;border:1px solid #C9D6F2;border-radius:var(--r-md);font-size:var(--fs-sm)}
.trust .ico{flex:none;width:1.25rem;height:1.25rem;margin-top:2px;color:var(--navy-700)}

/* Nút Gọi ngay: biểu tượng điện thoại rung nhẹ, vòng sóng lan tỏa; tắt khi người dùng giảm chuyển động */
@keyframes call-ring{0%,60%,100%{transform:rotate(0)}6%{transform:rotate(-16deg)}12%{transform:rotate(14deg)}18%{transform:rotate(-12deg)}24%{transform:rotate(10deg)}30%{transform:rotate(-6deg)}36%{transform:rotate(0)}}
@keyframes call-wave{0%{box-shadow:0 0 0 0 rgba(0,174,239,.55)}70%,100%{box-shadow:0 0 0 14px rgba(0,174,239,0)}}
.bar .b-call .ico,.float .f-call .ico{transform-origin:50% 60%;animation:call-ring 2.8s ease-in-out 8}
.bar .b-call{position:relative;background:linear-gradient(180deg,#fff,#eef8fd)}
.float .f-call{animation:call-wave 2.4s ease-out infinite}
@media (prefers-reduced-motion:reduce){.bar .b-call .ico,.float .f-call .ico,.float .f-call{animation:none}}

/* ===== Di động: hero vừa màn hình đầu, điều khiển carousel không bị thanh đáy che ===== */
@media (max-width:559px){
  .art{height:clamp(170px,calc(100svh - 489px - var(--sai-b)),300px)}
  .hero .container:has(.hero__ctrl){position:absolute;left:0;right:0;bottom:0;z-index:3;pointer-events:none}
  .hero__ctrl{pointer-events:auto;padding-block:0 8px}
}
@media (max-width:559px) and (max-height:680px){.slide__sub{display:none}}

/* ===== Di động: chân trang gọn ===== */
@media (max-width:767px){
  .footer{padding-top:var(--s-5)}
  .footer__grid{gap:var(--s-4) var(--s-4)}
  .footer__brand .brand{margin-bottom:var(--s-2)}
  .footer__brand .brand img{width:44px;height:44px}
  .footer__tag{margin:0!important}
  .footer__col h2{margin-bottom:var(--s-1)}
  .footer__hot li a{min-height:48px;padding:var(--s-1) var(--s-3)}
  .footer__hot .fh__mail a{padding:6px 0;min-height:40px}
  .footer__hot li.fh__hours{padding-block:0;font-size:var(--fs-xs);color:#B8C4E4}
  /* mỗi cơ sở: tên + địa chỉ bên trái, nút bản đồ tròn bên phải */
  .footer__loc li,.footer__loc li:first-child{display:grid;grid-template-columns:minmax(0,1fr) 44px;grid-template-rows:auto auto;gap:0 var(--s-3);align-items:center;padding:var(--s-2) 0}
  .footer__loc li:first-child{padding-top:0}
  .footer__loc .fc__n{grid-column:1;grid-row:1;flex:none}
  .footer__loc .fc__a{grid-column:1;grid-row:2;flex:none}
  .footer__loc .fc__m{grid-column:2;grid-row:1/span 2;flex:none;width:44px;height:44px;min-height:44px;justify-content:center;border:1px solid rgba(255,255,255,.3);border-radius:50%;text-decoration:none}
  .footer__loc .fc__m span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
  .footer__loc .fc__m .ico{width:20px;height:20px}
  /* liên kết: 3 cột, thấp hơn */
  .footer__links{grid-template-columns:repeat(3,auto);justify-content:space-between;column-gap:var(--s-3)}
  .footer__links li:last-child{grid-column:1/-1}
  .footer__links li a{min-height:40px}
  /* dải cuối: bỏ câu lặp, gộp một hàng */
  .footer__bottom{margin-top:var(--s-3);display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:0 var(--s-4)}
  .footer__bottom p:last-child{display:none}
}
@media (max-width:559px) and (max-height:600px){.art{height:130px}}

/* ===== Chân trang di động: bỏ khẩu hiệu lặp ở trang chủ (đã có dải khẩu hiệu đầu trang), ẩn bớt liên kết trùng menu ===== */
@media (max-width:767px){
  body:has(.tagbar) .footer__tag{display:none}
  .footer__links li:not(:last-child){display:none}
  .footer__links{display:block}
  .footer__links li:last-child a{min-height:36px}
}

/* ===== Điện thoại xoay ngang: hero vừa trong một màn hình ===== */
@media (orientation:landscape) and (max-height:500px){
  .hero .slide{padding-block:var(--s-3) 0}
  .hero .slide h2{font-size:1.5rem;margin-bottom:var(--s-2)}
  .hero .slide__sub{display:none}
  .hero .slide .chip,.hero .slide__txt>.badge{margin-bottom:var(--s-2)}
  .art{height:clamp(150px,calc(100svh - var(--hdr) - 80px),300px)}
  .slide__txt{padding-bottom:var(--s-3)}
  .hero .container:has(.hero__ctrl){position:absolute;left:0;right:0;bottom:0;z-index:3;pointer-events:none}
  .hero__ctrl{pointer-events:auto;margin-top:0;padding-block:0 6px;justify-content:flex-start}
  .topbar{display:none}
}

/* Đầu trang di động: hiện tên trường dưới chữ SAFI cho đỡ trống */
@media (max-width:767px){
  .header .brand__sub{display:block;width:auto;max-width:none;white-space:normal;text-wrap:balance;font-size:.6875rem;line-height:1.2;color:var(--navy-700)}
  .header .brand__txt{min-width:0}
  .header .brand__name{line-height:1.1}
}

/* Liên kết Fanpage ở chân trang */
.footer__hot .fh__fb{grid-column:1/-1}
.footer__hot .fh__fb a{display:inline-block;border:0;padding:6px 0;min-height:40px;min-width:0;font-weight:700;color:#fff;text-decoration:underline;text-underline-offset:3px}
.quick .btn-row{display:flex;flex-wrap:wrap;gap:var(--s-2);margin-top:auto}

/* Thanh thông báo đầu trang (bật từ trang quản trị) */
.announce{display:flex;align-items:center;justify-content:center;gap:var(--s-3);flex-wrap:wrap;background:var(--yellow);color:var(--navy-800);padding:8px 44px 8px var(--s-4);position:relative;font-weight:700;font-size:var(--fs-sm);text-align:center}
.announce__t{margin:0;max-width:none}
.announce__a{color:var(--navy-800);text-decoration:underline;text-underline-offset:3px;white-space:nowrap;min-height:32px;display:inline-flex;align-items:center}
.announce__x{position:absolute;right:6px;top:50%;transform:translateY(-50%);width:44px;height:44px;border:0;background:none;color:var(--navy-800);font-size:1.5rem;line-height:1;cursor:pointer}

/* ===== Cụm bài viết (SEO): thông tin biên soạn, tóm tắt, nguồn, đọc thêm ===== */
.hub .hub-meta{display:flex;flex-wrap:wrap;gap:var(--s-1) var(--s-4);margin:0 0 var(--s-4);padding:var(--s-2) var(--s-3);background:var(--bg-soft,#F3F5FB);border-radius:var(--r-md);font-size:var(--fs-sm);color:var(--muted)}
.hub .hub-meta strong{color:var(--navy-800)}
.hub .hub-summary{background:#fff;border:1px solid var(--line);border-left:5px solid var(--yellow);border-radius:var(--r-md);padding:var(--s-4);margin:0 0 var(--s-5)}
.hub .hub-summary h2{font-size:1.0625rem;margin:0 0 var(--s-2)}
.hub .hub-summary ul{margin:0;padding-left:1.2rem}.hub .hub-summary li{margin-bottom:4px}
.hub h2{margin-top:var(--s-6)}.hub .hub-summary h2{margin-top:0}
.hub .hub-faq h3{font-size:1rem;margin-top:var(--s-4)}.hub .hub-faq p{margin-top:4px}
.hub .hub-cta{margin-top:var(--s-6);padding:var(--s-5);background:var(--navy-800);color:#fff;border-radius:var(--r-lg)}
.hub .hub-cta p{margin:0 0 var(--s-3);font-weight:700;font-size:1.125rem;color:#fff;max-width:none}
.hub .hub-cta .btn-outline{border-color:#fff;color:#fff}
.hub .hub-sources{margin-top:var(--s-6);padding:var(--s-4);border:1px dashed var(--line);border-radius:var(--r-md);background:#FAFBFE}
.hub .hub-sources h2{font-size:1.0625rem;margin:0 0 var(--s-2)}.hub .hub-sources ul{margin:0;padding-left:1.2rem;font-size:var(--fs-sm)}
.hub .hub-note{margin:var(--s-3) 0 0;font-size:var(--fs-xs);color:var(--muted)}
.hub .hub-related{margin-top:var(--s-6)}.hub .hub-related h2{font-size:1.0625rem;margin:0 0 var(--s-2)}
.hub .hub-related ul{margin:0;padding:0;list-style:none;display:grid;gap:var(--s-2)}
.hub .hub-related a{display:block;padding:12px 14px;border:1px solid var(--line);border-radius:var(--r-md);text-decoration:none;font-weight:600;color:var(--navy-800)}
@media (hover:hover){.hub .hub-related a:hover{border-color:var(--navy-700);background:#F3F5FB}}

/* Form gọn: chỉ 3 ô bắt buộc, phần còn lại thu vào mục "Thêm thông tin" */
.more-fields{margin:0}
.more-fields>summary{cursor:pointer;font-weight:700;color:var(--navy-800);min-height:44px;display:flex;align-items:center;list-style:none}
.more-fields>summary::-webkit-details-marker{display:none}
.more-fields>summary::before{content:"+";display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;margin-right:8px;border:2px solid var(--navy-700);border-radius:50%;line-height:1}
.more-fields[open]>summary::before{content:"-"}
.more-fields>.form-grid{margin-top:var(--s-3)}
