.site-header {
	position: sticky;
	top: 0;
	z-index: var(--z-header);
	min-height: var(--header-height);
	border-bottom: var(--border-width) solid rgb(255 255 255 / 8%);
	background: rgb(9 9 9 / 94%);
	color: var(--color-white);
	transition: background-color var(--transition-normal), border-color var(--transition-normal), box-shadow var(--transition-normal);
}

.site-header.is-scrolled {
	border-color: var(--color-border-dark);
	background: rgb(9 9 9 / 98%);
	box-shadow: 0 0.75rem 2rem rgb(0 0 0 / 18%);
}

@supports (backdrop-filter: blur(0.75rem)) {
	.site-header {
		background: rgb(9 9 9 / 86%);
		backdrop-filter: blur(0.75rem);
	}
}

.admin-bar .site-header { top: 32px; }
.site-header__inner { display: flex; align-items: center; gap: var(--space-lg); min-height: var(--header-height); }
.site-branding { flex: 0 1 auto; margin-right: auto; }

.site-title {
	color: var(--color-white);
	font-family: var(--font-heading);
	font-size: 1.125rem;
	font-weight: 700;
	letter-spacing: 0.04em;
	text-decoration: none;
	text-transform: uppercase;
}

.custom-logo { max-width: min(13rem, 40vw); max-height: 3rem; width: auto; }
.primary-menu,
.footer-menu,
.site-footer__social { padding: 0; margin: 0; list-style: none; }

.primary-menu { display: flex; align-items: stretch; gap: clamp(0.75rem, 1.5vw, 1.5rem); }
.primary-menu a { position: relative; display: flex; align-items: center; min-height: var(--header-height); color: var(--color-white); font-family: var(--font-heading); font-size: var(--font-navigation); font-weight: 600; letter-spacing: 0.03em; text-decoration: none; }
.primary-menu a::after { position: absolute; right: 0; bottom: -1px; left: 0; height: 2px; background: var(--color-orange); content: ""; transform: scaleX(0); transform-origin: right; transition: transform var(--transition-normal); }
.primary-menu a:hover,
.primary-menu .current-menu-item > a,
.primary-menu .current-menu-ancestor > a { color: var(--color-white); }
.primary-menu a:hover::after,
.primary-menu .current-menu-item > a::after,
.primary-menu .current-menu-ancestor > a::after { transform: scaleX(1); transform-origin: left; }

.menu-toggle {
	display: none;
	align-items: center;
	justify-content: center;
	gap: var(--space-sm);
	min-width: 3rem;
	min-height: 3rem;
	padding: var(--space-sm);
	border: var(--border-width) solid var(--color-border-dark);
	border-radius: var(--border-radius-sm);
	background: transparent;
	color: var(--color-white);
	cursor: pointer;
}

.menu-toggle__label { font-family: var(--font-heading); font-size: var(--font-button); font-weight: 700; letter-spacing: var(--letter-spacing-button); text-transform: uppercase; }
.menu-toggle__icon { position: relative; display: block; width: 1.25rem; height: 0.875rem; }
.menu-toggle__icon span { position: absolute; right: 0; width: 100%; height: 1px; background: currentcolor; transition: top var(--transition-fast), transform var(--transition-fast); }
.menu-toggle__icon span:first-child { top: 0.1875rem; }
.menu-toggle__icon span:last-child { top: 0.6875rem; }
.menu-toggle[aria-expanded="true"] .menu-toggle__icon span:first-child { top: 0.4375rem; transform: rotate(45deg); }
.menu-toggle[aria-expanded="true"] .menu-toggle__icon span:last-child { top: 0.4375rem; transform: rotate(-45deg); }
.site-header__quotation { flex: 0 0 auto; }

