/*!
Theme Name: my-site
Theme URI: http://underscores.me/
Author: Underscores.me
Author URI: http://underscores.me/
Description: Description
Version: 1.0.0
Tested up to: 5.4
Requires PHP: 5.6
License: GNU General Public License v2 or later
License URI: LICENSE
Text Domain: my-site
Tags: custom-background, custom-logo, custom-menu, featured-images, threaded-comments, translation-ready

This theme, like WordPress, is licensed under the GPL.
Use it to make something cool, have fun, and share what you've learned.

my-site is based on Underscores https://underscores.me/, (C) 2012-2020 Automattic, Inc.
Underscores is distributed under the terms of the GNU GPL v2 or later.

Normalizing styles have been helped along thanks to the fine work of
Nicolas Gallagher and Jonathan Neal https://necolas.github.io/normalize.css/
*/

/*--------------------------------------------------------------
>>> TABLE OF CONTENTS:
----------------------------------------------------------------
# Generic
	- Normalize
	- Box sizing
# Base
	- Typography
	- Elements
	- Links
	- Forms
## Layouts
# Components
	- Navigation
	- Posts and pages
	- Comments
	- Widgets
	- Media
	- Captions
	- Galleries
# plugins
	- Jetpack infinite scroll
# Utilities
	- Accessibility
	- Alignments

--------------------------------------------------------------*/

/*--------------------------------------------------------------
# Generic
--------------------------------------------------------------*/

/* Normalize
--------------------------------------------- */

/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */

/* Document
	 ========================================================================== */

/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 */
html {
	line-height: 1.15;
	-webkit-text-size-adjust: 100%;
	scroll-behavior: smooth;
}

/* Sections
	 ========================================================================== */

/**
 * Remove the margin in all browsers.
 */
body {
	margin: 0;
	overflow-x: hidden;
}

/**
 * Render the `main` element consistently in IE.
 */
main {
	display: block;
}

/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Firefox, and Safari.
 */
h1 {
	font-size: 2em;
	margin: 0.67em 0;
}

/* Grouping content
	 ========================================================================== */

/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */
hr {
	box-sizing: content-box;
	height: 0;
	overflow: visible;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
pre {
	font-family: monospace, monospace;
	font-size: 1em;
}

/* Text-level semantics
	 ========================================================================== */

/**
 * Remove the gray background on active links in IE 10.
 */
a {
	background-color: transparent;
}

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */
abbr[title] {
	border-bottom: none;
	text-decoration: underline;
	text-decoration: underline dotted;
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */
b,
strong {
	font-weight: bolder;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
code,
kbd,
samp {
	font-family: monospace, monospace;
	font-size: 1em;
}

/**
 * Add the correct font size in all browsers.
 */
small {
	font-size: 80%;
}

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */
sub,
sup {
	font-size: 75%;
	line-height: 0;
	position: relative;
	vertical-align: baseline;
}

sub {
	bottom: -0.25em;
}

sup {
	top: -0.5em;
}

/* Embedded content
	 ========================================================================== */

/**
 * Remove the border on images inside links in IE 10.
 */
img {
	border-style: none;
}

/* Forms
	 ========================================================================== */

/**
 * 1. Change the font styles in all browsers.
 * 2. Remove the margin in Firefox and Safari.
 */
button,
input,
optgroup,
select,
textarea {
	font-family: inherit;
	font-size: 100%;
	line-height: 1.15;
	margin: 0;
}

/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */
button,
input {
	overflow: visible;
}

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */
button,
select {
	text-transform: none;
}

/**
 * Correct the inability to style clickable types in iOS and Safari.
 */
button,
[type="button"],
[type="reset"],
[type="submit"] {
	-webkit-appearance: button;
}

/**
 * Remove the inner border and padding in Firefox.
 */
button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
	border-style: none;
	padding: 0;
}

/**
 * Restore the focus styles unset by the previous rule.
 */
button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
	outline: 1px dotted ButtonText;
}

/**
 * Correct the padding in Firefox.
 */
fieldset {
	padding: 0.35em 0.75em 0.625em;
}

/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *		`fieldset` elements in all browsers.
 */
legend {
	box-sizing: border-box;
	color: inherit;
	display: table;
	max-width: 100%;
	padding: 0;
	white-space: normal;
}

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress {
	vertical-align: baseline;
}

/**
 * Remove the default vertical scrollbar in IE 10+.
 */
textarea {
	overflow: auto;
}

/**
 * 1. Add the correct box sizing in IE 10.
 * 2. Remove the padding in IE 10.
 */
[type="checkbox"],
[type="radio"] {
	box-sizing: border-box;
	padding: 0;
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */
[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
	height: auto;
}

/**
 * 1. Correct the odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari.
 */
[type="search"] {
	-webkit-appearance: textfield;
	outline-offset: -2px;
}

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */
[type="search"]::-webkit-search-decoration {
	-webkit-appearance: none;
}

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */
::-webkit-file-upload-button {
	-webkit-appearance: button;
	font: inherit;
}

/* Interactive
	 ========================================================================== */

/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */
details {
	display: block;
}

/*
 * Add the correct display in all browsers.
 */
summary {
	display: list-item;
}

/* Misc
	 ========================================================================== */

/**
 * Add the correct display in IE 10+.
 */
template {
	display: none;
}

/**
 * Add the correct display in IE 10.
 */
[hidden] {
	display: none;
}

/* Box sizing
--------------------------------------------- */

/* Inherit box-sizing to more easily change it's value on a component level.
@link http://css-tricks.com/inheriting-box-sizing-probably-slightly-better-best-practice/ */
*,
*::before,
*::after {
	box-sizing: inherit;
}

html {
	box-sizing: border-box;
}

/*--------------------------------------------------------------
# Base
--------------------------------------------------------------*/

/* Typography
--------------------------------------------- */
body,
button,
input,
select,
optgroup,
textarea {
	color: #404040;
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
	font-size: 1rem;
	line-height: 1.5;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	clear: both;
}

p {
	margin-bottom: 1.5em;
}

dfn,
cite,
em,
i {
	font-style: italic;
}

blockquote {
	margin: 0 1.5em;
}

address {
	margin: 0 0 1.5em;
}

pre {
	background: #eee;
	font-family: "Courier 10 Pitch", courier, monospace;
	line-height: 1.6;
	margin-bottom: 1.6em;
	max-width: 100%;
	overflow: auto;
	padding: 1.6em;
}

code,
kbd,
tt,
var {
	font-family: monaco, consolas, "Andale Mono", "DejaVu Sans Mono", monospace;
}

abbr,
acronym {
	border-bottom: 1px dotted #666;
	cursor: help;
}

mark,
ins {
	background: #fff9c0;
	text-decoration: none;
}

big {
	font-size: 125%;
}

/* Elements
--------------------------------------------- */
body {
	background: #fff;
	font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen', 'Ubuntu', 'Cantarell', 'Helvetica Neue', sans-serif;
	font-size: 16px;
	line-height: 1.6;
	color: #333;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

hr {
	background-color: #ccc;
	border: 0;
	height: 1px;
	margin-bottom: 1.5em;
}

ul,
ol {
	margin: 0 0 1.5em 3em;
}

ul {
	list-style: disc;
}

ol {
	list-style: decimal;
}

li > ul,
li > ol {
	margin-bottom: 0;
	margin-left: 1.5em;
}

dt {
	font-weight: 700;
}

dd {
	margin: 0 1.5em 1.5em;
}

/* Make sure embeds and iframes fit their containers. */
embed,
iframe,
object {
	max-width: 100%;
}

img {
	height: auto;
	max-width: 100%;
}

figure {
	margin: 1em 0;
}

table {
	margin: 0 0 1.5em;
	width: 100%;
}

/* Links
--------------------------------------------- */
a {
	color: #4169e1;
}

a:visited {
	color: #800080;
}

a:hover,
a:focus,
a:active {
	color: #191970;
}

a:focus {
	outline: thin dotted;
}

a:hover,
a:active {
	outline: 0;
}

/* Forms
--------------------------------------------- */
button,
input[type="button"],
input[type="reset"],
input[type="submit"] {
	border: 1px solid;
	border-color: #ccc #ccc #bbb;
	border-radius: 3px;
	background: #e6e6e6;
	color: rgba(0, 0, 0, 0.8);
	line-height: 1;
	padding: 0.6em 1em 0.4em;
}

button:hover,
input[type="button"]:hover,
input[type="reset"]:hover,
input[type="submit"]:hover {
	border-color: #ccc #bbb #aaa;
}

button:active,
button:focus,
input[type="button"]:active,
input[type="button"]:focus,
input[type="reset"]:active,
input[type="reset"]:focus,
input[type="submit"]:active,
input[type="submit"]:focus {
	border-color: #aaa #bbb #bbb;
}

input[type="text"],
input[type="email"],
input[type="url"],
input[type="password"],
input[type="search"],
input[type="number"],
input[type="tel"],
input[type="range"],
input[type="date"],
input[type="month"],
input[type="week"],
input[type="time"],
input[type="datetime"],
input[type="datetime-local"],
input[type="color"],
textarea {
	color: #666;
	border: 1px solid #ccc;
	border-radius: 3px;
	padding: 3px;
}

input[type="text"]:focus,
input[type="email"]:focus,
input[type="url"]:focus,
input[type="password"]:focus,
input[type="search"]:focus,
input[type="number"]:focus,
input[type="tel"]:focus,
input[type="range"]:focus,
input[type="date"]:focus,
input[type="month"]:focus,
input[type="week"]:focus,
input[type="time"]:focus,
input[type="datetime"]:focus,
input[type="datetime-local"]:focus,
input[type="color"]:focus,
textarea:focus {
	color: #111;
}

select {
	border: 1px solid #ccc;
}

textarea {
	width: 100%;
}

/*--------------------------------------------------------------
# Layouts
--------------------------------------------------------------*/

/* Main Content Layout
--------------------------------------------- */
.content-wrapper {
	width: 100%;
	background: #f9f9f9;
}

.container-main {
	max-width: 1200px;
	margin: 0 auto;
	padding: 2rem 2rem;
}

.row-main {
	display: flex;
	gap: 2rem;
	flex-wrap: wrap;
}

/* Column Grid System */
.col-md-9 {
	flex: 1 1 100%;
}

.col-md-3 {
	flex: 1 1 100%;
}

/* Desktop Layout (md breakpoint) */
@media screen and (min-width: 768px) {
	.col-md-9 {
		flex: 0 0 calc(75% - 1.5rem);
		max-width: calc(75% - 1.5rem);
	}

	.col-md-3 {
		flex: 0 0 calc(25% - 0.5rem);
		max-width: calc(25% - 0.5rem);
	}

	.news-grid {
		grid-template-columns: repeat(2, 1fr);
	}
	
	.category-grid {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}
}

/* Large Desktop - Show 2 columns in news grid */
@media screen and (min-width: 1200px) {
	.news-grid {
		grid-template-columns: repeat(2, 1fr);
		gap: 1.25rem;
	}

	.news-card-image {
		height: 150px;
	}
}

/* Recent News Section */
.recent-news-section {
	background: #fff;
	padding: 2rem;
	border-radius: 8px;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
	margin-bottom: 2rem;
}

/* Category News Section */
.category-news-section {
	background: #fff;
	padding: 2rem;
	border-radius: 8px;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
	margin-bottom: 2rem;
}

.category-title {
	position: relative;
	padding-bottom: 0.75rem;
}

.category-title a {
	color: #191970;
	text-decoration: none;
	transition: color 0.3s ease;
	display: inline-block;
}

.category-title a:hover,
.category-title a:focus {
	color: #4169e1;
}

.category-title a::after {
	content: '→';
	margin-left: 0.5rem;
	opacity: 0;
	transform: translateX(-10px);
	transition: all 0.3s ease;
	display: inline-block;
}

.category-title a:hover::after,
.category-title a:focus::after {
	opacity: 1;
	transform: translateX(0);
}

.category-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 0.75rem;
	width: 100%;
}

/* Ensure cards stay in one row */
.category-grid .news-card {
	min-width: 0;
	width: 100%;
}

/* Smaller cards for category grids */
.category-grid .news-card-image {
	height: 100px;
}

.category-grid .news-card-content {
	padding: 0.625rem;
}

.category-grid .news-card-title {
	font-size: 0.8rem;
	margin-bottom: 0.375rem;
	line-height: 1.3;
	word-wrap: break-word;
	overflow-wrap: break-word;
	font-family: 'Georgia', 'Times New Roman', serif;
}

.category-grid .news-card-excerpt {
	font-size: 0.7rem;
	margin-bottom: 0.5rem;
	line-height: 1.4;
	word-wrap: break-word;
}

.category-grid .news-card-meta {
	font-size: 0.65rem;
	margin-bottom: 0.375rem;
}

.category-grid .news-card-read-more {
	font-size: 0.7rem;
}

.category-grid .news-card-footer {
	padding-top: 0.5rem;
}

/* Large screens - ensure 4 cards horizontal */
@media screen and (min-width: 1200px) {
	.category-grid {
		grid-template-columns: repeat(4, minmax(0, 1fr));
		gap: 0.875rem;
	}
	
	.category-grid .news-card-image {
		height: 110px;
	}
	
	.category-grid .news-card-content {
		padding: 0.75rem;
	}
	
	.category-grid .news-card-title {
		font-size: 0.875rem;
	}
	
	.category-grid .news-card-excerpt {
		font-size: 0.75rem;
	}
}

@media screen and (max-width: 1199px) {
	.category-grid {
		gap: 0.75rem;
	}
	
	.category-grid .news-card-image {
		height: 95px;
	}
	
	.category-grid .news-card-content {
		padding: 0.625rem;
	}
}

.section-title {
	font-size: 1.75rem;
	font-weight: 700;
	color: #191970;
	margin: 0 0 1.5rem;
	padding-bottom: 0.75rem;
	border-bottom: 3px solid #4169e1;
	position: relative;
	font-family: 'Georgia', 'Times New Roman', serif;
	letter-spacing: -0.02em;
}

.section-title::after {
	content: '';
	position: absolute;
	bottom: -3px;
	left: 0;
	width: 80px;
	height: 3px;
	background-color: #191970;
}

.news-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
	gap: 1rem;
}

/* News Card Styles */
.news-card {
	background: #fff;
	border-radius: 2px;
	overflow: hidden;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
	transition: all 0.3s ease;
	display: flex;
	flex-direction: column;
	height: 100%;
}

.news-card:hover {
	box-shadow: 0 4px 16px rgba(0, 0, 0, 0.15);
	transform: translateY(-4px);
}

.news-card-image {
	width: 100%;
	height: 140px;
	overflow: hidden;
	position: relative;
}

.news-card-image img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	object-position: center;
	transition: transform 0.4s ease;
}

.news-card:hover .news-card-image img {
	transform: scale(1.05);
}

.news-card-content {
	padding: 0.875rem;
	flex: 1;
	display: flex;
	flex-direction: column;
}

.news-card-meta {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	margin-bottom: 0.375rem;
	font-size: 0.7rem;
	color: #666;
}

.news-card-date {
	color: #999;
}

.news-card-category a {
	color: #4169e1;
	text-decoration: none;
	font-weight: 600;
	text-transform: uppercase;
	font-size: 0.65rem;
	letter-spacing: 0.5px;
	transition: color 0.3s ease;
}

.news-card-category a:hover,
.news-card-category a:focus {
	color: #191970;
}

.news-card-title {
	margin: 0 0 0.375rem;
	font-size: 0.95rem;
	line-height: 1.3;
	font-weight: 700;
	font-family: 'Georgia', 'Times New Roman', serif;
}

