/* ==========================================================================
   Responsive Layout System
   ========================================================================== */

/* Container */
.container {
	width: 100%;
	max-width: var(--container-max-width);
	margin-inline: auto;
	padding-inline: var(--section-padding-inline);
}

/* Header Layout */
.header-bg {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	height: var(--header-height);
	background-color: var(--color-background);
	border-bottom: 1px solid var(--color-border);
	pointer-events: none;
	z-index: var(--z-index-sticky);
}

header {
	position: sticky;
	top: 0;
	z-index: calc(var(--z-index-sticky) + 4);
}

.header-container {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--space-lg);
	height: var(--header-height);
	max-width: var(--container-max-width);
	margin-inline: auto;
	padding-inline: var(--section-padding-inline);
}

.logo-wrapper {
	flex-shrink: 0;
}

.logo-wrapper a {
	display: flex;
	align-items: center;
	gap: var(--space-sm);
	color: var(--color-primary-charcoal);
	text-decoration: none;
}

.logo-text {
	font-size: var(--font-size-xl);
	font-weight: var(--font-weight-semibold);
	letter-spacing: -0.02em;
}

.logo-wrapper img {
	width: auto;
	height: clamp(2.5rem, 2rem + 2vw, 3.5rem);
}

/* Header Navigation - removed for minimalist one-page design */

/* Main Content Layout */
main {
	min-height: calc(100vh - var(--header-height));
	position: relative;
	z-index: calc(var(--z-index-sticky) + 3);
}

/* Section Layout */
.content-section {
	padding-block: var(--section-padding-block);
	padding-inline: var(--section-padding-inline);
}

.section-container {
	max-width: var(--container-max-width);
	margin-inline: auto;
}

.section-divider {
	height: 1px;
	background-color: var(--color-border);
	margin-inline: var(--section-padding-inline);
}

/* Dark Section Variant */
.content-section--dark {
	background-color: var(--color-primary-charcoal);
	color: var(--color-text-inverse);
}

.content-section--dark h2,
.content-section--dark p,
.content-section--dark address {
	color: var(--color-text-inverse);
}

.content-section--dark .topline {
	color: rgba(255, 255, 255, 0.6);
}

.content-section--dark a {
	color: var(--color-primary-cyan);
}

.content-section--dark a:hover {
	color: var(--color-text-inverse);
}

@media (prefers-color-scheme: dark) {
	.content-section--dark {
		background-color: #0D0D0D;
	}
}

/* Footer Layout */
footer {
	background-color: var(--color-background-alt);
	padding-block: var(--space-xl);
	padding-inline: var(--section-padding-inline);
	border-top: 1px solid var(--color-border);
	position: relative;
	z-index: calc(var(--z-index-sticky) + 3);
}

.footer-container {
	max-width: var(--container-max-width);
	margin-inline: auto;
	display: flex;
	flex-direction: column;
	gap: var(--space-md);
	align-items: center;
	text-align: center;
	font-size: var(--font-size-sm);
}

.footer-container nav ul {
	display: flex;
	gap: var(--space-md);
	flex-wrap: wrap;
	list-style: none;
	padding: 0;
	margin: 0;
}

/* Footer responsive layout */
@media (min-width: 640px) {
	.footer-container {
		flex-direction: row;
		justify-content: space-between;
		text-align: left;
	}
}

/* Responsive Grid Utilities */
@media (min-width: 768px) {
	.grid-md-2 {
		display: grid;
		grid-template-columns: repeat(2, 1fr);
		gap: var(--space-lg);
	}
}

@media (min-width: 1024px) {
	.grid-lg-3 {
		display: grid;
		grid-template-columns: repeat(3, 1fr);
		gap: var(--space-xl);
	}
}

/* Responsive Utilities */
@media (max-width: 640px) {
	.hide-mobile {
		display: none;
	}
}

@media (min-width: 640px) {
	.show-mobile-only {
		display: none;
	}
}
