
/* --- Font Imports --- */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&family=Playfair+Display:wght@600;700;800;900&display=swap');

/* --- High-Contrast Sovereign Palette --- */
:root {
	--hlomo-blue: #1A2B44;
	--hlomo-orange: #F97316;
	--hlomo-green: #22C55E;
	--hlomo-yellow: #FACC15;
	--hlomo-deepblue: #0A1931;
	--hlomo-brightorange: #FF6B00;
	--hlomo-grassgreen: #00C853;
	--hlomo-sunnyyellow: #FFD600;
}

body, .container, .bg-white {
	position: relative;
}

/* Subtle noise overlay for parchment effect */
.noise-overlay {
	pointer-events: none;
	position: absolute;
	inset: 0;
	z-index: 1;
	background: url('/images/noise.png');
	opacity: 0.13;
}

/* Privacy Veil for profile masking */
.privacy-veil {
	position: relative;
	overflow: hidden;
	filter: blur(0);
	backdrop-filter: blur(8px);
}
.privacy-veil::after {
	content: '';
	position: absolute; inset: 0;
	background: rgba(30,32,40,0.25);
	pointer-events: none;
	z-index: 2;
}
.privacy-label {
	position: absolute; top: 50%; left: 50%;
	transform: translate(-50%, -50%);
	background: rgba(26,43,68,0.85);
	color: #fff;
	font-weight: bold;
	padding: 1em 2em;
	border-radius: 1em;
	z-index: 3;
	text-align: center;
	font-size: 1.1em;
	letter-spacing: 0.05em;
}

/* Mobile-friendly header fixes */
.header-main {
	background: var(--hlomo-blue);
	color: #fff;
	position: relative;
	z-index: 10;
}
.header-main .container {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
}
.header-main nav, .header-main .md\\:flex {
	flex: 1 1 100%;
	justify-content: flex-end;
}
@media (max-width: 768px) {
	.header-main .container {
		flex-direction: column;
		align-items: stretch;
		padding: 1rem 0.5rem;
	}
	.header-main nav, .header-main .md\\:flex {
		flex-direction: column;
		align-items: flex-end;
		margin-top: 0.5rem;
	}
	.header-main a.btn, .header-main .btn {
		width: 100%;
		margin: 0.25rem 0;
	}
}

/* --- Base Styles & Overrides --- */
body { 
	font-family: 'Inter', sans-serif; 
	color: #1F2937; /* slate-800 */
	background-color: #F9FAFB; /* gray-50 */
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

/* NUCLEAR CONTRAST OVERRIDES */
/* Ensures high readability for body text */
p, li, span, div { 
	color: #374151; /* gray-700 */
} 

/* Ensures high impact for all headings */
h1, h2, h3, h4, h5, h6 { 
	color: var(--hlomo-deepblue) !important;
	font-family: 'Playfair Display', serif;
	font-weight: 800;
	letter-spacing: -0.01em;
	text-shadow: 0 2px 8px rgba(10,25,49,0.07);
} 

/* --- Article Typography (`.prose` class) --- */
.prose p { 
	margin-bottom: 1.5em; 
	line-height: 1.8; 
	font-size: 1.125rem; 
}
.prose h2 { 
	margin-top: 2em; 
	margin-bottom: 1em; 
}
.prose blockquote { 
	border-left: 4px solid #F97316; /* hlomo-orange */
	padding-left: 1rem; 
	font-style: italic; 
	 background-color: var(--hlomo-blue); /* hlomo-blue */
	 color: #fff;
}
.prose ul { 
	margin: 1.5em 0; 
	list-style-position: inside;
}
.prose li { 
	margin-bottom: 0.75em; 
}

/* --- Component Styles --- */

/* Header */
.header-main {
	background-color: rgba(255, 255, 255, 0.95);
	backdrop-filter: blur(10px);
/* High-contrast button overrides */
.bg-hlomo-orange, .bg-hlomo-orange *,
.bg-orange-600, .bg-orange-600 *,
.bg-orange-500, .bg-orange-500 *,
.bg-hlomo-green, .bg-hlomo-green *,
.bg-hlomo-yellow, .bg-hlomo-yellow *,
.bg-hlomo-blue, .bg-hlomo-blue *,
button.bg-hlomo-orange, button.bg-orange-600, button.bg-orange-500, button.bg-hlomo-green, button.bg-hlomo-yellow, button.bg-hlomo-blue,
a.bg-hlomo-orange, a.bg-orange-600, a.bg-orange-500, a.bg-hlomo-green, a.bg-hlomo-yellow, a.bg-hlomo-blue,
button[class*="bg-orange"], a[class*="bg-orange"], button[class*="bg-green"], a[class*="bg-green"], button[class*="bg-yellow"], a[class*="bg-yellow"], button[class*="bg-blue"], a[class*="bg-blue"] {
  color: #fff !important;
  font-weight: 700;
  letter-spacing: 0.01em;
}
.bg-hlomo-orange:hover, .bg-orange-600:hover, .bg-orange-500:hover, .bg-hlomo-green:hover, .bg-hlomo-yellow:hover, .bg-hlomo-blue:hover,
button[class*="bg-orange"]:hover, a[class*="bg-orange"]:hover, button[class*="bg-green"]:hover, a[class*="bg-green"]:hover, button[class*="bg-yellow"]:hover, a[class*="bg-yellow"]:hover, button[class*="bg-blue"]:hover, a[class*="bg-blue"]:hover {
  color: #fff !important;
  filter: brightness(1.1);
}
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	z-index: 50;
	box-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);
	border-bottom: 1px solid #e5e7eb; /* gray-200 */
}

/* Footer */
.footer-main {
	background-color: #1A2B44; /* hlomo-blue */
}
.footer-main p, .footer-main a, .footer-main span { 
	color: #E5E7EB !important; /* gray-200 */
}
.footer-main a:hover {
	color: #F97316 !important; /* hlomo-orange */
}

/* Buttons */
.btn {
	display: inline-block;
	font-weight: 700;
	text-align: center;
	border-radius: 9999px; /* pill shape */
	transition: background-color 0.3s;
	padding: 0.75rem 1.5rem;
}
.btn-primary {
	background-color: #1A2B44; /* hlomo-blue */
	color: white;
}
.btn-primary:hover {
	background-color: #314058;
}
.btn-secondary {
	background-color: #F97316; /* hlomo-orange */
	color: white;
}
.btn-secondary:hover {
	background-color: #dd6b1d;
}

/* Bro Animation */
.bro-fab { 
	animation: float 3s ease-in-out infinite; 
}
@keyframes float { 
	0% { transform: translateY(0px); } 
	50% { transform: translateY(-10px); } 
	100% { transform: translateY(0px); } 
}