.news-card-title a {
	color: #191970;
	text-decoration: none;
	transition: color 0.3s ease;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.news-card-title a:hover,
.news-card-title a:focus {
	color: #4169e1;
}

.news-card-excerpt {
	font-size: 0.75rem;
	line-height: 1.45;
	color: #555;
	margin-bottom: 0.625rem;
	flex: 1;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
	font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', sans-serif;
}

.news-card-footer {
	margin-top: auto;
	padding-top: 0.625rem;
	border-top: 1px solid #f0f0f0;
}

.news-card-read-more {
	display: inline-block;
	color: #4169e1;
	text-decoration: none;
	font-weight: 600;
	font-size: 0.75rem;
	transition: all 0.3s ease;
}

.news-card-read-more:hover,
.news-card-read-more:focus {
	color: #191970;
	padding-left: 0.25rem;
}

/* Most Read Section */
.most-read-section {
	background: #fff;
	padding: 1.5rem;
	border-radius: 8px;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
	margin-bottom: 2rem;
}

/* Weather Widget */
.weather-widget {
	background: #fff;
	padding: 1.5rem;
	border-radius: 8px;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
	position: sticky;
	top: 2rem;
}

.weather-loading {
	text-align: center;
	padding: 2rem 1rem;
	color: #666;
}

.loading-spinner {
	display: inline-block;
	width: 30px;
	height: 30px;
	border: 3px solid #f3f3f3;
	border-top: 3px solid #4169e1;
	border-radius: 50%;
	animation: spin 1s linear infinite;
	margin-bottom: 0.5rem;
}

@keyframes spin {
	0% { transform: rotate(0deg); }
	100% { transform: rotate(360deg); }
}

.weather-container {
	text-align: center;
}

.weather-location {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0.375rem;
	margin-bottom: 1rem;
	font-size: 0.875rem;
	color: #666;
	font-weight: 600;
}

.location-icon {
	width: 16px;
	height: 16px;
	stroke: #4169e1;
	stroke-width: 2;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.weather-main {
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 0.5rem;
}

.weather-icon {
	display: flex;
	align-items: center;
	justify-content: center;
}

.weather-icon svg {
	width: 60px;
	height: 60px;
	margin-right: -0.5rem;
}

.weather-temp {
	display: flex;
	align-items: flex-start;
}

.temp-value {
	font-size: 3rem;
	font-weight: 700;
	color: #191970;
	line-height: 1;
}

.temp-unit {
	font-size: 1.5rem;
	color: #666;
	margin-top: 0.25rem;
}

.weather-description {
	font-size: 0.875rem;
	color: #555;
	margin-bottom: 1rem;
	text-transform: capitalize;
	font-weight: 500;
}

.weather-details {
	border-top: 1px solid #e6e6e6;
	padding-top: 1rem;
	display: flex;
	flex-direction: column;
	gap: 0.625rem;
}

.weather-detail-item {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	font-size: 0.8rem;
	color: #666;
	justify-content: center;
}

.detail-icon {
	width: 16px;
	height: 16px;
	stroke: #4169e1;
	stroke-width: 2;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.weather-error {
	text-align: center;
	padding: 2rem 1rem;
	color: #999;
}

.weather-error p {
	margin: 0 0 0.5rem;
	font-size: 0.875rem;
}

.error-note {
	font-size: 0.75rem;
	color: #bbb;
}

/* Category Archive Page */
.category-header {
	background: #fff;
	padding: 2rem;
	border-radius: 8px;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
	margin-bottom: 2rem;
}

.category-archive-title {
	font-size: 2rem;
	font-weight: 700;
	color: #191970;
	margin: 0 0 0.5rem;
	font-family: 'Georgia', 'Times New Roman', serif;
	letter-spacing: -0.02em;
}

.archive-description {
	font-size: 0.95rem;
	color: #666;
	line-height: 1.6;
	margin: 0;
}

.category-articles-section {
	background: #fff;
	padding: 2rem;
	border-radius: 8px;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
}

.category-archive-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 1.25rem;
	margin-bottom: 2rem;
}

/* Pagination */
.pagination {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 0.5rem;
	margin-top: 2rem;
	padding-top: 2rem;
	border-top: 1px solid #e6e6e6;
}

.pagination .nav-links {
	display: flex;
	gap: 0.5rem;
	align-items: center;
}

.pagination a,
.pagination .current {
	padding: 0.5rem 1rem;
	background: #fff;
	border: 1px solid #e6e6e6;
	border-radius: 4px;
	color: #191970;
	text-decoration: none;
	font-weight: 600;
	transition: all 0.3s ease;
}

.pagination a:hover,
.pagination a:focus {
	background: #4169e1;
	color: #fff;
	border-color: #4169e1;
}

.pagination .current {
	background: #191970;
	color: #fff;
	border-color: #191970;
}

.pagination .dots {
	padding: 0.5rem;
	color: #999;
}

/* Single Article Page */
.single-article {
	background: #fff;
	border-radius: 8px;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
	overflow: hidden;
	margin-bottom: 2rem;
}

/* Article Header */
.article-header {
	padding: 2rem 2.5rem 1.5rem;
	border-bottom: 1px solid #e6e6e6;
}

.article-category {
	margin-bottom: 1rem;
}

.article-category a {
	display: inline-block;
	color: #191970;
	padding: 0.375rem 0.875rem;
	border-radius: 4px;
	font-size: 0.75rem;
	font-weight: 600;
	text-transform: uppercase;
	text-decoration: none;
	letter-spacing: 0.5px;
	transition: background 0.3s ease;
}

.article-title {
	font-size: 1.75rem;
	font-weight: 700;
	line-height: 1.3;
	color: #191970;
	margin: 0 0 1rem;
	font-family: 'Georgia', 'Times New Roman', serif;
	letter-spacing: -0.01em;
}

.article-meta {
	display: flex;
	flex-wrap: wrap;
	gap: 1.5rem;
	color: #666;
	font-size: 0.875rem;
}

.meta-item {
	display: flex;
	align-items: center;
	gap: 0.375rem;
}

.meta-icon {
	width: 16px;
	height: 16px;
	stroke: #4169e1;
	stroke-width: 2;
	stroke-linecap: round;
	stroke-linejoin: round;
}

/* Article Share Buttons */
.article-share {
	display: flex;
	align-items: center;
	gap: 1rem;
	padding-top: 1.25rem;
	margin-top: 1.25rem;
	border-top: 1px solid #e6e6e6;
}

.share-label {
	font-size: 0.9rem;
	font-weight: 600;
	color: #555;
}

.share-buttons {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	flex-wrap: wrap;
}

.share-btn {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	border-radius: 50%;
	background: #f5f5f5;
	border: none;
	cursor: pointer;
	transition: all 0.3s ease;
	text-decoration: none;
	color: #555;
}

.share-btn:hover {
	transform: translateY(-2px);
	box-shadow: 0 4px 8px rgba(0, 0, 0, 0.15);
}

.share-btn svg {
	width: 20px;
	height: 20px;
}

.share-facebook {
	background: #1877f2;
	color: #fff;
}

.share-facebook:hover {
	background: #155db2;
}

.share-twitter {
	background: #1da1f2;
	color: #fff;
}

.share-twitter:hover {
	background: #1a8cd8;
}

.share-whatsapp {
	background: #25d366;
	color: #fff;
}

.share-whatsapp:hover {
	background: #1fb855;
}

.share-linkedin {
	background: #0077b5;
	color: #fff;
}

.share-linkedin:hover {
	background: #005885;
}

.share-copy {
	background: #6c757d;
	color: #fff;
}

.share-copy:hover {
	background: #545b62;
}

.share-copy.copied {
	background: #28a745;
}

/* Social Share Bottom (After Article) */
.article-share-bottom {
	margin: 3rem 0 2rem;
	padding: 2rem 1.5rem;
	background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
	border-radius: 12px;
	box-shadow: 0 4px 15px rgba(102, 126, 234, 0.2);
}

.share-bottom-content {
	text-align: center;
}

.share-bottom-title {
	font-size: 1.25rem;
	font-weight: 700;
	color: #ffffff;
	margin: 0 0 1.25rem;
	text-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

.share-buttons-bottom {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0.625rem;
	flex-wrap: wrap;
}

.share-btn-bottom {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.375rem;
	padding: 0.625rem 1rem;
	border-radius: 50px;
	background: rgba(255, 255, 255, 0.15);
	backdrop-filter: blur(10px);
	border: 2px solid rgba(255, 255, 255, 0.3);
	cursor: pointer;
	transition: all 0.3s ease;
	text-decoration: none;
	color: #ffffff;
	font-weight: 600;
	font-size: 0.8125rem;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}

.share-btn-bottom:hover {
	transform: translateY(-3px);
	box-shadow: 0 6px 20px rgba(0, 0, 0, 0.2);
	background: rgba(255, 255, 255, 0.25);
	border-color: rgba(255, 255, 255, 0.5);
	color: #ffffff;
}

.share-btn-bottom svg {
	width: 18px;
	height: 18px;
	flex-shrink: 0;
}

.share-btn-text {
	font-weight: 600;
	font-size: 0.8125rem;
}

/* Specific platform colors for bottom share buttons */
.share-btn-bottom.share-facebook:hover {
	background: #1877f2;
	border-color: #1877f2;
}

.share-btn-bottom.share-twitter:hover {
	background: #1da1f2;
	border-color: #1da1f2;
}

.share-btn-bottom.share-whatsapp:hover {
	background: #25d366;
	border-color: #25d366;
}

.share-btn-bottom.share-linkedin:hover {
	background: #0077b5;
	border-color: #0077b5;
}

.share-btn-bottom.share-copy:hover {
	background: #6c757d;
	border-color: #6c757d;
}

.share-btn-bottom.share-copy.copied {
	background: #28a745;
	border-color: #28a745;
}

/* Featured Image */
.article-featured-image {
	width: 100%;
	max-width: 700px;
	margin: 0 auto;
	position: relative;
}

.article-featured-image img {
	width: 100%;
	height: auto;
	display: block;
	max-height: 300px;
	object-fit: contain;
	object-position: center;
}

.image-caption {
	padding: 0.875rem 2.5rem;
	background: #f9f9f9;
	font-size: 0.8125rem;
	color: #666;
	font-style: italic;
	border-bottom: 1px solid #e6e6e6;
}

/* Article Content */
.article-content {
	padding: 2rem 2.5rem;
	font-size: 0.9375rem;
	line-height: 1.7;
	color: #333;
}

.article-content p {
	margin: 0 0 1.25rem;
}

.article-content h2 {
	font-size: 1.375rem;
	font-weight: 700;
	color: #191970;
	margin: 2rem 0 0.875rem;
	font-family: 'Georgia', 'Times New Roman', serif;
	line-height: 1.3;
}

.article-content h3 {
	font-size: 1.25rem;
	font-weight: 700;
	color: #191970;
	margin: 1.75rem 0 0.875rem;
	font-family: 'Georgia', 'Times New Roman', serif;
	line-height: 1.3;
}

.article-content h4 {
	font-size: 1.125rem;
	font-weight: 700;
	color: #191970;
	margin: 1.5rem 0 0.75rem;
}

.article-content ul,
.article-content ol {
	margin: 0 0 1.25rem 1.75rem;
	padding: 0;
}

.article-content li {
	margin-bottom: 0.375rem;
}

.article-content blockquote {
	margin: 1.5rem 0;
	padding: 1.25rem 1.5rem;
	background: #f9f9f9;
	border-left: 4px solid #4169e1;
	font-size: 1rem;
	font-style: italic;
	color: #555;
}

.article-content img {
	max-width: 100%;
	height: auto;
	border-radius: 4px;
	margin: 1.25rem 0;
}

.article-content a {
	color: #4169e1;
	text-decoration: underline;
	transition: color 0.3s ease;
}

.article-content a:hover {
	color: #191970;
}

.article-content code {
	background: #f5f5f5;
	padding: 0.125rem 0.375rem;
	border-radius: 3px;
	font-size: 0.9em;
	font-family: 'Courier New', monospace;
}

.article-content pre {
	background: #2d2d2d;
	color: #f8f8f2;
	padding: 1.25rem;
	border-radius: 4px;
	overflow-x: auto;
	margin: 1.25rem 0;
	font-size: 0.875rem;
}

.article-content pre code {
	background: none;
	padding: 0;
	color: inherit;
}

/* Page Links */
.page-links {
	margin-top: 1.5rem;
	padding-top: 1.5rem;
	border-top: 1px solid #e6e6e6;
	font-weight: 600;
	font-size: 0.875rem;
}

.page-links a {
	display: inline-block;
	padding: 0.5rem 1rem;
	background: #f5f5f5;
	color: #191970;
	margin: 0 0.25rem;
	border-radius: 4px;
	text-decoration: none;
	transition: background 0.3s ease;
}

.page-links a:hover {
	background: #4169e1;
	color: #fff;
}

/* Article Footer */
.article-footer {
	padding: 1.5rem 2.5rem 2rem;
	border-top: 1px solid #e6e6e6;
}

.article-tags {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 0.625rem;
}

.tags-icon {
	width: 16px;
	height: 16px;
	stroke: #666;
	stroke-width: 2;
	stroke-linecap: round;
	stroke-linejoin: round;
	flex-shrink: 0;
}

.article-tags a {
	display: inline-block;
	background: #f5f5f5;
	color: #666;
	padding: 0.375rem 0.75rem;
	border-radius: 4px;
	font-size: 0.8125rem;
	text-decoration: none;
	transition: all 0.3s ease;
}

.article-tags a:hover {
	background: #4169e1;
	color: #fff;
}

/* Comments Section */
.comments-section {
	background: #fff;
	padding: 2rem 2.5rem;
	border-radius: 8px;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
	margin-bottom: 2rem;
}

/* Responsive Single Article */
@media screen and (max-width: 992px) {
	.article-header {
		padding: 1.75rem 1.75rem 1.25rem;
	}

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

	.article-content {
		padding: 1.75rem;
		font-size: 0.9375rem;
	}

	.article-footer {
		padding: 1.25rem 1.75rem 1.5rem;
	}

	.comments-section {
		padding: 1.75rem;
	}

	.image-caption {
		padding: 0.875rem 1.75rem;
	}

	.article-featured-image {
		max-width: 100%;
	}

	.article-featured-image img {
		max-height: 280px;
	}
}

@media screen and (max-width: 768px) {
	.article-header {
		padding: 1.5rem 1.5rem 1.125rem;
	}

	.article-title {
		font-size: 1.375rem;
	}

	.article-meta {
		gap: 1rem;
		font-size: 0.8125rem;
	}

	.article-content {
		padding: 1.5rem;
		font-size: 0.875rem;
	}

	.article-content h2 {
		font-size: 1.25rem;
		margin: 1.75rem 0 0.75rem;
	}

	.article-content h3 {
		font-size: 1.125rem;
		margin: 1.5rem 0 0.625rem;
	}

	.article-footer {
		padding: 1.125rem 1.5rem 1.25rem;
	}

	.comments-section {
		padding: 1.5rem;
	}

	.image-caption {
		padding: 0.75rem 1.5rem;
	}

	.article-featured-image img {
		max-height: 250px;
	}
	
	.article-share-bottom {
		margin: 2rem 0 1.5rem;
		padding: 1.75rem 1.25rem;
	}
	
	.share-bottom-title {
		font-size: 1.125rem;
		margin-bottom: 1rem;
	}
	
	.share-buttons-bottom {
		gap: 0.5rem;
	}
	
	.share-btn-bottom {
		padding: 0.625rem 0.875rem;
		font-size: 0.75rem;
	}
	
	.share-btn-bottom svg {
		width: 16px;
		height: 16px;
	}
}

@media screen and (max-width: 480px) {
	.article-header {
		padding: 1.125rem 1.125rem 0.875rem;
	}

	.article-title {
		font-size: 1.25rem;
	}

	.article-meta {
		flex-direction: column;
		gap: 0.5rem;
		align-items: flex-start;
		font-size: 0.75rem;
	}
	
	.article-share {
		flex-direction: column;
		align-items: flex-start;
		gap: 0.75rem;
		padding-top: 1rem;
		margin-top: 1rem;
	}
	
	.share-label {
		font-size: 0.8rem;
	}
	
	.share-btn {
		width: 36px;
		height: 36px;
	}
	
	.share-btn svg {
		width: 18px;
		height: 18px;
	}

	.article-content {
		padding: 1.125rem;
		font-size: 0.8125rem;
		line-height: 1.65;
	}

	.article-content h2 {
		font-size: 1.125rem;
	}

	.article-content h3 {
		font-size: 1rem;
	}

	.article-content ul,
	.article-content ol {
		margin-left: 1.125rem;
	}

	.article-content blockquote {
		padding: 0.875rem 1.125rem;
		margin: 1.125rem 0;
		font-size: 0.9375rem;
	}

	.article-footer {
		padding: 0.875rem 1.125rem 1.125rem;
	}

	.comments-section {
		padding: 1.125rem;
	}

	.image-caption {
		padding: 0.625rem 1.125rem;
		font-size: 0.75rem;
	}

	.article-featured-image img {
		max-height: 200px;
	}
	
	.article-share-bottom {
		margin: 1.5rem 0 1rem;
		padding: 1.5rem 1rem;
		border-radius: 8px;
	}
	
	.share-bottom-title {
		font-size: 1rem;
		margin-bottom: 1rem;
		line-height: 1.4;
	}
	
	.share-buttons-bottom {
		gap: 0.5rem;
		flex-direction: column;
	}
	
	.share-btn-bottom {
		width: 100%;
		padding: 0.75rem 1rem;
		font-size: 0.8125rem;
		justify-content: center;
	}
	
	.share-btn-bottom svg {
		width: 16px;
		height: 16px;
	}
}

/* Responsive Category Archive */
@media screen and (max-width: 992px) {
	.category-archive-grid {
		grid-template-columns: repeat(2, 1fr);
		gap: 1rem;
	}

	.category-header {
		padding: 1.5rem;
	}

	.category-articles-section {
		padding: 1.5rem;
	}

	.category-archive-title {
		font-size: 1.75rem;
	}
}

@media screen and (max-width: 768px) {
	.category-archive-grid {
		grid-template-columns: 1fr;
		gap: 1rem;
	}

	.category-header {
		padding: 1.25rem;
	}

	.category-articles-section {
		padding: 1.25rem;
	}

	.category-archive-title {
		font-size: 1.5rem;
	}

	.archive-description {
		font-size: 0.875rem;
	}
}

@media screen and (max-width: 480px) {
	.category-archive-grid {
		grid-template-columns: 1fr;
		gap: 0.75rem;
	}

	.category-header {
		padding: 1rem;
	}

	.category-articles-section {
		padding: 1rem;
	}

	.category-archive-title {
		font-size: 1.25rem;
	}

	.pagination a,
	.pagination .current {
		padding: 0.375rem 0.75rem;
		font-size: 0.875rem;
	}
}

.most-read-posts {
	display: flex;
	flex-direction: column;
	gap: 1rem;
}

.most-read-item {
	display: flex;
	gap: 0.625rem;
	padding-bottom: 1rem;
	border-bottom: 1px solid #e6e6e6;
}

.most-read-item:last-child {
	border-bottom: none;
	padding-bottom: 0;
}

.most-read-thumbnail {
	flex-shrink: 0;
	width: 50px;
	height: 50px;
	border-radius: 4px;
	overflow: hidden;
}

.most-read-thumbnail img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	object-position: center;
	transition: transform 0.3s ease;
}

.most-read-thumbnail:hover img {
	transform: scale(1.1);
}

.most-read-content {
	flex: 1;
	min-width: 0;
}

.most-read-title {
	margin: 0 0 0.375rem;
	font-size: 0.85rem;
	line-height: 1.3;
	font-weight: 600;
}

.most-read-title a {
	color: #191970;
	text-decoration: none;
	transition: color 0.3s ease;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.most-read-title a:hover,
.most-read-title a:focus {
	color: #4169e1;
}

.most-read-excerpt {
	font-size: 0.75rem;
	line-height: 1.4;
	color: #666;
	margin: 0 0 0.375rem;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.most-read-meta {
	font-size: 0.7rem;
	color: #999;
}

.post-date {
	display: inline-block;
}

/* Responsive Adjustments */
@media screen and (max-width: 992px) {
	.container-main {
		padding: 1.5rem 1.5rem;
	}

	.row-main {
		gap: 1.5rem;
	}

	.recent-news-section {
		padding: 1.5rem;
	}

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

	.news-grid {
		grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
		gap: 1rem;
	}

	.news-card-image {
		height: 130px;
	}

	.news-card-content {
		padding: 0.75rem;
	}

	.news-card-title {
		font-size: 0.9rem;
	}

	.category-grid {
		grid-template-columns: repeat(4, 1fr);
		gap: 0.625rem;
	}
	
	.category-grid .news-card-image {
		height: 100px;
	}
	
	.category-grid .news-card-content {
		padding: 0.5rem;
	}
	
	.category-grid .news-card-title {
		font-size: 0.8rem;
	}
	
	.category-grid .news-card-excerpt {
		font-size: 0.65rem;
	}

	.category-news-section {
		padding: 1.5rem;
	}
}

@media screen and (max-width: 768px) {
	.container-main {
		padding: 1.25rem 1.25rem;
	}

	.row-main {
		gap: 1.25rem;
	}

	.col-md-9,
	.col-md-3 {
		flex: 1 1 100%;
		max-width: 100%;
	}

	.recent-news-section,
	.most-read-section,
	.category-news-section {
		padding: 1.25rem;
	}

	.section-title {
		font-size: 1.35rem;
	}

	.most-read-section {
		position: static;
	}

	.news-grid {
		grid-template-columns: 1fr;
		gap: 0.875rem;
	}

	.news-card-image {
		height: 120px;
	}

	.news-card-content {
		padding: 0.75rem;
	}

	.news-card-title {
		font-size: 0.875rem;
	}

	.news-card-excerpt {
		font-size: 0.7rem;
	}

	.category-grid {
		grid-template-columns: repeat(2, 1fr);
		gap: 1rem;
	}
	
	.category-grid .news-card-image {
		height: 120px;
	}
	
	.category-grid .news-card-content {
		padding: 0.75rem;
	}
	
	.category-grid .news-card-title {
		font-size: 0.875rem;
		line-height: 1.3;
	}
	
	.category-grid .news-card-excerpt {
		font-size: 0.75rem;
		-webkit-line-clamp: 2;
		line-clamp: 2;
	}
	
	.category-grid .news-card-meta {
		font-size: 0.7rem;
	}
	
	.category-grid .news-card-read-more {
		font-size: 0.75rem;
	}
}

@media screen and (max-width: 480px) {
	.container-main {
		padding: 1rem 1rem;
	}

	.recent-news-section,
	.most-read-section,
	.category-news-section {
		padding: 1rem;
	}

	.section-title {
		font-size: 1.25rem;
		margin-bottom: 1rem;
	}

	.news-card-image {
		height: 110px;
	}

	.news-card-content {
		padding: 0.625rem;
	}

	.news-card-title {
		font-size: 0.85rem;
		margin-bottom: 0.3rem;
	}

	.news-card-excerpt {
		font-size: 0.7rem;
		margin-bottom: 0.375rem;
	}

	.news-card-meta {
		font-size: 0.65rem;
		margin-bottom: 0.3rem;
	}

	.news-card-read-more {
		font-size: 0.7rem;
	}

	.category-grid {
		grid-template-columns: repeat(2, 1fr);
		gap: 0.75rem;
	}
	
	.category-grid .news-card {
		border-radius: 6px;
	}
	
	.category-grid .news-card-image {
		height: 110px;
	}
	
	.category-grid .news-card-content {
		padding: 0.625rem;
	}
	
	.category-grid .news-card-title {
		font-size: 0.8rem;
		line-height: 1.25;
		margin-bottom: 0.3rem;
	}
	
	.category-grid .news-card-excerpt {
		font-size: 0.7rem;
		line-height: 1.3;
		margin-bottom: 0.375rem;
		-webkit-line-clamp: 2;
		line-clamp: 2;
	}
	
	.category-grid .news-card-meta {
		font-size: 0.65rem;
		margin-bottom: 0.3rem;
		gap: 0.5rem;
	}
	
	.category-grid .news-card-footer {
		padding-top: 0.5rem;
	}
	
	.category-grid .news-card-read-more {
		font-size: 0.7rem;
	}

	.news-card-image {
		height: 100px;
	}

	.news-card-content {
		padding: 0.5rem;
	}

	.news-card-title {
		font-size: 0.8rem;
	}

	.news-card-excerpt {
		font-size: 0.65rem;
	}

	.news-card-meta {
		font-size: 0.65rem;
	}

	.most-read-item {
		gap: 0.625rem;
	}

	.most-read-thumbnail {
		width: 45px;
		height: 45px;
	}

	.most-read-title {
		font-size: 0.8rem;
		margin-bottom: 0.25rem;
	}

	.most-read-excerpt {
		font-size: 0.7rem;
		-webkit-line-clamp: 2;
		line-clamp: 2;
	}

	.most-read-meta {
		font-size: 0.65rem;
	}
}

/* About Page
--------------------------------------------- */
.about-page-main,
.contact-page-main,
.legal-page-main {
	flex: 1 1 100%;
	max-width: 100%;
	width: 100%;
}


/* About Page - EXACT COPY of Post/Single Article styling */
.about-page {
	background: #fff;
	border-radius: 8px;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
	overflow: hidden;
	margin-bottom: 2rem;
}

.about-header {
	padding: 2rem 2.5rem 1.5rem;
	border-bottom: 1px solid #e6e6e6;
	text-align: left;
}

.about-title {
	font-size: 1.75rem;
	font-weight: 700;
	line-height: 1.3;
	color: #191970;
	margin: 0 0 1rem;
	font-family: 'Georgia', 'Times New Roman', serif;
	letter-spacing: -0.01em;
	text-align: left;
}

.about-excerpt {
	font-size: 0.875rem;
	line-height: 1.6;
	color: #666;
	margin: 0;
	text-align: left;
}

.about-excerpt p {
	margin: 0;
	text-align: left;
}

.about-featured-image {
	width: 100%;
	max-width: 900px;
	margin: 0 auto;
}

.about-featured-image img {
	width: 100%;
	height: auto;
	display: block;
}

.about-content {
	padding: 2rem 2.5rem;
	font-size: 0.9375rem;
	line-height: 1.7;
	color: #333;
}

.about-intro-section {
	padding: 0;
	max-width: 100%;
	margin: 0 0 0 0;
}

.about-intro-section {
	text-align: left;
}

.about-intro-section p {
	font-size: 0.9375rem;
	line-height: 1.7;
	color: #555;
	margin-bottom: 1.25rem;
	text-align: left;
}

.about-intro-section p:last-child {
	margin-bottom: 0;
}

/* About Page - Hero Section */
.about-hero {
	background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
	padding: 3rem 2rem;
	border-radius: 12px;
	margin-bottom: 2.5rem;
	box-shadow: 0 8px 25px rgba(102, 126, 234, 0.2);
}

.about-hero h2 {
	color: #fff;
	font-size: 2rem;
	font-weight: 700;
	margin: 0 0 1.25rem;
	text-align: center;
	font-family: 'Georgia', 'Times New Roman', serif;
}

.about-hero .hero-text {
	color: #fff;
	font-size: 1.125rem;
	line-height: 1.8;
	margin: 0;
	text-align: center;
}

/* About Story Section */
.about-story {
	background: #fff;
	border: 2px solid #e6e6e6;
	border-radius: 12px;
	padding: 2rem;
	margin-bottom: 2.5rem;
	border-left: 5px solid #4169e1;
}

.about-story h3 {
	color: #191970;
	font-size: 1.75rem;
	font-weight: 700;
	margin: 0 0 1.25rem;
	font-family: 'Georgia', 'Times New Roman', serif;
	text-align: left;
}

.about-story p {
	font-size: 1rem;
	line-height: 1.8;
	color: #555;
	margin: 0 0 1rem;
	text-align: left;
}

.about-story p:last-child {
	margin-bottom: 0;
}

/* About Difference Section */
.about-difference {
	background: #f8f9ff;
	border: 2px solid #4169e1;
	border-radius: 12px;
	padding: 2rem;
	margin-bottom: 2.5rem;
}

.about-difference h3 {
	color: #191970;
	font-size: 1.75rem;
	font-weight: 700;
	margin: 0 0 1.25rem;
	font-family: 'Georgia', 'Times New Roman', serif;
	text-align: left;
}

.about-difference p {
	font-size: 1rem;
	line-height: 1.8;
	color: #555;
	margin: 0 0 1.25rem;
	text-align: left;
}

.about-difference ul {
	list-style: none;
	padding: 0;
	margin: 0;
}

.about-difference li {
	font-size: 0.9375rem;
	line-height: 1.7;
	color: #555;
	margin-bottom: 1.25rem;
	padding-left: 2rem;
	position: relative;
	text-align: left;
}

.about-difference li::before {
	content: '✓';
	position: absolute;
	left: 0;
	color: #4169e1;
	font-weight: bold;
	font-size: 1.25rem;
}

.about-difference li:last-child {
	margin-bottom: 0;
}

.about-difference li strong {
	color: #191970;
	font-weight: 700;
}

/* About Stats Section */
.about-stats {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 1.5rem;
	margin-bottom: 2.5rem;
}

.stat-item {
	background: #f0f4ff;
	border: 2px solid #4169e1;
	border-radius: 12px;
	padding: 2rem 1rem;
	text-align: center;
	transition: all 0.3s ease;
}

.stat-item:hover {
	transform: translateY(-5px);
	box-shadow: 0 8px 20px rgba(65, 105, 225, 0.2);
	background: #4169e1;
}

.stat-item:hover .stat-number,
.stat-item:hover .stat-label {
	color: #fff;
}

.stat-number {
	font-size: 2.5rem;
	font-weight: 700;
	color: #191970;
	margin-bottom: 0.5rem;
	font-family: 'Georgia', 'Times New Roman', serif;
	transition: color 0.3s ease;
}

.stat-label {
	font-size: 0.95rem;
	color: #666;
	font-weight: 600;
	transition: color 0.3s ease;
}

.about-sections {
	padding: 2rem 0 0;
	background: transparent;
	max-width: 100%;
	margin: 0 0 2.5rem;
}

.values-section-title {
	font-size: 2rem;
	font-weight: 700;
	color: #191970;
	margin: 0 0 2rem;
	text-align: center;
	font-family: 'Georgia', 'Times New Roman', serif;
}

.section-icon-emoji {
	font-size: 3.5rem;
	margin-bottom: 1rem;
	text-align: center;
}

.about-section-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 2rem;
	max-width: 100%;
	margin: 0;
}

.about-section-item {
	text-align: center;
	padding: 2rem;
	background: #fff;
	border-radius: 8px;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
	transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.about-section-item:hover {
	transform: translateY(-5px);
	box-shadow: 0 4px 16px rgba(0, 0, 0, 0.1);
}

.section-icon {
	margin-bottom: 1rem;
	display: flex;
	justify-content: center;
}

.section-item-title {
	font-size: 1.25rem;
	font-weight: 700;
	color: #191970;
	margin: 0 0 0.875rem;
	font-family: 'Georgia', 'Times New Roman', serif;
}

.section-item-text {
	font-size: 0.9375rem;
	line-height: 1.6;
	color: #666;
	margin: 0;
}

.about-team-section {
	padding: 3rem 3.5rem;
	text-align: center;
	max-width: 900px;
	margin: 0 auto;
}

.team-section-title {
	font-size: 2rem;
	font-weight: 700;
	color: #191970;
	margin: 0 0 1rem;
	font-family: 'Georgia', 'Times New Roman', serif;
}

.team-section-description {
	font-size: 1rem;
	line-height: 1.7;
	color: #666;
}

.about-why-section {
	padding: 2rem 0 0;
	max-width: 100%;
	margin: 0;
}

.why-section-title {
	font-size: 2rem;
	font-weight: 700;
	color: #191970;
	margin: 0 0 2rem;
	text-align: center;
	font-family: 'Georgia', 'Times New Roman', serif;
}

.why-items-grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 2rem;
	max-width: 100%;
	margin: 0;
}

.why-item {
	padding: 1.5rem;
	background: #f9f9f9;
	border-radius: 8px;
	border-left: 4px solid #4169e1;
}

.why-item h4 {
	font-size: 1.125rem;
	font-weight: 700;
	color: #191970;
	margin: 0 0 0.75rem;
	font-family: 'Georgia', 'Times New Roman', serif;
}

.why-item p {
	font-size: 0.9375rem;
	line-height: 1.6;
	color: #666;
	margin: 0;
}

.why-icon {
	font-size: 3rem;
	margin-bottom: 1rem;
	text-align: center;
}

/* Why Choose Section */
.about-choose-section {
	padding: 3rem 0;
	margin: 2.5rem 0;
	background: linear-gradient(to bottom, #f9f9f9 0%, #fff 100%);
	border-radius: 12px;
}

.choose-section-title {
	font-size: 2rem;
	font-weight: 700;
	color: #191970;
	margin: 0 0 2.5rem;
	text-align: center;
	font-family: 'Georgia', 'Times New Roman', serif;
}

.choose-items-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 2rem;
	padding: 0 2rem;
}

.choose-item {
	background: #fff;
	padding: 2rem;
	border-radius: 12px;
	border: 2px solid #e6e6e6;
	transition: all 0.3s ease;
	text-align: center;
}

.choose-item:hover {
	border-color: #4169e1;
	transform: translateY(-5px);
	box-shadow: 0 8px 20px rgba(65, 105, 225, 0.15);
}

.choose-item h4 {
	font-size: 1.125rem;
	font-weight: 700;
	color: #191970;
	margin: 0 0 1rem;
	font-family: 'Georgia', 'Times New Roman', serif;
}

.choose-item p {
	font-size: 0.9375rem;
	line-height: 1.6;
	color: #666;
	margin: 0;
}

/* CTA Section */
.about-cta {
	background: linear-gradient(135deg, #191970 0%, #4169e1 100%);
	padding: 3rem 2rem;
	border-radius: 12px;
	text-align: center;
	margin-top: 3rem;
	box-shadow: 0 8px 25px rgba(25, 25, 112, 0.3);
}

.about-cta h2 {
	color: #fff;
	font-size: 2rem;
	font-weight: 700;
	margin: 0 0 1.25rem;
	font-family: 'Georgia', 'Times New Roman', serif;
}

.about-cta p {
	color: #fff;
	font-size: 1.125rem;
	line-height: 1.8;
	margin: 0 0 2rem;
	max-width: 700px;
	margin-left: auto;
	margin-right: auto;
}

.cta-buttons {
	display: flex;
	gap: 1.5rem;
	justify-content: center;
	flex-wrap: wrap;
}

.cta-button {
	display: inline-block;
	padding: 1rem 2.5rem;
	border-radius: 50px;
	font-size: 1rem;
	font-weight: 700;
	text-decoration: none;
	transition: all 0.3s ease;
	box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2);
}

.cta-button.primary {
	background: #fff;
	color: #191970;
}

.cta-button.primary:hover {
	background: #f0f4ff;
	transform: translateY(-3px);
	box-shadow: 0 6px 20px rgba(0, 0, 0, 0.3);
}

.cta-button.secondary {
	background: transparent;
	color: #fff;
	border: 2px solid #fff;
}

.cta-button.secondary:hover {
	background: rgba(255, 255, 255, 0.1);
	transform: translateY(-3px);
	box-shadow: 0 6px 20px rgba(0, 0, 0, 0.3);
}

/* Contact Page - EXACT COPY of Post/Single Article styling
--------------------------------------------- */
.contact-page {
	background: #fff;
	border-radius: 8px;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
	overflow: hidden;
	margin-bottom: 2rem;
}

.contact-header {
	padding: 2rem 2.5rem 1.5rem;
	border-bottom: 1px solid #e6e6e6;
	text-align: left;
}

.contact-title {
	font-size: 1.75rem;
	font-weight: 700;
	line-height: 1.3;
	color: #191970;
	margin: 0 0 1rem;
	font-family: 'Georgia', 'Times New Roman', serif;
	letter-spacing: -0.01em;
	text-align: left;
}

.contact-excerpt {
	font-size: 0.875rem;
	line-height: 1.6;
	color: #666;
	margin: 0;
	text-align: left;
}

.contact-excerpt p {
	text-align: left;
}

.contact-content-wrapper {
	display: grid;
	grid-template-columns: 3.5fr 0.35fr;
	gap: 2rem;
	padding: 2rem 2.5rem;
}

.contact-info-title {
	font-size: 1.5rem;
	font-weight: 700;
	color: #191970;
	margin: 0 0 1.5rem;
	font-family: 'Georgia', 'Times New Roman', serif;
	text-align: center;
}

.contact-form-title {
	font-size: 1.125rem;
	font-weight: 700;
	color: #191970;
	margin: 0 0 0.75rem;
	font-family: 'Georgia', 'Times New Roman', serif;
	text-align: center;
}

.contact-info-items {
	display: flex;
	flex-direction: column;
	gap: 1.5rem;
}

.contact-info-item {
	display: flex;
	gap: 1rem;
	align-items: flex-start;
	text-align: left;
}

.contact-icon {
	flex-shrink: 0;
	width: 50px;
	height: 50px;
	background: #f0f4ff;
	border-radius: 8px;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #4169e1;
}

.contact-info-content {
	flex: 1;
}

.contact-info-content h4 {
	font-size: 1rem;
	font-weight: 700;
	color: #191970;
	margin: 0 0 0.375rem;
	text-align: left;
}

.contact-info-content p {
	font-size: 0.875rem;
	line-height: 1.6;
	color: #666;
	margin: 0;
	text-align: left;
}

.contact-info-content p strong {
	color: #191970;
	font-weight: 600;
	display: inline-block;
	min-width: 140px;
}

/* Contact Page - Primary Group */
.contact-primary-group {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
	gap: 1.25rem;
	margin-bottom: 2.5rem;
}

/* Contact Section Heading */
.contact-section-heading {
	font-size: 1.25rem;
	font-weight: 700;
	color: #191970;
	margin: 0 0 1.25rem;
	padding-bottom: 0.625rem;
	border-bottom: 2px solid #4169e1;
	font-family: 'Georgia', 'Times New Roman', serif;
	text-align: center;
}

/* Departments Grid */
.contact-departments {
	margin-bottom: 2.5rem;
}

.departments-grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 1rem;
}

.department-item {
	background: #f8f9ff;
	padding: 1.25rem;
	border-radius: 8px;
	border-left: 3px solid #4169e1;
	transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.department-item:hover {
	transform: translateY(-2px);
	box-shadow: 0 4px 12px rgba(65, 105, 225, 0.15);
}

.department-item h5 {
	font-size: 1rem;
	font-weight: 700;
	color: #191970;
	margin: 0 0 0.5rem;
	text-align: center;
}

.department-item p {
	font-size: 0.875rem;
	color: #555;
	margin: 0;
	text-align: center;
	line-height: 1.6;
}

/* Operating Hours */
.contact-hours {
	margin-bottom: 2.5rem;
}

.hours-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 1rem;
}

.hours-item {
	background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
	padding: 1.25rem;
	border-radius: 8px;
	text-align: center;
	color: #fff;
	box-shadow: 0 4px 15px rgba(102, 126, 234, 0.2);
}

.hours-item strong {
	display: block;
	font-size: 1rem;
	font-weight: 700;
	margin-bottom: 0.5rem;
	text-transform: uppercase;
	letter-spacing: 0.5px;
}

.hours-item p {
	font-size: 0.875rem;
	margin: 0;
	opacity: 0.95;
}

/* Regional Bureaus */
.contact-regional {
	margin-bottom: 2.5rem;
}

.regional-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 1rem;
}

.regional-item {
	background: #fff;
	padding: 1rem;
	border-radius: 8px;
	border: 2px solid #e6e6e6;
	text-align: center;
	transition: all 0.3s ease;
}

.regional-item:hover {
	border-color: #4169e1;
	background: #f0f4ff;
}

.regional-item strong {
	display: block;
	font-size: 0.9rem;
	font-weight: 700;
	color: #191970;
	margin-bottom: 0.375rem;
}

.regional-item p {
	font-size: 0.875rem;
	color: #666;
	margin: 0;
}

/* Social Media Links */
.contact-social {
	margin-bottom: 1rem;
}

.social-links-list {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 0.875rem;
}

.social-link-item {
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 1rem;
	background: #f8f9ff;
	border: 2px solid #e6e6e6;
	border-radius: 8px;
	color: #191970;
	text-decoration: none;
	font-weight: 600;
	font-size: 0.875rem;
	transition: all 0.3s ease;
}

.social-link-item:hover {
	background: #4169e1;
	color: #fff;
	border-color: #4169e1;
	transform: translateY(-2px);
	box-shadow: 0 4px 12px rgba(65, 105, 225, 0.2);
}

.contact-form {
	display: flex;
	flex-direction: column;
	gap: 0.75rem;
}

.form-row {
	display: grid;
	grid-template-columns: 1fr;
	gap: 0.75rem;
}

.form-group {
	display: flex;
	flex-direction: column;
}

.form-group label {
	font-size: 0.75rem;
	font-weight: 600;
	color: #333;
	margin-bottom: 0.25rem;
}

.form-control {
	padding: 0.5rem;
	border: 1px solid #e6e6e6;
	border-radius: 4px;
	font-size: 0.8125rem;
	color: #333;
	transition: border-color 0.3s ease, box-shadow 0.3s ease;
	width: 100%;
	background: #fff;
}

.form-control::placeholder {
	color: #999;
}

.form-control:focus {
	outline: none;
	border-color: #4169e1;
	box-shadow: 0 0 0 3px rgba(65, 105, 225, 0.1);
}

textarea.form-control {
	resize: vertical;
	min-height: 100px;
	font-family: inherit;
}

select.form-control {
	cursor: pointer;
	appearance: none;
	background-image: url("data:image/svg+xml,%3Csvg width='12' height='8' viewBox='0 0 12 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1L6 6L11 1' stroke='%23666' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 0.75rem center;
	padding-right: 2.5rem;
}

.contact-submit-button {
	padding: 0.625rem 1.25rem;
	background: #4169e1;
	color: #fff;
	border: none;
	border-radius: 4px;
	font-size: 0.8125rem;
	font-weight: 600;
	cursor: pointer;
	transition: background 0.3s ease;
	display: inline-flex;
	align-items: center;
	gap: 0.375rem;
	align-self: flex-start;
	width: 100%;
	justify-content: center;
}

.contact-submit-button:hover {
	background: #191970;
}

.contact-submit-button svg {
	width: 14px;
	height: 14px;
}

.contact-additional-content {
	padding: 2rem 2.5rem;
	border-top: 1px solid #e6e6e6;
	font-size: 0.9375rem;
	line-height: 1.7;
	color: #333;
}

/* Legal Pages (Terms & Privacy) - EXACT COPY of Post/Single Article styling
--------------------------------------------- */
.legal-page {
	background: #fff;
	border-radius: 8px;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
	overflow: hidden;
	margin-bottom: 2rem;
}

.legal-header {
	padding: 2rem 2.5rem 1.5rem;
	border-bottom: 1px solid #e6e6e6;
	text-align: left;
}

.legal-title {
	font-size: 1.75rem;
	font-weight: 700;
	line-height: 1.3;
	color: #191970;
	margin: 0 0 1rem;
	font-family: 'Georgia', 'Times New Roman', serif;
	letter-spacing: -0.01em;
	text-align: left;
}

.legal-meta {
	font-size: 0.875rem;
	color: #666;
	margin-bottom: 1rem;
	text-align: left;
}

.legal-meta p {
	margin: 0;
	text-align: left;
}

.legal-excerpt {
	font-size: 0.875rem;
	line-height: 1.6;
	color: #666;
	margin: 0;
	text-align: left;
}

.legal-excerpt p {
	margin: 0;
	text-align: left;
}

.legal-content {
	padding: 2rem 2.5rem;
	font-size: 0.9375rem;
	line-height: 1.7;
	color: #333;
}

/* WordPress Content Alignment - Match article-content styles */
.legal-content > *,
.about-content > * {
	text-align: left;
	margin-left: 0;
	margin-right: 0;
	max-width: 100%;
}

.legal-content p,
.about-content p {
	margin: 0 0 1.25rem;
}

.legal-content div,
.legal-content section {
	text-align: left;
}

.legal-content .wp-block-group,
.legal-content .wp-block-columns {
	margin: 1.5rem 0;
}

.legal-content h1,
.legal-content h2,
.legal-content h3,
.legal-content h4,
.legal-content h5,
.legal-content h6 {
	text-align: left;
	margin: 0 0 1rem 0;
	color: #191970;
	font-family: 'Georgia', 'Times New Roman', serif;
	font-weight: 700;
}

.legal-content h1 {
	font-size: 2rem;
}

.legal-content h2 {
	font-size: 1.5rem;
	margin-top: 2.5rem;
}

.legal-content h3 {
	font-size: 1.25rem;
	margin-top: 2rem;
}

.legal-content h4,
.legal-content h5,
.legal-content h6 {
	font-size: 1.1rem;
	margin-top: 1.5rem;
}

.legal-content p {
	font-size: 0.9375rem;
	line-height: 1.7;
	color: #555;
	margin: 0 0 1rem 0;
	text-align: left;
}

.legal-content p:first-child {
	margin-top: 0;
}

.legal-content ul,
.legal-content ol {
	margin: 0 0 1rem 0;
	padding: 0 0 0 1.5rem;
	list-style-position: outside;
	text-align: left;
}

.legal-content li {
	font-size: 0.9375rem;
	line-height: 1.7;
	color: #555;
	margin-bottom: 0.5rem;
	padding-left: 0.25rem;
	text-align: left;
}

.legal-content li:last-child {
	margin-bottom: 0;
}

.legal-content ul ul,
.legal-content ol ol,
.legal-content ul ol,
.legal-content ol ul {
	margin-top: 0.5rem;
	margin-bottom: 0.5rem;
}

.legal-content blockquote {
	margin: 1.5rem 0;
	padding: 1rem 1.5rem;
	border-left: 4px solid #191970;
	background: #f9f9f9;
	font-style: italic;
	color: #666;
}

.legal-content strong,
.legal-content b {
	font-weight: 700;
	color: #333;
}

.legal-content em,
.legal-content i {
	font-style: italic;
}

.legal-content a {
	color: #191970;
	text-decoration: underline;
}

.legal-content a:hover {
	color: #0f0f50;
}

/* WordPress alignment classes */
.legal-content .alignleft {
	float: left;
	margin: 0.5rem 1.5rem 1rem 0;
}

.legal-content .alignright {
	float: right;
	margin: 0.5rem 0 1rem 1.5rem;
}

.legal-content .aligncenter {
	display: block;
	margin-left: auto;
	margin-right: auto;
	text-align: center;
}

.legal-content .alignnone {
	text-align: left;
}

/* WordPress Blocks Support */
.legal-content .wp-block-image {
	margin: 1.5rem 0;
	text-align: left;
}

.legal-content .wp-block-image.aligncenter {
	text-align: center;
}

.legal-content .wp-block-quote {
	margin: 1.5rem 0;
	padding: 1rem 1.5rem;
	border-left: 4px solid #191970;
	background: #f9f9f9;
}

.legal-content .wp-block-table {
	margin: 1.5rem 0;
}

.legal-content table {
	width: 100%;
	border-collapse: collapse;
	margin: 1.5rem 0;
	font-size: 0.9375rem;
}

.legal-content table th,
.legal-content table td {
	padding: 0.75rem;
	border: 1px solid #ddd;
	text-align: left;
}

.legal-content table th {
	background: #f4f4f4;
	font-weight: 700;
	color: #191970;
}

.legal-content table tr:nth-child(even) {
	background: #f9f9f9;
}

.legal-content img {
	max-width: 100%;
	height: auto;
	display: block;
}

.legal-content figure {
	margin: 1.5rem 0;
	text-align: left;
}

.legal-content figcaption {
	font-size: 0.875rem;
	color: #666;
	margin-top: 0.5rem;
	text-align: left;
}

.legal-content hr {
	border: none;
	border-top: 1px solid #e6e6e6;
	margin: 2rem 0;
}

.legal-content code {
	background: #f4f4f4;
	padding: 0.2rem 0.4rem;
	border-radius: 3px;
	font-family: 'Courier New', monospace;
	font-size: 0.875em;
}

.legal-content pre {
	background: #f4f4f4;
	padding: 1rem;
	border-radius: 4px;
	overflow-x: auto;
	margin: 1rem 0;
}

.legal-content pre code {
	background: none;
	padding: 0;
}

.legal-section {
	margin-bottom: 2.5rem;
	text-align: left;
}

.legal-section:last-child {
	margin-bottom: 0;
}

.legal-section h2 {
	font-size: 1.5rem;
	font-weight: 700;
	color: #191970;
	margin: 0 0 1rem;
	font-family: 'Georgia', 'Times New Roman', serif;
	text-align: left;
}

.legal-section p {
	font-size: 0.9375rem;
	line-height: 1.7;
	color: #555;
	margin: 0 0 1rem 0;
	text-align: left;
}

.legal-section p:last-child {
	margin-bottom: 0;
}

.legal-section ul,
.legal-section ol {
	margin: 0 0 1rem 0;
	padding: 0 0 0 1.5rem;
	list-style-position: outside;
}

.legal-section li {
	font-size: 0.9375rem;
	line-height: 1.7;
	color: #555;
	margin-bottom: 0.5rem;
	padding-left: 0.25rem;
	text-align: left;
}

.legal-section li:last-child {
	margin-bottom: 0;
}

/* Terms of Service - Card Layout */
.terms-intro {
	background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
	padding: 2rem;
	border-radius: 12px;
	color: #fff;
	text-align: center;
	margin-bottom: 2rem;
	box-shadow: 0 4px 15px rgba(102, 126, 234, 0.2);
}

.terms-intro p {
	font-size: 1rem;
	line-height: 1.7;
	margin: 0 0 0.5rem;
	color: #fff;
}

.terms-intro p:last-child {
	margin-bottom: 0;
}

/* Table of Contents */
.terms-toc {
	background: #fff;
	border: 2px solid #4169e1;
	border-radius: 12px;
	padding: 2rem;
	margin-bottom: 2.5rem;
	box-shadow: 0 4px 12px rgba(65, 105, 225, 0.1);
}

.terms-toc h3 {
	font-size: 1.5rem;
	font-weight: 700;
	color: #191970;
	margin: 0 0 1.5rem;
	text-align: center;
	font-family: 'Georgia', 'Times New Roman', serif;
}

.toc-grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 0.75rem;
}

.toc-grid a {
	display: flex;
	align-items: center;
	padding: 0.875rem 1.25rem;
	background: #f8f9ff;
	border: 2px solid #e6e6e6;
	border-radius: 8px;
	color: #191970;
	text-decoration: none;
	font-weight: 600;
	font-size: 0.9rem;
	transition: all 0.3s ease;
	position: relative;
	overflow: hidden;
}

.toc-grid a::before {
	content: '→';
	position: absolute;
	right: -30px;
	opacity: 0;
	transition: all 0.3s ease;
	color: #4169e1;
	font-size: 1.2rem;
}

.toc-grid a:hover {
	background: #4169e1;
	color: #fff;
	border-color: #4169e1;
	padding-right: 2.5rem;
	transform: translateX(5px);
}

.toc-grid a:hover::before {
	right: 1rem;
	opacity: 1;
}

.legal-sections-grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 1.5rem;
	margin-bottom: 2.5rem;
}

