/* ==========================================================================
   Design tokens
   Mirrors the color / spacing / type scale from the original Tailwind config
   ========================================================================== */
:root {
	/* Colors */
	--color-primary-container: #0f172a;
	--color-on-primary: #283044;
	--color-primary: #bec6e0;
	--color-tertiary: #adc6ff;
	--color-surface: #051424;
	--color-background: #051424;
	--color-surface-bright: #2c3a4c;
	--color-inverse-primary: #565e74;
	--color-on-error-container: #ffdad6;
	--color-error: #ffb4ab;
	--color-on-error: #690005;
	--color-error-container: #93000a;
	--color-on-background: #d4e4fa;
	--color-secondary: #4edea3;
	--color-secondary-dim: #4edea3;
	--color-on-secondary: #003824;
	--color-on-secondary-container: #00311f;
	--color-secondary-container: #00a572;
	--color-surface-variant: #273647;
	--color-on-surface-variant: #c6c6cd;
	--color-on-tertiary-container: #357df1;
	--color-inverse-surface: #d4e4fa;
	--color-inverse-on-surface: #233143;
	--color-surface-container: #122131;
	--color-surface-container-low: #0d1c2d;
	--color-surface-container-lowest: #010f1f;
	--color-surface-container-high: #1c2b3c;
	--color-surface-container-highest: #273647;
	--color-outline: #909097;
	--color-outline-variant: #45464d;
	--color-surface-dim: #051424;
	--color-on-surface: #d4e4fa;
	--color-border-subtle: rgba(255, 255, 255, 0.1);
	--color-border-faint: rgba(255, 255, 255, 0.05);

	/* Radius */
	--radius-default: 0.125rem;
	--radius-lg: 0.25rem;
	--radius-xl: 0.5rem;
	--radius-pill: 0.75rem;

	/* Spacing */
	--container-max: 1280px;
	--space-base: 8px;
	--space-margin-desktop: 64px;
	--space-margin-mobile: 20px;
	--space-section-gap: 80px;
	--space-gutter: 24px;

	/* Type */
	--font-body: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
	--font-headline: 'Playfair Display', Georgia, serif;

	--text-body-md: 16px;
	--text-body-lg: 18px;
	--text-label-sm: 12px;
	--text-headline-md: 24px;
	--text-headline-lg: 32px;
	--text-headline-lg-mobile: 28px;
	--text-headline-xl: 40px;

	--header-height-mobile: 64px;
	--header-height-desktop: 80px;
}
/* ==========================================================================
   Reset & base
   ========================================================================== */
*, *::before, *::after { box-sizing: border-box; }

html { scroll-behavior: smooth; }

body {
	margin: 0;
	background: var(--color-background);
	color: var(--color-on-surface);
	font-family: var(--font-body);
	font-size: var(--text-body-md);
	line-height: 1.6;
	-webkit-font-smoothing: antialiased;
	min-height: 100vh;
	display: flex;
	flex-direction: column;
}

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

a { color: inherit; text-decoration: none; }

ul, ol { margin: 0; padding: 0; list-style: none; }

button, input {
	font-family: inherit;
	font-size: inherit;
	color: inherit;
}

button { cursor: pointer; }

h1, h2, h3, h4, h5, h6 { margin: 0; font-family: var(--font-headline); }

p { margin: 0; }

::selection {
	background: rgba(78, 222, 163, 0.3);
	color: var(--color-secondary);
}

.screen-reader-text {
	position: absolute;
	width: 1px; height: 1px;
	overflow: hidden;
	clip: rect(1px, 1px, 1px, 1px);
	white-space: nowrap;
}

.skip-link {
	position: absolute;
	left: -9999px;
	top: 0;
	z-index: 100000;
	background: var(--color-secondary);
	color: var(--color-on-secondary);
	padding: 12px 20px;
	border-radius: var(--radius-lg);
}
.skip-link:focus { left: 10px; top: 10px; }

