/*
Theme Name: Emm Te
Theme URI: https://www.emmte.com
Author: Emm Te
Description: A dark, atmospheric block theme for electronic artist Emm Te.
Requires at least: 6.6
Tested up to: 7.0
Requires PHP: 8.1
Version: 0.1.0
Text Domain: emmte
*/

:root {
	--emmte-night: #050b14;
	--emmte-ink: #0a1320;
	--emmte-panel: #101b2a;
	--emmte-ivory: #f2efe7;
	--emmte-lead: #d5e4f2;
	--emmte-muted: #96aabe;
	--emmte-dim: #6f8397;
	--emmte-violet: #d58cff;
	--emmte-cyan: #62e7ef;
	--emmte-line: rgba(177, 220, 255, 0.16);
	--emmte-radius: 1.2rem;
}

* {
	box-sizing: border-box;
}

html {
	overflow-x: hidden;
	scroll-behavior: smooth;
}

body {
	background:
		radial-gradient(circle at 78% 4%, rgba(213, 140, 255, 0.15), transparent 27rem),
		var(--emmte-night);
	color: var(--emmte-muted);
	overflow-x: hidden;
}

:where(h1, h2, h3, h4, h5, h6) {
	color: var(--emmte-ivory);
}

::selection {
	background: var(--emmte-cyan);
	color: var(--emmte-night);
}

a {
	text-underline-offset: 0.2em;
}

.emmte-content a:not(.wp-block-button__link),
.emmte-section a:not(.wp-block-button__link),
.emmte-release-detail a:not(.wp-block-button__link) {
	color: var(--emmte-cyan);
	font-weight: 700;
	text-decoration-color: color-mix(in srgb, var(--emmte-cyan) 58%, transparent);
	text-decoration-thickness: 0.08em;
}

.emmte-content a:not(.wp-block-button__link):hover,
.emmte-content a:not(.wp-block-button__link):focus-visible,
.emmte-section a:not(.wp-block-button__link):hover,
.emmte-section a:not(.wp-block-button__link):focus-visible,
.emmte-release-detail a:not(.wp-block-button__link):hover,
.emmte-release-detail a:not(.wp-block-button__link):focus-visible {
	color: var(--emmte-ivory);
	text-decoration-color: var(--emmte-cyan);
}

.emmte-shell {
	margin-inline: auto;
	max-width: 1500px;
	padding-inline: clamp(1.25rem, 4vw, 4rem);
	width: 100%;
}

.emmte-site-header {
	background: rgba(5, 11, 20, 0.86);
	border-bottom: 1px solid var(--emmte-line);
	position: sticky;
	top: 0;
	z-index: 50;
	backdrop-filter: blur(18px);
}

.emmte-header-inner {
	min-height: 5.25rem;
}

a.emmte-wordmark {
	align-items: baseline;
	color: var(--emmte-ivory);
	display: inline-flex;
	gap: 0.18em;
	line-height: 1;
	text-transform: uppercase;
}

.emmte-nav a {
	text-decoration: none;
}

a.emmte-wordmark,
a.emmte-wordmark:hover,
a.emmte-wordmark:focus-visible {
	text-decoration: none;
}

.emmte-site-header .wp-block-site-title.emmte-wordmark {
	display: none;
}

.emmte-wordmark__emm,
.emmte-wordmark__te {
	display: block;
	font-weight: 950;
	letter-spacing: -0.07em;
	line-height: 1;
}

.emmte-wordmark__emm {
	color: var(--emmte-ivory);
	font-size: 1.95rem;
}

.emmte-wordmark__te {
	color: var(--emmte-violet);
	font-size: 1.95rem;
	text-shadow: 0 0 1.4rem rgba(213, 140, 255, 0.28);
}

body.emmte-aural-forge-page .emmte-wordmark__te {
	color: #ff8b22;
	text-shadow: 0 0 1.4rem rgba(255, 139, 34, 0.28);
}