.legal-card {
	background: #fff;
	border: 2px solid #e6e6e6;
	border-radius: 12px;
	padding: 1.75rem;
	transition: all 0.3s ease;
	position: relative;
	overflow: hidden;
	scroll-margin-top: 100px;
}

.legal-card::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 4px;
	background: linear-gradient(90deg, #4169e1 0%, #667eea 100%);
	transform: scaleX(0);
	transition: transform 0.3s ease;
}

.legal-card:hover {
	border-color: #4169e1;
	box-shadow: 0 8px 20px rgba(65, 105, 225, 0.15);
	transform: translateY(-4px);
}

.legal-card:hover::before {
	transform: scaleX(1);
}

.legal-card:target {
	border-color: #4169e1;
	box-shadow: 0 8px 25px rgba(65, 105, 225, 0.25);
	animation: highlight-pulse 1.5s ease;
}

.legal-card:target::before {
	transform: scaleX(1);
}

@keyframes highlight-pulse {
	0%, 100% {
		box-shadow: 0 8px 25px rgba(65, 105, 225, 0.25);
	}
	50% {
		box-shadow: 0 8px 35px rgba(65, 105, 225, 0.4);
	}
}

.legal-card-icon {
	font-size: 2.5rem;
	margin-bottom: 1rem;
	text-align: center;
}