.container {
	max-width: var(--container-max);
	margin-left: auto;
	margin-right: auto;
	padding-left: var(--space-margin-mobile);
	padding-right: var(--space-margin-mobile);
}
@media (min-width: 768px) {
	.container {
		padding-left: var(--space-margin-desktop);
		padding-right: var(--space-margin-desktop);
	}
}

.section {
	padding-top: var(--space-section-gap);
	padding-bottom: var(--space-section-gap);
}
.section--bordered-top { border-top: 1px solid var(--color-border-subtle); }
.section--bordered-y { border-top: 1px solid var(--color-border-subtle); border-bottom: 1px solid var(--color-border-subtle); }
.section--surface-low { background: var(--color-surface-container-lowest); }

.section__title {
	font-family: var(--font-headline);
	font-weight: 600;
	font-size: var(--text-headline-lg-mobile);
	color: var(--color-on-surface);
	margin-bottom: 40px;
}
@media (min-width: 768px) {
	.section__title { font-size: var(--text-headline-lg); }
}
.section__title--center { text-align: center; }

.text-glow { text-shadow: 0 0 20px rgba(78, 222, 163, 0.3); }

.eyebrow {
	display: inline-block;
	font-size: var(--text-label-sm);
	letter-spacing: 0.05em;
	font-weight: 600;
	text-transform: uppercase;
	color: var(--color-secondary);
}

.btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	font-size: var(--text-label-sm);
	letter-spacing: 0.05em;
	font-weight: 600;
	text-transform: uppercase;
	border-radius: var(--radius-lg);
	padding: 14px 32px;
	border: 1px solid transparent;
	transition: opacity 0.2s ease, border-color 0.2s ease, color 0.2s ease, background-color 0.2s ease;
	white-space: nowrap;
}
.btn--primary { background: var(--color-secondary); color: var(--color-on-secondary); }
.btn--primary:hover { opacity: 0.9; }
.btn--outline { background: transparent; border-color: var(--color-outline-variant); color: var(--color-on-surface); }
.btn--outline:hover { border-color: var(--color-secondary); color: var(--color-secondary); }
.btn--small { padding: 8px 24px; }

.no-scrollbar::-webkit-scrollbar { display: none; }
.no-scrollbar { -ms-overflow-style: none; scrollbar-width: none; }

/* Material Symbols baseline sizing */
.material-symbols-outlined {
	font-variation-settings: 'FILL' 0, 'wght' 400, 'GRAD' 0, 'opsz' 24;
	line-height: 1;
	vertical-align: middle;
}
/* ==========================================================================
   Site header
   ========================================================================== */
.site-header {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	z-index: 50;
	background: var(--color-surface);
	border-bottom: 1px solid var(--color-border-subtle);
}

/* -- Desktop header row -- */
.site-header__row {
	display: none;
	align-items: center;
	justify-content: space-between;
	height: var(--header-height-desktop);
	max-width: var(--container-max);
	margin: 0 auto;
	padding: 0 var(--space-margin-desktop);
}
@media (min-width: 768px) {
	.site-header__row { display: flex; }
}

.site-branding__title {
	font-family: var(--font-headline);
	font-size: var(--text-headline-md);
	font-weight: 700;
	color: var(--color-on-surface);
	margin: 0;
}
.site-branding__title a { color: inherit; }

.primary-navigation { height: 100%; }
.primary-navigation ul {
	display: flex;
	align-items: center;
	gap: 32px;
	height: 100%;
	margin: 0;
	padding: 0;
}
.primary-navigation li { height: 100%; display: flex; align-items: center; }
.primary-navigation a {
	display: flex;
	align-items: center;
	height: 100%;
	color: var(--color-on-surface-variant);
	border-bottom: 2px solid transparent;
	transition: color 0.2s ease, opacity 0.2s ease;
}
.primary-navigation a:hover { color: var(--color-primary); opacity: 0.8; }
.primary-navigation li.current-menu-item > a,
.primary-navigation li.current_page_item > a {
	color: var(--color-secondary);
	border-bottom-color: var(--color-secondary);
}

