

:root {
	--background: #06070b;
	--surface: rgba(255, 255, 255, 0.032);
	--surface-strong: rgba(255, 255, 255, 0.06);
	--foreground: #f8f7fb;
	--muted: #aaa6b6;
	--line: rgba(255, 255, 255, 0.095);
	--line-strong: rgba(220, 180, 229, 0.27);
	--accent: #ceb0d8;
	--accent-hover: #e1c9e9;
	--control-border: #81778f;
	--control-surface: #15131d;
	--control-hover: #292333;
	--aqua: #9fdccf;
	--gold: #e0c589;
	--ink: #090712;
	--max: 1080px;
	--radius: 8px;
	--shadow: 0 20px 62px rgba(0, 0, 0, 0.28);
	--section-space: 132px;
	--section-space-tight: 84px;
	--cluster-space: 42px;
}

* {
	box-sizing: border-box;
}

html {
	scroll-behavior: smooth;
	background: var(--background);
}

body {
	min-height: 100vh;
	margin: 0;
	overflow-x: hidden;
	background:
		linear-gradient(180deg, rgba(6, 7, 11, 0.24), var(--background) 78%),
		var(--background);
	color: var(--foreground);
	font-family: Montserrat, sans-serif;
	font-size: 16px;
	line-height: 1.65;
	text-rendering: geometricPrecision;
}

body::selection {
	background: rgba(198, 139, 209, 0.32);
}

a {
	color: inherit;
	text-decoration: none;
}

button,
input,
textarea,
select {
	font: inherit;
}

p {
	margin: 0;
	color: var(--muted);
}

h1,
h2,
h3,
h4 {
	margin: 0;
	color: var(--foreground);
	font-family: Montserrat, sans-serif;
	font-weight: 400;
	line-height: 1.08;
	letter-spacing: 0;
}

h1 {
	max-width: 860px;
	font-size: 4.9rem;
}

h2 {
	max-width: 780px;
	font-size: 3.35rem;
}

h3 {
	font-size: 1.45rem;
}

strong {
	color: var(--foreground);
	font-weight: 500;
}

main,
.site-header,
.footer-shell {
	position: relative;
	z-index: 3;
}

.cosmos-fallback,
.cosmic-canvas {
	position: fixed;
	inset: 0;
	pointer-events: none;
}

.cosmos-fallback {
	z-index: 0;
	overflow: hidden;
	background: #05050a;
}

.cosmos-fallback::before {
	position: absolute;
	inset: -5%;
	content: "";
	background:
		linear-gradient(180deg, rgba(5, 5, 10, 0.36), rgba(5, 5, 10, 0.86)),
		var(--cosmos-image);
	background-position: center top;
	background-size: cover;
	filter: saturate(0.78) contrast(1.08);
	opacity: 0.26;
	transform: scale(1.05);
}

.cosmos-fallback::after {
	position: absolute;
	inset: 0;
	content: "";
	background:
		linear-gradient(
			90deg,
			rgba(6, 7, 11, 0.68),
			transparent 38%,
			rgba(6, 7, 11, 0.7)
		),
		linear-gradient(180deg, transparent 30%, var(--background) 88%);
}

.cosmic-canvas {
	z-index: 1;
	opacity: 0.76;
}

.shell {
	width: min(calc(100% - 56px), var(--max));
	margin-inline: auto;
}

.site-header {
	position: fixed;
	z-index: 20;
	top: 0;
	right: 0;
	left: 0;
	padding: 22px 0;
	background: var(--background);
	border-bottom: 1px solid var(--line);
	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.18);
	pointer-events: auto;
}

.nav-shell {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr) auto;
	gap: 24px;
	align-items: center;
	width: min(calc(100% - 56px), 1160px);
	margin-inline: auto;
	padding: 0;
}

.nav-shell > * {
	min-width: 0;
}

.brand,
.journey-nav,
.nav-meta {
	pointer-events: auto;
}

.brand {
	display: inline-flex;
	align-items: center;
	width: 184px;
}

.brand-logo {
	display: block;
	width: 100%;
	height: auto;
}

.journey-nav {
	display: flex;
	min-width: 0;
	justify-content: center;
	gap: 18px;
}

.journey-nav a {
	display: inline-flex;
	color: var(--muted);
	transition:
		color 180ms ease,
		transform 180ms ease;
}

