/* Global Overflow & Typography Safeguards */
html, body {
	overflow-x: hidden;
	width: 100%;
}

h1, h2, h3, h4, h5, h6, p, a, span {
	word-wrap: break-word;
	overflow-wrap: break-word;
}

@media (max-width: 1024px) {
	.container {
		padding-left: var(--space-6);
		padding-right: var(--space-6);
	}

	.hero-grid {
		grid-template-columns: 1fr;
	}


	.footer-grid {
		grid-template-columns: 1fr 1fr;
	}
}

@media (max-width: 768px) {
	/* Mobile Header Flush Top Margin 0 Safety */
	.main-header,
	body.admin-bar .main-header,
	body.admin-bar .main-header.is-scrolled,
	body.admin-bar .main-header.is-sticky {
		top: 0 !important;
		margin-top: 0 !important;
	}

	.main-header {
		height: 70px;
		background-color: rgba(15, 23, 42, 0.95) !important;
		backdrop-filter: blur(12px);
		-webkit-backdrop-filter: blur(12px);
		border-bottom: 1px solid rgba(255, 255, 255, 0.15);
	}

	.section {
		padding-top: var(--space-10);
		padding-bottom: var(--space-10);
	}

	.top-bar {
		display: none;
	}

	.mobile-nav-drawer {
		top: 70px !important;
	}

	body:not(.home) #main-content {
		padding-top: 0 !important;
		margin-top: 0 !important;
	}

	.archive-hero-banner {
		padding-top: 95px !important;
		padding-bottom: 40px !important;
	}

	.archive-hero-title {
		font-size: clamp(1.65rem, 5vw, 2.25rem) !important;
		margin-bottom: 10px !important;
	}

	.archive-hero-desc {
		font-size: 0.95rem !important;
		line-height: 1.5 !important;
	}

	.site-brand {
		gap: 10px;
	}

	.site-brand-logo,
	.custom-logo {
		height: 44px;
		max-height: 44px;
	}

	.header-actions .btn-gold {
		display: none !important;
	}

	.main-navigation {
		display: none;
	}

	.menu-toggle {
		display: flex !important;
		flex-direction: column;
		justify-content: center;
		align-items: center;
	}

	.grid-cols-2, .grid-cols-3, .grid-cols-4, .grid-cols-6 {
		grid-template-columns: 1fr !important;
	}

	.about-grid {
		grid-template-columns: 1fr !important;
		gap: 24px;
	}

	.about-img {
		height: 250px;
	}

	.hero-cover-section {
		min-height: 70vh;
		padding-top: 100px;
		padding-bottom: 60px;
	}

	.hero-cover-actions {
		flex-direction: column;
	}

	.btn-hero-lg {
		width: 100%;
		justify-content: center;
		text-align: center;
	}


	.pmb-cta-banner {
		flex-direction: column;
		text-align: center;
		gap: var(--space-6);
		padding: var(--space-8) var(--space-6);
	}

	.footer-grid {
		grid-template-columns: 1fr;
	}

	.footer-bottom {
		flex-direction: column;
		gap: var(--space-2);
		text-align: center;
	}
}

@media (max-width: 576px) {
	.main-header {
		height: 64px;
	}

	.mobile-nav-drawer {
		top: 64px !important;
	}

	body:not(.home) #main-content {
		padding-top: 0 !important;
		margin-top: 0 !important;
	}

	.archive-hero-banner {
		padding-top: 85px !important;
		padding-bottom: 32px !important;
	}

	.container {
		padding-left: var(--space-4);
		padding-right: var(--space-4);
	}

	.site-brand {
		gap: 8px;
	}

	.site-brand-logo,
	.custom-logo {
		height: 38px;
		max-height: 38px;
	}

	.site-name-full {
		display: none;
	}

	.site-name-short {
		display: block;
		font-weight: 800;
		font-size: 0.95rem;
		color: #FFFFFF;
		line-height: 1.2;
		letter-spacing: 0.02em;
		text-transform: uppercase;
		text-shadow: 0 1px 3px rgba(0, 0, 0, 0.4);
	}

	.site-tagline {
		font-size: 0.675rem;
		color: var(--color-gold);
		font-weight: 600;
		letter-spacing: 0.03em;
		text-transform: uppercase;
	}

	.hero-title {
		font-size: 1.85rem;
	}

	.hero-description {
		font-size: 0.95rem;
	}

	.about-title {
		font-size: 1.5rem;
	}

	.about-img {
		height: 220px;
	}

	.pmb-cta-content h2 {
		font-size: 1.6rem;
	}
}

/* Hero Search & News Search Bar Mobile Icon Safeguards */
@media (max-width: 640px) {
	.feb-hero-search-btn .search-btn-text,
	.news-search-submit-btn .search-btn-text {
		display: none !important;
	}

	.feb-hero-search-btn {
		padding: 0 16px !important;
		min-width: 48px !important;
	}

	.news-search-submit-btn {
		padding: 10px 16px !important;
		min-width: 44px !important;
	}

	.feb-hero-search-input {
		font-size: 0.875rem !important;
		padding: 10px 12px !important;
	}

	.news-search-inner {
		padding: 10px 12px !important;
		gap: 8px !important;
	}
}