.site-header__actions { display: flex; align-items: center; gap: 24px; }
.site-header__icon-btn {
	background: none;
	border: none;
	padding: 0;
	color: var(--color-on-surface);
	display: inline-flex;
	transition: color 0.2s ease;
}
.site-header__icon-btn:hover { color: var(--color-secondary); }

/* -- Mobile header row -- */
.site-header__row--mobile {
	display: flex;
	align-items: center;
	justify-content: space-between;
	height: var(--header-height-mobile);
	padding: 0 var(--space-margin-mobile);
}
@media (min-width: 768px) {
	.site-header__row--mobile { display: none; }
}

.menu-toggle {
	background: none;
	border: none;
	color: var(--color-on-surface);
	display: inline-flex;
	padding: 8px;
	margin: -8px;
}
.menu-toggle[aria-expanded="true"] .menu-toggle__icon-open { display: none; }
.menu-toggle__icon-close { display: none; }
.menu-toggle[aria-expanded="true"] .menu-toggle__icon-close { display: inline-flex; }

/* -- Mobile off-canvas menu -- */
.mobile-menu {
	position: fixed;
	inset: 0;
	top: var(--header-height-mobile);
	background: var(--color-surface);
	z-index: 49;
	transform: translateX(100%);
	transition: transform 0.28s ease;
	overflow-y: auto;
}
.mobile-menu.is-open { transform: translateX(0); }
@media (min-width: 768px) { .mobile-menu { display: none; } }

.mobile-menu__inner { padding: 24px var(--space-margin-mobile) 40px; }
.mobile-menu ul { display: flex; flex-direction: column; }
.mobile-menu li { border-bottom: 1px solid var(--color-border-faint); }
.mobile-menu a {
	display: block;
	padding: 16px 4px;
	color: var(--color-on-surface-variant);
	font-size: 18px;
}
.mobile-menu li.current-menu-item > a { color: var(--color-secondary); }
.mobile-menu__cta { margin-top: 24px; width: 100%; }

/* Prevent body scroll when off-canvas menu is open */
body.mobile-menu-open { overflow: hidden; }

/* -- Bottom mobile nav bar -- */
.bottom-nav {
	position: fixed;
	bottom: 0;
	left: 0;
	width: 100%;
	z-index: 50;
	background: var(--color-surface-container-high);
	border-top: 1px solid var(--color-border-faint);
	display: flex;
	align-items: center;
	justify-content: space-around;
	padding: 8px var(--space-margin-mobile);
}
@media (min-width: 768px) { .bottom-nav { display: none; } }
.bottom-nav a {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 4px;
	color: var(--color-on-surface-variant);
}
.bottom-nav a span:last-child { font-size: 10px; letter-spacing: 0.05em; }
.bottom-nav li.current-menu-item > a,
.bottom-nav a.is-active { color: var(--color-secondary); font-weight: 700; }

/* Spacing so fixed header/bottom-nav never overlaps content */
.site-main { flex: 1 0 auto; padding-top: var(--header-height-mobile); }
@media (min-width: 768px) {
	.site-main { padding-top: var(--header-height-desktop); }
}
body.has-bottom-nav .site-main { padding-bottom: 72px; }
@media (min-width: 768px) {
	body.has-bottom-nav .site-main { padding-bottom: 0; }
}
/* ==========================================================================
   Hero
   ========================================================================== */
.hero {
	position: relative;
	min-height: 600px;
	height: 80vh;
	display: flex;
	align-items: center;
	justify-content: center;
	overflow: hidden;
	border-bottom: 1px solid var(--color-border-subtle);
	text-align: center;
}
.hero::before {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(to top, var(--color-background), rgba(5,20,36,0.5), transparent);
}
.hero__inner {
	position: relative;
	z-index: 1;
	max-width: var(--container-max);
	margin: 0 auto;
	padding: 0 var(--space-margin-mobile);
}
@media (min-width: 768px) { .hero__inner { padding: 0 var(--space-margin-desktop); } }