.emmte-nav {
	font-size: 0.75rem;
	font-weight: 650;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

.emmte-nav .wp-block-navigation__container {
	gap: clamp(1.1rem, 2.2vw, 2.25rem);
}

.emmte-nav a:hover,
.emmte-nav a:focus-visible {
	color: var(--emmte-cyan);
}

.emmte-main {
	margin-block-start: 0;
}

.emmte-hero {
	align-items: center;
	display: grid;
	gap: clamp(3rem, 8vw, 9rem);
	grid-template-columns: minmax(0, 1.1fr) minmax(19rem, 0.72fr);
	min-height: calc(100vh - 5.25rem);
	padding-block: clamp(4rem, 8vw, 8rem);
	position: relative;
}

.emmte-hero::before {
	background: linear-gradient(90deg, transparent, var(--emmte-line), transparent);
	content: "";
	height: 1px;
	left: 50%;
	position: absolute;
	top: 9%;
	transform: translateX(-50%) rotate(-24deg);
	width: 75vw;
}

.emmte-kicker {
	color: var(--emmte-cyan);
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.18em;
	margin-block: 0 1.5rem;
	text-transform: uppercase;
}

.emmte-hero-title {
	font-size: 9rem !important;
	font-weight: 650;
	letter-spacing: -0.09em;
	line-height: 0.72;
	margin: 0;
	max-width: 5ch;
	text-transform: uppercase;
}

.emmte-hero-title span {
	color: var(--emmte-violet);
	text-shadow: 0 0 2.4rem rgba(213, 140, 255, 0.18);
}

.emmte-hero-copy {
	color: var(--emmte-muted);
	font-size: 1.2rem;
	line-height: 1.55;
	margin-block: 1.25rem 0;
	max-width: 35rem;
}

.emmte-buttons {
	display: flex;
	flex-wrap: wrap;
	gap: 0.85rem;
	margin-block-start: 2rem;
}

.emmte-button .wp-block-button__link {
	border: 1px solid var(--emmte-cyan);
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.11em;
	padding: 0.95rem 1.3rem;
	text-transform: uppercase;
	transition: 160ms ease;
}

.emmte-button .wp-block-button__link:hover,
.emmte-button .wp-block-button__link:focus-visible {
	background: var(--emmte-ivory);
	border-color: var(--emmte-ivory);
	color: var(--emmte-night);
	transform: translateY(-2px);
}

.emmte-signal-card {
	aspect-ratio: 1;
	background:
		repeating-radial-gradient(circle at 50% 50%, transparent 0 8%, rgba(98, 231, 239, 0.08) 8.2% 8.5%),
		radial-gradient(circle at 68% 28%, rgba(90, 167, 255, 0.62), transparent 23%),
		radial-gradient(circle at 28% 72%, rgba(98, 231, 239, 0.24), transparent 29%),
		linear-gradient(145deg, #12233a, #06101c 68%);
	border: 1px solid var(--emmte-line);
	box-shadow: 1.2rem 1.2rem 0 rgba(90, 167, 255, 0.24);
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	min-height: 25rem;
	overflow: hidden;
	padding: clamp(1.5rem, 3vw, 2.75rem);
	position: relative;
}

.emmte-signal-card::after {
	border: 1px solid rgba(242, 239, 231, 0.42);
	border-radius: 50%;
	content: "";
	height: 42%;
	left: 50%;
	position: absolute;
	top: 50%;
	transform: translate(-50%, -50%);
	width: 42%;
}

.emmte-signal-card p {
	font-size: 0.68rem;
	font-weight: 700;
	letter-spacing: 0.17em;
	margin: 0;
	position: relative;
	text-transform: uppercase;
	z-index: 1;
}

.emmte-signal-card h2 {
	font-size: 4.2rem !important;
	letter-spacing: -0.07em;
	line-height: 0.82;
	margin: 0;
	max-width: 6ch;
	position: relative;
	z-index: 1;
}

.emmte-section {
	border-top: 1px solid var(--emmte-line);
	padding-block: clamp(5rem, 9vw, 9rem);
}

.emmte-section-header {
	align-items: end;
	display: flex;
	gap: 2rem;
	justify-content: space-between;
	margin-block-end: clamp(2.5rem, 5vw, 4.5rem);
}

.emmte-section-title,
.emmte-page-title {
	font-size: 5.25rem !important;
	letter-spacing: -0.07em;
	line-height: 0.85;
	margin: 0;
}

.emmte-text-link {
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.emmte-release-feature {
	background: var(--emmte-panel);
	border: 1px solid var(--emmte-line);
	display: grid;
	grid-template-columns: minmax(17rem, 0.85fr) minmax(0, 1.15fr);
}

.emmte-release-media {
	aspect-ratio: 1;
	background:
		linear-gradient(135deg, rgba(90, 167, 255, 0.38), transparent 55%),
		repeating-linear-gradient(45deg, transparent 0 12px, rgba(98, 231, 239, 0.08) 12px 13px),
		#091421;
	min-height: 100%;
}

.emmte-release-media .wp-block-post-featured-image,
.emmte-release-media .wp-block-post-featured-image a,
.emmte-release-media .wp-block-post-featured-image img {
	height: 100%;
	margin: 0;
	width: 100%;
}

.emmte-release-media img {
	object-fit: cover;
}

.emmte-release-copy {
	align-self: center;
	padding: clamp(2rem, 6vw, 6rem);
}

.emmte-release-copy .wp-block-post-title {
	font-size: 5rem !important;
	letter-spacing: -0.07em;
	line-height: 0.84;
	margin-block: 0 1.5rem;
}

.emmte-release-copy .wp-block-post-title a {
	text-decoration: none;
}

.emmte-post-date {
	color: var(--emmte-cyan);
	font-size: 0.7rem;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
}

.emmte-release-grid {
	display: grid !important;
	gap: clamp(1.25rem, 2.5vw, 2.5rem);
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.emmte-release-grid--compact {
	gap: clamp(1rem, 1.5vw, 1.5rem);
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

.emmte-release-card {
	background:
		linear-gradient(150deg, rgba(90, 167, 255, 0.1), transparent 50%),
		var(--emmte-ink);
	border: 1px solid var(--emmte-line);
	overflow: hidden;
	transition: 160ms ease;
}

.emmte-release-card:hover {
	background-color: var(--emmte-panel);
	transform: translateY(-4px);
}

.emmte-release-card__art {
	aspect-ratio: 1;
	background:
		linear-gradient(135deg, rgba(90, 167, 255, 0.32), transparent 55%),
		repeating-linear-gradient(45deg, transparent 0 12px, rgba(98, 231, 239, 0.07) 12px 13px),
		#091421;
	border-bottom: 1px solid var(--emmte-line);
}

.emmte-release-card__art .wp-block-post-featured-image,
.emmte-release-card__art .wp-block-post-featured-image a,
.emmte-release-card__art .wp-block-post-featured-image img {
	height: 100%;
	margin: 0;
	width: 100%;
}

.emmte-release-card__art img {
	object-fit: cover;
}

.emmte-release-card__copy {
	padding: clamp(1.5rem, 3vw, 2.75rem);
}

.emmte-release-card .wp-block-post-title {
	font-size: 2.55rem !important;
	letter-spacing: -0.05em;
	line-height: 0.92;
	margin-block: 1rem;
}

.emmte-release-card .wp-block-post-title a {
	color: var(--emmte-ivory);
	text-decoration: none;
}

.emmte-release-grid--compact .emmte-release-card__copy {
	padding: clamp(1.1rem, 1.6vw, 1.5rem);
}

.emmte-release-grid--compact .emmte-release-card .wp-block-post-title {
	font-size: clamp(1.6rem, 2vw, 2rem) !important;
	margin-block: 0.75rem;
}

.emmte-split {
	display: grid;
	gap: clamp(3rem, 8vw, 8rem);
	grid-template-columns: minmax(0, 0.75fr) minmax(0, 1.25fr);
}

.emmte-about-teaser {
	background:
		radial-gradient(circle at 78% 22%, rgba(98, 231, 239, 0.08), transparent 26rem),
		linear-gradient(180deg, transparent, rgba(90, 167, 255, 0.04));
}

.emmte-about-teaser .emmte-split {
	align-items: stretch;
}

.emmte-about-copy-card {
	background:
		linear-gradient(145deg, rgba(98, 231, 239, 0.08), transparent 42%),
		var(--emmte-panel);
	border: 1px solid var(--emmte-line);
	box-shadow: 0.8rem 0.8rem 0 rgba(90, 167, 255, 0.12);
	padding: clamp(1.75rem, 4vw, 3.5rem);
}

.emmte-about-copy-card > * + * {
	margin-block-start: 1rem;
}

.emmte-about-lede {
	font-size: clamp(1.35rem, 2.1vw, 2.25rem);
}

.emmte-about-body {
	color: var(--emmte-muted);
	font-size: 1.08rem;
	line-height: 1.65;
}

.emmte-about-page {
	display: grid;
	gap: clamp(2rem, 5vw, 5rem);
	grid-template-columns: minmax(17rem, 0.78fr) minmax(0, 1.22fr);
	margin-block-start: 1rem;
}

.emmte-about-portrait-card {
	align-self: start;
	background:
		radial-gradient(circle at 50% 18%, rgba(98, 231, 239, 0.22), transparent 19rem),
		var(--emmte-panel);
	border: 1px solid var(--emmte-line);
	box-shadow: 0.9rem 0.9rem 0 rgba(90, 167, 255, 0.14);
	overflow: hidden;
	padding: 0.85rem;
}

.emmte-about-portrait {
	aspect-ratio: 1;
	margin: 0;
	overflow: hidden;
}

.emmte-about-portrait img {
	display: block;
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.emmte-about-card-title {
	font-size: clamp(2.5rem, 5vw, 5.75rem) !important;
	letter-spacing: -0.07em;
	line-height: 0.85;
	margin-block: 0 1.5rem;
}

.emmte-about-chip-grid {
	display: flex;
	flex-wrap: wrap;
	gap: 0.65rem;
	margin-block: 1.75rem 2rem;
}

.emmte-about-chip-grid p {
	border: 1px solid color-mix(in srgb, var(--emmte-cyan) 50%, transparent);
	border-radius: 999px;
	color: var(--emmte-cyan);
	font-size: 0.68rem;
	font-weight: 700;
	letter-spacing: 0.1em;
	margin: 0;
	padding: 0.55rem 0.75rem;
	text-transform: uppercase;
}

.emmte-contact-page {
	display: grid;
	gap: clamp(1.5rem, 3vw, 3rem);
	grid-template-columns: minmax(0, 1.35fr) minmax(21rem, 0.85fr);
}

.emmte-contact-card,
.emmte-contact-side-card {
	background:
		linear-gradient(145deg, rgba(98, 231, 239, 0.08), transparent 42%),
		var(--emmte-panel);
	border: 1px solid var(--emmte-line);
	position: relative;
}

.emmte-contact-card {
	box-shadow: 0.9rem 0.9rem 0 rgba(90, 167, 255, 0.14);
	overflow: hidden;
	padding: clamp(2rem, 5vw, 5rem);
}

.emmte-contact-card::after {
	border: 1px solid color-mix(in srgb, var(--emmte-cyan) 30%, transparent);
	border-radius: 50%;
	content: "";
	height: 18rem;
	position: absolute;
	right: -5rem;
	top: -7rem;
	width: 18rem;
}

.emmte-contact-card > * {
	position: relative;
	z-index: 1;
}

.emmte-contact-title {
	font-size: clamp(3rem, 5.25vw, 6.25rem) !important;
	letter-spacing: -0.075em;
	line-height: 0.88;
	margin-block: 0 2rem;
	max-width: 10ch;
}

.emmte-contact-lede {
	max-width: 42rem;
}

.emmte-contact-note {
	border-left: 2px solid var(--emmte-cyan);
	color: var(--emmte-muted);
	font-size: 1rem;
	line-height: 1.65;
	margin-block: clamp(2.5rem, 5vw, 4rem) 0;
	max-width: 40rem;
	padding-inline-start: 1.25rem;
}

.emmte-contact-side-card {
	align-self: start;
	display: flex;
	flex-direction: column;
	gap: 1rem;
	padding: clamp(1.75rem, 3vw, 3rem);
}

.emmte-contact-side-card h3 {
	font-size: 2.2rem !important;
	letter-spacing: -0.04em;
	margin-block: 0 1.5rem;
}

.emmte-contact-side-card p {
	line-height: 1.65;
}

.emmte-contact-side-card .emmte-social-links {
	margin-block-start: 0.5rem;
}

.emmte-large-copy {
	color: var(--emmte-lead);
	font-size: 1.75rem;
	letter-spacing: -0.02em;
	line-height: 1.3;
	margin-block-start: 0;
}

.emmte-muted {
	color: var(--emmte-muted);
}

.emmte-dim {
	color: var(--emmte-dim);
}

.emmte-software-card {
	background: linear-gradient(135deg, rgba(98, 231, 239, 0.1), transparent 55%);
	border: 1px solid var(--emmte-line);
	padding: clamp(2rem, 5vw, 5rem);
}

.emmte-forge-hero {
	background:
		radial-gradient(circle at 84% 18%, rgba(255, 146, 43, 0.16), transparent 22rem),
		radial-gradient(circle at 24% 84%, rgba(79, 199, 238, 0.14), transparent 26rem),
		linear-gradient(135deg, rgba(98, 231, 239, 0.08), transparent 52%),
		var(--emmte-ink);
	border: 1px solid var(--emmte-line);
	margin-block-end: clamp(2rem, 5vw, 5rem);
	overflow: hidden;
	padding: clamp(2.5rem, 5vw, 4.75rem);
	position: relative;
}

.emmte-forge-hero::before {
	background: url("assets/aural-forge-logo.svg") center / contain no-repeat;
	content: "";
	filter: drop-shadow(0 0 1rem rgba(255, 146, 43, 0.18));
	height: clamp(2.75rem, 5vw, 4.25rem);
	opacity: 0.95;
	pointer-events: none;
	position: absolute;
	right: clamp(2rem, 5vw, 5rem);
	top: clamp(2rem, 5vw, 4rem);
	width: clamp(4.5rem, 8vw, 7rem);
}

.emmte-forge-hero::after {
	border: 1px solid rgba(255, 146, 43, 0.24);
	border-radius: 50%;
	content: "";
	height: 19rem;
	position: absolute;
	right: -5rem;
	top: -7rem;
	width: 19rem;
}

.emmte-forge-hero > * {
	position: relative;
	z-index: 1;
}

.emmte-forge-title {
	font-size: 6.5rem !important;
	letter-spacing: -0.065em;
	line-height: 0.86;
	margin-block: 1rem 2rem;
	max-width: 8ch;
}

.emmte-forge-status-actions {
	margin-block: 0 2.25rem;
}

.emmte-forge-stats {
	display: grid;
	gap: 0.75rem;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	margin-block: 2.5rem 4rem;
}

.emmte-forge-stats > * {
	background: var(--emmte-panel);
	border: 1px solid var(--emmte-line);
	min-height: 10rem;
	padding: 1.5rem;
}

.emmte-forge-stats h3 {
	color: var(--emmte-cyan);
	font-size: 3.25rem !important;
	letter-spacing: -0.04em;
	line-height: 0.95;
	margin: 0;
	white-space: nowrap;
}

.emmte-forge-stats p {
	color: var(--emmte-muted);
	font-size: 0.7rem;
	font-weight: 700;
	letter-spacing: 0.1em;
	margin-block: 0.8rem 0;
	text-transform: uppercase;
}

.emmte-forge-section {
	border-top: 1px solid var(--emmte-line);
	padding-block: 5.5rem;
}

.emmte-forge-section .emmte-section-title {
	margin-block-end: 2rem;
	max-width: 15ch;
}

.emmte-taxonomy-grid,
.emmte-tech-grid,
.emmte-spec-grid {
	display: grid;
	gap: 0.75rem;
	margin-block: 2rem 3rem;
}

.emmte-taxonomy-grid {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.emmte-tech-grid,
.emmte-spec-grid {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.emmte-taxonomy-grid > *,
.emmte-tech-grid > *,
.emmte-spec-grid > * {
	background:
		linear-gradient(145deg, color-mix(in srgb, var(--emmte-violet) 7%, transparent), transparent 52%),
		var(--emmte-panel);
	border: 1px solid var(--emmte-line);
	margin: 0;
	padding: 1.75rem;
}

.emmte-taxonomy-grid h3,
.emmte-tech-grid h3 {
	font-size: 1.85rem !important;
	letter-spacing: -0.025em;
	margin-block: 0.7rem 1.2rem;
}

.emmte-tech-label {
	color: var(--emmte-cyan);
	font-size: 0.66rem;
	font-weight: 700;
	letter-spacing: 0.12em;
	margin: 0;
	text-transform: uppercase;
}

.emmte-forge-note {
	border-left: 2px solid var(--emmte-violet);
	color: var(--emmte-muted);
	font-size: 0.82rem;
	margin-block: 2rem;
	padding: 1rem 1.25rem;
}

.emmte-changelog-main {
	background:
		radial-gradient(circle at 82% 4%, rgba(255, 146, 43, 0.08), transparent 24rem),
		var(--emmte-ink);
}

.emmte-changelog-page {
	max-width: 1040px;
	padding-block: clamp(3.5rem, 8vw, 7rem);
}

.emmte-changelog-intro {
	border-bottom: 1px solid var(--emmte-line);
	padding-block-end: clamp(2.5rem, 6vw, 5rem);
}

.emmte-changelog-title {
	font-size: clamp(3.2rem, 8vw, 7rem) !important;
	letter-spacing: -0.065em;
	line-height: 0.9;
	margin-block: 0.85rem 2rem;
	max-width: 10ch;
}

.emmte-changelog-intro .emmte-large-copy {
	max-width: 28ch;
}

.emmte-changelog-intro .emmte-muted {
	max-width: 48rem;
}

.emmte-changelog-list {
	margin-block: 0;
}

.emmte-changelog-entry {
	border-bottom: 1px solid var(--emmte-line);
	display: grid;
	gap: clamp(1.5rem, 4vw, 4rem);
	grid-template-columns: minmax(8.5rem, 0.28fr) minmax(0, 1fr);
	padding-block: clamp(2.75rem, 6vw, 5rem);
}

.emmte-changelog-date {
	color: var(--emmte-cyan);
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.12em;
	margin: 0;
	text-transform: uppercase;
}

.emmte-changelog-entry__body h2 {
	font-size: clamp(1.8rem, 3.8vw, 3.15rem);
	letter-spacing: -0.035em;
	line-height: 1.02;
	margin-block: 0 2rem;
	max-width: 18ch;
}

.emmte-changelog-entry__details {
	align-items: start;
	display: grid;
	gap: clamp(1.75rem, 4vw, 3.5rem);
	grid-template-columns: minmax(0, 1fr) 11rem;
}

.emmte-changelog-entry__details--stacked {
	grid-template-columns: 1fr;
}

.emmte-changelog-entry__details--illustrated {
	grid-template-columns: minmax(0, 1fr) minmax(14rem, 18rem);
}

.emmte-changelog-entry__body ul {
	margin-block: 0;
	padding-inline-start: 1.25rem;
}

.emmte-changelog-entry__body li {
	color: var(--emmte-muted);
	line-height: 1.65;
	margin-block: 0 1rem;
	padding-inline-start: 0.45rem;
}

.emmte-changelog-entry__body li::marker {
	color: var(--emmte-violet);
}

.emmte-changelog-entry__body strong {
	color: var(--emmte-paper);
}

.emmte-changelog-visual {
	background: #050b0f;
	border: 1px solid var(--emmte-line);
	justify-self: start;
	margin: 0 !important;
	max-width: 11rem;
	overflow: hidden;
	width: 100%;
}

.emmte-changelog-visual__trigger {
	display: block;
	overflow: hidden;
	position: relative;
}

.emmte-changelog-visual__trigger img {
	aspect-ratio: 1 / 1;
	display: block;
	object-fit: cover;
	object-position: top;
	transition:
		filter 180ms ease,
		transform 180ms ease;
	width: 100%;
}

.emmte-changelog-visual.emmte-changelog-visual--panel {
	max-width: 18rem;
}

.emmte-changelog-visual--panel .emmte-changelog-visual__trigger img {
	aspect-ratio: auto;
	object-fit: contain;
}

.emmte-changelog-visual-pair {
	display: grid;
	gap: 0.85rem;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	justify-self: start;
	max-width: 38rem;
	width: 100%;
}

.emmte-changelog-visual-pair .emmte-changelog-visual {
	max-width: none;
}

.emmte-changelog-visual-pair__caption {
	color: var(--emmte-muted);
	font-size: 0.66rem;
	line-height: 1.5;
	margin: 0;
}

.emmte-changelog-visual.emmte-changelog-visual--strip {
	max-width: 52rem;
}

.emmte-changelog-visual--strip .emmte-changelog-visual__trigger {
	overflow-x: auto;
	overscroll-behavior-inline: contain;
}

.emmte-changelog-visual--strip .emmte-changelog-visual__trigger img {
	aspect-ratio: auto;
	max-width: none;
	min-width: 44rem;
	object-fit: contain;
}

.emmte-changelog-visual__hint {
	background: rgba(5, 11, 15, 0.86);
	bottom: 0;
	color: var(--emmte-cyan);
	font-size: 0.62rem;
	font-weight: 700;
	letter-spacing: 0.1em;
	padding: 0.55rem 0.7rem;
	position: absolute;
	right: 0;
	text-transform: uppercase;
	transform: translateY(100%);
	transition: transform 180ms ease;
}

.emmte-changelog-visual__trigger:hover img,
.emmte-changelog-visual__trigger:focus-visible img {
	filter: brightness(1.12);
	transform: scale(1.035);
}

.emmte-changelog-visual__trigger:hover .emmte-changelog-visual__hint,
.emmte-changelog-visual__trigger:focus-visible .emmte-changelog-visual__hint {
	transform: translateY(0);
}

.emmte-changelog-visual__trigger:focus-visible {
	outline: 2px solid var(--emmte-cyan);
	outline-offset: -2px;
}

.emmte-changelog-visual figcaption {
	border-top: 1px solid var(--emmte-line);
	color: var(--emmte-muted);
	font-size: 0.66rem;
	line-height: 1.5;
	padding: 0.75rem 0.8rem 0.85rem;
}

.emmte-lightbox {
	background: transparent;
	border: 0;
	color: var(--emmte-paper);
	height: 100%;
	margin: auto;
	max-height: none;
	max-width: none;
	overflow: auto;
	padding: clamp(0.75rem, 2vw, 1.5rem);
	width: 100%;
}

.emmte-lightbox::backdrop {
	background: rgba(1, 5, 8, 0.88);
	backdrop-filter: blur(8px);
}

.emmte-lightbox__frame {
	align-items: center;
	display: flex;
	min-height: 100%;
	justify-content: center;
	padding-block: 1rem;
	position: relative;
}

.emmte-lightbox__figure {
	background: #050b0f;
	border: 1px solid var(--emmte-line);
	box-shadow: 0 1.5rem 5rem rgba(0, 0, 0, 0.55);
	margin: 0;
	width: min(92vw, 24rem);
}

.emmte-lightbox__figure--wide {
	width: min(96vw, 100rem);
}

.emmte-lightbox__image {
	display: block;
	height: auto;
	width: 100%;
}

.emmte-lightbox__caption {
	border-top: 1px solid var(--emmte-line);
	color: var(--emmte-muted);
	font-size: 0.78rem;
	line-height: 1.5;
	padding: 0.9rem 1rem 1rem;
}

.emmte-lightbox__close {
	align-items: center;
	background: var(--emmte-panel);
	border: 1px solid var(--emmte-line);
	border-radius: 50%;
	color: var(--emmte-paper);
	cursor: pointer;
	display: flex;
	font: inherit;
	font-size: 1.5rem;
	height: 2.5rem;
	justify-content: center;
	line-height: 1;
	padding: 0;
	position: absolute;
	right: 0;
	top: 0;
	width: 2.5rem;
	z-index: 1;
}

.emmte-lightbox__close:hover,
.emmte-lightbox__close:focus-visible {
	background: var(--emmte-cyan);
	border-color: var(--emmte-cyan);
	color: var(--emmte-ink);
	outline: none;
}

.emmte-changelog-back {
	margin-block: clamp(2rem, 5vw, 4rem) 0;
}

.emmte-changelog-back a {
	color: var(--emmte-cyan);
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-decoration: none;
	text-transform: uppercase;
}

.emmte-changelog-back a:hover,
.emmte-changelog-back a:focus-visible {
	color: var(--emmte-paper);
}

.emmte-capture-placeholder {
	background:
		linear-gradient(135deg, rgba(98, 231, 239, 0.08), transparent 45%),
		repeating-linear-gradient(45deg, transparent 0 22px, color-mix(in srgb, var(--emmte-violet) 5%, transparent) 22px 23px),
		var(--emmte-ink);
	border: 1px dashed rgba(98, 231, 239, 0.48);
	margin-block: 3.5rem;
	min-height: 16rem;
	overflow: hidden;
	padding: 2rem;
	position: relative;
}

.emmte-capture-placeholder::after {
	border: 1px solid color-mix(in srgb, var(--emmte-violet) 24%, transparent);
	border-radius: 50%;
	content: "";
	height: 15rem;
	pointer-events: none;
	position: absolute;
	right: -5rem;
	top: -7rem;
	width: 15rem;
}

.emmte-capture-placeholder__header {
	align-items: flex-start;
	gap: clamp(1.25rem, 3vw, 3rem);
	position: relative;
	z-index: 1;
}

.emmte-capture-placeholder__index {
	color: transparent;
	font-size: 4.5rem;
	font-weight: 700;
	letter-spacing: -0.07em;
	line-height: 0.8;
	margin: 0;
	-webkit-text-stroke: 1px var(--emmte-violet);
}

.emmte-capture-placeholder .emmte-kicker {
	margin-block-end: 0.6rem;
}

.emmte-capture-placeholder__title {
	font-size: 2.6rem !important;
	letter-spacing: -0.04em;
	line-height: 0.95;
	margin: 0;
}

.emmte-capture-placeholder__purpose {
	font-size: 1.15rem;
	line-height: 1.45;
	margin-block: 2.5rem;
	max-width: 56rem;
}

.emmte-capture-placeholder__list {
	color: var(--emmte-muted);
	display: grid;
	gap: 0.75rem 3rem;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	list-style-position: inside;
	margin: 0;
	padding: 0;
}

.emmte-capture-placeholder__list li {
	border-top: 1px solid var(--emmte-line);
	padding-block-start: 0.75rem;
}

.emmte-spec-grid strong {
	color: var(--emmte-cyan);
	display: inline-block;
	font-size: 0.72rem;
	letter-spacing: 0.11em;
	margin-block-end: 0.7rem;
	text-transform: uppercase;
}

.emmte-feature-grid {
	display: grid;
	gap: 0.75rem;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	margin-block: clamp(2rem, 5vw, 5rem);
}

.emmte-feature-grid > * {
	background: var(--emmte-panel);
	border: 1px solid var(--emmte-line);
	padding: 1.75rem;
}

.emmte-feature-grid h3 {
	margin-block: 0 0.75rem;
}

.emmte-feature-grid h3 + p {
	margin-block-start: 0;
}

.emmte-forge-screenshot-card {
	background:
		linear-gradient(135deg, rgba(98, 231, 239, 0.08), transparent 45%),
		repeating-linear-gradient(45deg, transparent 0 22px, color-mix(in srgb, var(--emmte-violet) 5%, transparent) 22px 23px),
		var(--emmte-ink);
	border: 1px dashed rgba(98, 231, 239, 0.48);
	box-shadow: 0 2rem 5rem rgba(0, 0, 0, 0.2);
	margin-block: clamp(3.5rem, 6vw, 6rem);
	overflow: hidden;
	padding: clamp(1.25rem, 2.5vw, 2rem);
	position: relative;
}

.emmte-forge-screenshot-card::after {
	border: 1px solid color-mix(in srgb, var(--emmte-violet) 24%, transparent);
	border-radius: 50%;
	content: "";
	height: 15rem;
	pointer-events: none;
	position: absolute;
	right: -5rem;
	top: -7rem;
	width: 15rem;
}

.emmte-forge-screenshot-card__header {
	margin-block-end: clamp(1.5rem, 3vw, 2.5rem);
}

.emmte-forge-screenshot {
	background: #050b0f;
	border: 1px solid var(--emmte-line);
	box-shadow: 0 1.5rem 4rem rgba(0, 0, 0, 0.35);
	margin: 0 !important;
	overflow: hidden;
	position: relative;
	z-index: 1;
}

.emmte-forge-screenshot img {
	display: block;
	height: auto;
	width: 100%;
}

.emmte-forge-screenshot figcaption {
	background: linear-gradient(135deg, rgba(79, 199, 238, 0.07), transparent 50%), var(--emmte-panel);
	border-top: 1px solid var(--emmte-line);
	color: var(--emmte-muted);
	font-size: 0.82rem;
	line-height: 1.45;
	margin: 0 !important;
	padding: 1rem 1.25rem 1.1rem;
}

.emmte-forge-detail-explainer {
	align-items: center;
	background:
		linear-gradient(135deg, rgba(79, 199, 238, 0.09), transparent 46%),
		var(--emmte-panel);
	border: 1px solid var(--emmte-line);
	display: grid;
	gap: clamp(1.5rem, 3vw, 3rem);
	grid-template-columns: minmax(15rem, 0.72fr) minmax(24rem, 1.28fr);
	margin-block: clamp(2rem, 4vw, 3.5rem);
	padding: clamp(1.25rem, 2.5vw, 2rem);
}

.emmte-forge-detail-explainer h3 {
	color: var(--emmte-paper);
	font-size: clamp(1.65rem, 2.5vw, 2.6rem);
	line-height: 1.02;
	margin-block: 0.65rem 1rem;
}

.emmte-forge-detail-explainer p:last-child {
	color: var(--emmte-muted);
	margin-block-end: 0;
}

.emmte-forge-detail-explainer__image {
	justify-self: end;
	max-width: 760px;
}

.emmte-matrix-visual,
.emmte-matrix-strip,
.emmte-forge-overview-visual {
	background: #050b0f;
	border: 1px solid var(--emmte-line);
	margin-inline: 0 !important;
	overflow: hidden;
}

.emmte-matrix-visual {
	margin-block: clamp(2rem, 4vw, 3.5rem) !important;
}

.emmte-matrix-visual__viewport,
.emmte-matrix-strip__viewport,
.emmte-matrix-page-explainer__visual {
	overflow-x: auto;
	overflow-y: hidden;
	overscroll-behavior-inline: contain;
}

.emmte-matrix-visual img,
.emmte-matrix-strip img,
.emmte-matrix-page-explainer__visual img,
.emmte-forge-overview-visual img {
	display: block;
	height: auto;
	max-width: none;
	width: 100%;
}

.emmte-matrix-visual--lane img {
	min-width: 52rem;
}

.emmte-matrix-visual figcaption,
.emmte-matrix-strip figcaption,
.emmte-forge-overview-visual figcaption {
	background: var(--emmte-panel);
	border-top: 1px solid var(--emmte-line);
	color: var(--emmte-muted);
	font-size: 0.78rem;
	line-height: 1.5;
	padding: 0.9rem 1rem 1rem;
}

.emmte-matrix-visual figcaption strong {
	color: var(--emmte-paper);
}

.emmte-matrix-story,
.emmte-matrix-tracker-note {
	background:
		linear-gradient(135deg, rgba(170, 105, 232, 0.08), transparent 45%),
		var(--emmte-panel);
	border: 1px solid var(--emmte-line);
	margin-block: clamp(2rem, 4vw, 3.5rem);
	padding: clamp(1.25rem, 2.5vw, 2rem);
}

.emmte-matrix-tracker-note {
	align-items: center;
	display: grid;
	gap: clamp(1.5rem, 3vw, 3rem);
	grid-template-columns: minmax(16rem, 0.72fr) minmax(24rem, 1.28fr);
}

.emmte-matrix-story__copy {
	max-width: 52rem;
}

.emmte-matrix-story h3,
.emmte-matrix-tracker-note h3 {
	color: var(--emmte-paper);
	font-size: clamp(1.55rem, 2.4vw, 2.35rem);
	line-height: 1.08;
	margin-block: 0.65rem 1rem;
}

.emmte-matrix-story__copy > p:last-child,
.emmte-matrix-tracker-note__copy > p:last-child {
	color: var(--emmte-muted);
	margin-block-end: 0;
}

.emmte-matrix-tracker-visual {
	margin-block: 0 !important;
	max-width: none;
	width: 100%;
}

.emmte-matrix-strip {
	margin-block: 1.5rem 0 !important;
}

.emmte-matrix-strip--status img {
	min-width: 68rem;
}

.emmte-matrix-page-explainer {
	grid-template-columns: minmax(16rem, 0.82fr) minmax(24rem, 1.18fr);
}

.emmte-matrix-control-explainer {
	align-items: start;
	grid-template-columns: minmax(22rem, 1fr) minmax(12rem, 0.42fr);
}

.emmte-matrix-pipeline-list {
	display: grid;
	gap: 0;
	list-style: none;
	margin-block: 1.5rem;
	padding: 0;
}

.emmte-matrix-pipeline-list li {
	border-top: 1px solid var(--emmte-line);
	color: var(--emmte-muted);
	display: grid;
	gap: 0.35rem;
	line-height: 1.55;
	padding-block: 1rem;
}

.emmte-matrix-pipeline-list li:last-child {
	border-bottom: 1px solid var(--emmte-line);
}

.emmte-matrix-pipeline-list strong {
	color: var(--emmte-paper);
	font-size: 0.72rem;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

.emmte-matrix-pipeline-visual {
	justify-self: end;
	margin-block: 0 !important;
	max-width: 12rem;
	width: 100%;
}

.emmte-matrix-page-explainer__visual {
	background: #050b0f;
	border: 1px solid var(--emmte-line);
}

.emmte-matrix-page-explainer__visual img {
	min-width: 36rem;
}

.emmte-forge-overview-visual {
	margin-block: clamp(2rem, 4vw, 3.5rem) 0 !important;
	max-width: 32rem;
}

.emmte-forge-overview-visual__trigger {
	display: block;
	overflow: hidden;
	position: relative;
}

.emmte-forge-overview-visual__trigger img {
	transition:
		filter 180ms ease,
		transform 180ms ease;
}

.emmte-forge-overview-visual__hint {
	background: rgba(5, 11, 15, 0.88);
	bottom: 0;
	color: var(--emmte-cyan);
	font-size: 0.65rem;
	font-weight: 700;
	letter-spacing: 0.1em;
	padding: 0.65rem 0.8rem;
	position: absolute;
	right: 0;
	text-transform: uppercase;
	transform: translateY(100%);
	transition: transform 180ms ease;
}

.emmte-forge-overview-visual__trigger:hover img,
.emmte-forge-overview-visual__trigger:focus-visible img {
	filter: brightness(1.12);
	transform: scale(1.025);
}

.emmte-forge-overview-visual__trigger:hover .emmte-forge-overview-visual__hint,
.emmte-forge-overview-visual__trigger:focus-visible .emmte-forge-overview-visual__hint {
	transform: translateY(0);
}

.emmte-forge-overview-visual__trigger:focus-visible {
	outline: 2px solid var(--emmte-cyan);
	outline-offset: -2px;
}

.emmte-signal-path-explainer {
	background:
		linear-gradient(135deg, rgba(93, 215, 143, 0.08), transparent 46%),
		var(--emmte-panel);
	border: 1px solid var(--emmte-line);
	margin-block: clamp(2rem, 4vw, 3.5rem);
	padding: clamp(1.25rem, 2.5vw, 2rem);
}

.emmte-signal-path-explainer__intro {
	max-width: 56rem;
}

.emmte-signal-path-explainer h3 {
	color: var(--emmte-paper);
	font-size: clamp(1.65rem, 2.5vw, 2.6rem);
	line-height: 1.02;
	margin-block: 0.65rem 1rem;
}

.emmte-signal-path-explainer__intro > p:last-child {
	color: var(--emmte-muted);
	margin-block-end: 0;
}

.emmte-signal-path-view {
	background: #050b0f;
	border: 1px solid var(--emmte-line);
	margin: 1.75rem 0 0 !important;
	overflow: hidden;
}

.emmte-signal-path-view .emmte-forge-overview-visual__trigger {
	overflow-x: auto;
	overscroll-behavior-inline: contain;
}

.emmte-signal-path-view img {
	display: block;
	height: auto;
	max-width: none;
	min-width: 60rem;
	width: 100%;
}

.emmte-signal-path-view figcaption {
	background: var(--emmte-panel);
	border-top: 1px solid var(--emmte-line);
	color: var(--emmte-muted);
	font-size: 0.78rem;
	line-height: 1.5;
	padding: 0.9rem 1rem 1rem;
}

.emmte-signal-path-view figcaption strong {
	color: var(--emmte-paper);
}

.emmte-tech-tile-image {
	background: #050b0f;
	border: 1px solid var(--emmte-line);
	margin: 1.25rem 0 1.4rem !important;
	overflow: hidden;
}

.emmte-tech-tile-image img {
	background: #050b0f;
	display: block;
	height: auto;
	width: 100%;
}

.emmte-forge-gallery {
	display: grid !important;
	gap: clamp(1.25rem, 2.5vw, 2.5rem) !important;
	grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	margin-block: clamp(2rem, 5vw, 5rem);
}

.emmte-forge-gallery > .wp-block-image {
	background: var(--emmte-panel);
	margin: 0 !important;
	width: 100% !important;
}

.emmte-forge-gallery > .wp-block-image:first-child {
	grid-column: 1 / -1;
}

.emmte-forge-gallery > .wp-block-image a,
.emmte-forge-gallery > .wp-block-image img {
	display: block;
	height: auto !important;
	width: 100% !important;
}

.emmte-forge-gallery > .wp-block-image img {
	aspect-ratio: auto !important;
	object-fit: contain !important;
}

.emmte-forge-gallery figcaption {
	background: var(--emmte-panel) !important;
	color: var(--emmte-muted) !important;
	font-size: 0.72rem !important;
	margin: 0 !important;
	padding: 0.8rem 1rem !important;
	position: static !important;
}

.emmte-track-grid {
	display: grid !important;
	gap: clamp(1.25rem, 2.5vw, 2.5rem);
	margin-inline: auto;
	max-width: min(100%, 760px);
}

.emmte-track-card {
	background: var(--emmte-panel);
	border: 1px solid var(--emmte-line);
	padding: clamp(1.5rem, 4vw, 3.5rem);
}

.emmte-track-card .wp-block-post-title {
	font-size: 2.6rem !important;
	letter-spacing: -0.055em;
	margin-block-start: 0;
}

.emmte-soundcloud-player iframe {
	border: 0;
	display: block;
	margin-block-start: 1.5rem;
	max-width: 100%;
	width: 100%;
}

.emmte-empty-state {
	border: 1px dashed var(--emmte-line);
	color: var(--emmte-muted);
	padding: 2rem;
}

.emmte-page-hero {
	padding-block: 8rem 5rem;
}

.emmte-content {
	padding-block-end: clamp(5rem, 10vw, 10rem);
}

.emmte-content > .wp-block-post-content {
	max-width: none;
	width: 100%;
}

.emmte-content > .wp-block-post-content > * {
	margin-inline: auto;
	max-width: 760px;
}

.emmte-content > .wp-block-post-content > .alignwide {
	max-width: 1200px;
}

.emmte-content > .wp-block-post-content > .alignfull {
	max-width: none;
}

.emmte-forge-main {
	background:
		radial-gradient(circle at 86% 8%, rgba(255, 146, 43, 0.1), transparent 24rem),
		radial-gradient(circle at 8% 26%, rgba(79, 199, 238, 0.08), transparent 28rem),
		linear-gradient(180deg, #061015 0%, var(--emmte-night) 42rem);
}

.emmte-forge-page {
	--emmte-ink: #071014;
	--emmte-panel: #0b151b;
	--emmte-muted: #a6b2b8;
	--emmte-violet: #ff922b;
	--emmte-cyan: #4fc7ee;
	--emmte-line: rgba(133, 204, 229, 0.18);
	padding-block-start: 4.5rem;
}

.emmte-forge-page > .wp-block-post-content {
	max-width: none;
	width: 100%;
}

.emmte-forge-page > .wp-block-post-content > * {
	margin-inline: auto;
	max-width: 760px;
}

.emmte-forge-page > .wp-block-post-content > .alignwide {
	max-width: min(100%, 1380px);
}

.emmte-forge-page > .wp-block-post-content > .alignfull {
	max-width: none;
}

.emmte-content > * {
	margin-inline: auto;
	max-width: 760px;
}

.emmte-content > .alignwide {
	max-width: 1200px;
}

.emmte-content > .alignfull {
	max-width: none;
}

.emmte-release-detail {
	display: grid;
	gap: clamp(3rem, 7vw, 7rem);
	grid-template-columns: minmax(18rem, 0.9fr) minmax(0, 1.1fr);
	padding-block: clamp(5rem, 9vw, 9rem);
}

.emmte-release-detail .wp-block-post-featured-image {
	background: var(--emmte-panel);
	margin: 0;
	min-height: 28rem;
}

.emmte-release-detail .wp-block-post-featured-image img {
	height: 100%;
	object-fit: cover;
}

.emmte-release-title {
	font-size: 6rem !important;
	letter-spacing: -0.08em;
	line-height: 0.82;
	margin-block: 1rem 2rem;
}

.emmte-meta {
	border-block: 1px solid var(--emmte-line);
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	margin-block: 2rem;
	padding-block: 1.25rem;
}

.emmte-meta div {
	padding-inline-end: 1rem;
}

.emmte-meta dt {
	color: var(--emmte-muted);
	font-size: 0.65rem;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.emmte-meta dd {
	margin: 0.35rem 0 0;
}

.emmte-listen-links {
	display: flex;
	flex-wrap: wrap;
	gap: 0.7rem;
	margin-block: 2rem;
}

.emmte-listen-links a {
	border: 1px solid var(--emmte-line);
	border-radius: 999px;
	font-size: 0.7rem;
	font-weight: 700;
	letter-spacing: 0.1em;
	padding: 0.75rem 1rem;
	text-decoration: none;
	text-transform: uppercase;
}

.emmte-listen-links a:hover,
.emmte-listen-links a:focus-visible {
	background: var(--emmte-cyan);
	border-color: var(--emmte-cyan);
	color: var(--emmte-night);
}

.emmte-site-footer {
	border-top: 1px solid var(--emmte-line);
	padding-block: 3rem;
}

.emmte-footer-note {
	color: var(--emmte-muted);
	font-size: 0.75rem;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.emmte-social-links {
	display: flex;
	flex-wrap: wrap;
	gap: 0.55rem;
}

.emmte-social-links a {
	align-items: center;
	border: 1px solid var(--emmte-line);
	border-radius: 50%;
	color: var(--emmte-ivory);
	display: inline-flex;
	height: 2.65rem;
	justify-content: center;
	text-decoration: none;
	transition:
		background-color 160ms ease,
		border-color 160ms ease,
		color 160ms ease,
		transform 160ms ease;
	width: 2.65rem;
}

.emmte-social-links svg {
	fill: currentColor;
	height: 1.05rem;
	width: 1.05rem;
}

.emmte-social-links--directory {
	display: grid;
	gap: 2rem;
}

.emmte-social-directory-group h4 {
	color: var(--emmte-cyan);
	font-size: 0.68rem;
	font-weight: 700;
	letter-spacing: 0.14em;
	margin-block: 0 0.5rem;
	text-transform: uppercase;
}

.emmte-social-directory-list {
	border-top: 1px solid var(--emmte-line);
	display: grid;
}

.emmte-social-links--directory .emmte-social-directory-link {
	border: 0;
	border-bottom: 1px solid var(--emmte-line);
	border-radius: 0;
	color: var(--emmte-lead);
	gap: 0.85rem;
	height: auto;
	justify-content: flex-start;
	padding: 0.9rem 0;
	width: 100%;
}

.emmte-social-directory-icon {
	align-items: center;
	border: 1px solid color-mix(in srgb, var(--emmte-cyan) 35%, transparent);
	border-radius: 50%;
	color: var(--emmte-cyan);
	display: inline-flex;
	flex: 0 0 auto;
	height: 2.25rem;
	justify-content: center;
	width: 2.25rem;
}

.emmte-social-links--directory .emmte-social-directory-link:hover,
.emmte-social-links--directory .emmte-social-directory-link:focus-visible {
	background: transparent;
	border-color: color-mix(in srgb, var(--emmte-cyan) 55%, transparent);
	transform: none;
}

.emmte-social-links a:hover,
.emmte-social-links a:focus-visible {
	background: color-mix(in srgb, var(--emmte-cyan) 10%, transparent);
	border-color: var(--emmte-cyan);
	color: var(--emmte-cyan);
	transform: translateY(-2px);
}

.emmte-visually-hidden {
	clip: rect(0 0 0 0);
	clip-path: inset(50%);
	height: 1px;
	overflow: hidden;
	position: absolute;
	white-space: nowrap;
	width: 1px;
}

@media (max-width: 900px) {
	.emmte-hero,
	.emmte-release-feature,
	.emmte-release-detail,
	.emmte-about-page,
	.emmte-contact-page,
	.emmte-split {
		grid-template-columns: 1fr;
	}

	.emmte-hero {
		min-height: auto;
	}

	.emmte-hero-title {
		font-size: 7rem !important;
	}

	.emmte-section-title,
	.emmte-page-title {
		font-size: 4.2rem !important;
	}

	.emmte-release-copy .wp-block-post-title {
		font-size: 4rem !important;
	}

	.emmte-large-copy {
		font-size: 1.5rem;
	}

	.emmte-forge-title {
		font-size: 5rem !important;
	}

	.emmte-forge-section {
		padding-block: 4.5rem;
	}

	.emmte-forge-section .emmte-section-title {
		max-width: 16ch;
	}

	.emmte-signal-card {
		min-height: 22rem;
	}

	.emmte-release-grid {
		grid-template-columns: 1fr;
	}

	.emmte-release-grid--compact {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.emmte-feature-grid {
		grid-template-columns: 1fr;
	}

	.emmte-forge-stats,
	.emmte-taxonomy-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.emmte-forge-stats h3 {
		font-size: 3rem !important;
	}

	.emmte-capture-placeholder__list,
	.emmte-tech-grid,
	.emmte-spec-grid {
		grid-template-columns: 1fr;
	}

	.emmte-changelog-entry {
		gap: 1.25rem;
		grid-template-columns: 1fr;
	}

	.emmte-changelog-entry__details {
		grid-template-columns: 1fr;
	}

	.emmte-changelog-visual {
		max-width: 11rem;
	}

	.emmte-changelog-visual--sidecar {
		max-width: min(100%, 18rem);
	}

	.emmte-changelog-visual-pair {
		grid-template-columns: 1fr;
		max-width: 18rem;
	}

	.emmte-changelog-visual-pair__caption {
		grid-column: 1 / -1;
	}

	.emmte-forge-gallery {
		grid-template-columns: 1fr !important;
	}

	.emmte-forge-detail-explainer {
		grid-template-columns: 1fr;
	}

	.emmte-matrix-tracker-note {
		grid-template-columns: 1fr;
	}

	.emmte-forge-detail-explainer__image {
		justify-self: stretch;
		max-width: none;
	}

	.emmte-matrix-pipeline-visual {
		justify-self: start;
	}

	.emmte-forge-gallery > .wp-block-image:first-child {
		grid-column: auto;
	}

	.emmte-meta {
		grid-template-columns: repeat(2, 1fr);
		row-gap: 1.5rem;
	}

	.emmte-page-hero,
	.emmte-forge-page {
		padding-block-start: 4rem;
	}

	.emmte-about-portrait-card {
		max-width: 32rem;
	}
}

@media (max-width: 600px) {
	.emmte-release-grid--compact {
		grid-template-columns: 1fr;
	}

	.emmte-site-header {
		background: var(--emmte-night);
		backdrop-filter: none;
	}

	.emmte-header-inner {
		min-height: 4.5rem;
	}

	a.emmte-wordmark {
		gap: 0.16em;
	}

	.emmte-wordmark__emm,
	.emmte-wordmark__te {
		font-size: 1.65rem;
	}

	.emmte-nav .wp-block-navigation__responsive-container-open {
		align-items: center;
		color: var(--emmte-ivory);
		display: flex;
		justify-content: center;
	}

	.emmte-nav .wp-block-navigation__responsive-container-open svg,
	.emmte-nav .wp-block-navigation__responsive-container-close svg {
		fill: currentColor;
		height: 1.75rem;
		width: 1.75rem;
	}

	.emmte-nav .wp-block-navigation__responsive-container.is-menu-open {
		background: var(--emmte-night) !important;
		color: var(--emmte-ivory) !important;
		height: 100dvh;
		inset: 0;
		overflow-y: auto;
		padding: 1.25rem;
		position: fixed;
		width: 100vw;
		z-index: 1000;
	}

	.emmte-nav .wp-block-navigation__responsive-close {
		margin: 0;
		max-width: none;
		width: 100%;
	}

	.emmte-nav .wp-block-navigation__responsive-container-close {
		color: var(--emmte-ivory);
		right: 0;
		top: 0;
	}

	.emmte-nav .wp-block-navigation__responsive-dialog {
		display: flex;
		flex-direction: column;
		min-height: calc(100dvh - 2.5rem);
	}

	.emmte-nav .wp-block-navigation__responsive-container-content {
		align-items: flex-start;
		display: flex;
		flex: 1;
		justify-content: center;
		padding-block: 5rem 2rem !important;
	}

	.emmte-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container {
		align-items: flex-start;
		gap: 1.35rem;
		width: 100%;
	}

	.emmte-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item {
		width: 100%;
	}

	.emmte-nav .wp-block-navigation__responsive-container.is-menu-open a {
		border-bottom: 1px solid var(--emmte-line);
		display: block;
		font-size: 2.4rem;
		letter-spacing: -0.035em;
		line-height: 1;
		padding-block: 0.75rem;
		text-transform: none;
		width: 100%;
	}

	.emmte-hero-title {
		font-size: 5rem !important;
	}

	.emmte-signal-card h2,
	.emmte-section-title,
	.emmte-page-title {
		font-size: 3.2rem !important;
	}

	.emmte-release-copy .wp-block-post-title,
	.emmte-release-title {
		font-size: 3.4rem !important;
	}

	.emmte-release-card .wp-block-post-title,
	.emmte-track-card .wp-block-post-title {
		font-size: 2.2rem !important;
	}

	.emmte-large-copy,
	.emmte-capture-placeholder__purpose {
		font-size: 1.3rem;
	}

	.emmte-forge-title {
		font-size: 3.8rem !important;
	}

	.emmte-forge-stats h3 {
		font-size: 2.6rem !important;
	}

	.emmte-taxonomy-grid h3,
	.emmte-tech-grid h3,
	.emmte-capture-placeholder__title {
		font-size: 1.8rem !important;
	}

	.emmte-capture-placeholder__index {
		font-size: 3.3rem;
	}

	.emmte-section,
	.emmte-forge-section {
		padding-block: 3.75rem;
	}

	.emmte-section-header {
		align-items: start;
		flex-direction: column;
	}

	.emmte-forge-stats,
	.emmte-taxonomy-grid {
		grid-template-columns: 1fr;
	}

	.emmte-capture-placeholder__header {
		flex-direction: column;
	}
}

@media (prefers-reduced-motion: reduce) {
	html {
		scroll-behavior: auto;
	}

	* {
		transition: none !important;
	}
}

@media print {
	html {
		scroll-behavior: auto;
	}

	body,
	.emmte-forge-main,
	.emmte-forge-page,
	.emmte-forge-hero,
	.emmte-forge-stats > *,
	.emmte-taxonomy-grid > *,
	.emmte-tech-grid > *,
	.emmte-spec-grid > *,
	.emmte-feature-grid > *,
	.emmte-capture-placeholder,
	.emmte-forge-screenshot-card,
	.emmte-forge-screenshot figcaption {
		background-image: none !important;
	}

	body {
		background-color: var(--emmte-night) !important;
		color: var(--emmte-muted) !important;
	}

	.emmte-site-header {
		backdrop-filter: none !important;
		position: static;
	}

	.emmte-forge-main,
	.emmte-forge-page {
		background-color: var(--emmte-night) !important;
	}

	.emmte-forge-hero,
	.emmte-forge-stats > *,
	.emmte-taxonomy-grid > *,
	.emmte-tech-grid > *,
	.emmte-spec-grid > *,
	.emmte-feature-grid > *,
	.emmte-capture-placeholder,
	.emmte-forge-screenshot-card,
	.emmte-forge-screenshot figcaption {
		background-color: var(--emmte-panel) !important;
	}

	.emmte-forge-hero::after,
	.emmte-capture-placeholder::after,
	.emmte-forge-screenshot-card::after {
		display: none !important;
	}

	.emmte-forge-page *,
	.emmte-forge-page *::before,
	.emmte-forge-page *::after {
		box-shadow: none !important;
		filter: none !important;
		text-shadow: none !important;
	}

	.emmte-forge-section,
	.emmte-forge-stats > *,
	.emmte-taxonomy-grid > *,
	.emmte-tech-grid > *,
	.emmte-spec-grid > *,
	.emmte-feature-grid > *,
	.emmte-capture-placeholder,
	.emmte-forge-screenshot-card {
		break-inside: avoid;
		page-break-inside: avoid;
	}

	.emmte-forge-screenshot img {
		max-width: 100% !important;
	}
}