.legal-card h3 {
	font-size: 1.125rem;
	font-weight: 700;
	color: #191970;
	margin: 0 0 1rem;
	font-family: 'Georgia', 'Times New Roman', serif;
	text-align: center;
}

.legal-card p {
	font-size: 0.9375rem;
	line-height: 1.6;
	color: #555;
	margin: 0 0 0.75rem;
	text-align: center;
}

.legal-card p:last-child {
	margin-bottom: 0;
}

.legal-card ul {
	list-style: none;
	padding: 0;
	margin: 0.75rem 0;
}

.legal-card li {
	font-size: 0.875rem;
	color: #555;
	margin-bottom: 0.5rem;
	padding-left: 1.5rem;
	position: relative;
	text-align: left;
}

.legal-card li::before {
	content: '•';
	position: absolute;
	left: 0;
	color: #4169e1;
	font-weight: bold;
}

.legal-card strong {
	color: #191970;
	font-weight: 700;
	display: block;
	margin-top: 0.75rem;
	margin-bottom: 0.5rem;
}

/* Terms Summary Box */
.terms-summary-box {
	background: #f0f4ff;
	border-left: 5px solid #4169e1;
	padding: 2rem;
	border-radius: 8px;
	margin-top: 2rem;
}

.terms-summary-box h3 {
	font-size: 1.5rem;
	font-weight: 700;
	color: #191970;
	margin: 0 0 1.25rem;
	font-family: 'Georgia', 'Times New Roman', serif;
	text-align: center;
}