.hero__title {
	font-size: 40px;
	line-height: 1.2;
	letter-spacing: -0.02em;
	font-weight: 700;
	max-width: 56rem;
	margin: 0 auto 24px;
}
@media (min-width: 768px) { .hero__title { font-size: var(--text-headline-xl); } }
.hero__title em { color: var(--color-secondary); font-style: italic; }

.hero__subtitle {
	font-size: var(--text-body-lg);
	line-height: 1.7;
	color: var(--color-on-surface-variant);
	max-width: 42rem;
	margin: 0 auto 40px;
}

.hero__actions {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 16px;
}
@media (min-width: 640px) { .hero__actions { flex-direction: row; } }
.hero__actions .btn { width: 100%; }
@media (min-width: 640px) { .hero__actions .btn { width: auto; } }

/* ==========================================================================
   Market ticker
   ========================================================================== */
.ticker {
	border-bottom: 1px solid var(--color-border-subtle);
	background: var(--color-surface-container-low);
	overflow: hidden;
}
.ticker__track {
	max-width: var(--container-max);
	margin: 0 auto;
	padding: 12px var(--space-margin-mobile);
	display: flex;
	align-items: center;
	gap: 32px;
	overflow-x: auto;
	white-space: nowrap;
	font-size: var(--text-label-sm);
	color: var(--color-on-surface-variant);
}
@media (min-width: 768px) { .ticker__track { padding: 12px var(--space-margin-desktop); } }
.ticker__item { display: flex; align-items: center; gap: 8px; }
.ticker__item strong { color: var(--color-on-surface); font-weight: 600; }
.ticker__change { display: inline-flex; align-items: center; color: var(--color-secondary); }
.ticker__change.is-down { color: var(--color-error); }
.ticker__change .material-symbols-outlined { font-size: 14px; }
.ticker__divider { width: 1px; height: 16px; background: rgba(255,255,255,0.1); flex-shrink: 0; }

/* ==========================================================================
   Featured insight grid (first big post + two smaller)
   ========================================================================== */
.featured-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: var(--space-gutter);
}
@media (min-width: 1024px) {
	.featured-grid { grid-template-columns: repeat(12, 1fr); }
}

.card {
	border: 1px solid var(--color-border-subtle);
	border-radius: var(--radius-xl);
	background: var(--color-surface-container-low);
	overflow: hidden;
	transition: border-color 0.3s ease;
	display: block;
}
.card:hover { border-color: rgba(255,255,255,0.2); }

.card--featured-primary { grid-column: span 12; }
@media (min-width: 1024px) { .card--featured-primary { grid-column: span 8; } }

