/* Public entry pages only. Course library and application logic remain independent. */
html { scroll-padding-top: 100px; scrollbar-color: #91a4bd #f5f8fc; }
body { -webkit-font-smoothing: antialiased; }
h1,h2,h3 { text-wrap: balance; }
p { text-wrap: pretty; }
button,input,select,textarea { font: inherit; }
:focus-visible { outline: 3px solid #1766d4; outline-offset: 4px; }
.site-header { position: sticky; top: 0; z-index: 30; background: #fff; }
.header-inner,.nav-shell { min-height: 84px; }
.nav-shell { width: min(1200px,calc(100% - 48px)); }
.nav-shell .brand img { width: 56px; height: 56px; border-radius: 50%; object-fit: cover; }
.nav-shell .brand { gap: 10px; }
.nav-shell .brand-copy strong { font-size: 20px; }
.nav-shell .brand-copy span { font-size: 11px; }
.nav-shell .header-link,.nav-shell .nav-more > summary { font-size: 15px; }
.desktop-nav { gap: clamp(20px,3vw,36px); }
.desktop-nav a { text-underline-offset: 6px; }
.desktop-nav a:hover { text-decoration: underline; }
.placement-eyebrow,.placement-kicker { display: none; }
.placement-hero-inner { min-height: 460px; padding-block: 64px; }
.placement-hero h1 { letter-spacing: -.035em; }
.placement-overview { border: 0; box-shadow: none; background: transparent; padding: 12px 0; }
.placement-overview-label { color: #526783; }
.stanag-reading-text { border-left: 0; border-radius: 8px; padding: 24px; }
.placement-test-head h2 { letter-spacing: -.03em; }
.stanag-question-card { scroll-margin-top: 120px; }
.stanag-progress { top: 84px; }
.quick-links-grid { box-shadow: none; }
.quick-link { box-shadow: none; }
.reservation-page #calendar { box-shadow: none; border: 1px solid #dce3ec; }
.reservation-page .reservation-intro { max-width: 720px; }
.reservation-page button,.reservation-page .btn { border-radius: 8px; }
.topics-listing-page .navbar { box-shadow: none !important; backdrop-filter: none !important; }
.topics-listing-page .auth-panel { box-shadow: none; }
@media(max-width:640px) {
 .header-inner,.nav-shell { min-height: 72px; }
 .nav-shell { width: calc(100% - 40px); }
 .nav-shell .brand img { width: 46px; height: 46px; }
 .nav-shell .brand-copy strong { font-size: 17px; }
 .nav-shell .brand-copy span { font-size: 11px; }
 .placement-hero-inner { min-height: 0; padding-block: 48px; }
 .stanag-progress { top: 72px; }
}
@media(prefers-reduced-motion:reduce) { html { scroll-behavior: auto; } }

.topics-listing-page .page > *, .topics-listing-page .auth-wrap > *, .topics-listing-page .auth-summary > * { min-width: 0; }
.reservation-page .text-white.fw-semibold { max-width: 720px; margin-inline: auto; padding: 0 !important; border: 0; background: transparent !important; box-shadow: none; font-size: 16px !important; font-weight: 400 !important; line-height: 1.7; }
.reservation-brand > span > small { white-space: nowrap; }
@media(max-width:720px) {
 .topics-listing-page .page, .topics-listing-page .auth-wrap { grid-template-columns: minmax(0,1fr); }
 .topics-listing-page .auth-panel, .topics-listing-page .auth-form-card, .topics-listing-page .auth-switch { min-width: 0; }
 .topics-listing-page .auth-summary { align-items: flex-start; }
}