.terms-summary-box p {
	font-size: 1rem;
	color: #333;
	margin: 0 0 1rem;
	text-align: center;
	font-weight: 600;
}

.terms-summary-box ul {
	list-style: none;
	padding: 0;
	margin: 0;
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 0.75rem;
}

.terms-summary-box li {
	font-size: 0.9375rem;
	color: #555;
	padding: 0.75rem;
	background: #fff;
	border-radius: 6px;
	text-align: center;
	font-weight: 500;
}

/* Default Page Template Styling - Match Contact Page
--------------------------------------------- */
.page-main {
	flex: 1 1 100%;
	max-width: 100%;
	width: 100%;
}

.page-content {
	background: #fff;
	border-radius: 8px;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
	overflow: hidden;
	margin-bottom: 2rem;
}

.page-header {
	padding: 2rem 2.5rem 1.5rem;
	border-bottom: 1px solid #e6e6e6;
	text-align: left;
}

.page-title {
	font-size: 1.75rem;
	font-weight: 700;
	line-height: 1.3;
	color: #191970;
	margin: 0 0 1rem;
	font-family: 'Georgia', 'Times New Roman', serif;
	letter-spacing: -0.01em;
	text-align: left;
}

.page-excerpt {
	font-size: 0.875rem;
	line-height: 1.6;
	color: #666;
	margin: 0;
	text-align: left;
}

.page-featured-image {
	width: 100%;
	max-width: 900px;
	margin: 0 auto;
}

.page-featured-image img {
	width: 100%;
	height: auto;
	display: block;
}

/* Page content wrapper - Full width centered layout */
.page-content-wrapper {
	padding: 2rem 2.5rem;
	max-width: 900px;
	margin: 0 auto;
	font-size: 0.9375rem;
	line-height: 1.7;
	color: #333;
}

.page-content-wrapper h2 {
	font-size: 1.5rem;
	font-weight: 700;
	color: #191970;
	margin: 2rem 0 1rem;
	font-family: 'Georgia', 'Times New Roman', serif;
	text-align: left;
}

.page-content-wrapper h3 {
	font-size: 1.25rem;
	font-weight: 700;
	color: #191970;
	margin: 1.75rem 0 0.875rem;
	font-family: 'Georgia', 'Times New Roman', serif;
	text-align: left;
}

.page-content-wrapper p {
	margin: 0 0 1.25rem;
	color: #555;
	text-align: left;
}

.page-content-wrapper ul,
.page-content-wrapper ol {
	margin: 0 0 1.25rem 1.75rem;
	padding: 0;
	text-align: left;
	max-width: 100%;
}

.page-content-wrapper li {
	margin-bottom: 0.5rem;
	color: #555;
	text-align: left;
}

/* Page content wrapper using contact page grid layout */
.page-content .contact-content-wrapper {
	display: grid;
	grid-template-columns: 1.5fr 1fr;
	gap: 3rem;
	padding: 2rem 2.5rem;
	max-width: 1400px;
	margin: 0 auto;
}

/* Left section - main content */
.page-content .contact-info-section {
	font-size: 0.9375rem;
	line-height: 1.7;
	color: #333;
	text-align: left;
}

.page-content .contact-info-section h2 {
	font-size: 1.5rem;
	font-weight: 700;
	color: #191970;
	margin: 2rem 0 1rem;
	font-family: 'Georgia', 'Times New Roman', serif;
	text-align: left;
}

.page-content .contact-info-section h3 {
	font-size: 1.25rem;
	font-weight: 700;
	color: #191970;
	margin: 1.75rem 0 0.875rem;
	font-family: 'Georgia', 'Times New Roman', serif;
	text-align: left;
}

.page-content .contact-info-section p {
	margin: 0 0 1.25rem;
	color: #555;
	text-align: left;
}

.page-content .contact-info-section ul,
.page-content .contact-info-section ol {
	margin: 0 0 1.25rem 1.75rem;
	padding: 0;
	text-align: left;
}

.page-content .contact-info-section li {
	margin-bottom: 0.5rem;
	color: #555;
	text-align: left;
}

/* Right section - meta info card - Matches contact form section */
.page-content .contact-form-section {
	background: transparent;
	padding: 0;
	height: fit-content;
	max-width: 100%;
}

.page-content .contact-form-title {
	font-size: 1.5rem;
	font-weight: 700;
	color: #191970;
	margin: 0 0 1.5rem;
	font-family: 'Georgia', 'Times New Roman', serif;
	text-align: center;
}

.page-meta-info {
	background: #f0f4ff;
	padding: 1.5rem;
	border-radius: 8px;
	border-left: 4px solid #4169e1;
	text-align: left;
}

.page-meta-info p {
	font-size: 0.875rem;
	line-height: 1.6;
	color: #555;
	margin: 0 0 0.75rem;
	text-align: left;
}

.page-meta-info p:last-child {
	margin-bottom: 0;
}

.page-meta-info strong {
	color: #191970;
	font-weight: 700;
}

/* Page comments section */
.page-comments {
	margin-top: 2rem;
}

/* Responsive Page Templates */
@media screen and (max-width: 992px) {
	.page-header,
	.about-header,
	.contact-header,
	.legal-header {
		padding: 2.5rem 2.5rem 1.75rem;
	}
	
	.page-content .contact-content-wrapper {
		grid-template-columns: 1fr;
		gap: 2rem;
		padding: 2rem 2.5rem;
	}
	
	.page-content .contact-form-section {
		margin-top: 1.5rem;
	}
	
	/* Contact Page Tablet Responsive */
	.departments-grid {
		grid-template-columns: repeat(2, 1fr);
	}
	
	.hours-grid {
		grid-template-columns: repeat(3, 1fr);
	}
	
	.regional-grid {
		grid-template-columns: repeat(2, 1fr);
	}
	
	/* Terms Page Tablet Responsive */
	.legal-sections-grid {
		grid-template-columns: repeat(2, 1fr);
	}
	
	.about-title,
	.contact-title,
	.legal-title {
		font-size: 2rem;
	}

	.about-content,
	.legal-content {
		padding: 2.5rem 2.5rem 2.5rem;
	}

	.about-intro-section {
		padding: 2rem 2.5rem;
	}

	.about-sections {
		padding: 2.5rem 2.5rem;
	}

	.about-section-grid {
		grid-template-columns: 1fr;
		gap: 1.5rem;
	}

	.about-why-section {
		padding: 2.5rem 2.5rem;
	}

	.why-items-grid {
		grid-template-columns: 1fr;
		gap: 1.5rem;
	}
	
	/* About Page Responsive */
	.about-stats {
		grid-template-columns: repeat(2, 1fr);
		gap: 1rem;
	}
	
	.about-hero {
		padding: 2rem 1.5rem;
	}
	
	.about-hero h2 {
		font-size: 1.5rem;
	}
	
	.about-story {
		padding: 1.5rem;
	}
	
	.about-difference {
		padding: 1.5rem;
	}
	
	.about-difference h3 {
		font-size: 1.35rem;
	}
	
	.about-difference li {
		font-size: 0.875rem;
		padding-left: 1.75rem;
	}
	
	.choose-items-grid {
		grid-template-columns: 1fr;
		gap: 1.25rem;
		padding: 0 1.5rem;
	}
	
	.choose-section-title {
		font-size: 1.5rem;
	}
	
	.about-cta {
		padding: 2rem 1.5rem;
	}
	
	.about-cta h2 {
		font-size: 1.5rem;
	}
	
	.cta-buttons {
		flex-direction: column;
		gap: 1rem;
	}
	
	.cta-button {
		width: 100%;
		text-align: center;
	}

	.contact-content-wrapper {
		grid-template-columns: 1fr;
		gap: 2.5rem;
		padding: 2.5rem 2.5rem;
	}

	.contact-additional-content {
		padding: 2rem 2.5rem 2.5rem;
	}
}

@media screen and (max-width: 768px) {
	.page-header,
	.about-header,
	.contact-header,
	.legal-header {
		padding: 2rem 1.5rem 1.5rem;
	}

	.page-title,
	.about-title,
	.contact-title,
	.legal-title {
		font-size: 1.75rem;
	}

	.page-excerpt,
	.about-excerpt,
	.contact-excerpt,
	.legal-excerpt {
		font-size: 0.9375rem;
	}
	
	.page-content .contact-content-wrapper {
		padding: 2rem 1.5rem;
		gap: 1.5rem;
	}
	
	.page-content-wrapper {
		padding: 2rem 1.5rem;
	}
	
	.page-content-wrapper h2 {
		font-size: 1.35rem;
	}
	
	.page-content-wrapper h3 {
		font-size: 1.15rem;
	}
	
	.page-content .contact-info-section h2 {
		font-size: 1.35rem;
	}
	
	.page-content .contact-info-section h3 {
		font-size: 1.15rem;
	}
	
	.page-content .contact-info-section p {
		font-size: 0.875rem;
	}
	
	/* Contact Page Responsive */
	.departments-grid {
		grid-template-columns: 1fr;
	}
	
	.hours-grid {
		grid-template-columns: 1fr;
		gap: 0.75rem;
	}
	
	.regional-grid {
		grid-template-columns: repeat(2, 1fr);
	}
	
	.social-links-list {
		grid-template-columns: 1fr;
	}
	
	/* Terms Page Responsive */
	.legal-sections-grid {
		grid-template-columns: 1fr;
		gap: 1.25rem;
	}
	
	.terms-summary-box ul {
		grid-template-columns: 1fr;
	}
	
	.terms-intro {
		padding: 1.5rem;
	}
	
	.terms-toc {
		padding: 1.5rem;
	}
	
	.toc-grid {
		grid-template-columns: 1fr;
		gap: 0.625rem;
	}
	
	.toc-grid a {
		font-size: 0.85rem;
		padding: 0.75rem 1rem;
	}
	
	.legal-card {
		padding: 1.5rem;
	}

	.about-content,
	.legal-content {
		padding: 2rem 1.5rem;
	}

	.legal-section h2 {
		font-size: 1.35rem;
	}

	.legal-section p,
	.legal-section li {
		font-size: 0.875rem;
	}

	.legal-content h2 {
		font-size: 1.35rem;
	}

	.legal-content h3 {
		font-size: 1.15rem;
	}

	.legal-content p,
	.legal-content li {
		font-size: 0.875rem;
	}

	.about-intro-section {
		padding: 1.75rem 1.5rem;
	}

	.about-intro-section p {
		font-size: 0.9375rem;
		text-align: left;
	}

	.about-sections {
		padding: 2rem 1.5rem;
	}

	.about-why-section {
		padding: 2rem 1.5rem;
	}
	
	/* About Page Tablet Responsive */
	.about-stats {
		grid-template-columns: repeat(2, 1fr);
	}
	
	.choose-items-grid {
		grid-template-columns: repeat(2, 1fr);
	}

	.contact-content-wrapper {
		padding: 2rem 1.5rem;
	}

	.contact-additional-content {
		padding: 1.5rem 1.5rem 2rem;
	}

	.form-row {
		grid-template-columns: 1fr;
		gap: 1rem;
	}
}