.card__media { position: relative; height: 400px; overflow: hidden; }
.card__media img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.7s ease; }
.card:hover .card__media img { transform: scale(1.05); }
.card__badge {
	position: absolute;
	top: 16px;
	left: 16px;
	background: rgba(5,20,36,0.8);
	backdrop-filter: blur(6px);
	border: 1px solid var(--color-border-subtle);
	color: var(--color-secondary);
	padding: 4px 12px;
	border-radius: var(--radius-lg);
	font-size: var(--text-label-sm);
	text-transform: uppercase;
}
.card__body { padding: 32px; }
.card__date { font-size: var(--text-label-sm); color: var(--color-on-surface-variant); margin-bottom: 12px; }
.card__title {
	font-family: var(--font-headline);
	font-size: var(--text-headline-md);
	font-weight: 600;
	color: var(--color-on-surface);
	margin-bottom: 16px;
	transition: color 0.2s ease;
}
@media (min-width: 768px) { .card--featured-primary .card__title { font-size: var(--text-headline-lg); } }
.card:hover .card__title { color: var(--color-secondary); }
.card__excerpt {
	color: var(--color-on-surface-variant);
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.featured-side { display: flex; flex-direction: column; gap: 24px; grid-column: span 12; }
@media (min-width: 1024px) { .featured-side { grid-column: span 4; } }

.card--compact { padding: 24px; display: flex; flex-direction: column; gap: 12px; justify-content: center; height: 100%; }
.card--compact .card__eyebrow { font-size: var(--text-label-sm); color: var(--color-secondary); text-transform: uppercase; letter-spacing: 0.05em; }
.card--compact .card__title { font-size: var(--text-headline-md); margin-bottom: 0; }
.card--compact .card__excerpt { font-size: 14px; -webkit-line-clamp: 3; }
.card--compact .card__date { color: var(--color-outline-variant); margin-top: 8px; margin-bottom: 0; }

/* ==========================================================================
   Post grid (Latest Insights / archives)
   ========================================================================== */
.post-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: var(--space-gutter);
}
@media (min-width: 768px) { .post-grid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { .post-grid { grid-template-columns: repeat(3, 1fr); } }

.post-card {
	border: 1px solid var(--color-border-subtle);
	border-radius: var(--radius-xl);
	background: var(--color-surface-container-low);
	overflow: hidden;
	display: flex;
	flex-direction: column;
	height: 100%;
	transition: border-color 0.3s ease;
}
.post-card:hover { border-color: rgba(255,255,255,0.2); }
.post-card__media { height: 192px; overflow: hidden; }
.post-card__media img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.7s ease; }
.post-card:hover .post-card__media img { transform: scale(1.05); }
.post-card__body { padding: 24px; display: flex; flex-direction: column; flex-grow: 1; }
.post-card__eyebrow { font-size: var(--text-label-sm); color: var(--color-secondary); text-transform: uppercase; letter-spacing: 0.05em; margin-bottom: 8px; }
.post-card__title {
	font-family: var(--font-headline);
	font-size: 20px;
	line-height: 1.4;
	font-weight: 500;
	color: var(--color-on-surface);
	margin-bottom: 12px;
	transition: color 0.2s ease;
}
.post-card:hover .post-card__title { color: var(--color-secondary); }
.post-card__excerpt {
	font-size: 14px;
	color: var(--color-on-surface-variant);
	margin-bottom: 16px;
	flex-grow: 1;
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
}
.post-card__date { font-size: var(--text-label-sm); color: var(--color-outline-variant); }

.empty-state {
	text-align: center;
	padding: 64px var(--space-margin-mobile);
	color: var(--color-on-surface-variant);
}

/* ==========================================================================
   Knowledge hub
   ========================================================================== */
