.theme-machine {
	--steel: #293640;
	--paper: #EDD9C1;
	--brand: #FFA843;

	--color-bg: var(--steel);
	--color-text: var(--paper);
	--color-accent: var(--brand);
}

/* Body-Styling innerhalb des Themes */
.theme-machine body {
	overflow: hidden;
	background: #F5EFE9;
	padding-inline: 5rem;
	height: 100vh;
}

.theme-machine .page-frame {
	height: 100%;
    overflow-y: auto; 
	border-radius: 6px;
	box-shadow:
		/* Drop Shadow */
		0 10px 50px rgba(0, 0, 0, 0.6),
		0 30px 90px rgba(0, 0, 0, 0.3);
}


.theme-machine body::before {
    content: "";
    position: fixed;
    top: 0;
    bottom: 0;
    left: calc(50% - var(--frame-width) / 2 + 4rem);
    width: 1px;
    background: var(--color-accent);
    opacity: .35;
    pointer-events: none;
    z-index: 0;
}

/* Header-Centering */
.theme-machine .site-header .container {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 1rem;
}

/* Große Überschrift */
.theme-machine .site-title {
	font-size: 5rem;
}

/* Uppercase-Regeln */
.theme-machine .site-title,
.theme-machine .footer-title,
.theme-machine .footer-nav a {
	text-transform: uppercase;
}

/* Startseite: Hero + Listen (Tokens, gemeinsame Regeln) */
.theme-machine .home-hero { margin-bottom: var(--space-l); }
.theme-machine .home-hero-description {
	font-size: var(--font-size-base);
	max-width: 36em;
	opacity: 0.95;
}
.theme-machine .home-section-title {
	font-size: 0.85rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	opacity: 0.7;
	margin-bottom: var(--space-s);
}
.theme-machine .home-teaser { margin-bottom: var(--space-l); }

.theme-machine .home-teaser-list,
.theme-machine .home-archive-list {
	list-style: none;
	margin-block: 0;
	padding-left: 0;
}
.theme-machine .home-teaser-item,
.theme-machine .home-archive-item {
	margin-block: 0;
	border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}
.theme-machine .home-teaser-item::before,
.theme-machine .home-archive-item::before { content: none; }

.theme-machine .home-teaser-link,
.theme-machine .home-archive-link {
	display: block;
	padding: var(--space-s) 0;
	color: inherit;
	text-decoration: none;
}
.theme-machine .home-teaser-link:hover,
.theme-machine .home-archive-link:hover { opacity: 0.85; }

.theme-machine .home-teaser-title,
.theme-machine .home-archive-title {
	display: block;
	font-weight: 600;
	font-size: var(--font-size-h3);
	margin-bottom: var(--space-2xs);
}
.theme-machine .home-teaser-desc,
.theme-machine .home-archive-teaser {
	display: block;
	font-size: var(--font-size-base);
	margin-bottom: var(--space-2xs);
	opacity: 0.85;
}
.theme-machine .home-teaser-meta,
.theme-machine .home-archive-meta {
	font-size: 0.85em;
	opacity: 0.6;
}