@media screen and (max-width: 480px) {
	.page-header,
	.about-header,
	.contact-header,
	.legal-header {
		padding: 1.5rem 1.25rem 1.25rem;
	}

	.page-title,
	.about-title,
	.contact-title,
	.legal-title {
		font-size: 1.5rem;
	}

	.page-excerpt,
	.about-excerpt,
	.contact-excerpt,
	.legal-excerpt {
		font-size: 0.875rem;
	}
	
	.page-content .contact-content-wrapper {
		padding: 1.5rem 1.25rem;
		gap: 1.25rem;
	}
	
	.page-content .contact-info-section {
		font-size: 0.875rem;
	}
	
	.page-content .contact-info-section h2 {
		font-size: 1.25rem;
	}
	
	.page-content .contact-info-section h3 {
		font-size: 1.1rem;
	}
	
	.page-content .contact-info-section p {
		font-size: 0.8125rem;
	}
	
	.page-content .contact-form-section {
		padding: 0;
	}
	
	.page-content .contact-form-title {
		font-size: 1.125rem;
	}
	
	.page-meta-info {
		padding: 1.25rem;
	}
	
	.page-content-wrapper {
		padding: 1.5rem 1.25rem;
	}
	
	.page-content-wrapper h2 {
		font-size: 1.25rem;
	}
	
	.page-content-wrapper h3 {
		font-size: 1.1rem;
	}
	
	/* Contact Page Mobile */
	.contact-primary-group {
		grid-template-columns: 1fr;
		gap: 1rem;
	}
	
	.regional-grid {
		grid-template-columns: 1fr;
		gap: 0.75rem;
	}
	
	.contact-section-heading {
		font-size: 1.125rem;
	}
	
	.department-item,
	.regional-item,
	.hours-item {
		padding: 1rem;
	}
	
	.legal-card-icon {
		font-size: 2rem;
	}
	
	.legal-card h3 {
		font-size: 1rem;
	}
	
	.terms-summary-box {
		padding: 1.5rem;
	}
	
	.terms-summary-box h3 {
		font-size: 1.25rem;
	}

	.about-content,
	.legal-content {
		padding: 1.5rem 1.25rem;
		font-size: 0.9375rem;
	}

	.legal-section h2 {
		font-size: 1.25rem;
	}

	.legal-section p,
	.legal-section li {
		font-size: 0.8125rem;
		line-height: 1.6;
	}

	.legal-section ul {
		padding-left: 1.25rem;
	}

	.legal-content h1 {
		font-size: 1.5rem;
	}

	.legal-content h2 {
		font-size: 1.25rem;
		margin-top: 2rem;
	}

	.legal-content h3 {
		font-size: 1.1rem;
		margin-top: 1.5rem;
	}

	.legal-content h4,
	.legal-content h5,
	.legal-content h6 {
		font-size: 1rem;
	}

	.legal-content p,
	.legal-content li {
		font-size: 0.8125rem;
		line-height: 1.6;
	}

	.legal-content ul,
	.legal-content ol {
		padding-left: 1.25rem;
	}

	.legal-content blockquote {
		margin: 1rem 0;
		padding: 0.75rem 1rem;
	}

	.about-intro-section {
		padding: 1.5rem 1.25rem;
	}

	.about-intro-section p {
		font-size: 0.875rem;
	}

	.about-sections {
		padding: 1.5rem 1.25rem;
	}

	.about-team-section {
		padding: 2rem 1.25rem;
	}

	.about-why-section {
		padding: 1.5rem 1.25rem;
	}

	.why-section-title {
		font-size: 1.5rem;
	}
	
	/* About Page Small Mobile */
	.about-stats {
		grid-template-columns: 1fr;
		gap: 0.875rem;
	}
	
	.stat-item {
		padding: 1.5rem 1rem;
	}
	
	.stat-number {
		font-size: 2rem;
	}
	
	.stat-label {
		font-size: 0.875rem;
	}
	
	.about-hero {
		padding: 1.75rem 1.25rem;
	}
	
	.about-hero h2 {
		font-size: 1.375rem;
	}
	
	.about-hero .hero-text {
		font-size: 1rem;
	}
	
	.about-story {
		padding: 1.25rem;
	}
	
	.about-story h3 {
		font-size: 1.375rem;
	}
	
	.about-difference {
		padding: 1.25rem;
	}
	
	.about-difference h3 {
		font-size: 1.25rem;
	}
	
	.about-difference li {
		font-size: 0.8125rem;
		padding-left: 1.5rem;
	}
	
	.choose-items-grid {
		grid-template-columns: 1fr;
		padding: 0 1rem;
		gap: 1rem;
	}
	
	.choose-item {
		padding: 1.5rem;
	}
	
	.about-cta {
		padding: 2rem 1.25rem;
	}
	
	.about-cta h2 {
		font-size: 1.375rem;
	}
	
	.about-cta p {
		font-size: 1rem;
	}
	
	.cta-button {
		padding: 0.875rem 2rem;
		font-size: 0.9375rem;
	}

	.contact-content-wrapper {
		padding: 1.5rem 1.25rem;
	}

	.contact-additional-content {
		padding: 1.25rem 1.25rem 1.5rem;
	}

	.contact-icon {
		width: 45px;
		height: 45px;
	}

	.contact-form-title,
	.contact-info-title {
		font-size: 1.25rem;
	}

	.contact-submit-button {
		width: 100%;
		justify-content: center;
	}
}

/* Footer
--------------------------------------------- */
.site-footer {
	background: #1a1a2e;
	color: #e0e0e0;
	padding: 3rem 0 0;
	margin-top: 4rem;
}

.footer-container {
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 2rem;
}

.footer-top {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 2.5rem;
	padding-bottom: 2.5rem;
	border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

.footer-column {
	display: flex;
	flex-direction: column;
}

.footer-title {
	font-size: 1.125rem;
	font-weight: 700;
	color: #fff;
	margin: 0 0 1.25rem;
	font-family: 'Georgia', 'Times New Roman', serif;
}

.footer-description {
	font-size: 0.875rem;
	line-height: 1.6;
	color: #b8b8b8;
	margin-bottom: 1.25rem;
}

.footer-social-links {
	display: flex;
	gap: 0.75rem;
}

.footer-social-link {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	background: rgba(255, 255, 255, 0.1);
	border-radius: 50%;
	color: #fff;
	transition: all 0.3s ease;
}

.footer-social-link:hover {
	background: #4169e1;
	transform: translateY(-3px);
}

.footer-links {
	list-style: none;
	margin: 0;
	padding: 0;
}

.footer-links li {
	margin-bottom: 0.75rem;
	text-align: left;
}

.footer-links a {
	color: #b8b8b8;
	text-decoration: none;
	font-size: 0.875rem;
	transition: color 0.3s ease;
	display: inline-block;
	text-align: left;
}

.footer-links a:hover {
	color: #4169e1;
	padding-left: 0.25rem;
}

/* Ensure Quick Links and Categories columns have proper alignment */
.footer-categories,
.footer-quick-links {
	display: flex;
	flex-direction: column;
}

.footer-categories .footer-links,
.footer-quick-links .footer-links {
	text-align: left;
}

.footer-categories .footer-links li,
.footer-quick-links .footer-links li {
	text-align: left;
}

.footer-categories .footer-links a,
.footer-quick-links .footer-links a {
	text-align: left;
}

.newsletter-text {
	font-size: 0.875rem;
	color: #b8b8b8;
	margin-bottom: 1rem;
	line-height: 1.5;
}

.newsletter-form {
	display: flex;
	flex-direction: column;
	gap: 0.625rem;
}

.newsletter-input {
	padding: 0.75rem;
	border: 1px solid rgba(255, 255, 255, 0.2);
	border-radius: 4px;
	background: rgba(255, 255, 255, 0.05);
	color: #fff;
	font-size: 0.875rem;
	transition: border-color 0.3s ease;
}

.newsletter-input::placeholder {
	color: #888;
}

.newsletter-input:focus {
	outline: none;
	border-color: #4169e1;
	background: rgba(255, 255, 255, 0.08);
}

.newsletter-button {
	padding: 0.75rem 1.5rem;
	background: #4169e1;
	color: #fff;
	border: none;
	border-radius: 4px;
	font-size: 0.875rem;
	font-weight: 600;
	cursor: pointer;
	transition: background 0.3s ease;
}

.newsletter-button:hover {
	background: #191970;
}

.footer-bottom {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 1.5rem 0;
	margin-top: 2rem;
}

.footer-copyright {
	font-size: 0.875rem;
	color: #888;
}

.footer-copyright p {
	margin: 0;
}

.footer-copyright a {
	color: #b8b8b8;
	text-decoration: none;
	transition: color 0.3s ease;
}

.footer-copyright a:hover {
	color: #4169e1;
}

.footer-bottom-links {
	display: flex;
	gap: 1rem;
	align-items: center;
	font-size: 0.875rem;
}

.footer-bottom-links a {
	color: #b8b8b8;
	text-decoration: none;
	transition: color 0.3s ease;
}

.footer-bottom-links a:hover {
	color: #4169e1;
}

.footer-bottom-links .separator {
	color: #555;
}

/* Responsive Footer */
@media screen and (max-width: 992px) {
	.footer-top {
		grid-template-columns: repeat(2, 1fr);
		gap: 2rem;
	}

	.site-footer {
		padding: 2.5rem 0 0;
		margin-top: 3rem;
	}

	.footer-container {
		padding: 0 1.5rem;
	}
}

@media screen and (max-width: 768px) {
	.footer-top {
		grid-template-columns: 1fr;
		gap: 2rem;
		padding-bottom: 2rem;
	}

	.site-footer {
		padding: 2rem 0 0;
		margin-top: 2.5rem;
	}

	.footer-container {
		padding: 0 1.25rem;
	}

	.footer-bottom {
		flex-direction: column;
		gap: 1rem;
		text-align: center;
		padding: 1.25rem 0;
	}
}

@media screen and (max-width: 480px) {
	.footer-container {
		padding: 0 1rem;
	}

	.footer-top {
		gap: 1.5rem;
		padding-bottom: 1.5rem;
	}

	.footer-title {
		font-size: 1rem;
	}

	.footer-social-links {
		gap: 0.5rem;
	}

	.footer-social-link {
		width: 36px;
		height: 36px;
	}

	.footer-bottom {
		padding: 1rem 0;
	}

	.footer-copyright,
	.footer-bottom-links {
		font-size: 0.8125rem;
	}
}

/* Header
--------------------------------------------- */
.site-header {
	padding: 0.620rem 0;
	background: #fff;
	border-bottom: 1px solid #e6e6e6;
	box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
}

.site-branding {
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 2rem;
	display: flex;
	align-items: center;
	gap: 1rem;
	justify-content: flex-start;
	flex-wrap: nowrap;
}

/* Logo and Branding Group */
.site-logo-branding {
	display: flex;
	align-items: center;
	gap: 1rem;
	flex-shrink: 0;
	order: 0;
}

/* Logo Styles */
.custom-logo-link {
	display: inline-block;
	flex-shrink: 0;
	line-height: 0;
	visibility: visible !important;
	opacity: 1 !important;
}

.custom-logo {
	max-height: 40px;
	width: auto;
	display: block !important;
	visibility: visible !important;
	opacity: 1 !important;
	transition: transform 0.3s ease;
}

.custom-logo-link:hover .custom-logo {
	transform: scale(1.05);
}

/* Site Title and Description Container */
.site-branding-text {
	display: flex;
	flex-direction: column;
	gap: 0.125rem;
	text-align: left;
	min-width: 0;
	order: 1;
	flex: 1;
}

.site-title {
	position: absolute;
	left: -9999px;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	white-space: nowrap;
}

.site-title a {
	color: #191970;
	text-decoration: none;
	transition: color 0.3s ease;
}

.site-title a:hover,
.site-title a:focus {
	color: #4169e1;
}

.site-title a:visited {
	color: #191970;
}

.site-description {
	display: none;
}

/* Header Right Section - Social + Subscribe */
.header-social-links {
	display: flex;
	align-items: center;
	gap: 0.625rem;
	flex-shrink: 0;
	margin-left: auto;
}

.social-link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 38px;
	height: 38px;
	border-radius: 50%;
	background-color: #f5f5f5;
	color: #404040;
	transition: all 0.3s ease;
	text-decoration: none;
	line-height: 1;
}

.social-link:hover,
.social-link:focus {
	background-color: #4169e1;
	color: #fff;
	transform: translateY(-2px);
	box-shadow: 0 4px 8px rgba(65, 105, 225, 0.3);
}

.social-link svg {
	width: 18px;
	height: 18px;
	display: block;
}

/* Header Subscribe Button */
.header-subscribe {
	display: flex;
	align-items: center;
	flex-shrink: 0;
	margin-left: 0.75rem;
}

.subscribe-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0.5rem 1.5rem;
	background-color: #4169e1;
	color: #fff;
	text-decoration: none;
	border-radius: 20px;
	font-weight: 600;
	font-size: 0.9rem;
	transition: all 0.3s ease;
	white-space: nowrap;
	box-shadow: 0 2px 8px rgba(65, 105, 225, 0.3);
	line-height: 1;
	height: 38px;
}

.subscribe-button:hover,
.subscribe-button:focus {
	background-color: #191970;
	transform: translateY(-2px);
	box-shadow: 0 4px 12px rgba(65, 105, 225, 0.4);
	color: #fff;
}

/* Responsive Header Styles */

/* Tablet */
@media screen and (max-width: 992px) {
	.site-header {
		padding: 0.625rem 0;
	}

	.site-branding {
		padding: 0 1.5rem;
		gap: 1rem;
	}

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

	.site-description {
		font-size: 0.9rem;
	}

	.header-social-links {
		gap: 0.5rem;
		margin-left: auto;
	}

	.social-link {
		width: 36px;
		height: 36px;
	}

	.social-link svg {
		width: 17px;
		height: 17px;
	}

	.header-subscribe {
		margin-left: 0.625rem;
	}

	.subscribe-button {
		padding: 0.5rem 1.25rem;
		font-size: 0.85rem;
		height: 36px;
	}
}

/* Mobile Landscape / Small Tablet */
@media screen and (max-width: 768px) {
	.site-header {
		padding: 0.625rem 0;
	}

	.site-branding {
		padding: 0 1.25rem;
		gap: 0.875rem;
		flex-wrap: wrap;
	}

	.site-logo-branding {
		gap: 1rem;
	}

	.custom-logo {
		max-height: 40px;
	}

	.site-title {
		font-size: 1.35rem;
	}

	.site-description {
		font-size: 0.85rem;
	}

	/* Keep social links visible but smaller */
	.header-social-links {
		gap: 0.5rem;
		margin-left: auto;
	}

	.social-link {
		width: 32px;
		height: 32px;
	}

	.social-link svg {
		width: 15px;
		height: 15px;
	}

	.header-subscribe {
		margin-left: 0.5rem;
	}

	.subscribe-button {
		padding: 0.4rem 1rem;
		font-size: 0.8rem;
		height: 32px;
	}
}

/* Mobile */
@media screen and (max-width: 600px) {
	.site-header {
		padding: 0.625rem 0;
	}

	.site-branding {
		padding: 0 1rem;
		gap: 0.75rem;
		align-items: center;
		flex-wrap: nowrap;
	}

	.main-navigation {
		order: -1;
		flex-shrink: 0;
		margin-right: 0.5rem;
	}

	.site-logo-branding {
		order: 0;
		flex-shrink: 0;
		gap: 0.625rem;
		margin-right: 0.5rem;
	}

	.custom-logo {
		max-height: 40px;
		flex-shrink: 0;
	}

	.site-branding-text {
		min-width: 0;
		overflow: hidden;
		flex: 1;
	}

	.site-title {
		font-size: 1.1rem;
		white-space: nowrap;
		overflow: hidden;
		text-overflow: ellipsis;
	}

	.site-description {
		font-size: 0.75rem;
		white-space: nowrap;
		overflow: hidden;
		text-overflow: ellipsis;
	}
}