.hub-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 24px;
}
@media (min-width: 640px) { .hub-grid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { .hub-grid { grid-template-columns: repeat(3, 1fr); } }

.hub-item {
	display: flex;
	align-items: flex-start;
	gap: 16px;
	padding: 24px;
	border: 1px solid var(--color-border-faint);
	border-radius: var(--radius-xl);
	background: var(--color-surface-container);
	transition: background-color 0.2s ease;
}
.hub-item:hover { background: var(--color-surface-container-high); }
.hub-item__icon {
	width: 48px;
	height: 48px;
	border-radius: 999px;
	background: rgba(78, 222, 163, 0.1);
	color: var(--color-secondary);
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	transition: background-color 0.2s ease, color 0.2s ease;
}
.hub-item:hover .hub-item__icon { background: var(--color-secondary); color: var(--color-on-secondary); }
.hub-item__title { font-family: var(--font-headline); font-size: 18px; font-weight: 500; color: var(--color-on-surface); margin-bottom: 8px; }
.hub-item__desc { font-size: 14px; color: var(--color-on-surface-variant); }

/* ==========================================================================
   Newsletter CTA
   ========================================================================== */
.newsletter {
	background: var(--color-primary-container);
	position: relative;
	overflow: hidden;
	text-align: center;
}
.newsletter__inner { position: relative; z-index: 1; }
.newsletter__title { font-size: var(--text-headline-xl); margin-bottom: 16px; }
.newsletter__desc { color: var(--color-on-surface-variant); max-width: 42rem; margin: 0 auto 32px; font-size: var(--text-body-lg); }
.newsletter-form {
	display: flex;
	flex-direction: column;
	max-width: 28rem;
	margin: 0 auto;
	gap: 16px;
}
@media (min-width: 640px) { .newsletter-form { flex-direction: row; } }
.newsletter-form__input {
	flex-grow: 1;
	background: var(--color-surface-container);
	border: 1px solid var(--color-outline-variant);
	border-radius: var(--radius-lg);
	padding: 12px 16px;
	color: var(--color-on-surface);
}
.newsletter-form__input:focus { outline: none; border-color: var(--color-secondary); box-shadow: 0 0 0 1px var(--color-secondary); }
.newsletter__note { font-size: 11px; color: var(--color-outline-variant); margin-top: 16px; }
.newsletter__status { font-size: 14px; margin-top: 16px; min-height: 1.2em; }
.newsletter__status.is-success { color: var(--color-secondary); }
.newsletter__status.is-error { color: var(--color-error); }

/* ==========================================================================
   About author
   ========================================================================== */
.about-author { display: grid; grid-template-columns: 1fr; gap: 48px; align-items: center; }
@media (min-width: 768px) { .about-author { grid-template-columns: 5fr 7fr; } }
.about-author__media { position: relative; max-width: 24rem; margin: 0 auto; }
.about-author__avatar {
	aspect-ratio: 1 / 1;
	border-radius: 50%;
	overflow: hidden;
	border: 4px solid var(--color-surface-container-high);
	position: relative;
	z-index: 1;
}
.about-author__avatar img { width: 100%; height: 100%; object-fit: cover; }
.about-author__glow {
	position: absolute;
	inset: 0;
	background: rgba(78, 222, 163, 0.1);
	border-radius: 50%;
	filter: blur(60px);
	transform: scale(1.1);
	z-index: 0;
}
.about-author__content { display: flex; flex-direction: column; gap: 24px; text-align: center; }
@media (min-width: 768px) { .about-author__content { text-align: left; } }
.about-author__lead { font-size: var(--text-body-lg); color: var(--color-on-surface-variant); line-height: 1.7; }
.about-author__body { color: var(--color-on-surface-variant); line-height: 1.7; }
.about-author__link {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	color: var(--color-secondary);
	font-size: var(--text-label-sm);
	text-transform: uppercase;
	letter-spacing: 0.05em;
}
.about-author__link .material-symbols-outlined { font-size: 16px; }
/* ==========================================================================
   Site footer
   ========================================================================== */
.site-footer {
	width: 100%;
	border-top: 1px solid var(--color-border-subtle);
	background: var(--color-surface-container-lowest);
	color: var(--color-primary);
}
body.has-bottom-nav .site-footer { margin-bottom: 72px; }
@media (min-width: 768px) { body.has-bottom-nav .site-footer { margin-bottom: 0; } }

.footer-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: var(--space-gutter);
	max-width: var(--container-max);
	margin: 0 auto;
	padding: var(--space-margin-desktop) var(--space-margin-mobile);
}
@media (min-width: 768px) {
	.footer-grid { grid-template-columns: repeat(4, 1fr); padding: var(--space-margin-desktop); }
}

.footer-brand__title { font-family: var(--font-headline); font-size: var(--text-headline-lg); font-weight: 600; color: var(--color-on-surface); }
.footer-brand__text { font-size: 14px; color: var(--color-on-surface-variant); margin-top: 16px; }

.footer-columns {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 32px;
}
@media (min-width: 768px) {
	.footer-columns { grid-column: span 2; }
}

.footer-widget-area .widget-title,
.footer-columns__heading {
	display: block;
	font-size: var(--text-label-sm);
	color: var(--color-on-surface-variant);
	text-transform: uppercase;
	letter-spacing: 0.05em;
	margin-bottom: 12px;
}
.footer-widget-area ul,
.footer-columns__list { display: flex; flex-direction: column; gap: 12px; }
.footer-widget-area a,
.footer-columns__list a { color: var(--color-on-surface-variant); transition: color 0.2s ease; }
.footer-widget-area a:hover,
.footer-columns__list a:hover { color: var(--color-primary); }
.footer-columns__list a.is-accent { color: var(--color-secondary); }
/* ==========================================================================
   Single post / page / archive / 404
   ========================================================================== */