.journey-nav a:hover,
.journey-nav a.active {
	color: var(--foreground);
	transform: translateY(-1px);
}

.journey-nav small,
.eyebrow,
.card-meta {
	color: var(--accent);
	font-size: 0.68rem;
	font-weight: 600;
	letter-spacing: 0.22em;
	line-height: 1.4;
	text-transform: uppercase;
}

.journey-nav small {
	display: none;
}

.journey-nav span {
	font-size: 0.8rem;
	font-weight: 500;
}

.nav-meta {
	display: flex;
	min-width: 0;
	align-items: center;
	justify-content: end;
	gap: 10px;
}

.locale-switcher {
	display: inline-flex;
	align-items: center;
	gap: 2px;
	padding: 3px;
	border: 1px solid var(--line);
	border-radius: 999px;
	background: rgba(6, 7, 11, 0.52);
	backdrop-filter: blur(14px);
}

.locale-switcher a {
	display: inline-flex;
	min-width: 44px;
	min-height: 44px;
	align-items: center;
	justify-content: center;
	border-radius: 999px;
	color: var(--muted);
	font-size: 0.76rem;
	font-weight: 600;
}

.locale-switcher a:hover { background: var(--control-hover); color: var(--foreground); }

.locale-switcher a.active {
	background: var(--accent);
	color: var(--ink);
}

.section {
	position: relative;
	padding: var(--section-space) 0;
}

.section > .eyebrow + h1,
.section > .eyebrow + h2,
.section > .eyebrow + .lead,
.section > h1 + .lead,
.section > h2 + .lead {
	margin-top: 16px;
}

.section > .lead + .cta-row,
.hero-stage > .lead + .cta-row {
	margin-top: 30px;
}

.hero {
	padding-top: 156px;
}

.immersive-section {
	min-height: 90vh;
	display: flex;
	flex-direction: column;
	justify-content: center;
}

.hero-stage {
	display: grid;
	justify-items: center;
	text-align: center;
}

.hero-kicker {
	margin-bottom: 24px;
}

.hero-title {
	width: 100%;
	margin-inline: auto;
}

.lead {
	max-width: 640px;
	color: #c6c2cf;
	font-size: 1.08rem;
	font-weight: 300;
	line-height: 1.78;
}

.hero-stage .lead {
	margin-top: 28px;
	margin-inline: auto;
}

.voyage-cue {
	display: grid;
	justify-items: center;
	gap: 14px;
	margin-top: 44px;
	color: var(--muted);
	font-size: 0.68rem;
	font-weight: 600;
	letter-spacing: 0.32em;
	text-transform: uppercase;
}

.voyage-cue::before {
	width: 1px;
	height: 54px;
	content: "";
	background: linear-gradient(180deg, var(--accent), transparent);
}

.hero-grid,
.split-grid,
.cards-grid,
.process-grid,
.contact-grid,
.footer-shell {
	display: grid;
	gap: 22px;
}

.hero-grid {
	grid-template-columns: minmax(0, 1.16fr) minmax(280px, 0.84fr);
	align-items: stretch;
}

.split-grid,
.contact-grid {
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 56px;
}

.cards-grid {
	grid-template-columns: repeat(3, minmax(0, 1fr));
	margin-top: var(--cluster-space);
}

.process-grid {
	grid-template-columns: repeat(6, minmax(0, 1fr));
	margin-top: var(--cluster-space);
}

.content-column,
.post-content,
.service-stack {
	display: grid;
	gap: 16px;
}

.content-column {
	max-width: 760px;
}

.hero-panel,
.signal-panel,
.section-panel,
.cosmic-card {
	border: 1px solid var(--line);
	border-radius: var(--radius);
	background: linear-gradient(180deg, var(--surface-strong), var(--surface));
	box-shadow: none;
	backdrop-filter: blur(14px);
}

.hero-panel,
.signal-panel,
.section-panel {
	padding: 30px;
}

.section-panel > * + *,
.hero-panel > * + *,
.signal-panel > * + * {
	margin-top: 16px;
}

.card {
	display: grid;
	gap: 12px;
	min-height: 100%;
	padding: 22px;
	transition:
		border-color 180ms ease,
		background 180ms ease,
		transform 180ms ease;
}