/* Small Mobile - Restructured Header */
@media screen and (max-width: 480px) {
	.site-header {
		padding: 0.5rem 0;
		overflow-x: hidden;
		position: sticky;
		top: 0;
		z-index: 999;
		background: #fff;
		border-bottom: 1px solid #e6e6e6;
		box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
	}

	.site-branding {
		display: grid;
		grid-template-columns: auto 1fr auto;
		align-items: center;
		padding: 0 0.875rem;
		min-height: 52px;
		width: 100%;
		max-width: 100%;
		gap: 0;
	}

	/* Toggle button - left side */
	.main-navigation {
		grid-column: 1;
		order: 0;
		display: flex;
		align-items: center;
		justify-content: flex-start;
	}
	
	.menu-toggle {
		display: flex;
		align-items: center;
		justify-content: center;
		width: 44px;
		height: 44px;
		padding: 0.5rem;
		margin: 0;
		flex-shrink: 0;
	}

	/* Logo - right aligned */
	.site-logo-branding {
		grid-column: 3;
		order: 1;
		display: flex;
		align-items: center;
		justify-content: flex-end;
		gap: 0;
		margin: 0;
		padding-right: 0;
	}

	.custom-logo-link {
		display: flex;
		align-items: center;
		justify-content: center;
		line-height: 0;
	}

	.custom-logo {
		max-height: 36px !important;
		min-height: 32px !important;
		width: auto !important;
		height: auto !important;
		display: block !important;
	}

	/* Hide text branding */
	.site-branding-text {
		display: none !important;
	}
	
	.site-title {
		display: none !important;
	}

	.site-description {
		display: none !important;
	}

	/* Right side placeholder - keeps logo centered */
	.header-social-links {
		grid-column: 3;
		order: 2;
		display: none !important;
	}

	.header-subscribe {
		grid-column: 3;
		order: 2;
		display: none !important;
	}
}

/* Extra Small Devices - Restructured Header */
@media screen and (max-width: 360px) {
	.site-header {
		padding: 0.5rem 0;
		overflow-x: hidden;
		position: sticky;
		top: 0;
		z-index: 999;
	}

	.site-branding {
		display: grid;
		grid-template-columns: auto 1fr auto;
		align-items: center;
		padding: 0 0.625rem;
		min-height: 48px;
		width: 100%;
		max-width: 100%;
		gap: 0;
	}

	/* Toggle button - left side */
	.main-navigation {
		grid-column: 1;
		order: 0;
		display: flex;
		align-items: center;
		justify-content: flex-start;
	}
	
	.menu-toggle {
		display: flex;
		align-items: center;
		justify-content: center;
		width: 40px;
		height: 40px;
		padding: 0.4rem;
		margin: 0;
		flex-shrink: 0;
	}

	/* Logo - right aligned */
	.site-logo-branding {
		grid-column: 3;
		order: 1;
		display: flex;
		align-items: center;
		justify-content: flex-end;
		gap: 0;
		margin: 0;
		padding-right: 0;
	}
	
	.custom-logo-link {
		display: flex;
		align-items: center;
		justify-content: center;
		line-height: 0;
	}

	.custom-logo {
		max-height: 32px !important;
		min-height: 28px !important;
		width: auto !important;
		height: auto !important;
		display: block !important;
	}

	/* Hide text branding */
	.site-branding-text {
		display: none !important;
	}

	.site-title {
		display: none !important;
	}

	.site-description {
		display: none !important;
	}

	/* Right side placeholder - keeps logo centered */
	.header-social-links {
		grid-column: 3;
		order: 2;
		display: none !important;
	}

	.header-subscribe {
		grid-column: 3;
		order: 2;
		display: none !important;
	}
}

/* Adjust header when hamburger menu is visible */
@media screen and (max-width: 37.5em) {
	.site-header {
		padding: 0.625rem 0;
	}

	.site-branding {
		justify-content: flex-start;
		align-items: center;
		flex-wrap: nowrap;
		padding: 0 1rem;
		gap: 0.625rem;
	}

	/* Hamburger button inline with content */
	.main-navigation {
		order: -1;
		margin: 0;
		padding: 0;
		width: auto;
		flex-shrink: 0;
	}

	.menu-toggle {
		flex-shrink: 0;
		margin-right: 0.75rem;
	}

	/* Logo and branding group - right next to toggle */
	.site-logo-branding {
		order: 0;
		flex-shrink: 0;
		gap: 0.75rem;
		display: flex;
		align-items: center;
		margin-right: 0.5rem;
	}

	.custom-logo-link {
		flex-shrink: 0;
	}

	.site-branding-text {
		min-width: 0;
		overflow: hidden;
		flex: 1;
		order: 1;
	}
	
	.header-social-links {
		order: 2;
	}
	
	.header-subscribe {
		order: 3;
	}

	.site-title {
		overflow: hidden;
		text-overflow: ellipsis;
		white-space: nowrap;
	}

	.site-description {
		overflow: hidden;
		text-overflow: ellipsis;
		white-space: nowrap;
	}

	/* Social links and subscribe on mobile */
	.header-social-links {
		gap: 0.5rem;
		margin-left: auto;
		flex-shrink: 0;
	}

	.social-link {
		width: 32px;
		height: 32px;
	}

	.social-link svg {
		width: 15px;
		height: 15px;
	}

	.header-subscribe {
		margin-left: 0.5rem;
		flex-shrink: 0;
	}

	.subscribe-button {
		padding: 0.4rem 1rem;
		font-size: 0.75rem;
		height: 32px;
	}
}

/* Large Desktop */
@media screen and (min-width: 1200px) {
	.site-header {
		padding: 0.625rem 0;
	}

	.site-branding {
		padding: 0 2.5rem;
		gap: 1.25rem;
	}

	.site-logo-branding {
		gap: 1.25rem;
	}

	.custom-logo {
		max-height: 50px;
	}

	.site-title {
		font-size: 2rem;
	}

	.site-description {
		font-size: 1rem;
	}

	.header-social-links {
		gap: 0.75rem;
	}

	.social-link {
		width: 40px;
		height: 40px;
	}

	.social-link svg {
		width: 18px;
		height: 18px;
	}

	.header-subscribe {
		margin-left: 0.875rem;
	}

	.subscribe-button {
		padding: 0.5rem 1.5rem;
		font-size: 0.9rem;
		height: 40px;
	}
}

/* Extra Large Desktop */
@media screen and (min-width: 1600px) {
	.site-header {
		padding: 0.625rem 0;
	}

	.site-branding {
		padding: 0 3rem;
		gap: 1.5rem;
	}

	.site-logo-branding {
		gap: 1.5rem;
	}

	.custom-logo {
		max-height: 55px;
	}

	.site-title {
		font-size: 2.25rem;
	}

	.site-description {
		font-size: 1.05rem;
	}

	.header-social-links {
		gap: 0.875rem;
	}

	.social-link {
		width: 42px;
		height: 42px;
	}

	.social-link svg {
		width: 19px;
		height: 19px;
	}

	.header-subscribe {
		margin-left: 1rem;
	}

	.subscribe-button {
		padding: 0.5rem 1.75rem;
		font-size: 0.95rem;
		height: 42px;
	}
}

/*--------------------------------------------------------------
# Components
--------------------------------------------------------------*/

/* Navigation
--------------------------------------------- */
.main-navigation {
	display: block;
	width: 100%;
	max-width: 1200px;
	margin: 0;
	padding: 0.25rem 2rem;
	text-align: left;
}

.main-navigation ul {
	display: none;
	list-style: none;
	margin: 0;
	padding-left: 0;
	justify-content: flex-start;
}

.main-navigation ul ul {
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
	float: left;
	position: absolute;
	top: 100%;
	left: -999em;
	z-index: 99999;
	background-color: #fff;
	border-radius: 8px;
	padding: 0.5em 0;
	min-width: 220px;
	animation: fadeInDown 0.3s ease;
}