.page-header {
	max-width: var(--container-max);
	margin: 0 auto;
	padding: var(--space-section-gap) var(--space-margin-mobile) 40px;
	border-bottom: 1px solid var(--color-border-subtle);
}
@media (min-width: 768px) { .page-header { padding: var(--space-section-gap) var(--space-margin-desktop) 40px; } }

.page-header__eyebrow { color: var(--color-secondary); }
.page-header__title {
	font-size: var(--text-headline-lg-mobile);
	margin-top: 12px;
	color: var(--color-on-surface);
}
@media (min-width: 768px) { .page-header__title { font-size: var(--text-headline-xl); } }
.page-header__meta { color: var(--color-on-surface-variant); margin-top: 16px; font-size: 14px; }
.page-header__meta span:not(:last-child)::after { content: "•"; margin: 0 8px; }

.single-content,
.page-content {
	max-width: 760px;
	margin: 0 auto;
	padding: var(--space-section-gap) var(--space-margin-mobile);
	font-size: var(--text-body-lg);
	line-height: 1.8;
	color: var(--color-on-surface-variant);
}
@media (min-width: 768px) { .single-content, .page-content { padding: var(--space-section-gap) var(--space-margin-desktop); } }

.single-content h1, .single-content h2, .single-content h3,
.page-content h1, .page-content h2, .page-content h3 {
	color: var(--color-on-surface);
	margin: 40px 0 16px;
	line-height: 1.3;
}
.single-content p, .page-content p { margin-bottom: 24px; }
.single-content a, .page-content a { color: var(--color-secondary); text-decoration: underline; }
.single-content img, .page-content img { border-radius: var(--radius-xl); margin: 24px 0; }
.single-content blockquote, .page-content blockquote {
	border-left: 3px solid var(--color-secondary);
	padding-left: 24px;
	margin: 32px 0;
	font-style: italic;
	color: var(--color-on-surface);
}
.single-featured-image { max-width: var(--container-max); margin: 0 auto; padding: 0 var(--space-margin-mobile); }
@media (min-width: 768px) { .single-featured-image { padding: 0 var(--space-margin-desktop); } }
.single-featured-image img { width: 100%; height: auto; border-radius: var(--radius-xl); max-height: 480px; object-fit: cover; }

.post-tags { display: flex; flex-wrap: wrap; gap: 8px; margin: 40px 0; }
.post-tags a {
	font-size: 12px;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	border: 1px solid var(--color-outline-variant);
	border-radius: var(--radius-lg);
	padding: 6px 14px;
	color: var(--color-on-surface-variant);
}
.post-tags a:hover { border-color: var(--color-secondary); color: var(--color-secondary); }

.author-box {
	display: flex;
	gap: 20px;
	align-items: center;
	max-width: 760px;
	margin: 0 auto 64px;
	padding: 24px;
	border: 1px solid var(--color-border-subtle);
	border-radius: var(--radius-xl);
	background: var(--color-surface-container-low);
}
.author-box img { width: 64px; height: 64px; border-radius: 50%; object-fit: cover; flex-shrink: 0; }
.author-box__name { color: var(--color-on-surface); font-weight: 600; margin-bottom: 4px; }
.author-box__bio { font-size: 14px; color: var(--color-on-surface-variant); }

.post-navigation {
	max-width: 760px;
	margin: 0 auto 64px;
	display: flex;
	justify-content: space-between;
	gap: 16px;
	padding: 0 var(--space-margin-mobile);
}
.post-navigation a {
	flex: 1;
	border: 1px solid var(--color-border-subtle);
	border-radius: var(--radius-xl);
	padding: 16px;
	color: var(--color-on-surface-variant);
}
.post-navigation a:hover { border-color: var(--color-secondary); color: var(--color-secondary); }
.post-navigation .nav-next { text-align: right; }