a.card:hover,
.cosmic-card:hover {
	border-color: var(--line-strong);
	background: linear-gradient(
		180deg,
		rgba(255, 255, 255, 0.065),
		rgba(255, 255, 255, 0.028)
	);
	transform: translateY(-2px);
}

.button,
.control-button {
 display:inline-flex; min-height:44px; min-width:44px; align-items:center; justify-content:center;
 gap:10px; padding:11px 20px; border:1px solid var(--control-border); border-radius:999px;
 background:var(--control-surface); color:var(--foreground); font:inherit; font-size:.86rem;
 font-weight:500; line-height:1.35; text-align:center; text-decoration:none; cursor:pointer;
 transition:background 180ms ease,border-color 180ms ease,color 180ms ease,box-shadow 180ms ease;
}
.button:hover,.control-button:hover { border-color:var(--accent); background:var(--control-hover); }
.button.primary,.control-button[aria-pressed="true"] { background:var(--accent); color:var(--ink); border-color:var(--accent); }
.button.primary:hover,.control-button[aria-pressed="true"]:hover { background:var(--accent-hover); border-color:var(--accent-hover); }
.button:active,.control-button:active { box-shadow:inset 0 0 0 2px var(--accent); }
.button.primary:active,.control-button[aria-pressed="true"]:active { box-shadow:inset 0 0 0 2px var(--ink); }
.control-button.icon-button { padding:0; width:44px; height:44px; flex-shrink:0; font-size:1.2rem; }
:where(a,button,[role="button"],summary):focus-visible { outline:2px solid var(--accent); outline-offset:4px; }
.button:disabled,.control-button:disabled { color:var(--muted); background:var(--background); border-color:var(--control-border); cursor:not-allowed; box-shadow:none; }
a[aria-disabled="true"] { cursor:not-allowed; }
/* A card's CTA is a visual cue within the one enclosing link. */
a:focus-visible .button { border-color:var(--accent); }

.cta-row,
.inline-list {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
}

.inline-list {
	padding: 0;
	margin: 0;
	list-style: none;
}

.inline-list li {
	padding: 8px 12px;
	border: 1px solid var(--line);
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.035);
	color: #d7d4df;
	font-size: 0.88rem;
}

.philosophy-orbit {
	position: relative;
	min-height: 320px;
	opacity: 0.62;
}

.philosophy-orbit::before,
.philosophy-orbit::after {
	position: absolute;
	inset: 10%;
	content: "";
	border: 1px solid rgba(206, 176, 216, 0.18);
	border-radius: 50%;
	animation: orbit-spin 24s linear infinite;
}

.philosophy-orbit::after {
	inset: 28%;
	border-color: rgba(159, 220, 207, 0.14);
	animation-duration: 18s;
	animation-direction: reverse;
}

.orbit-core {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 10px;
	height: 10px;
	border-radius: 50%;
	background: var(--accent);
	box-shadow: 0 0 18px rgba(206, 176, 216, 0.52);
	transform: translate(-50%, -50%);
}

@keyframes orbit-spin {
	from {
		transform: rotate(0deg);
	}
	to {
		transform: rotate(360deg);
	}
}

.project-stack {
	display: grid;
	gap: 28px;
	margin-top: var(--cluster-space);
}

