html { scroll-behavior:smooth; scroll-padding-top:88px; }
body { min-width:0; }
button,a,input { -webkit-tap-highlight-color:transparent; }
button { cursor:pointer; }
:focus-visible { outline:3px solid #60a5fa; outline-offset:4px; }
[hidden] { display:none !important; }
img { max-width:100%; }
input { min-width:0; }
header nav a[aria-current="page"] { color:#1a56db; }
.desktop-nav { display:flex; }
.menu-toggle { display:none; }
.mobile-nav { padding:12px 20px 20px; border-top:1px solid #eef2f7; max-height:calc(100dvh - 64px); overflow-y:auto; background:white; }
.mobile-nav > a,.mobile-nav > button,.mobile-nav > div > button { display:flex; width:100%; padding:12px; font-size:15px; }
.mobile-nav .business-dropdown { position:static; box-shadow:none; margin:0 12px; width:auto; }
.business-dropdown { position:absolute; top:100%; left:0; width:235px; padding:8px; background:white; border:1px solid #e2e8f0; border-radius:12px; box-shadow:0 12px 32px #172d5d1a; color:#374151; z-index:60; }
.business-dropdown a { display:block; padding:12px; border-radius:6px; font-size:14px; }
.business-dropdown a:hover { background:#eff6ff; color:#1a56db; }
.business-open svg { transform:rotate(180deg); }
.search-dialog { width:min(600px,calc(100% - 32px)); max-height:80dvh; margin:12vh auto; border:0; border-radius:18px; padding:24px; color:#111827; box-shadow:0 24px 80px #142d5c33; }
.search-dialog::backdrop { background:#14234588; backdrop-filter:blur(3px); }
.search-top { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:20px; }
.search-top h2 { font-size:22px; font-weight:700; }
.search-close { width:36px; height:36px; border-radius:50%; background:#f1f5f9; font-size:24px; line-height:1; }
.search-input { width:100%; padding:14px 16px; border:1px solid #cbd5e1; border-radius:10px; font-size:16px; }
.search-results { display:grid; gap:8px; margin-top:16px; }
.search-result { display:block; text-align:left; width:100%; padding:13px 15px; border-radius:8px; background:#f8fafc; color:#234ba0; }
.search-result:hover { background:#eff6ff; }
.search-empty { color:#64748b; padding:16px 0; font-size:14px; }
.newsletter-status { margin-top:10px; font-size:13px; color:#dbeafe; max-width:420px; }
.skip-link { position:fixed; left:16px; top:-100px; z-index:100; background:white; padding:12px 18px; border:2px solid #1a56db; border-radius:8px; }
.skip-link:focus { top:10px; }
@media(max-width:1119px) {
  .desktop-nav { display:none !important; }
  .menu-toggle { display:block !important; }
}
@media(min-width:1120px) { .mobile-nav { display:none !important; } }
@media(min-width:768px) and (max-width:1023px) {
  #he-sinh-thai .grid { gap:16px; }
  #he-sinh-thai .grid > div { padding:20px; }
}
@media(max-width:479px) {
  footer form { flex-wrap:wrap; }
  footer form input { flex-basis:170px; }
  footer form button { flex-shrink:0; }
  footer a,footer span { overflow-wrap:anywhere; }
  .search-dialog { padding:20px; }
}
@media(prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  *,*::before,*::after { transition:none !important; animation:none !important; }
}