.comments-area { max-width: 760px; margin: 0 auto; padding: 0 var(--space-margin-mobile) var(--space-section-gap); }
@media (min-width: 768px) { .comments-area { padding: 0 var(--space-margin-desktop) var(--space-section-gap); } }
.comments-title { color: var(--color-on-surface); margin-bottom: 24px; }
.comment-list { display: flex; flex-direction: column; gap: 24px; }
.comment-body { border: 1px solid var(--color-border-subtle); border-radius: var(--radius-xl); padding: 20px; }
.comment-form textarea, .comment-form input[type="text"], .comment-form input[type="email"], .comment-form input[type="url"] {
	width: 100%;
	background: var(--color-surface-container);
	border: 1px solid var(--color-outline-variant);
	border-radius: var(--radius-lg);
	padding: 12px 16px;
	color: var(--color-on-surface);
	margin-bottom: 16px;
}

/* Pagination (archive/index) */
.pagination {
	display: flex;
	justify-content: center;
	gap: 8px;
	max-width: var(--container-max);
	margin: 40px auto 0;
	padding: 0 var(--space-margin-mobile);
}
.pagination .page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 40px;
	height: 40px;
	border-radius: var(--radius-lg);
	border: 1px solid var(--color-border-subtle);
	color: var(--color-on-surface-variant);
	padding: 0 12px;
}
.pagination .page-numbers.current,
.pagination .page-numbers:hover { border-color: var(--color-secondary); color: var(--color-secondary); }

/* 404 */
.error-404 {
	max-width: 640px;
	margin: 0 auto;
	text-align: center;
	padding: var(--space-section-gap) var(--space-margin-mobile);
}
.error-404__code { font-size: 96px; font-family: var(--font-headline); color: var(--color-secondary); line-height: 1; }
.error-404__title { margin: 16px 0; color: var(--color-on-surface); }
.error-404__desc { color: var(--color-on-surface-variant); margin-bottom: 32px; }

/* WP core alignment / caption helpers */
.alignleft { float: left; margin: 0 24px 16px 0; }
.alignright { float: right; margin: 0 0 16px 24px; }
.aligncenter { display: block; margin: 24px auto; }
.wp-caption { max-width: 100%; }
.wp-caption-text { font-size: 13px; color: var(--color-outline); text-align: center; margin-top: 8px; }

.hero {
	position: relative;
	min-height: 600px;
	height: 80vh;
	display: flex;
	align-items: center;
	justify-content: center;
	overflow: hidden;
	border-bottom: 1px solid var(--color-border-subtle);
	text-align: center;
	background-color: var(--color-background);
}
.hero__bg {
	position: absolute;
	inset: 0;
	z-index: 0;
}
.hero__bg img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
}
.hero::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
	background: linear-gradient(to top, var(--color-background), rgba(5,20,36,0.65), rgba(5,20,36,0.35));
}
.hero__inner {
	position: relative;
	z-index: 2;
	max-width: var(--container-max);
	margin: 0 auto;
	padding: 0 var(--space-margin-mobile);
}

.gt_float_switcher .gt-selected{    background-color:#033343 !important;  color: #fff !important;}
.gt_float_switcher{    background-color :#033343 !important; color: #fff !important;}
.gt_float_switcher .gt_options a,.gt_float_switcher .gt-selected .gt-current-lang{ color: #fff !important;}

@media screen and (max-width: 768px) {
	a.custom-logo-link img {
    	max-width: 150px !important;
	}
    div#gt_float_wrapper {
        right: 60px !important;
    }
    .gt_float_switcher .gt-selected .gt-current-lang {
        padding: 5px !important;
        color: #f9f9f9 !important;
        font-weight: bold !important;
    }
    .gt_float_switcher img {
        width: 16px !important;
    }
    .gt_float_switcher {
        font-size: 12px !important;
        line-height: 20px !important;
    }
}