/* Bundled Vietnamese-capable fonts: no external font service required. */
@font-face { font-family: 'CuuLong Noto'; src: url('fonts/NotoSans-Regular.woff') format('woff'); font-style: normal; font-weight: 100 500; font-display: swap; }
@font-face { font-family: 'CuuLong Noto'; src: url('fonts/NotoSans-Bold.woff') format('woff'); font-style: normal; font-weight: 600 900; font-display: swap; }
:root { font-family: 'CuuLong Noto', 'Segoe UI', Arial, sans-serif; }
button, input, select, textarea { font-family: inherit; }
.brand, .hero h1, .section-heading h2, .card strong, .board h1 { letter-spacing: normal; }
.brand, .card strong { line-height: 1.5; }
.hero h1, .board h1 { line-height: 1.35; }
.brand small, .eyebrow, .hero .eyebrow { letter-spacing: .04em; line-height: 1.7; }
.category-button strong { line-height: 1.5; }

/* School identity: preserve the supplied logo proportions. */
.school-logo { width: 88px; height: auto; flex: 0 0 auto; object-fit: contain; }
.bar { min-height: 98px; height: auto; padding-block: 10px; }
.brand { gap: 14px; }
@media(max-width:520px) {
 .school-logo { width: 62px; }
 .bar { min-height: 80px; padding-inline: 12px; gap: 8px; }
 .brand { gap: 8px; font-size: 19px; }
 .brand small { font-size: 7px; }
 .header-actions { gap: 5px; }
}

.portal-return { font-size: 13px; color: #17647f; text-decoration: none; font-weight: 700; }
@media(max-width:520px) { .portal-return { font-size: 10px; max-width: 60px; text-align: center; } }