.project-showcase {
 position:relative; display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr);
 overflow:hidden; align-items:center; border:1px solid var(--line); border-radius:var(--radius);
 background:rgba(12,14,21,.78); transition:border-color .25s, transform .25s;
}
.project-showcase:hover { border-color:var(--accent); transform:translateY(-3px); }
.project-showcase-media { aspect-ratio:1; min-width:0; background:#101117; }
.project-showcase-media img { display:block; width:100%; height:100%; object-fit:contain; }
@media(max-width:700px) { .project-showcase { grid-template-columns:1fr; } }

.project-showcase-inner {
	position: relative;
	z-index: 1;
	display: grid;
	gap: 16px;
	max-width: 620px;
	padding: 34px;
}

.tag-row {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.tag {
	padding: 5px 9px;
	border: 1px solid rgba(198, 139, 209, 0.26);
	border-radius: 999px;
	background: rgba(206, 176, 216, 0.055);
	color: var(--accent);
	font-size: 0.68rem;
	font-weight: 700;
	letter-spacing: 0.16em;
	text-transform: uppercase;
}

.journal-grid {
	display: grid;
	grid-template-columns: 1fr auto;
	gap: 32px;
	align-items: end;
}

.footer-shell {
	grid-template-columns: minmax(0, 1.2fr) minmax(170px, 0.45fr) minmax(
			170px,
			0.45fr
		);
	padding: 96px 0 52px;
}

.footer-links {
	display: grid;
	gap: 10px;
	padding: 0;
	margin: 16px 0 0;
	list-style: none;
}

.footer-links a {
	color: var(--muted);
}

.footer-links a:hover {
	color: var(--foreground);
}

.intro-block {
	padding-top: 156px;
}

.project-case {
	align-content: start;
}

@media (max-width: 1120px) {
	h1 {
		font-size: 3.9rem;
	}

	h2 {
		font-size: 2.85rem;
	}

	.site-header {
		position: absolute;
	}

	.nav-shell {
		grid-template-columns: 1fr;
	}

	.journey-nav {
		justify-content: start;
		overflow-x: auto;
		padding-bottom: 8px;
	}

	.journey-nav a {
		flex: 0 0 auto;
	}

	.nav-meta {
		justify-content: start;
	}

	.hero-grid,
	.split-grid,
	.cards-grid,
	.process-grid,
	.contact-grid,
	.footer-shell,
	.journal-grid {
		grid-template-columns: 1fr;
	}

	.process-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.split-grid,
	.contact-grid {
		gap: 36px;
	}
}

@media (max-width: 700px) {
	body {
		font-size: 15px;
	}

	.site-header {
		position: relative;
		padding: 22px 0 0;
	}

	h1 {
		font-size: 2.18rem;
	}

	h2 {
		font-size: 2.05rem;
	}

	.shell,
	.nav-shell {
		width: min(calc(100% - 28px), var(--max));
	}

	.nav-shell {
		gap: 14px;
	}

	.journey-nav {
		flex-wrap: wrap;
		justify-content: center;
		gap: 16px;
		margin-inline: -2px;
		overflow: visible;
		padding-inline: 2px;
		padding-bottom: 0;
		scrollbar-width: none;
		mask-image: none;
	}

	.journey-nav::-webkit-scrollbar {
		display: none;
	}

	.nav-meta {
		flex-wrap: wrap;
		align-items: stretch;
		justify-content: start;
		width: 100%;
	}

	.section {
		padding: var(--section-space-tight) 0;
	}

	.hero,
	.intro-block {
		padding-top: 64px;
	}

	.immersive-section {
		min-height: 640px;
	}

	.hero-stage:first-of-type {
		padding-top: 34px;
	}

	.hero-stage > h1,
	.hero-stage > h2 {
		width: 100%;
		max-width: 330px;
		text-wrap: balance;
	}

	.hero-stage .lead {
		max-width: 330px;
	}

	.hero-panel,
	.signal-panel,
	.section-panel,
	.project-showcase-inner {
		padding: 24px;
	}

	.project-showcase {
		min-height: 0;
	}

	.process-grid {
		grid-template-columns: 1fr;
	}

	.nav-cta {
		flex: 1 1 190px;
		min-width: min(100%, 190px);
		padding-inline: 14px;
		white-space: nowrap;
	}

	.brand {
		width: 158px;
	}
}

.motion-ready [data-reveal] {
	opacity: 0;
	filter: blur(8px);
	transition:
		opacity 820ms cubic-bezier(0.22, 1, 0.36, 1) var(--reveal-delay, 0ms),
		filter 920ms cubic-bezier(0.22, 1, 0.36, 1) var(--reveal-delay, 0ms),
		border-color 180ms ease,
		background 180ms ease;
	will-change: opacity, filter;
}

.motion-ready [data-reveal].is-visible {
	opacity: 1;
	filter: blur(0);
}

@media (prefers-reduced-motion: reduce) {
	*,
	*::before,
	*::after {
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
		scroll-behavior: auto !important;
		transition-duration: 0.01ms !important;
	}
}

/* Compact mobile/tablet navigation; panel is a native disclosure. */
@media(max-width:1100px) {
  .site-header { position:sticky; top:0; padding:12px 0; }
  .nav-shell { grid-template-columns:1fr auto; gap:16px; }
  .nav-shell > .journey-nav,.nav-shell > .nav-meta { display:none; }
  .site-header .brand { width:152px; }
}


  .services-universe { padding-block:var(--section-space); }
  .universe-page { padding-top:200px; }
  .universe-heading { max-width:780px; margin-bottom:64px; }
  .universe-heading h1,.universe-heading h2 { margin:20px 0 24px; font-size:clamp(2.2rem,4.6vw,4rem); }
  .universe-layout { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,1fr); gap:clamp(40px,6vw,80px); align-items:start; }
  .solar-map { min-width:0; }
  .orbit-enhanced .solar-map { position:sticky; top:120px; }
  .solar-system { position:relative; width:100%; aspect-ratio:1; isolation:isolate; }
  .solar-system::before { content:''; position:absolute; inset:5%; border-radius:50%; background:radial-gradient(circle,rgba(224,197,137,.10),rgba(206,176,216,.025) 50%,transparent 70%); pointer-events:none; }
  .solar-orbits { position:absolute; inset:0; width:100%; height:100%; overflow:visible; pointer-events:none; }
  .solar-orbits circle { fill:none; stroke:var(--line-strong); stroke-width:.15; }
  .solar-orbits circle:first-child { stroke-dasharray:.5 1.8; }
  .solar-orbits line { stroke:var(--gold); stroke-width:.2; opacity:.7; }
  .design-sun { position:absolute; left:50%; top:50%; transform:translate(-50%,-50%); width:29%; aspect-ratio:1; display:grid; place-items:center; color:var(--ink); }
  .sun-art { position:absolute; inset:-15%; pointer-events:none; }
  .sun-art img,.planet-sphere img { width:100%; height:100%; object-fit:contain; }
  .design-sun span { position:relative; padding:4px 10px; border-radius:4px; background:rgba(6,7,11,.85); color:var(--foreground); font-size:clamp(.85rem,1.5vw,1.2rem); font-weight:500; }
  .service-planet { position:absolute; transform:translate(-50%,-50%); width:116px; display:flex; align-items:center; flex-direction:column; gap:3px; text-align:center; border-radius:8px; z-index:2; }
  .planet-sphere { width:94px; height:94px; display:block; filter:drop-shadow(4px 6px 7px rgba(0,0,0,.4)); transition:filter .25s; }
  .planet-asteroid { width:104px; height:104px; margin-top:-10px; }
  .planet-name { font-size:.75rem; line-height:1.35; color:var(--foreground); padding:3px 6px; background:rgba(6,7,11,.85); border-radius:4px; }
  .service-planet.is-active .planet-sphere { filter:drop-shadow(0 0 9px rgba(206,176,216,.55)); }
  .service-planet.is-active .planet-name { color:var(--accent); }
  .service-planet:hover .planet-name { text-decoration:underline; text-underline-offset:4px; }
  .service-planet:focus-visible { outline:2px solid var(--accent); outline-offset:6px; }
  .solar-caption { display:flex; justify-content:space-between; gap:20px; font-size:.75rem; margin:16px 0; }
  .solar-caption span:first-child { color:var(--gold); font-variant-numeric:tabular-nums; }
  .solar-caption span:last-child { color:var(--foreground); text-align:right; }
  .solar-progress { height:2px; background:var(--line); }
  .solar-progress span { display:block; height:100%; background:var(--accent); transform:scaleX(0); transform-origin:left; }
  .service-destination { padding:32px 0 80px; scroll-margin-top:160px; }
  .orbit-enhanced .service-destination { min-height:75vh; }
  .service-destination:last-child { padding-bottom:32px; }
  .destination-number { color:var(--accent); margin-right:16px; font-variant-numeric:tabular-nums; }
  .service-destination h2,.service-destination h3 { font-size:clamp(1.8rem,3vw,2.7rem); line-height:1.15; margin:24px 0; }
  .service-detail h3 { font-size:1.05rem; margin:28px 0 10px; color:var(--foreground); }
  .service-destination.is-active [data-service-title] { color:var(--accent); }
  .service-destination p { line-height:1.85; margin-bottom:20px; }
  .destination-summary { font-size:1.15rem; color:var(--foreground); }
  .destination-ideal { padding-top:20px; border-top:1px solid var(--line); }
  .destination-deliverables { padding-left:20px; color:var(--muted); }
  .destination-deliverables li { margin-block:10px; padding-left:4px; }
  .destination-deliverables li::marker { color:var(--accent); }
  @media(min-width:851px) and (max-height:800px) { .solar-map { max-width:430px; } }
  @media(max-width:850px),(max-height:650px) {
    .universe-layout { grid-template-columns:1fr; gap:48px; }
    .orbit-enhanced .solar-map { position:static; width:100%; max-width:460px; margin-inline:auto; }
    .orbit-enhanced .service-destination { min-height:0; padding:32px 0 48px; }
    .service-destination { scroll-margin-top:32px; }
    .universe-page { padding-top:64px; }
  }
  @media(max-width:450px) { .service-planet { width:95px; } .planet-name { font-size:.68rem; } .planet-sphere { width:76px; height:76px; } .planet-asteroid { width:86px; height:86px; } }
  @media(prefers-reduced-motion:reduce) { .solar-map { position:static !important; } .service-destination { min-height:0 !important; } }


  .process-journey { display:grid; grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr); gap:clamp(40px,7vw,100px); padding-block:var(--section-space); align-items:start; }
  .process-page { padding-top:200px; }
  .journey-intro { min-width:0; }
  .journey-enhanced .journey-intro { position:sticky; top:140px; }
  .journey-intro h1,.journey-intro h2 { font-size:clamp(2rem,3.4vw,3.3rem); line-height:1.15; margin:20px 0 24px; overflow-wrap:anywhere; }
  .journey-description { font-size:1rem; line-height:1.8; }
  .journey-meter { display:none; margin-top:40px; }
  .journey-enhanced .journey-meter { display:block; }
  .journey-counter { display:flex; justify-content:space-between; color:var(--muted); font-size:.75rem; letter-spacing:.08em; }
  .journey-counter b { color:var(--accent); font-size:1.5rem; font-weight:400; margin-left:12px; font-variant-numeric:tabular-nums; }
  .journey-track { height:2px; background:var(--line); margin:16px 0; overflow:hidden; }
  .journey-track span { display:block; height:100%; background:var(--accent); transform:scaleX(0); transform-origin:left; }
  .journey-current { color:var(--foreground); font-size:.8rem; min-height:3em; }
  .journey-steps { list-style:none; padding:0; margin:0; }
  .journey-step { position:relative; padding:0 0 64px 64px; min-height:260px; }
  .journey-enhanced .journey-step { min-height:52vh; }
  .journey-step::before { content:''; position:absolute; left:19px; top:44px; bottom:8px; width:1px; background:var(--line); }
  .journey-step:last-child { padding-bottom:0; }
  .journey-step:last-child::before { display:none; }
  .journey-node { position:absolute; top:0; left:0; width:40px; height:40px; display:grid; place-items:center; border:1px solid var(--line-strong); border-radius:50%; color:var(--muted); font-size:.75rem; font-variant-numeric:tabular-nums; background:var(--background); transition:background .2s,color .2s,border-color .2s; }
  .journey-step [data-step-title] { font-size:clamp(1.5rem,2.3vw,2rem); line-height:1.25; margin:16px 0 20px; }
  .journey-step article > p:last-child { line-height:1.85; }
  .journey-step.is-current .journey-node,.journey-step.is-complete .journey-node { background:var(--accent); border-color:var(--accent); color:var(--ink); }
  .journey-step.is-complete::before { background:var(--accent); }
  .journey-step.is-current [data-step-title] { color:var(--accent); }
  @media(max-width:850px),(max-height:700px) {
    .process-journey { grid-template-columns:1fr; gap:48px; }
    .journey-enhanced .journey-intro { position:static; }
    .journey-enhanced .journey-step { min-height:0; padding-bottom:64px; }
    .journey-enhanced .journey-step:last-child { padding-bottom:0; }
    .journey-meter { display:none !important; }
    .process-page { padding-top:64px; }
  }
  @media(prefers-reduced-motion:reduce) {
    .journey-intro { position:static !important; }
    .journey-meter { display:none !important; }
    .journey-step { min-height:0; }
  }


  .cluster-intro { display:flex; align-items:center; gap:24px; margin-bottom:32px; }
  .cluster-stars { position:relative; display:block; width:112px; height:64px; flex-shrink:0; background:radial-gradient(ellipse,rgba(206,176,216,.16),transparent 70%); }
  .cluster-stars i { position:absolute; width:4px; height:4px; border-radius:50%; background:var(--foreground); box-shadow:0 0 9px var(--accent); }
  .cluster-stars i:nth-child(1) { left:12%; top:60%; }
  .cluster-stars i:nth-child(2) { left:38%; top:24%; }
  .cluster-stars i:nth-child(3) { left:56%; top:52%; width:6px; height:6px; }
  .cluster-stars i:nth-child(4) { left:80%; top:20%; }
  .cluster-stars i:nth-child(5) { left:88%; top:76%; }
  .ideas-cluster { position:relative; isolation:isolate; }
  .ideas-cluster::before { content:''; position:absolute; inset:0 -20px; z-index:-1; pointer-events:none; background:radial-gradient(ellipse at 45% 35%,rgba(206,176,216,.065),transparent 60%); }
  .ideas-cluster .portfolio-card-copy { border-left:1px solid var(--line-strong); padding-left:24px; margin-top:24px; padding-top:0; position:relative; }
  .ideas-cluster .portfolio-card-copy::before { content:''; position:absolute; left:-3px; top:4px; width:5px; height:5px; border-radius:50%; background:var(--accent); box-shadow:0 0 12px var(--accent); }
  .portfolio-toolbar { display:flex; align-items:center; justify-content:space-between; gap:24px; margin-bottom:40px; border-bottom:1px solid var(--line); padding-bottom:24px; }
  .portfolio-filters { display:flex; flex-wrap:wrap; gap:8px; }
  .portfolio-count { white-space:nowrap; font-size:.75rem; }
  .portfolio-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:64px 32px; }
  .portfolio-card { display:block; min-width:0; scroll-margin-top:130px; }
  .portfolio-card[hidden] { display:none; }
  .portfolio-card-image { position:relative; aspect-ratio:1/1; overflow:hidden; border-radius:18px; background:#11121a; border:1px solid var(--line); }
  .portfolio-card-image img { width:100%; height:100%; object-fit:contain; transition:transform .8s cubic-bezier(.2,.65,.3,1), opacity .8s; opacity:1; }
  .portfolio-card:hover img { opacity:1; }
  .portfolio-arrow { position:absolute; right:20px; bottom:20px; display:grid; place-items:center; width:46px; height:46px; border-radius:50%; background:rgba(6,7,11,.8); color:#fff; backdrop-filter:blur(10px); font-size:1.5rem; transition:background .25s, color .25s; }
  .portfolio-card:hover .portfolio-arrow { background:var(--accent); color:var(--ink); }
  .portfolio-card-index { position:absolute; top:20px; left:20px; padding:4px 10px; border-radius:20px; font-size:.7rem; background:rgba(6,7,11,.75); color:#fff; }
  .portfolio-card-copy { display:grid; gap:14px; padding:24px 2px 0; }
  .portfolio-card-copy h2,.portfolio-card-copy h3 { font-size:clamp(1.4rem,2.3vw,2rem); line-height:1.25; letter-spacing:-.035em; font-weight:300; }
  .portfolio-card-copy .eyebrow { font-size:.65rem; }
  .portfolio-excerpt { font-size:.87rem; line-height:1.8; display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; }
  .portfolio-explore { color:var(--accent); font-size:.76rem; margin-top:6px; }
  .portfolio-explore span { display:inline-block; margin-left:8px; }
  button:focus-visible, a:focus-visible { outline:2px solid var(--accent); outline-offset:6px; }
  @media(max-width:700px) { .portfolio-toolbar { align-items:flex-start; flex-direction:column; gap:14px; } .portfolio-grid { grid-template-columns:1fr; gap:42px; } }
  @media(prefers-reduced-motion:reduce) { .portfolio-card-image img { transition:none; } .portfolio-card:hover img { transform:none; } }


  .probe-reviews { padding-block:var(--section-space); }
  .probe-reviews header { max-width:760px; margin-bottom:56px; }
  .probe-reviews h2 { margin-top:20px; font-size:clamp(2rem,3.8vw,3.3rem); }
  .probe-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:32px; }
  .probe-message { margin:0; min-width:0; display:flex; flex-direction:column; }
  .probe-scene { height:240px; position:relative; display:grid; place-items:center; background:radial-gradient(ellipse at center,rgba(206,176,216,.08),transparent 68%); }
  .space-probe { width:100%; max-width:300px; height:240px; object-fit:contain; }
  .probe-orbit { position:absolute; bottom:10px; left:50%; height:30px; width:1px; background:var(--line-strong); }
  .probe-payload { flex:1; padding:28px; background:var(--control-surface); border:1px solid var(--line-strong); border-radius:var(--radius); }
  .probe-channel { display:flex; gap:10px; align-items:center; color:var(--accent); font-size:.68rem; letter-spacing:.12em; text-transform:uppercase; }
  .probe-channel > span:last-child { margin-left:auto; font-variant-numeric:tabular-nums; }
  .signal-dot { width:6px; height:6px; background:var(--accent); border-radius:50%; box-shadow:0 0 12px rgba(206,176,216,.35); }
  blockquote { margin:28px 0; }
  blockquote p { font-size:clamp(1.1rem,1.5vw,1.4rem); line-height:1.65; color:var(--foreground); }
  figcaption { display:grid; gap:5px; border-top:1px solid var(--line); padding-top:20px; }
  .probe-author { font-size:.85rem; color:var(--foreground); font-weight:500; }
  .probe-role { font-size:.75rem; color:var(--muted); }
  @media(max-width:900px) { .probe-grid { grid-template-columns:1fr; gap:40px; } .probe-message { display:grid; grid-template-columns:minmax(140px,.65fr) minmax(0,1fr); align-items:center; } .probe-orbit { display:none; } }
  @media(max-width:550px) { .probe-message { display:flex; } .probe-scene { height:220px; } .space-probe { max-width:280px; height:220px; } .probe-payload { width:100%; padding:24px; } }


  .mobile-menu { display:none; }
  .menu-close,.mobile-menu[open] .menu-bars { display:none; }
  .mobile-menu[open] .menu-close { display:block; }
  @media(max-width:1100px) {
    .mobile-menu { display:block; justify-self:end; }
    summary { list-style:none; cursor:pointer; padding:10px; }
    summary::-webkit-details-marker { display:none; }
    .mobile-menu[open] summary { background:var(--accent); color:var(--ink); }
    .mobile-panel { position:absolute; top:100%; left:0; right:0; background:var(--background); border-bottom:1px solid var(--line-strong); padding:16px 24px 24px; max-height:calc(100dvh - 76px); overflow-y:auto; box-shadow:0 16px 24px rgba(0,0,0,.3); }
    .mobile-links { display:grid; }
    .mobile-links a { display:flex; align-items:center; min-height:48px; border-bottom:1px solid var(--line); color:var(--foreground); font-size:1rem; }
    .mobile-links a.active { color:var(--accent); }
    .mobile-links small { display:none; }
    .mobile-meta { display:flex; flex-wrap:wrap; align-items:center; gap:20px; padding-top:24px; }
    .mobile-meta .nav-cta { white-space:normal; text-align:center; }
  }


  .project-lightbox { position:fixed; inset:0; width:100vw; max-width:none; height:100dvh; max-height:none; margin:0; padding:24px; border:0; background:rgba(5,6,10,.97); color:#fff; }
  .project-lightbox::backdrop { background:rgba(0,0,0,.9); }
  .lightbox-bar { display:flex; gap:24px; align-items:center; height:48px; font-size:.8rem; }
  .lightbox-bar a { margin-left:auto; color:var(--accent); }
  button:focus-visible, a:focus-visible { outline:2px solid var(--accent); outline-offset:4px; }
  .lightbox-stage { display:flex; align-items:center; justify-content:space-between; gap:20px; height:calc(100% - 48px); }
  .project-lightbox figure { margin:0; min-width:0; display:grid; justify-items:center; gap:14px; }
  .project-lightbox img { max-width:100%; max-height:calc(100dvh - 170px); object-fit:contain; }
  .project-lightbox figcaption { font-size:.8rem; color:var(--muted); text-align:center; }
  @media(max-width:600px) { .project-lightbox { padding:12px; } .lightbox-stage { gap:6px; } }