@keyframes fadeInDown {
	from {
		opacity: 0;
		transform: translateY(-10px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

.main-navigation ul ul ul {
	left: -999em;
	top: 0;
}

.main-navigation ul ul li {
	border-bottom: 1px solid #f0f0f0;
}

.main-navigation ul ul li:last-child {
	border-bottom: none;
}

.main-navigation ul ul li:hover > ul,
.main-navigation ul ul li.focus > ul {
	display: block;
	left: 100%;
	top: 0;
}

.main-navigation ul ul a {
	width: 220px;
	padding: 0.75em 1.25em !important;
	color: #404040;
}

.main-navigation ul ul a:hover,
.main-navigation ul ul a:focus {
	background-color: rgba(65, 105, 225, 0.08);
	padding-left: 1.5em !important;
}

.main-navigation ul ul a::before {
	display: none !important;
}

.main-navigation ul li:hover > ul,
.main-navigation ul li.focus > ul {
	left: auto;
}

.main-navigation li {
	position: relative;
}

.main-navigation a {
	display: block;
	text-decoration: none;
	padding: 0.75rem 1rem;
	color: #404040;
	font-weight: 500;
	font-size: 1rem;
	transition: color 0.3s ease, background-color 0.3s ease;
}

.main-navigation a:hover,
.main-navigation a:focus {
	color: #4169e1;
	background-color: rgba(65, 105, 225, 0.05);
}

.main-navigation a:visited {
	color: #404040;
}

/* Small menu. */
.menu-toggle {
	display: block;
	position: relative;
	width: 50px;
	height: 50px;
	margin: 0;
	padding: 0;
	background-color: #4169e1;
	color: transparent;
	border: none;
	border-radius: 8px;
	font-size: 0;
	cursor: pointer;
	transition: all 0.3s ease;
	overflow: visible;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
}

/* Smaller hamburger on small devices */
@media screen and (max-width: 480px) {
	.menu-toggle {
		width: 44px;
		height: 44px;
	}

	.menu-toggle::before,
	.menu-toggle::after {
		width: 20px;
	}

	.menu-toggle::before {
		top: 15px;
		box-shadow: 0 6px 0 #fff;
	}

	.menu-toggle::after {
		bottom: 15px;
	}

	.main-navigation.toggled .menu-toggle::before {
		top: 21px;
	}

	.main-navigation.toggled .menu-toggle::after {
		bottom: 21px;
	}
}

@media screen and (max-width: 360px) {
	.menu-toggle {
		width: 40px;
		height: 40px;
	}

	.menu-toggle::before,
	.menu-toggle::after {
		width: 18px;
	}

	.menu-toggle::before {
		top: 14px;
		box-shadow: 0 5px 0 #fff;
	}

	.menu-toggle::after {
		bottom: 14px;
	}

	.main-navigation.toggled .menu-toggle::before {
		top: 19px;
	}

	.main-navigation.toggled .menu-toggle::after {
		bottom: 19px;
	}
}

.menu-toggle:hover,
.menu-toggle:focus {
	background-color: #191970;
	transform: scale(1.05);
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25);
}

/* Hamburger Icon */
.menu-toggle::before,
.menu-toggle::after {
	content: '';
	position: absolute;
	left: 50%;
	transform: translateX(-50%);
	width: 24px;
	height: 2px;
	background-color: #fff;
	transition: all 0.3s ease;
}

.menu-toggle::before {
	top: 16px;
	box-shadow: 0 8px 0 #fff;
}

.menu-toggle::after {
	bottom: 16px;
}

/* Animated hamburger when toggled */
.main-navigation.toggled .menu-toggle {
	background-color: #191970;
}

.main-navigation.toggled .menu-toggle::before {
	top: 24px;
	transform: translateX(-50%) rotate(45deg);
	box-shadow: none;
}

.main-navigation.toggled .menu-toggle::after {
	bottom: 24px;
	transform: translateX(-50%) rotate(-45deg);
}

/* Sidebar Overlay - Only on small screens */
@media screen and (max-width: 37.5em) {
	.main-navigation::before {
		content: '';
		position: fixed;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		background-color: rgba(0, 0, 0, 0.5);
		opacity: 0;
		visibility: hidden;
		transition: all 0.3s ease;
		z-index: 9998;
	}

	.main-navigation.toggled::before {
		opacity: 1;
		visibility: visible;
	}

	/* Mobile Sidebar Menu */
	.main-navigation ul {
		position: fixed;
		top: 0;
		left: -300px;
		width: 280px;
		max-width: 85vw;
		height: 100vh;
		background-color: #fff;
		box-shadow: 2px 0 15px rgba(0, 0, 0, 0.2);
		overflow-y: auto;
		transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
		z-index: 9999;
		padding-top: 80px;
		padding-bottom: 80px;
	}

.main-navigation.toggled ul {
	display: block;
		left: 0;
	}
}

/* Smaller sidebar for small devices */
@media screen and (max-width: 480px) {
	.main-navigation ul {
		width: 280px;
		max-width: 85vw;
		padding-top: 70px;
		padding-bottom: 70px;
	}

	.main-navigation ul::before {
		width: 280px;
		max-width: 85vw;
		padding: 1.25rem 1.25rem;
		font-size: 1.125rem;
	}
}

@media screen and (max-width: 360px) {
	.main-navigation ul {
		width: 280px;
		max-width: 85vw;
		padding-top: 65px;
		padding-bottom: 65px;
	}

	.main-navigation ul a {
		padding: 0.875rem 1.25rem;
		font-size: 0.95rem;
	}

	.main-navigation ul::before {
		width: 280px;
		max-width: 85vw;
		padding: 1rem 1rem;
		font-size: 1.05rem;
	}
}

/* Mobile sidebar animations and styling */
@media screen and (max-width: 37.5em) {
	@keyframes slideInLeft {
		from {
			transform: translateX(-20px);
			opacity: 0;
		}
		to {
			transform: translateX(0);
			opacity: 1;
		}
	}

	.main-navigation.toggled ul li {
		border-bottom: 1px solid #f0f0f0;
		animation: slideInLeft 0.3s ease forwards;
		opacity: 0;
	}

	.main-navigation.toggled ul li:nth-child(1) { animation-delay: 0.05s; }
	.main-navigation.toggled ul li:nth-child(2) { animation-delay: 0.1s; }
	.main-navigation.toggled ul li:nth-child(3) { animation-delay: 0.15s; }
	.main-navigation.toggled ul li:nth-child(4) { animation-delay: 0.2s; }
	.main-navigation.toggled ul li:nth-child(5) { animation-delay: 0.25s; }
	.main-navigation.toggled ul li:nth-child(6) { animation-delay: 0.3s; }
	.main-navigation.toggled ul li:nth-child(7) { animation-delay: 0.35s; }
	.main-navigation.toggled ul li:nth-child(8) { animation-delay: 0.4s; }

	.main-navigation.toggled ul li:last-child {
		border-bottom: none;
	}

	.main-navigation ul a {
		padding: 1rem 1.5rem;
		display: flex;
		align-items: center;
		position: relative;
		font-size: 1rem;
	}

	.main-navigation ul a::after {
		content: '→';
		position: absolute;
		right: 1.5rem;
		opacity: 0;
		transition: all 0.3s ease;
		font-size: 1.2em;
		color: #4169e1;
	}

	.main-navigation ul a:hover::after,
	.main-navigation ul a:focus::after {
		opacity: 1;
		right: 1.25rem;
	}

	/* Sidebar Header */
	.main-navigation ul::before {
		content: 'Menu';
		display: block;
		position: fixed;
		top: 0;
		left: -300px;
		width: 280px;
		max-width: 85vw;
		padding: 1.5rem;
		background-color: #4169e1;
		color: #fff;
		font-size: 1.25rem;
		font-weight: 700;
		z-index: 10000;
		transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
		box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
	}

	.main-navigation.toggled ul::before {
		left: 0;
	}
}

/* Prevent body scroll when sidebar is open - only on small screens */
@media screen and (max-width: 37.5em) {
	body.sidebar-open {
		overflow: hidden;
	}
}

/* Submenu styles for sidebar */
@media screen and (max-width: 37.5em) {
	.main-navigation ul ul {
		position: static;
		width: 100%;
		box-shadow: none;
		border-radius: 0;
		padding: 0;
		background-color: #f8f8f8;
		animation: none;
		left: auto;
	}

	.main-navigation ul ul li {
		padding-left: 1em;
	}

	.main-navigation ul ul a {
		padding: 1em 1.5em 1em 2.5em;
		font-size: 0.95rem;
	}

	.main-navigation ul ul a::after {
		right: 1.5em;
	}

	.main-navigation ul ul a:hover::after,
	.main-navigation ul ul a:focus::after {
		right: 1.25em;
	}
}

/* Desktop Navigation */
@media screen and (min-width: 37.5em) {

	.site-header {
		display: flex;
		flex-direction: column;
	}

	.site-branding {
		display: flex;
		flex-wrap: wrap;
		order: 1;
	}

	.menu-toggle {
		display: none;
	}

	.main-navigation {
		position: static;
		order: 2;
		margin: 0 auto;
		padding: 0.25rem 2rem;
		border-top: 1px solid #f0f0f0;
		width: 100%;
		max-width: 100%;
	}

	.main-navigation::before {
		display: none;
	}

	.main-navigation ul {
		position: static;
		display: flex;
		flex-direction: row;
		flex-wrap: wrap;
		width: auto;
		height: auto;
		gap: 0.25rem;
		background-color: transparent;
		box-shadow: none;
		animation: none;
		padding-top: 0;
		overflow-y: visible;
		left: auto;
		justify-content: flex-start;
		align-items: center;
	}

	.main-navigation ul::before {
		display: none;
	}

	.main-navigation li {
		border-bottom: none !important;
		opacity: 1 !important;
		animation: none !important;
		margin: 0;
	}

	.main-navigation a {
		padding: 0.25rem 0.875rem;
		border-radius: 6px;
		position: relative;
		overflow: hidden;
		font-size: 0.95rem;
		white-space: nowrap;
	}

	.main-navigation a::before {
		content: '';
		position: absolute;
		bottom: 0;
		left: 50%;
		width: 0;
		height: 2px;
		background-color: #4169e1;
		transition: all 0.3s ease;
		transform: translateX(-50%);
	}

	.main-navigation a:hover::before,
	.main-navigation a:focus::before {
		width: 80%;
	}

	.main-navigation a::after {
		display: none !important;
	}

	.main-navigation .current-menu-item > a,
	.main-navigation .current_page_item > a {
		color: #4169e1;
		font-weight: 600;
		background-color: rgba(65, 105, 225, 0.08);
	}

	.main-navigation .current-menu-item > a::before,
	.main-navigation .current_page_item > a::before {
		width: 80%;
	}
}

/* Tablet Navigation Enhancement */
@media screen and (min-width: 37.5em) and (max-width: 768px) {
	.main-navigation {
		padding: 0.25rem 1.25rem;
	}

	.main-navigation ul {
		gap: 0.25rem;
	}

	.main-navigation a {
		padding: 0.25rem 0.625rem;
		font-size: 0.9rem;
	}
}

/* Medium Desktop Navigation */
@media screen and (min-width: 769px) and (max-width: 1199px) {
	.main-navigation {
		padding: 0.25rem 1.5rem;
	}

	.main-navigation ul {
		gap: 0.25rem;
	}

	.main-navigation a {
		padding: 0.25rem 0.875rem;
		font-size: 0.95rem;
	}
}

/* Large Desktop Navigation */
@media screen and (min-width: 1200px) {
	.main-navigation {
		padding: 0.25rem 2.5rem;
	}

	.main-navigation ul {
		gap: 0.375rem;
	}

	.main-navigation a {
		padding: 0.25rem 1.125rem;
		font-size: 1rem;
	}
}

/* Extra Large Desktop Navigation */
@media screen and (min-width: 1600px) {
	.main-navigation {
		padding: 0.25rem 3rem;
	}

	.main-navigation ul {
		gap: 0.5rem;
	}

	.main-navigation a {
		padding: 0.25rem 1.25rem;
		font-size: 1.05rem;
	}
}

.site-main .comment-navigation,
.site-main
.posts-navigation,
.site-main
.post-navigation {
	margin: 0 0 1.5em;
}

.comment-navigation .nav-links,
.posts-navigation .nav-links,
.post-navigation .nav-links {
	display: flex;
}

.comment-navigation .nav-previous,
.posts-navigation .nav-previous,
.post-navigation .nav-previous {
	flex: 1 0 50%;
}

.comment-navigation .nav-next,
.posts-navigation .nav-next,
.post-navigation .nav-next {
	text-align: end;
	flex: 1 0 50%;
}

/* Posts and pages
--------------------------------------------- */
.sticky {
	display: block;
}

.post,
.page {
	margin: 0 0 1.5em;
}

.updated:not(.published) {
	display: none;
}

.page-content,
.entry-content,
.entry-summary {
	margin: 1.5em 0 0;
}

.page-links {
	clear: both;
	margin: 0 0 1.5em;
}

/* Comments
--------------------------------------------- */
.comment-content a {
	word-wrap: break-word;
}

.bypostauthor {
	display: block;
}

/* Widgets
--------------------------------------------- */
.widget {
	margin: 0 0 1.5em;
}

.widget select {
	max-width: 100%;
}

/* Media
--------------------------------------------- */
.page-content .wp-smiley,
.entry-content .wp-smiley,
.comment-content .wp-smiley {
	border: none;
	margin-bottom: 0;
	margin-top: 0;
	padding: 0;
}

/* Make sure logo link wraps around logo image. */
.custom-logo-link {
	display: inline-block;
}

/* Captions
--------------------------------------------- */
.wp-caption {
	margin-bottom: 1.5em;
	max-width: 100%;
}

.wp-caption img[class*="wp-image-"] {
	display: block;
	margin-left: auto;
	margin-right: auto;
}

.wp-caption .wp-caption-text {
	margin: 0.8075em 0;
}

.wp-caption-text {
	text-align: center;
}

/* Galleries
--------------------------------------------- */
.gallery {
	margin-bottom: 1.5em;
	display: grid;
	grid-gap: 1.5em;
}

.gallery-item {
	display: inline-block;
	text-align: center;
	width: 100%;
}

.gallery-columns-2 {
	grid-template-columns: repeat(2, 1fr);
}

.gallery-columns-3 {
	grid-template-columns: repeat(3, 1fr);
}

.gallery-columns-4 {
	grid-template-columns: repeat(4, 1fr);
}

.gallery-columns-5 {
	grid-template-columns: repeat(5, 1fr);
}

.gallery-columns-6 {
	grid-template-columns: repeat(6, 1fr);
}

.gallery-columns-7 {
	grid-template-columns: repeat(7, 1fr);
}

.gallery-columns-8 {
	grid-template-columns: repeat(8, 1fr);
}

.gallery-columns-9 {
	grid-template-columns: repeat(9, 1fr);
}

.gallery-caption {
	display: block;
}

/*--------------------------------------------------------------
# Plugins
--------------------------------------------------------------*/

/* Jetpack infinite scroll
--------------------------------------------- */

/* Hide the Posts Navigation and the Footer when Infinite Scroll is in use. */
.infinite-scroll .posts-navigation,
.infinite-scroll.neverending .site-footer {
	display: none;
}

/* Re-display the Theme Footer when Infinite Scroll has reached its end. */
.infinity-end.neverending .site-footer {
	display: block;
}

/*--------------------------------------------------------------
# Utilities
--------------------------------------------------------------*/

/* Accessibility
--------------------------------------------- */

/* Text meant only for screen readers. */
.screen-reader-text {
	border: 0;
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute !important;
	width: 1px;
	word-wrap: normal !important;
}

.screen-reader-text:focus {
	background-color: #f1f1f1;
	border-radius: 3px;
	box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
	clip: auto !important;
	clip-path: none;
	color: #21759b;
	display: block;
	font-size: 0.875rem;
	font-weight: 700;
	height: auto;
	left: 5px;
	line-height: normal;
	padding: 15px 23px 14px;
	text-decoration: none;
	top: 5px;
	width: auto;
	z-index: 100000;
}

/* Do not show the outline on the skip link target. */
#primary[tabindex="-1"]:focus {
	outline: 0;
}

/* Alignments
--------------------------------------------- */
.alignleft {

	/*rtl:ignore*/
	float: left;

	/*rtl:ignore*/
	margin-right: 1.5em;
	margin-bottom: 1.5em;
}

.alignright {

	/*rtl:ignore*/
	float: right;

	/*rtl:ignore*/
	margin-left: 1.5em;
	margin-bottom: 1.5em;
}

.aligncenter {
	clear: both;
	display: block;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 1.5em;
}

/*--------------------------------------------------------------
# 404 Error Page
--------------------------------------------------------------*/
.error-404-main {
	max-width: 1200px;
	margin: 0 auto;
	padding: 3rem 2rem;
}

.error-404-header {
	text-align: center;
	padding: 3rem 0;
	margin-bottom: 3rem;
	border-bottom: 2px solid #f0f0f0;
}

.error-404-number {
	font-size: 120px;
	font-weight: 900;
	color: #d32f2f;
	line-height: 1;
	margin-bottom: 1rem;
	text-shadow: 3px 3px 0 rgba(211, 47, 47, 0.1);
}

.error-404-title {
	font-size: 2.5rem;
	font-weight: 700;
	color: #1a1a1a;
	margin-bottom: 1rem;
}

.error-404-subtitle {
	font-size: 1.125rem;
	color: #666;
	max-width: 600px;
	margin: 0 auto;
}

.error-404-content {
	display: flex;
	flex-direction: column;
	gap: 3rem;
}

/* Search Section */
.error-404-search {
	background: #f8f9fa;
	padding: 2.5rem;
	border-radius: 12px;
	text-align: center;
}

.error-404-search h2 {
	font-size: 1.5rem;
	margin-bottom: 1rem;
	color: #1a1a1a;
}

.error-404-search p {
	color: #666;
	margin-bottom: 1.5rem;
}

.error-404-search .search-form {
	max-width: 600px;
	margin: 0 auto;
}

.error-404-search .search-form input[type="search"] {
	width: 100%;
	padding: 1rem 1.5rem;
	font-size: 1rem;
	border: 2px solid #ddd;
	border-radius: 50px;
	outline: none;
	transition: border-color 0.3s;
}

.error-404-search .search-form input[type="search"]:focus {
	border-color: #d32f2f;
}

.error-404-search .search-form button {
	margin-top: 1rem;
	padding: 0.75rem 2rem;
	background: #d32f2f;
	color: white;
	border: none;
	border-radius: 50px;
	font-size: 1rem;
	cursor: pointer;
	transition: background 0.3s;
}

.error-404-search .search-form button:hover {
	background: #b71c1c;
}

/* Quick Links Section */
.error-404-links h2 {
	font-size: 1.5rem;
	margin-bottom: 1.5rem;
	color: #1a1a1a;
	text-align: center;
}

.error-404-links-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
	gap: 1.5rem;
}

.error-404-link-card {
	display: flex;
	align-items: center;
	gap: 1rem;
	padding: 1.5rem;
	background: white;
	border: 2px solid #e0e0e0;
	border-radius: 12px;
	text-decoration: none;
	color: #1a1a1a;
	transition: all 0.3s;
}

.error-404-link-card:hover {
	border-color: #d32f2f;
	transform: translateY(-3px);
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}

.error-404-link-card .link-icon {
	font-size: 2rem;
}

.error-404-link-card .link-text {
	font-weight: 600;
	font-size: 1rem;
}

/* Categories Section */
.error-404-categories h2 {
	font-size: 1.5rem;
	margin-bottom: 1.5rem;
	color: #1a1a1a;
	text-align: center;
}

.error-404-categories-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
	gap: 1rem;
}

.error-404-category-card {
	display: flex;
	flex-direction: column;
	padding: 1.25rem;
	background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
	color: white;
	border-radius: 10px;
	text-decoration: none;
	transition: transform 0.3s, box-shadow 0.3s;
}

.error-404-category-card:hover {
	transform: translateY(-5px);
	box-shadow: 0 6px 20px rgba(0, 0, 0, 0.15);
}

.error-404-category-card .category-name {
	font-weight: 700;
	font-size: 1.125rem;
	margin-bottom: 0.5rem;
}

.error-404-category-card .category-count {
	font-size: 0.875rem;
	opacity: 0.9;
}

/* Recent Posts Section */
.error-404-recent-posts h2 {
	font-size: 1.5rem;
	margin-bottom: 1.5rem;
	color: #1a1a1a;
	text-align: center;
}

.error-404-posts-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
	gap: 2rem;
}

.error-404-post-card {
	background: white;
	border: 1px solid #e0e0e0;
	border-radius: 12px;
	overflow: hidden;
	transition: transform 0.3s, box-shadow 0.3s;
}

.error-404-post-card:hover {
	transform: translateY(-5px);
	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
}

.error-404-post-card .post-thumbnail {
	width: 100%;
	height: 200px;
	overflow: hidden;
}

.error-404-post-card .post-thumbnail img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.3s;
}

.error-404-post-card:hover .post-thumbnail img {
	transform: scale(1.05);
}

.error-404-post-card .post-content {
	padding: 1.5rem;
}

.error-404-post-card .post-title {
	font-size: 1.125rem;
	font-weight: 700;
	margin-bottom: 0.75rem;
	line-height: 1.4;
}

.error-404-post-card .post-title a {
	color: #1a1a1a;
	text-decoration: none;
	transition: color 0.3s;
}

.error-404-post-card .post-title a:hover {
	color: #d32f2f;
}

.error-404-post-card .post-excerpt {
	color: #666;
	font-size: 0.9rem;
	line-height: 1.6;
	margin-bottom: 1rem;
}

.error-404-post-card .read-more {
	display: inline-block;
	color: #d32f2f;
	font-weight: 600;
	text-decoration: none;
	transition: transform 0.3s;
}

.error-404-post-card .read-more:hover {
	transform: translateX(5px);
}

/* Help Section */
.error-404-help {
	text-align: center;
	padding: 2rem;
	background: #f0f7ff;
	border-radius: 12px;
	border-left: 4px solid #2196f3;
}

.error-404-help h2 {
	font-size: 1.5rem;
	margin-bottom: 1rem;
	color: #1a1a1a;
}

.error-404-help p {
	color: #666;
	font-size: 1rem;
}

.error-404-help a {
	color: #2196f3;
	font-weight: 600;
	text-decoration: none;
	border-bottom: 2px solid transparent;
	transition: border-color 0.3s;
}

.error-404-help a:hover {
	border-bottom-color: #2196f3;
}

/* Mobile Responsive */
@media screen and (max-width: 768px) {
	.error-404-main {
		padding: 2rem 1rem;
	}

	.error-404-number {
		font-size: 80px;
	}

	.error-404-title {
		font-size: 2rem;
	}

	.error-404-subtitle {
		font-size: 1rem;
	}

	.error-404-search {
		padding: 1.5rem;
	}

	.error-404-links-grid {
		grid-template-columns: 1fr;
	}

	.error-404-categories-grid {
		grid-template-columns: repeat(2, 1fr);
	}

	.error-404-posts-grid {
		grid-template-columns: 1fr;
	}
}

@media screen and (max-width: 480px) {
	.error-404-number {
		font-size: 60px;
	}

	.error-404-title {
		font-size: 1.5rem;
	}

	.error-404-categories-grid {
		grid-template-columns: 1fr;
	}
}

/*--------------------------------------------------------------
# Newsletter Messages
--------------------------------------------------------------*/
.newsletter-message {
	margin-top: 1rem;
	padding: 1rem 1.25rem;
	border-radius: 6px;
	font-size: 0.9rem;
	line-height: 1.5;
	animation: slideDown 0.3s ease-out;
}

.newsletter-success {
	background-color: #d4edda;
	color: #155724;
	border: 1px solid #c3e6cb;
}

.newsletter-error {
	background-color: #f8d7da;
	color: #721c24;
	border: 1px solid #f5c6cb;
}

@keyframes slideDown {
	from {
		opacity: 0;
		transform: translateY(-10px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

/*--------------------------------------------------------------
# Scroll to Top Button
--------------------------------------------------------------*/
.scroll-to-top {
	position: fixed;
	bottom: 30px;
	right: 30px;
	width: 50px;
	height: 50px;
	background-color: #4169e1;
	color: #fff;
	border: none;
	border-radius: 50%;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	opacity: 0;
	visibility: hidden;
	transition: all 0.3s ease;
	z-index: 999;
	box-shadow: 0 4px 12px rgba(65, 105, 225, 0.3);
}

.scroll-to-top.show {
	opacity: 1;
	visibility: visible;
}

.scroll-to-top:hover {
	background-color: #191970;
	transform: translateY(-5px);
	box-shadow: 0 6px 16px rgba(65, 105, 225, 0.4);
}

.scroll-to-top:active {
	transform: translateY(-2px);
}

.scroll-to-top svg {
	width: 24px;
	height: 24px;
}

/* Mobile adjustments */
@media screen and (max-width: 768px) {
	.scroll-to-top {
		bottom: 20px;
		right: 20px;
		width: 45px;
		height: 45px;
	}
	
	.scroll-to-top svg {
		width: 20px;
		height: 20px;
	}
}

@media screen and (max-width: 480px) {
	.scroll-to-top {
		bottom: 15px;
		right: 15px;
		width: 40px;
		height: 40px;
	}
	
	.scroll-to-top svg {
		width: 18px;
		height: 18px;
	}
}