.site-main { min-height: 50vh; padding-block: var(--section-space); }
.page-header { max-width: var(--container-narrow); margin-bottom: var(--space-2xl); }
.archive-description { color: var(--color-text-muted); font-size: var(--font-body-lg); }
.entry-content { max-width: var(--container-narrow); }
.entry-content > * + * { margin-top: var(--space-md); }
.entry-content a { font-weight: 600; }
.entry-content blockquote { padding: var(--space-lg); border-left: 3px solid var(--color-orange); background: var(--color-white); font-size: var(--font-body-lg); }
.entry-thumbnail { margin-block: var(--space-xl); }
.content-summary { padding-block: var(--space-xl); border-bottom: var(--border-width) solid var(--color-border-light); }
.content-summary__title { font-size: var(--font-h3); }
.content-summary__title a { color: var(--color-text-dark); text-decoration: none; }
.content-summary__title a:hover { color: var(--color-orange); }
.navigation.pagination,
.post-navigation { margin-top: var(--space-2xl); }
.nav-links { display: flex; flex-wrap: wrap; gap: var(--space-xs); }
.page-numbers { display: grid; min-width: 2.75rem; min-height: 2.75rem; padding: var(--space-xs); place-items: center; border: var(--border-width) solid var(--color-border-light); color: var(--color-text-dark); text-decoration: none; }
.page-numbers.current,
.page-numbers:hover { border-color: var(--color-orange); background: var(--color-orange); color: var(--color-black); }

.site-footer {
	padding-block: var(--space-3xl) var(--space-xl);
	border-top: var(--border-width) solid var(--color-border-dark);
}

.site-footer__grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--space-2xl); }
.site-footer__logo { margin-bottom: var(--space-lg); }
.site-footer__name { max-width: 24rem; margin: 0; color: var(--color-white); font-family: var(--font-heading); font-size: var(--font-h4); font-weight: 600; line-height: var(--line-height-heading); }
.site-footer__heading { margin-bottom: var(--space-md); color: var(--color-white); font-size: var(--font-caption); font-weight: 700; letter-spacing: var(--letter-spacing-eyebrow); text-transform: uppercase; }
.footer-menu,
.site-footer__contact,
.site-footer__social { display: grid; gap: var(--space-xs); }
.footer-menu a,
.site-footer__contact a,
.site-footer__social a { color: var(--color-text-secondary); text-decoration: none; }
.footer-menu a:hover,
.site-footer__contact a:hover,
.site-footer__social a:hover { color: var(--color-orange); }
.site-footer__contact { font-style: normal; }
.site-footer__contact span { color: var(--color-text-secondary); }
.site-footer__bottom { padding-top: var(--space-xl); margin-top: var(--space-2xl); border-top: var(--border-width) solid var(--color-border-dark); }
.site-footer__copyright { margin: 0; color: var(--color-text-secondary); font-size: var(--font-caption); letter-spacing: 0.04em; }

@media (min-width: 48rem) {
	.site-footer__grid { grid-template-columns: minmax(14rem, 1.5fr) repeat(2, minmax(10rem, 1fr)); }
}

@media (min-width: 64.0625rem) {
	.site-footer__grid { grid-template-columns: minmax(18rem, 2fr) repeat(3, minmax(10rem, 1fr)); }
}

@media (max-width: 64rem) {
	:root { --header-height: 4.5rem; }
	.site-header__inner { position: relative; flex-wrap: wrap; gap: var(--space-md); padding-block: var(--space-sm); }
	.menu-toggle { display: inline-flex; }
	.primary-navigation { order: 3; flex-basis: 100%; }
	.primary-navigation.is-ready .primary-menu { display: none; }
	.primary-navigation.is-ready.is-open .primary-menu { display: flex; }
	.primary-menu { flex-direction: column; align-items: stretch; gap: 0; max-height: calc(100vh - var(--header-height) - 6rem); overflow-y: auto; padding-block: var(--space-sm); border-top: var(--border-width) solid var(--color-border-dark); }
	.primary-menu a { min-height: 3.25rem; border-bottom: var(--border-width) solid var(--color-border-dark); }
	.primary-menu a::after { top: 50%; right: auto; bottom: auto; left: 0; width: 2px; height: 1.25rem; transform: translateY(-50%) scaleY(0); }
	.primary-menu a:hover::after,
	.primary-menu .current-menu-item > a::after,
	.primary-menu .current-menu-ancestor > a::after { transform: translateY(-50%) scaleY(1); }
	.site-header__quotation { display: none; order: 4; width: 100%; margin-bottom: var(--space-sm); }
	.primary-navigation.is-open + .site-header__quotation,
	.primary-navigation:not(.is-ready) + .site-header__quotation { display: inline-flex; }
}

@media (max-width: 48rem) {
	.admin-bar .site-header { top: 46px; }
}

@media (max-width: 37.5rem) {
	.menu-toggle__label {
		position: absolute;
		width: 1px;
		height: 1px;
		padding: 0;
		margin: -1px;
		overflow: hidden;
		clip: rect(0, 0, 0, 0);
		white-space: nowrap;
		border: 0;
	}
}
