:root {
	--bg: #f4f4f2;
	--surface: #ffffff;
	--surface-soft: #ededeb;
	--ink: #171717;
	--muted: #6d6d6a;
	--line: #d7d7d3;
	--line-strong: #b8b8b2;
	--charcoal: #2b2b2b;
	--silver: #9c9c96;
	--shadow: 0 24px 70px rgba(20, 20, 20, .08);
	--radius: 24px;
}

* { box-sizing: border-box; }

html { scroll-behavior: smooth; }

html,
body {
	overflow-x: hidden;
}

body {
	margin: 0;
	background:
		linear-gradient(90deg, rgba(0, 0, 0, .028) 1px, transparent 1px),
		linear-gradient(rgba(0, 0, 0, .026) 1px, transparent 1px),
		var(--bg);
	background-size: 64px 64px;
	color: var(--ink);
	font-family: Aptos, "Segoe UI", sans-serif;
	line-height: 1.65;
}

a { color: inherit; }

.skip-link {
	position: absolute;
	left: -999px;
	top: 0;
}

.skip-link:focus {
	left: 16px;
	top: 16px;
	z-index: 1000;
	padding: 10px 14px;
	background: var(--ink);
	color: #fff;
}

.site-main,
.site-footer {
	width: min(1180px, calc(100% - 40px));
	margin: 0 auto;
}

.site-header {
	position: sticky;
	top: 0;
	z-index: 100;
	width: 100%;
	margin: 0;
	border-top: 1px solid var(--line);
	border-bottom: 1px solid var(--line);
	background: rgba(244, 244, 242, .92);
}

.site-header-inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 28px;
	width: 100%;
	padding: 18px 24px;
}

.brand {
	display: flex;
	align-items: center;
	gap: 14px;
	text-decoration: none;
}

.brand-mark {
	display: grid;
	place-items: center;
	width: 44px;
	height: 44px;
	border-radius: 50%;
	background: var(--charcoal);
	color: #fff;
	font-size: 13px;
	font-weight: 800;
	letter-spacing: .06em;
}

.brand strong,
.brand em {
	display: block;
}

.brand strong {
	font-weight: 800;
	letter-spacing: -.02em;
}

.brand em {
	color: var(--muted);
	font-size: 12px;
	font-style: normal;
}

.main-nav {
	display: flex;
	align-items: center;
	gap: 18px;
}

.menu-toggle {
	display: none;
	align-items: center;
	gap: 5px;
	border: 1px solid var(--line-strong);
	border-radius: 999px;
	padding: 10px 12px;
	background: rgba(255, 255, 255, .78);
	color: var(--ink);
	cursor: pointer;
}

.menu-toggle span {
	display: block;
	width: 16px;
	height: 2px;
	border-radius: 999px;
	background: currentColor;
}

.menu-toggle strong {
	margin-left: 4px;
	font-size: 11px;
	font-weight: 900;
	letter-spacing: .12em;
	text-transform: uppercase;
}

.main-nav ul {
	display: flex;
	align-items: center;
	gap: 8px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.main-nav li {
	position: relative;
}

.main-nav a {
	display: inline-flex;
	align-items: center;
	border-radius: 999px;
	padding: 10px 12px;
	color: var(--muted);
	font-size: 12px;
	font-weight: 800;
	letter-spacing: .09em;
	text-decoration: none;
	text-transform: uppercase;
}

.main-nav a:hover {
	background: rgba(255, 255, 255, .72);
	color: var(--ink);
}

.main-nav .menu-item-has-children > a:after {
	content: "";
	width: 6px;
	height: 6px;
	margin-left: 8px;
	border-right: 1.5px solid currentColor;
	border-bottom: 1.5px solid currentColor;
	transform: rotate(45deg) translateY(-2px);
}

.main-nav .sub-menu {
	position: absolute;
	left: 0;
	top: 100%;
	z-index: 50;
	display: grid;
	min-width: 220px;
	gap: 4px;
	border: 1px solid var(--line);
	border-radius: 18px;
	padding: 10px 8px 8px;
	background: rgba(255, 255, 255, .96);
	box-shadow: var(--shadow);
	opacity: 0;
	pointer-events: none;
	transform: translateY(4px);
	transition: opacity .16s ease, transform .16s ease;
}

.main-nav li:hover > .sub-menu,
.main-nav li:focus-within > .sub-menu {
	opacity: 1;
	pointer-events: auto;
	transform: translateY(0);
}

.main-nav .sub-menu a {
	justify-content: flex-start;
	width: 100%;
	border-radius: 12px;
	padding: 10px 12px;
	background: transparent;
	color: var(--charcoal);
	letter-spacing: .04em;
	text-transform: none;
}

.main-nav .sub-menu a:hover {
	background: var(--surface-soft);
}

.nav-cta,
.button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border: 1px solid var(--ink);
	border-radius: 999px;
	padding: 11px 18px;
	font-size: 13px;
	font-weight: 800;
	letter-spacing: .02em;
	text-decoration: none;
	transition: background .18s ease, color .18s ease, border-color .18s ease;
}

.nav-cta,
.button.primary {
	background: var(--ink);
	color: #fff !important;
}

.button.ghost {
	background: transparent;
	color: var(--ink);
}

.button:hover,
.nav-cta:hover {
	background: var(--charcoal);
	border-color: var(--charcoal);
	color: #fff;
}

.hero-section {
	display: grid;
	grid-template-columns: minmax(340px, .78fr) minmax(0, 1.22fr);
	gap: 0;
	width: 100vw;
	margin-left: calc(50% - 50vw);
	margin-top: 0;
	padding: 0;
	border-bottom: 1px solid var(--line);
}

.hero-copy,
.hero-panel,
.architecture-grid article,
.project-card,
.brand-card,
.systems-list,
.qa-list,
.list-card,
.page-content,
.single-project,
.tech-panel,
.access-panel,
.credential-card {
	border: 1px solid var(--line);
	border-radius: var(--radius);
	background: rgba(255, 255, 255, .86);
	box-shadow: var(--shadow);
}

.hero-copy {
	position: relative;
	z-index: 2;
	align-self: stretch;
	display: flex;
	flex-direction: column;
	justify-content: center;
	border-top: 0;
	border-left: 0;
	border-bottom: 0;
	border-radius: 0;
	box-shadow: none;
	padding: clamp(34px, 5vw, 72px);
}

.hero-copy h1 {
	max-width: 590px;
	font-size: clamp(24px, 2.5vw, 34px);
	line-height: 1.08;
	letter-spacing: -.025em;
}

.eyebrow {
	margin: 0 0 14px;
	color: var(--muted);
	font-size: 11px;
	font-weight: 800;
	letter-spacing: .18em;
	text-transform: uppercase;
}

h1,
h2,
h3 {
	margin: 0;
	color: var(--ink);
	font-family: Georgia, "Times New Roman", serif;
	font-weight: 600;
	line-height: .98;
	letter-spacing: -.035em;
}

h1 {
	max-width: 720px;
	font-size: clamp(22px, 2.3vw, 30px);
}

h2 {
	font-size: clamp(20px, 2.1vw, 28px);
}

h3 {
	font-size: clamp(17px, 1.6vw, 22px);
}

.hero-lede {
	max-width: 720px;
	margin: 24px 0 0;
	color: var(--muted);
	font-size: clamp(17px, 1.8vw, 22px);
}

.hero-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin-top: 30px;
}

.hero-panel {
	display: grid;
	align-content: space-between;
	gap: 18px;
	border-radius: 0 var(--radius) var(--radius) 0;
	border-top: 0;
	border-right: 0;
	border-bottom: 0;
	border-radius: 0;
	box-shadow: none;
	padding: 0;
	background: var(--surface);
	color: var(--ink);
	overflow: hidden;
}

.hero-banner {
	position: relative;
	display: flex;
	align-items: end;
	min-height: 520px;
	border: 0;
	border-radius: 0;
	overflow: hidden;
	background: #1f1f1f;
}

.hero-banner img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	filter: grayscale(70%) contrast(1.04);
}

.hero-banner:before {
	content: "";
	position: absolute;
	inset: 0;
	background:
		linear-gradient(90deg, rgba(20,20,20,.2), rgba(20,20,20,.06)),
		linear-gradient(0deg, rgba(20,20,20,.48), rgba(20,20,20,0) 52%);
}

.hero-banner > div {
	position: relative;
	z-index: 1;
	width: min(420px, calc(100% - 44px));
	margin: 28px;
	border-radius: 18px;
	padding: 22px;
	background: rgba(255,255,255,.92);
	backdrop-filter: blur(8px);
}

.hero-banner span {
	display: block;
	margin-bottom: 8px;
	color: var(--muted);
	font-size: 11px;
	font-weight: 900;
	letter-spacing: .14em;
	text-transform: uppercase;
}

.hero-banner strong {
	display: block;
	font-size: 20px;
	line-height: 1.15;
}

.hero-banner p {
	margin: 10px 0 0;
	color: var(--muted);
}

.hero-banner em {
	display: inline-flex;
	margin-top: 16px;
	border: 1px solid var(--line);
	border-radius: 999px;
	padding: 8px 11px;
	background: #f4f4f2;
	color: var(--ink);
	font-size: 12px;
	font-style: normal;
	font-weight: 800;
}

.stat-strip {
	display: grid;
	grid-template-columns: auto 1fr;
	gap: 3px 14px;
	border-radius: 0;
	padding: 18px;
	background: #f5f5f2;
	color: var(--ink);
}

.stat-strip strong {
	font-size: 30px;
	line-height: 1;
}

.stat-strip span {
	align-self: center;
	color: var(--muted);
	font-weight: 700;
}

.architecture-section,
.projects-section,
.brands-section,
.proof-section,
.systems-section,
.assessment-section,
.archive-intro {
	padding: 48px 0;
}

.architecture-section,
.section-heading,
.systems-section,
.assessment-section,
.access-panel {
	display: grid;
	grid-template-columns: .82fr 1.18fr;
	gap: 26px;
}

.architecture-grid,
.project-grid,
.brand-grid,
.proof-grid,
.technical-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 18px;
}

.proof-grid {
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

.architecture-grid article,
.proof-grid article,
.project-card,
.brand-card,
.list-card,
.systems-list,
.qa-list,
.tech-panel,
.credential-card {
	padding: 24px;
}

.proof-grid article,
.documentation-band {
	border: 1px solid var(--line);
	border-radius: var(--radius);
	background: rgba(255, 255, 255, .86);
	box-shadow: var(--shadow);
}

.proof-grid strong {
	display: block;
	margin-bottom: 12px;
	color: var(--ink);
	font-size: 17px;
}

.proof-grid p {
	margin: 0;
	color: var(--muted);
}

.documentation-band {
	display: grid;
	grid-template-columns: .7fr 1fr auto;
	align-items: center;
	gap: 24px;
	margin: 42px 0;
	padding: 30px;
}

.documentation-band p {
	margin: 0;
	color: var(--muted);
}

.scheduler-band,
.integration-panel,
.integration-result,
.schedule-card,
.command-panel {
	border: 1px solid var(--line);
	border-radius: var(--radius);
	background: rgba(255, 255, 255, .9);
	box-shadow: var(--shadow);
}

.scheduler-band {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	align-items: center;
	gap: 24px;
	margin: 42px 0;
	padding: 30px;
}

.scheduler-band h2,
.schedule-card h2,
.integration-panel h2,
.command-panel h2 {
	font-size: 24px;
}

.scheduler-band p,
.schedule-card p,
.integration-panel p,
.version-grid p {
	margin: 12px 0 0;
	color: var(--muted);
}

.architecture-grid article span {
	display: inline-flex;
	margin-bottom: 22px;
	color: var(--silver);
	font-size: 12px;
	font-weight: 800;
	letter-spacing: .18em;
}

.architecture-grid p,
.project-card p,
.brand-card p,
.systems-list,
.qa-list,
.site-footer,
.case-body,
.tech-panel p,
.access-panel p {
	color: var(--muted);
}

.project-card,
.brand-card {
	display: flex;
	flex-direction: column;
	min-height: 360px;
}

.project-thumb {
	display: block;
	margin: -8px -8px 22px;
	border-radius: 18px;
	overflow: hidden;
	background: var(--surface-soft);
	aspect-ratio: 1200 / 760;
}

.brand-thumb {
	display: block;
	margin: -8px -8px 18px;
	border-radius: 18px;
	overflow: hidden;
	background: var(--surface-soft);
	aspect-ratio: 1200 / 760;
}

.project-thumb img,
.brand-thumb img,
.project-hero-image img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
}

.project-card-top {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	margin-bottom: 24px;
}

.project-icon,
.brand-card span {
	display: grid;
	place-items: center;
	width: 54px;
	height: 54px;
	border: 1px solid var(--line-strong);
	border-radius: 50%;
	background: var(--surface-soft);
	color: var(--charcoal);
	font-size: 14px;
	font-weight: 900;
	letter-spacing: .06em;
	text-transform: uppercase;
}

.project-type {
	margin: 0;
	color: var(--silver);
	font-size: 11px;
	font-weight: 900;
	letter-spacing: .12em;
	text-align: right;
	text-transform: uppercase;
}

.project-card h3 a,
.list-card h2 a,
.brand-card a {
	text-decoration: none;
}

.brand-card h3 {
	margin-top: 28px;
}

.brand-thumb + h3 {
	margin-top: 0;
}

.brand-card a {
	margin-top: auto;
	color: var(--ink);
	font-size: 12px;
	font-weight: 900;
	letter-spacing: .1em;
	text-transform: uppercase;
}

.pill-list {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 18px 0 0;
	padding: 0;
	list-style: none;
}

.pill-list li {
	border: 1px solid var(--line);
	border-radius: 999px;
	padding: 6px 10px;
	background: #f2f2f0;
	color: var(--charcoal);
	font-size: 12px;
	font-weight: 700;
}

.project-meta {
	margin-top: auto;
	padding-top: 22px;
	border-top: 1px solid var(--line);
	color: var(--silver);
	font: 600 11px/1.6 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
}

.systems-list p,
.qa-list p {
	margin: 0;
	padding: 18px 0;
	border-bottom: 1px solid var(--line);
}

.systems-list p:first-child,
.qa-list p:first-child {
	padding-top: 0;
}

.systems-list p:last-child,
.qa-list p:last-child {
	border-bottom: 0;
	padding-bottom: 0;
}

.site-footer {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	padding: 40px 0 52px;
	border-top: 1px solid var(--line);
}

.content-list {
	display: grid;
	gap: 18px;
	padding-bottom: 56px;
}

.single-project,
.page-content {
	margin: 42px auto 72px;
	padding: clamp(28px, 5vw, 64px);
}

.documentation-page {
	margin: 42px auto 72px;
}

.doc-hero {
	border: 1px solid var(--line);
	border-radius: var(--radius);
	background: var(--surface);
	box-shadow: var(--shadow);
	padding: clamp(34px, 6vw, 72px);
}

.doc-hero p {
	max-width: 760px;
	color: var(--muted);
	font-size: 20px;
}

.doc-summary-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 14px;
	margin: 22px 0;
}

.doc-summary-grid div {
	border: 1px solid var(--line);
	border-radius: 18px;
	background: #fff;
	padding: 18px;
}

.doc-summary-grid span {
	display: block;
	color: var(--silver);
	font-size: 11px;
	font-weight: 900;
	letter-spacing: .12em;
	text-transform: uppercase;
}

.doc-summary-grid strong {
	display: block;
	margin-top: 8px;
	font-size: 17px;
}

.doc-layout {
	display: grid;
	grid-template-columns: 250px minmax(0, 1fr);
	gap: 22px;
	align-items: start;
}

.doc-nav,
.doc-content {
	border: 1px solid var(--line);
	border-radius: var(--radius);
	background: var(--surface);
	box-shadow: var(--shadow);
}

.doc-nav {
	position: sticky;
	top: 20px;
	display: grid;
	gap: 6px;
	padding: 18px;
}

.doc-nav a {
	border-radius: 12px;
	padding: 10px 12px;
	color: var(--muted);
	font-size: 13px;
	font-weight: 800;
	text-decoration: none;
}

.doc-nav a:hover {
	background: var(--surface-soft);
	color: var(--ink);
}

.doc-content {
	padding: clamp(24px, 4vw, 48px);
}

.doc-content section {
	padding: 30px 0;
	border-top: 1px solid var(--line);
}

.doc-content h2 {
	margin-bottom: 16px;
	font-size: 24px;
}

.doc-content code {
	border: 1px solid var(--line);
	border-radius: 8px;
	padding: 2px 6px;
	background: #f2f2f0;
	font-size: .92em;
}

.single-hero {
	max-width: 900px;
}

.project-detail-hero {
	display: grid;
	grid-template-columns: minmax(0, .95fr) minmax(320px, .85fr);
	gap: 28px;
	align-items: center;
	max-width: none;
}

.project-hero-image {
	margin: 0;
	border: 1px solid var(--line);
	border-radius: var(--radius);
	overflow: hidden;
	background: var(--surface-soft);
	box-shadow: var(--shadow);
}

.single-hero h1 {
	font-size: clamp(24px, 2.5vw, 34px);
}

.single-hero p {
	color: var(--muted);
	font-size: 20px;
}

.case-meta,
.metric-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 14px;
	margin: 34px 0;
}

.case-meta div,
.metric-grid div,
.flex-section {
	border: 1px solid var(--line);
	border-radius: 18px;
	padding: 20px;
	background: #f8f8f6;
}

.case-meta span,
.metric-grid span,
.credential-card dt {
	display: block;
	color: var(--silver);
	font-size: 11px;
	font-weight: 900;
	letter-spacing: .12em;
	text-transform: uppercase;
}

.case-meta strong,
.metric-grid strong {
	display: block;
	overflow-wrap: anywhere;
	font-size: 16px;
}

.access-panel {
	align-items: start;
	margin: 0 0 34px;
	padding: 26px;
	background: #fafafa;
}

.access-panel h2 {
	font-size: 24px;
}

.credential-card {
	background: var(--surface);
	box-shadow: none;
}

.credential-card dl {
	display: grid;
	gap: 10px;
	margin: 0;
}

.credential-card dd {
	margin: 0 0 8px;
	overflow-wrap: anywhere;
	color: var(--charcoal);
	font-weight: 700;
}

.credential-card code {
	border: 1px solid var(--line);
	border-radius: 8px;
	padding: 3px 7px;
	background: #f2f2f0;
	color: var(--ink);
}

.technical-grid {
	margin: 24px 0 36px;
}

.tech-panel {
	min-height: 250px;
	background: var(--surface);
	box-shadow: none;
}

.tech-panel.dark {
	background: var(--charcoal);
	color: #fff;
}

.tech-panel.dark h2,
.tech-panel.dark .check-list,
.tech-panel.dark p {
	color: #fff;
}

.tech-panel h2 {
	margin-bottom: 20px;
	font-size: 24px;
}

.check-list {
	display: grid;
	gap: 10px;
	margin: 0;
	padding: 0;
	list-style: none;
	color: var(--charcoal);
}

.check-list li {
	position: relative;
	padding-left: 22px;
}

.check-list li:before {
	content: "";
	position: absolute;
	left: 0;
	top: .67em;
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: currentColor;
}

.case-body {
	display: grid;
	grid-template-columns: 1.1fr .9fr;
	gap: 28px;
}

.case-body h2 {
	margin: 26px 0 12px;
	font-size: 24px;
}

.case-body h2:first-child {
	margin-top: 0;
}

.case-body aside {
	border-left: 1px solid var(--line-strong);
	padding-left: 26px;
}

.directory-page {
	margin: 42px auto 72px;
}

.directory-hero {
	border: 1px solid var(--line);
	border-radius: var(--radius);
	background: var(--surface);
	box-shadow: var(--shadow);
	padding: clamp(32px, 5vw, 64px);
}

.directory-hero p {
	max-width: 760px;
	color: var(--muted);
	font-size: 20px;
}

.project-directory-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 20px;
	margin-top: 24px;
}

.directory-card {
	border: 1px solid var(--line);
	border-radius: var(--radius);
	background: var(--surface);
	box-shadow: var(--shadow);
	padding: 24px;
}

.directory-card h2 {
	margin-bottom: 14px;
	font-size: 24px;
}

.directory-card h2 a {
	text-decoration: none;
}

.directory-meta {
	margin: 22px 0;
	border-top: 1px solid var(--line);
	padding-top: 18px;
}

.directory-meta span {
	display: block;
	color: var(--silver);
	font-size: 11px;
	font-weight: 900;
	letter-spacing: .12em;
	text-transform: uppercase;
}

.directory-meta strong {
	display: block;
	margin-top: 6px;
}

.section-link {
	margin-top: 22px;
}

.brand-grid.standalone {
	margin-top: 24px;
}

.flex-hero {
	margin-top: 28px;
	background: var(--charcoal);
	color: #fff;
}

.flex-hero h2,
.flex-hero p,
.flex-hero .eyebrow {
	color: #fff;
}

.integration-panel {
	display: grid;
	grid-template-columns: .8fr 1.2fr;
	gap: 28px;
	margin-top: 28px;
	padding: 28px;
}

.integration-form {
	display: grid;
	gap: 14px;
}

.integration-form label {
	display: grid;
	gap: 7px;
	color: var(--muted);
	font-size: 12px;
	font-weight: 900;
	letter-spacing: .08em;
	text-transform: uppercase;
}

.integration-form input {
	width: 100%;
	border: 1px solid var(--line);
	border-radius: 14px;
	padding: 13px 14px;
	background: #fff;
	color: var(--ink);
	font: inherit;
}

.integration-result {
	margin-top: 20px;
	padding: 22px;
}

.integration-result.is-success {
	border-color: #9fb89f;
	background: #f2f7f1;
}

.integration-result.is-error {
	border-color: #c7a2a2;
	background: #fbf1f1;
}

.integration-result pre,
.command-panel pre {
	overflow: auto;
	border: 1px solid var(--line);
	border-radius: 16px;
	padding: 16px;
	background: #191919;
	color: #f7f7f2;
	white-space: pre-wrap;
}

.version-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 18px;
	margin-top: 28px;
}

.version-grid article {
	border: 1px solid var(--line);
	border-radius: var(--radius);
	background: #fff;
	padding: 24px;
}

.version-grid span {
	display: inline-flex;
	margin-bottom: 18px;
	color: var(--silver);
	font-size: 12px;
	font-weight: 900;
	letter-spacing: .16em;
}

.version-grid h2 {
	font-size: 24px;
}

.version-grid code,
.command-panel code {
	overflow-wrap: anywhere;
}

.command-panel {
	margin-top: 24px;
	padding: 28px;
}

.schedule-card {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	align-items: center;
	gap: 22px;
	margin-top: 28px;
	padding: 28px;
}

.plugin-code-page {
	margin: 42px auto 72px;
}

.code-layout {
	display: grid;
	grid-template-columns: minmax(220px, 280px) minmax(0, 1fr);
	gap: 24px;
	align-items: start;
}

.code-side-nav {
	position: sticky;
	top: 112px;
	align-self: start;
}

.code-side-nav > div {
	border: 1px solid var(--line);
	border-radius: var(--radius);
	padding: 22px;
	background: rgba(255, 255, 255, .9);
	box-shadow: var(--shadow);
}

.code-side-nav a {
	display: block;
	padding: 10px 0;
	border-bottom: 1px solid var(--line);
	color: var(--muted);
	font-size: 13px;
	font-weight: 700;
	text-decoration: none;
}

.code-side-nav a:last-child {
	border-bottom: 0;
	padding-bottom: 0;
}

.code-side-nav a:hover {
	color: var(--ink);
}

.code-main {
	min-width: 0;
}

.code-summary-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 14px;
	margin: 22px 0;
}

.code-summary-grid div,
.api-evidence-panel,
.code-file-panel {
	border: 1px solid var(--line);
	border-radius: var(--radius);
	background: var(--surface);
	box-shadow: var(--shadow);
}

.code-summary-grid div {
	padding: 18px;
}

.code-summary-grid span {
	display: block;
	color: var(--silver);
	font-size: 11px;
	font-weight: 900;
	letter-spacing: .12em;
	text-transform: uppercase;
}

.code-summary-grid strong {
	display: block;
	margin-top: 8px;
	font-size: 17px;
}

.api-evidence-panel,
.code-file-panel {
	margin-top: 24px;
	padding: clamp(22px, 4vw, 34px);
}

.api-evidence-panel {
	display: grid;
	grid-template-columns: .75fr 1.25fr;
	gap: 24px;
	align-items: start;
}

.api-evidence-panel h2,
.code-file-panel h2 {
	font-size: 24px;
}

.api-evidence-panel p,
.code-file-intro p {
	color: var(--muted);
}

.api-evidence-panel pre,
.code-file-panel pre {
	overflow: auto;
	max-height: 680px;
	border: 1px solid #2f2f2f;
	border-radius: 18px;
	padding: 20px;
	background: #171717;
	color: #f6f6ef;
	font: 500 13px/1.7 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
	tab-size: 4;
	white-space: pre;
}

.code-file-intro {
	margin-bottom: 18px;
}

@media (max-width: 920px) {
	.site-header,
	.site-footer,
	.hero-section,
	.architecture-section,
	.section-heading,
	.systems-section,
	.assessment-section,
	.access-panel,
	.documentation-band,
	.scheduler-band,
	.integration-panel,
	.schedule-card,
	.api-evidence-panel,
	.code-layout,
	.doc-layout,
	.project-detail-hero,
	.case-body {
		display: block;
	}

	.site-header {
		position: sticky;
		top: 0;
		z-index: 100;
	}

	.site-header-inner {
		position: relative;
		flex-wrap: wrap;
		padding: 14px 18px;
	}

	.menu-toggle {
		display: inline-flex;
	}

	.main-nav {
		position: absolute;
		left: 12px;
		right: 12px;
		top: calc(100% + 8px);
		z-index: 90;
		display: grid;
		gap: 14px;
		border: 1px solid var(--line);
		border-radius: 22px;
		padding: 14px;
		background: rgba(255, 255, 255, .98);
		box-shadow: var(--shadow);
		opacity: 0;
		pointer-events: none;
		transform: translateY(-8px);
		transition: opacity .18s ease, transform .18s ease;
	}

	.site-header.is-menu-open .main-nav {
		opacity: 1;
		pointer-events: auto;
		transform: translateY(0);
	}

	.main-nav ul,
	.main-nav .sub-menu {
		position: static;
		display: grid;
		width: 100%;
		min-width: 0;
		gap: 6px;
		border: 0;
		border-radius: 0;
		padding: 0;
		background: transparent;
		box-shadow: none;
		opacity: 1;
		pointer-events: auto;
		transform: none;
	}

	.main-nav > ul {
		gap: 12px;
	}

	.main-nav li {
		width: 100%;
	}

	.main-nav a,
	.main-nav .sub-menu a {
		justify-content: space-between;
		width: 100%;
		border-radius: 14px;
		padding: 12px 14px;
		background: #f5f5f2;
		color: var(--ink);
	}

	.main-nav .menu-item-has-children > a {
		background: var(--charcoal);
		color: #fff;
	}

	.main-nav .sub-menu {
		margin-top: 6px;
		padding-left: 8px;
	}

	.main-nav .sub-menu a {
		background: #fff;
		color: var(--charcoal);
	}

	.main-nav .nav-cta,
	.nav-cta {
		width: 100%;
	}

	.hero-panel,
	.architecture-grid,
	.project-grid,
	.brand-grid,
	.proof-grid,
	.technical-grid,
	.project-directory-grid,
	.doc-summary-grid,
	.credential-card {
		margin-top: 18px;
	}

	.hero-section {
		width: 100vw;
		margin-left: calc(50% - 50vw);
		padding: 0;
	}

	.hero-copy,
	.hero-panel {
		border-radius: 0;
	}

	.architecture-grid,
	.project-grid,
	.brand-grid,
	.proof-grid,
	.project-directory-grid,
	.doc-summary-grid,
	.case-meta,
	.metric-grid,
	.technical-grid {
		grid-template-columns: 1fr;
	}

	.version-grid,
	.code-summary-grid {
		grid-template-columns: 1fr;
	}

	.code-side-nav {
		position: static;
		margin-bottom: 18px;
	}

	h1 {
		font-size: clamp(22px, 6vw, 28px);
	}
}

@font-face {
	font-family: "Inter";
	src: url("/wp-content/themes/twentytwentythree/assets/fonts/inter/Inter-VariableFont_slnt,wght.ttf") format("truetype");
	font-display: swap;
}

:root {
	--bg: #f3efe8;
	--surface: #fffdf8;
	--surface-soft: #f7f1e8;
	--surface-strong: #f0e7db;
	--ink: #171412;
	--muted: #665f58;
	--line: #ddd2c3;
	--line-strong: #bead98;
	--charcoal: #1d1a17;
	--silver: #8d8173;
	--accent: #aa5f3b;
	--accent-soft: #eee0d3;
	--accent-deep: #7c452d;
	--shadow: 0 24px 80px rgba(27, 20, 13, .08);
	--shadow-soft: 0 18px 44px rgba(27, 20, 13, .05);
	--radius: 28px;
	--radius-sm: 20px;
	--space-1: 8px;
	--space-2: 16px;
	--space-3: 24px;
	--space-4: 32px;
	--space-5: 48px;
	--space-6: 72px;
	--space-7: 104px;
}

body {
	background:
		radial-gradient(circle at top left, rgba(170, 95, 59, .08), transparent 23%),
		linear-gradient(180deg, #f7f2ea, #f2ece3);
	color: var(--ink);
	font-family: Inter, Aptos, "Segoe UI", sans-serif;
}

body.has-lightbox-open {
	overflow: hidden;
}

.site-main,
.site-footer {
	width: min(1220px, calc(100% - 44px));
}

.site-header {
	position: sticky;
	top: 0;
	z-index: 1000;
	border-top: 0;
	border-bottom: 1px solid rgba(221, 210, 195, .92);
	background: rgba(247, 242, 234, .86);
	backdrop-filter: blur(18px);
}

.site-header-inner {
	padding: 18px 20px;
}

.brand-mark {
	border-radius: 14px;
	background:
		linear-gradient(135deg, #1d1a17, #393129);
}

.brand strong {
	font-size: 15px;
}

.brand em {
	color: var(--silver);
	font-size: 12px;
}

.main-nav {
	gap: 12px;
}

.main-nav ul {
	gap: 2px;
}

.main-nav a {
	padding: 10px 12px;
	color: var(--silver);
	font-size: 11px;
	font-weight: 800;
	letter-spacing: .08em;
}

.main-nav a:hover {
	background: rgba(255, 255, 255, .72);
	color: var(--ink);
}

.lang-switch {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	border: 1px solid var(--line);
	border-radius: 999px;
	padding: 4px;
	background: rgba(255, 255, 255, .74);
}

.lang-switch a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 38px;
	border-radius: 999px;
	padding: 7px 10px;
	color: var(--silver);
	font-size: 11px;
	font-weight: 800;
	letter-spacing: .1em;
	text-decoration: none;
	text-transform: uppercase;
}

.lang-switch a.is-active {
	background: var(--charcoal);
	color: #fff;
}

.nav-cta,
.button {
	padding: 12px 18px;
	border-radius: 999px;
	font-size: 12px;
	font-weight: 800;
	letter-spacing: .04em;
	text-transform: uppercase;
}

.button.primary,
.nav-cta {
	background: var(--charcoal);
	border-color: var(--charcoal);
}

.button.ghost {
	border-color: var(--line-strong);
	background: transparent;
}

.eyebrow {
	margin: 0 0 12px;
	color: var(--silver);
	font-size: 10px;
	font-weight: 800;
	letter-spacing: .22em;
	text-transform: uppercase;
}

.home-section,
.cv-section,
.rollout-proof-section,
.rollout-screens-section {
	padding: var(--space-5) 0;
}

.home-section-head,
.section-heading {
	display: grid;
	gap: 10px;
	max-width: 760px;
	margin-bottom: 28px;
}

.home-section-head.compact {
	margin-bottom: 20px;
}

.home-section-head.split {
	max-width: none;
	grid-template-columns: minmax(0, 1fr) auto;
	align-items: end;
	gap: 20px;
}

.home-section-head h2,
.cv-section h2,
.cv-panel h2,
.rollout-page h2,
.documentation-page h2,
.page-content h2,
.version-grid h2,
.command-panel h2 {
	max-width: 18ch;
	font-family: Georgia, "Times New Roman", serif;
	font-size: clamp(1.45rem, 2.8vw, 2.35rem);
	line-height: 1.04;
	letter-spacing: -.05em;
}

.section-support {
	max-width: 62ch;
	margin: 0;
	color: var(--muted);
}

.page-content,
.documentation-page,
.directory-page,
.versioning-page,
.single-project {
	margin: 36px auto 80px;
}

.home-hero {
	position: relative;
	width: 100vw;
	margin-left: calc(50% - 50vw);
	min-height: 0;
	padding: clamp(22px, 3.4vh, 36px) 0 clamp(18px, 2.8vh, 28px);
	overflow: hidden;
	background:
		linear-gradient(135deg, rgba(15, 13, 12, .88), rgba(15, 13, 12, .54)),
		radial-gradient(circle at top right, rgba(170, 95, 59, .32), transparent 28%);
}

.home-hero-backdrop,
.home-hero-backdrop img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
}

.home-hero-backdrop img {
	object-fit: cover;
	filter: saturate(.72) contrast(1.04) brightness(.56);
}

.home-hero-inner {
	position: relative;
	z-index: 1;
	display: grid;
	grid-template-columns: minmax(0, .92fr) minmax(360px, .8fr);
	gap: clamp(14px, 2.2vh, 24px);
	width: min(1220px, calc(100% - 44px));
	margin: 0 auto;
	padding: 0;
	align-content: center;
	align-items: center;
}

.home-hero-copy,
.final-cta-card,
.cv-hero,
.cv-panel,
.cv-summary-card,
.rollout-hero-copy,
.rollout-hero-panel,
.rollout-timeline-card,
.rollout-doc-band,
.rollout-proof-grid article,
.rollout-screen-card,
.doc-hero,
.doc-nav,
.doc-content,
.directory-hero,
.directory-card,
.command-panel,
.scheduler-band,
.documentation-band {
	border: 1px solid var(--line);
	border-radius: var(--radius);
	background: rgba(255, 253, 248, .94);
	box-shadow: var(--shadow-soft);
}

.home-hero-copy {
	max-width: 760px;
	border: 0;
	background: transparent;
	box-shadow: none;
	padding: clamp(8px, 2vw, 16px) 0 0;
}

.home-hero-copy h1 {
	max-width: 11ch;
	font-family: Georgia, "Times New Roman", serif;
	font-size: clamp(1.95rem, 3.8vw, 3.25rem);
	line-height: .96;
	letter-spacing: -.055em;
	color: #fff8f0;
}

.home-hero-lede {
	max-width: 60ch;
	margin: 14px 0 0;
	color: rgba(255, 248, 240, .82);
	font-size: clamp(15px, 1.2vw, 17px);
	line-height: 1.55;
}

.home-hero-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin-top: 18px;
}

.home-hero .eyebrow {
	color: rgba(255, 248, 240, .62);
}

.home-hero .button.ghost {
	border-color: rgba(255, 248, 240, .28);
	color: #fff8f0;
	background: rgba(255, 255, 255, .08);
}

.home-hero-proof {
	display: grid;
	grid-template-columns: 1fr;
	gap: 16px;
	align-items: stretch;
}

.home-hero-panel-copy {
	display: grid;
	gap: 8px;
	align-content: start;
	padding: clamp(16px, 2vw, 22px);
	border: 1px solid rgba(255, 255, 255, .14);
	border-radius: var(--radius);
	background: rgba(18, 16, 15, .58);
	backdrop-filter: blur(16px);
}

.home-panel-kicker {
	color: rgba(255, 248, 240, .54);
	font-size: 10px;
	font-weight: 800;
	letter-spacing: .18em;
	text-transform: uppercase;
}

.home-hero-panel-copy strong {
	max-width: 22ch;
	font-family: Georgia, "Times New Roman", serif;
	font-size: clamp(1.05rem, 1.5vw, 1.28rem);
	line-height: 1.08;
	letter-spacing: -.035em;
	color: #fff8f0;
}

.home-hero-panel-copy p,
.home-hero-panel-copy em,
.signal-item p,
.signal-card p,
.skill-card p,
.proof-card-refined p,
.review-card p,
.related-card p,
.featured-project-card p,
.brand-card-refined p,
.final-cta-card p,
.cv-panel p,
.cv-summary-card p,
.cv-timeline-item p,
.language-card p,
.rollout-page p,
.documentation-page p {
	color: var(--muted);
}

.home-hero-panel-copy em {
	font-style: normal;
	font-size: 12px;
	color: rgba(255, 248, 240, .72);
}

.home-highlight-list {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 10px;
}

.signal-item,
.signal-card,
.skill-card,
.proof-card-refined,
.review-card,
.related-card,
.brand-card-refined,
.language-card,
.cv-infra-card,
.cv-skill-group,
.cv-signal-chip {
	border: 1px solid var(--line);
	border-radius: var(--radius-sm);
	background: rgba(255, 255, 255, .74);
}

.home-hero .signal-item {
	border-color: rgba(255, 255, 255, .12);
	background: rgba(18, 16, 15, .58);
	backdrop-filter: blur(16px);
}

.home-hero .signal-item h3 {
	color: #fff8f0;
}

.home-hero .signal-item p {
	color: rgba(255, 248, 240, .72);
}

.signal-item,
.signal-card,
.skill-card,
.proof-card-refined,
.review-card,
.related-card {
	padding: 16px;
}

.signal-item h3,
.signal-card h3,
.skill-card h3,
.proof-card-refined h3,
.review-card h3,
.related-card h3,
.featured-project-card h3,
.brand-card-refined h3,
.language-card h3,
.cv-timeline-body h3,
.cv-infra-card h3,
.cv-skill-group h3,
.rollout-screen-card h3 {
	margin: 0 0 8px;
	font-size: 16px;
	line-height: 1.12;
	letter-spacing: -.03em;
}

.home-hero .signal-item p {
	margin: 0;
	font-size: 13px;
	line-height: 1.45;
}

.signal-grid,
.skill-grid,
.proof-grid-refined,
.review-grid,
.related-grid,
.featured-project-grid,
.brand-grid-refined,
.language-grid {
	display: grid;
	gap: 18px;
}

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

.skill-grid,
.proof-grid-refined,
.review-grid {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

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

.featured-project-grid {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.featured-project-card {
	overflow: hidden;
	border: 1px solid var(--line);
	border-radius: var(--radius);
	background: rgba(255, 253, 248, .96);
	box-shadow: var(--shadow-soft);
}

.featured-project-body {
	padding: 20px 20px 22px;
}

.featured-project-card h3 a {
	text-decoration: none;
}

.project-kicker,
.featured-stack {
	color: var(--silver);
	font-size: 12px;
	font-weight: 800;
	letter-spacing: .04em;
}

.featured-stack {
	margin: 8px 0 12px;
}

.trust-section {
	padding-bottom: 64px;
}

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

.brand-card-refined {
	padding: 20px;
}

.brand-card-refined span {
	display: inline-grid;
	place-items: center;
	width: 40px;
	height: 40px;
	margin-bottom: 14px;
	border-radius: 14px;
	background: var(--accent-soft);
	color: var(--accent-deep);
	font-size: 12px;
	font-weight: 800;
	letter-spacing: .08em;
}

.final-cta-card {
	padding: clamp(28px, 5vw, 44px);
	max-width: 980px;
	margin: 0 auto;
}

.final-cta-card h2 {
	max-width: 16ch;
	margin: 0 0 16px;
	font-family: Georgia, "Times New Roman", serif;
	font-size: clamp(1.7rem, 3vw, 2.8rem);
	line-height: 1.02;
	letter-spacing: -.05em;
}

.cv-page {
	padding: 44px 0 96px;
}

.cv-hero {
	display: grid;
	gap: 22px;
	max-width: 980px;
	margin: 0 auto;
	padding: clamp(28px, 5vw, 44px);
}

.cv-hero-grid {
	display: grid;
	grid-template-columns: 1fr 320px;
	gap: 22px;
	align-items: start;
}

.cv-memory-mark {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 18px;
	padding: 8px 12px;
	border: 1px solid var(--line);
	border-radius: 999px;
	background: var(--accent-soft);
	color: var(--accent-deep);
	font-size: 11px;
	font-weight: 900;
	letter-spacing: .24em;
	text-transform: uppercase;
}

.cv-hero h1 {
	margin: 0;
	font-family: Georgia, "Times New Roman", serif;
	font-size: clamp(2rem, 4vw, 3.2rem);
	line-height: .98;
	letter-spacing: -.055em;
}

.cv-role {
	max-width: 40ch;
	margin: 14px 0 0;
	font-size: 17px;
}

.cv-contact-card {
	border-radius: var(--radius-sm);
	padding: 20px;
}

.cv-contact-card dl {
	display: grid;
	gap: 14px;
	margin: 0;
}

.cv-contact-card div {
	display: grid;
	gap: 4px;
}

.cv-contact-card dt {
	color: var(--silver);
	font-size: 10px;
	font-weight: 800;
	letter-spacing: .18em;
	text-transform: uppercase;
}

.cv-contact-card dd {
	margin: 0;
	font-weight: 700;
	overflow-wrap: anywhere;
}

.cv-summary-card {
	padding: 24px;
}

.cv-action-row {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin-top: 20px;
}

.cv-signal-bar {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 12px;
	margin-top: 20px;
}

.cv-signal-chip {
	padding: 16px;
}

.cv-signal-chip span {
	display: block;
	color: var(--silver);
	font-size: 10px;
	font-weight: 800;
	letter-spacing: .18em;
	text-transform: uppercase;
}

.cv-signal-chip strong {
	display: block;
	margin-top: 8px;
	font-size: 15px;
	line-height: 1.2;
}

.cv-section {
	max-width: 980px;
	margin: 0 auto;
}

.cv-timeline {
	display: grid;
	gap: 20px;
}

.cv-timeline-item {
	display: grid;
	grid-template-columns: 170px minmax(0, 1fr);
	gap: 18px;
	padding: 22px 0;
	border-top: 1px solid var(--line);
}

.cv-timeline-item:first-child {
	border-top: 0;
	padding-top: 0;
}

.cv-timeline-meta span {
	display: inline-flex;
	align-items: center;
	border: 1px solid var(--line);
	border-radius: 999px;
	padding: 9px 12px;
	background: rgba(255, 255, 255, .74);
	color: var(--silver);
	font-size: 11px;
	font-weight: 800;
	letter-spacing: .1em;
	text-transform: uppercase;
}

.cv-company {
	margin: 0 0 10px;
	font-weight: 700;
}

.cv-list {
	display: grid;
	gap: 8px;
	margin: 14px 0 0;
	padding-left: 18px;
}

.cv-grid-section {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 18px;
	max-width: 980px;
	margin: 0 auto;
	padding-top: var(--space-5);
}

.cv-panel {
	padding: 24px;
}

.cv-skill-groups,
.cv-infra-grid {
	display: grid;
	gap: 14px;
	margin-top: 18px;
}

.cv-skill-group,
.cv-infra-card,
.language-card {
	padding: 18px;
}

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

.doc-hero,
.directory-hero {
	padding: clamp(28px, 5vw, 54px);
}

.doc-layout {
	grid-template-columns: 240px minmax(0, 1fr);
	gap: 18px;
}

.doc-nav {
	top: 16px;
	border-radius: var(--radius);
}

.doc-content {
	padding: clamp(24px, 4vw, 42px);
}

.doc-content section {
	padding: 24px 0;
}

.doc-summary-grid,
.project-directory-grid {
	gap: 16px;
}

.rollout-page {
	display: grid;
	gap: 22px;
	padding: 44px 0 96px;
}

.rollout-hero {
	display: grid;
	grid-template-columns: 1fr;
	gap: 18px;
}

.rollout-hero-copy,
.rollout-hero-panel,
.rollout-timeline-card,
.rollout-doc-band,
.rollout-screen-card,
.rollout-proof-grid article {
	padding: 24px;
}

.rollout-hero-panel {
	padding: 0;
	overflow: hidden;
}

.rollout-hero-panel img {
	display: block;
	width: 100%;
	height: 420px;
	object-fit: cover;
}

.rollout-hero-card {
	position: static;
	width: auto;
	margin: 0;
	border: 0;
	border-top: 1px solid rgba(255, 255, 255, .14);
	border-radius: 0;
	padding: 24px;
	background: linear-gradient(180deg, rgba(26, 23, 20, .92), rgba(26, 23, 20, .96));
	backdrop-filter: none;
}

.rollout-hero-card span,
.rollout-screen-kicker {
	color: rgba(255, 255, 255, .62);
	font-size: 10px;
	letter-spacing: .18em;
}

.rollout-hero-card strong {
	max-width: 22ch;
	color: #fff;
	font-size: 1.45rem;
	line-height: 1.1;
}

.rollout-hero-card p {
	color: rgba(255, 255, 255, .74);
}

.rollout-stat-strip {
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 12px;
}

.rollout-stat-strip div {
	border: 1px solid var(--line);
	border-radius: 18px;
	padding: 14px 16px;
	background: rgba(255, 255, 255, .68);
}

.rollout-proof-grid,
.rollout-screen-grid {
	display: grid;
	gap: 18px;
}

.rollout-proof-grid {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.rollout-story,
.rollout-doc-band {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(280px, .9fr);
	gap: 18px;
}

.rollout-story-copy,
.rollout-timeline-card {
	border: 1px solid var(--line);
	border-radius: var(--radius);
	padding: 24px;
	background: rgba(255, 253, 248, .94);
	box-shadow: var(--shadow-soft);
}

.rollout-screen-grid {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.rollout-screen-card {
	padding: 0;
	overflow: hidden;
}

.rollout-screen-card figcaption {
	padding: 22px 22px 14px;
	border-bottom: 1px solid var(--line);
}

.rollout-shot-link {
	display: block;
	background: #151210;
	cursor: zoom-in;
}

.rollout-shot-link img {
	display: block;
	width: 100%;
	max-height: 380px;
	height: auto;
	object-fit: contain;
	object-position: top center;
}

.rollout-lightbox {
	position: fixed;
	inset: 0;
	z-index: 300;
	display: grid;
	align-items: center;
	padding: 24px;
	background: rgba(8, 7, 6, .84);
	opacity: 0;
	pointer-events: none;
	transition: opacity .18s ease;
}

.rollout-lightbox.is-open {
	opacity: 1;
	pointer-events: auto;
}

.rollout-lightbox-dialog {
	position: relative;
	display: grid;
	grid-template-columns: minmax(0, 1.4fr) minmax(320px, .6fr);
	gap: 18px;
	width: min(1320px, 100%);
	max-height: calc(100vh - 48px);
	margin: 0 auto;
}

.rollout-lightbox-media,
.rollout-lightbox-copy {
	border: 1px solid rgba(255, 255, 255, .12);
	border-radius: var(--radius);
	background: rgba(22, 18, 16, .94);
}

.rollout-lightbox-media {
	display: grid;
	place-items: center;
	padding: 24px;
	overflow: auto;
}

.rollout-lightbox-media img {
	display: block;
	max-width: 100%;
	height: auto;
}

.rollout-lightbox-copy {
	display: grid;
	align-content: start;
	gap: 12px;
	padding: 28px;
	color: #fff8f0;
}

.rollout-lightbox-copy p {
	color: rgba(255, 248, 240, .72);
}

.rollout-lightbox-kicker {
	color: rgba(255, 248, 240, .56);
	font-size: 10px;
	font-weight: 800;
	letter-spacing: .18em;
	text-transform: uppercase;
}

.rollout-lightbox-title {
	margin: 0;
	font-family: Georgia, "Times New Roman", serif;
	font-size: clamp(1.5rem, 2vw, 2.2rem);
	line-height: 1.02;
	letter-spacing: -.04em;
}

.rollout-lightbox-close {
	position: absolute;
	top: 10px;
	right: 10px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 42px;
	height: 42px;
	border: 1px solid rgba(255, 255, 255, .16);
	border-radius: 999px;
	background: rgba(255, 255, 255, .08);
	color: #fff;
	font-size: 20px;
	cursor: pointer;
}

.site-footer {
	padding: 36px 0 56px;
	border-top: 1px solid var(--line);
}

/* Elevated section system: intentionally scoped below the approved hero/header. */
.site-main > .home-section,
.global-schedule-section {
	position: relative;
	width: 100vw;
	margin-left: calc(50% - 50vw);
	padding: clamp(64px, 8vw, 112px) 0;
}

.site-main > .home-section > *,
.global-schedule-card {
	width: min(1160px, calc(100% - 44px));
	margin-right: auto;
	margin-left: auto;
}

.site-main > .home-section:nth-of-type(odd) {
	background:
		radial-gradient(circle at 8% 10%, rgba(170, 95, 59, .07), transparent 25%),
		#fffdf8;
}

.site-main > .home-section:nth-of-type(even) {
	background:
		linear-gradient(90deg, rgba(29, 26, 23, .032) 1px, transparent 1px),
		linear-gradient(rgba(29, 26, 23, .026) 1px, transparent 1px),
		#f3eee6;
	background-size: 56px 56px;
}

.site-main > .home-section + .home-section {
	border-top: 1px solid rgba(190, 173, 152, .45);
}

.home-section-head,
.section-heading {
	gap: 12px;
	max-width: 820px;
	margin-bottom: clamp(28px, 4vw, 46px);
}

.home-section-head h2 {
	max-width: 20ch;
	margin: 0;
	font-size: clamp(1.75rem, 3.2vw, 2.7rem);
}

.section-support,
.home-section-head p:not(.eyebrow) {
	max-width: 62ch;
	font-size: 16px;
	line-height: 1.7;
}

.signal-grid {
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: 10px;
}

.signal-card {
	min-height: 150px;
	padding: 18px;
	border-color: rgba(29, 26, 23, .11);
	background: rgba(255, 255, 255, .62);
	box-shadow: none;
	transition: transform .18s ease, border-color .18s ease, background .18s ease;
}

.signal-card:hover {
	transform: translateY(-4px);
	border-color: rgba(170, 95, 59, .46);
	background: #fff;
}

.signal-card h3 {
	padding-top: 22px;
}

.signal-card h3:before,
.skill-card h3:before,
.proof-card-refined h3:before,
.review-card h3:before {
	content: "";
	display: block;
	width: 22px;
	height: 3px;
	margin-bottom: 14px;
	border-radius: 999px;
	background: var(--accent);
}

.skill-grid {
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 16px;
}

.skill-card {
	min-height: 220px;
	padding: 24px;
	background:
		linear-gradient(180deg, rgba(255, 255, 255, .88), rgba(255, 253, 248, .72));
	box-shadow: 0 18px 50px rgba(27, 20, 13, .055);
}

.skill-card:nth-child(1),
.skill-card:nth-child(7) {
	grid-column: span 2;
	background:
		linear-gradient(135deg, rgba(29, 26, 23, .96), rgba(55, 44, 34, .92));
	color: #fff8f0;
}

.skill-card:nth-child(1) p,
.skill-card:nth-child(7) p {
	color: rgba(255, 248, 240, .72);
}

.skill-card:nth-child(1) h3:before,
.skill-card:nth-child(7) h3:before {
	background: #d99b73;
}

.proof-grid-refined {
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 18px;
	counter-reset: proof;
}

.proof-card-refined {
	position: relative;
	min-height: 210px;
	padding: 24px;
	overflow: hidden;
	background: #fffdf8;
}

.proof-card-refined:after {
	counter-increment: proof;
	content: "0" counter(proof);
	position: absolute;
	right: 18px;
	bottom: 12px;
	color: rgba(170, 95, 59, .11);
	font-family: Georgia, "Times New Roman", serif;
	font-size: 70px;
	font-weight: 700;
	line-height: 1;
}

.proof-card-refined:nth-child(3n + 1) {
	border-top: 4px solid #aa5f3b;
}

.proof-card-refined:nth-child(3n + 2) {
	border-top: 4px solid #6e7561;
}

.proof-card-refined:nth-child(3n) {
	border-top: 4px solid #38342f;
}

.review-grid {
	grid-template-columns: repeat(6, minmax(0, 1fr));
	gap: 12px;
	padding: 16px;
	border: 1px solid rgba(29, 26, 23, .1);
	border-radius: calc(var(--radius) + 10px);
	background:
		linear-gradient(135deg, rgba(29, 26, 23, .96), rgba(44, 36, 29, .94));
	box-shadow: var(--shadow);
}

.review-card {
	min-height: 190px;
	padding: 20px;
	border-color: rgba(255, 255, 255, .11);
	background: rgba(255, 255, 255, .07);
	color: #fff8f0;
	text-decoration: none;
	transition: transform .18s ease, background .18s ease, border-color .18s ease;
}

.review-card p {
	color: rgba(255, 248, 240, .68);
}

.review-card:hover {
	transform: translateY(-5px);
	border-color: rgba(217, 155, 115, .7);
	background: rgba(255, 255, 255, .12);
}

.featured-project-grid {
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 26px;
}

.featured-project-card {
	border-color: rgba(29, 26, 23, .11);
	background: #fffdf8;
	box-shadow: 0 24px 70px rgba(27, 20, 13, .075);
	transition: transform .2s ease, box-shadow .2s ease;
}

.featured-project-card:hover {
	transform: translateY(-6px);
	box-shadow: 0 30px 90px rgba(27, 20, 13, .11);
}

.featured-project-card .project-thumb {
	display: block;
	border-bottom: 1px solid var(--line);
	background: #1d1a17;
}

.featured-project-body {
	padding: 28px;
}

.featured-project-card h3 {
	font-size: clamp(1.25rem, 2vw, 1.7rem);
}

.related-systems-section {
	padding-top: clamp(46px, 6vw, 76px);
	padding-bottom: clamp(46px, 6vw, 76px);
}

.related-grid {
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: 10px;
}

.related-card {
	min-height: auto;
	padding: 16px;
	border-style: dashed;
	background: rgba(255, 255, 255, .46);
	box-shadow: none;
}

.related-card h3 {
	font-size: 14px;
}

.related-card p {
	font-size: 13px;
	line-height: 1.55;
}

.brand-grid-refined {
	grid-template-columns: repeat(6, minmax(0, 1fr));
	gap: 12px;
}

.brand-card-refined {
	display: grid;
	align-content: start;
	min-height: 170px;
	padding: 18px;
	filter: grayscale(1);
	opacity: .78;
	transition: filter .18s ease, opacity .18s ease, transform .18s ease;
}

.brand-card-refined:hover {
	filter: grayscale(0);
	opacity: 1;
	transform: translateY(-4px);
}

.brand-card-refined span {
	background: #ece4d8;
	color: #1d1a17;
}

.final-cta-card {
	position: relative;
	max-width: 1160px;
	overflow: hidden;
	padding: clamp(34px, 6vw, 72px);
	background:
		linear-gradient(135deg, rgba(255, 253, 248, .96), rgba(240, 231, 219, .94));
}

.final-cta-card:after {
	content: "";
	position: absolute;
	right: -120px;
	bottom: -140px;
	width: 360px;
	height: 360px;
	border-radius: 50%;
	background: rgba(170, 95, 59, .12);
}

.global-schedule-section {
	background:
		radial-gradient(circle at 80% 10%, rgba(170, 95, 59, .13), transparent 28%),
		#1d1a17;
}

.global-schedule-card {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	align-items: center;
	gap: 24px;
	padding: clamp(28px, 5vw, 52px);
	border: 1px solid rgba(255, 255, 255, .12);
	border-radius: calc(var(--radius) + 8px);
	background:
		linear-gradient(135deg, rgba(255, 255, 255, .08), rgba(255, 255, 255, .035));
	color: #fff8f0;
	box-shadow: 0 28px 80px rgba(0, 0, 0, .18);
}

.global-schedule-card h2 {
	max-width: 18ch;
	margin: 0 0 12px;
	font-family: Georgia, "Times New Roman", serif;
	font-size: clamp(1.8rem, 3vw, 2.8rem);
	line-height: 1.02;
	letter-spacing: -.05em;
}

.global-schedule-card p {
	max-width: 62ch;
	margin: 0;
	color: rgba(255, 248, 240, .72);
}

.global-schedule-card .button.primary {
	border-color: #fff8f0;
	background: #fff8f0;
	color: #1d1a17 !important;
}

.will-reveal {
	opacity: 0;
	transform: translateY(18px);
	transition: opacity .45s ease, transform .45s ease;
}

.will-reveal.is-visible {
	opacity: 1;
	transform: translateY(0);
}

.signal-card,
.skill-card,
.proof-card-refined,
.review-card,
.featured-project-card,
.related-card,
.brand-card-refined,
.global-schedule-card,
.button {
	will-change: transform;
}

.button {
	transition: transform .16s ease, background .18s ease, color .18s ease, border-color .18s ease, box-shadow .18s ease;
}

.button:hover,
.nav-cta:hover {
	transform: translateY(-2px);
	box-shadow: 0 12px 30px rgba(27, 20, 13, .12);
}

.proof-media-strip {
	display: grid;
	grid-template-columns: 1.15fr .85fr .85fr;
	gap: 14px;
	margin-top: 28px;
}

.proof-media-strip figure {
	position: relative;
	min-height: 280px;
	margin: 0;
	overflow: hidden;
	border: 1px solid rgba(29, 26, 23, .1);
	border-radius: calc(var(--radius) + 2px);
	background: #1d1a17;
	box-shadow: 0 22px 62px rgba(27, 20, 13, .08);
}

.proof-media-strip img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	opacity: .86;
	transform: scale(1.01);
	transition: opacity .25s ease, transform .35s ease;
}

.proof-media-strip figure:hover img {
	opacity: .98;
	transform: scale(1.045);
}

.proof-media-strip figcaption {
	position: absolute;
	right: 14px;
	bottom: 14px;
	left: 14px;
	display: grid;
	gap: 4px;
	border: 1px solid rgba(255, 255, 255, .12);
	border-radius: 18px;
	padding: 14px;
	background: rgba(20, 17, 15, .72);
	backdrop-filter: blur(16px);
	color: #fff8f0;
}

.proof-media-strip figcaption span {
	color: rgba(255, 248, 240, .7);
	font-size: 13px;
	line-height: 1.45;
}

@media (prefers-reduced-motion: reduce) {
	*,
	*::before,
	*::after {
		scroll-behavior: auto !important;
		transition-duration: .01ms !important;
		animation-duration: .01ms !important;
		animation-iteration-count: 1 !important;
	}

	.will-reveal {
		opacity: 1;
		transform: none;
	}
}

@media (max-width: 1120px) {
	.signal-grid,
	.skill-grid,
	.proof-grid-refined,
	.review-grid,
	.related-grid,
	.brand-grid-refined,
	.language-grid,
	.cv-signal-bar,
	.rollout-stat-strip {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

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

	.related-grid,
	.brand-grid-refined {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.skill-card:nth-child(1),
	.skill-card:nth-child(7) {
		grid-column: span 1;
	}
}

@media (max-width: 920px) {
	.site-main,
	.site-footer {
		width: min(1220px, calc(100% - 28px));
	}

	.site-header-inner {
		position: relative;
		align-items: center;
		padding: 16px 14px;
	}

	.main-nav {
		position: absolute;
		top: calc(100% + 8px);
		right: 0;
		left: 0;
		display: none;
		gap: 12px;
		border: 1px solid var(--line);
		border-radius: 24px;
		padding: 16px;
		background: rgba(255, 253, 248, .98);
		box-shadow: var(--shadow);
	}

	.main-nav ul,
	.home-section-head.split,
	.cv-hero-grid,
	.cv-grid-section,
	.cv-timeline-item,
	.doc-layout,
	.rollout-story,
	.rollout-doc-band {
		grid-template-columns: 1fr;
	}

	.main-nav ul {
		gap: 8px;
	}

	.home-highlight-list,
	.signal-grid,
	.skill-grid,
	.proof-grid-refined,
	.review-grid,
	.related-grid,
	.featured-project-grid,
	.brand-grid-refined,
	.language-grid,
	.cv-signal-bar,
	.rollout-proof-grid,
	.rollout-screen-grid,
	.rollout-stat-strip {
		grid-template-columns: 1fr;
	}

	.site-main > .home-section,
	.global-schedule-section {
		padding: 52px 0;
	}

	.site-main > .home-section > *,
	.global-schedule-card {
		width: min(1220px, calc(100% - 28px));
	}

	.home-section-head,
	.section-heading {
		margin-bottom: 24px;
	}

	.home-section-head h2 {
		font-size: clamp(1.55rem, 8vw, 2.15rem);
	}

	.signal-card,
	.skill-card,
	.proof-card-refined,
	.review-card,
	.featured-project-body,
	.final-cta-card,
	.global-schedule-card {
		padding: 20px;
	}

	.signal-card,
	.skill-card,
	.proof-card-refined,
	.review-card {
		min-height: auto;
	}

	.review-grid {
		padding: 10px;
	}

	.featured-project-grid,
	.related-grid,
	.brand-grid-refined,
	.proof-media-strip,
	.global-schedule-card {
		grid-template-columns: 1fr;
	}

	.related-card,
	.brand-card-refined,
	.proof-media-strip figure {
		min-height: auto;
	}

	.proof-media-strip figure {
		aspect-ratio: 16 / 10;
	}

	.global-schedule-card {
		align-items: start;
	}

	.global-schedule-card .button {
		width: 100%;
	}

	.home-hero-inner,
	.site-main,
	.site-footer {
		width: min(1220px, calc(100% - 28px));
	}

	.home-hero-inner {
		grid-template-columns: 1fr;
	}

	.home-hero-proof,
	.rollout-lightbox-dialog {
		grid-template-columns: 1fr;
	}

	.home-hero {
		min-height: auto;
		max-height: none;
		padding: 28px 0 22px;
	}

	.home-hero-inner {
		min-height: auto;
		align-content: start;
		gap: 20px;
	}

	.home-hero-copy h1 {
		font-size: clamp(2rem, 10vw, 3.1rem);
	}

	.home-hero-lede {
		margin-top: 16px;
		font-size: 16px;
	}

	.home-hero-copy h1,
	.home-section-head h2,
	.cv-hero h1,
	.final-cta-card h2,
	.rollout-page h2 {
		max-width: none;
	}

	.home-hero-media,
	.rollout-hero-panel img {
		min-height: 240px;
		height: 240px;
	}

	.rollout-shot-link img {
		max-height: 280px;
	}

	.rollout-lightbox {
		padding: 16px;
	}

	.rollout-lightbox-copy,
	.rollout-lightbox-media {
		padding: 18px;
	}
}

/* Final polish layer: typography, image framing and card balance below the approved header/hero. */
.site-main > .home-section {
	background-color: #fffdfa;
}

.site-main > .home-section:nth-of-type(odd) {
	background:
		radial-gradient(circle at 12% 8%, rgba(170, 95, 59, .055), transparent 24%),
		linear-gradient(180deg, #fffdfa 0%, #fbf7ef 100%);
}

.site-main > .home-section:nth-of-type(even) {
	background:
		linear-gradient(90deg, rgba(29, 26, 23, .022) 1px, transparent 1px),
		linear-gradient(rgba(29, 26, 23, .018) 1px, transparent 1px),
		#f6f1e9;
	background-size: 64px 64px;
}

.home-section-head,
.section-heading {
	max-width: 700px;
	gap: 14px;
	margin-bottom: clamp(34px, 4.4vw, 54px);
}

.home-section-head.split {
	max-width: 1160px;
}

.home-section-head .eyebrow,
.section-heading .eyebrow {
	margin-bottom: 2px;
	color: #8d6a55;
	letter-spacing: .18em;
}

.home-section-head h2,
.cv-section h2,
.cv-panel h2,
.rollout-page h2,
.documentation-page h2,
.page-content h2,
.version-grid h2,
.command-panel h2,
.global-schedule-card h2,
.final-cta-card h2 {
	max-width: 680px;
	text-wrap: balance;
	font-size: clamp(1.58rem, 2.55vw, 2.34rem);
	line-height: 1.06;
	letter-spacing: -.045em;
}

.section-support,
.home-section-head p:not(.eyebrow) {
	max-width: 660px;
	color: #665f57;
	font-size: 15.5px;
	line-height: 1.66;
}

.signal-grid,
.skill-grid,
.proof-grid-refined,
.review-grid,
.related-grid,
.featured-project-grid,
.brand-grid-refined {
	align-items: stretch;
	grid-auto-rows: 1fr;
}

.signal-card,
.skill-card,
.proof-card-refined,
.review-card,
.related-card,
.brand-card-refined,
.featured-project-card {
	height: 100%;
	border-color: rgba(54, 45, 36, .13);
}

.signal-card,
.skill-card,
.proof-card-refined,
.review-card,
.related-card {
	display: grid;
	align-content: start;
	gap: 8px;
	padding: 22px;
}

.signal-card {
	min-height: 132px;
	background: rgba(255, 255, 255, .74);
}

.skill-card {
	min-height: 210px;
	background:
		linear-gradient(180deg, rgba(255, 255, 255, .94), rgba(253, 249, 241, .86));
	box-shadow: 0 16px 44px rgba(27, 20, 13, .045);
}

.skill-card:nth-child(1),
.skill-card:nth-child(7) {
	background:
		linear-gradient(135deg, rgba(50, 43, 36, .94), rgba(91, 72, 56, .88));
	box-shadow: 0 18px 54px rgba(27, 20, 13, .075);
}

.skill-card:nth-child(1) p,
.skill-card:nth-child(7) p {
	color: rgba(255, 248, 240, .76);
}

.proof-card-refined {
	min-height: 196px;
	background:
		linear-gradient(180deg, #fffefa 0%, #fbf6ee 100%);
	box-shadow: 0 14px 42px rgba(27, 20, 13, .04);
}

.proof-card-refined:after {
	right: 20px;
	bottom: 14px;
	color: rgba(170, 95, 59, .085);
	font-size: 60px;
}

.review-grid {
	padding: 18px;
	border-color: rgba(54, 45, 36, .12);
	background:
		radial-gradient(circle at 12% 14%, rgba(217, 155, 115, .18), transparent 26%),
		linear-gradient(135deg, rgba(42, 36, 31, .94), rgba(69, 55, 43, .9));
}

.review-card {
	min-height: 172px;
	border-color: rgba(255, 255, 255, .14);
	background: rgba(255, 255, 255, .085);
}

.review-card p {
	color: rgba(255, 248, 240, .74);
}

.related-card {
	min-height: 138px;
	padding: 18px;
	background: rgba(255, 255, 255, .56);
}

.signal-item h3,
.signal-card h3,
.skill-card h3,
.proof-card-refined h3,
.review-card h3,
.related-card h3,
.featured-project-card h3,
.brand-card-refined h3 {
	max-width: 24ch;
	margin-bottom: 4px;
	text-wrap: balance;
	font-size: 15.5px;
	line-height: 1.16;
}

.featured-project-card h3 {
	font-size: clamp(1.12rem, 1.75vw, 1.45rem);
}

.signal-card p,
.skill-card p,
.proof-card-refined p,
.review-card p,
.related-card p,
.featured-project-card p,
.brand-card-refined p {
	margin-top: 0;
	font-size: 14.5px;
	line-height: 1.58;
}

.project-thumb,
.brand-thumb,
.featured-project-card .project-thumb {
	position: relative;
	margin: 0;
	aspect-ratio: 16 / 10;
	border-radius: 0;
	background:
		linear-gradient(135deg, rgba(29, 26, 23, .06), rgba(170, 95, 59, .08)),
		#ebe3d7;
}

.featured-project-card .project-thumb {
	border-bottom-color: rgba(54, 45, 36, .12);
}

.project-thumb img,
.brand-thumb img,
.featured-project-card .project-thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center top;
	transform: scale(.985);
	transition: transform .32s ease, filter .32s ease;
}

.featured-project-card:hover .project-thumb img {
	transform: scale(1.015);
}

.proof-media-strip {
	gap: 16px;
	margin-top: 34px;
	align-items: stretch;
}

.proof-media-strip figure {
	min-height: 0;
	aspect-ratio: 16 / 10;
	border-color: rgba(54, 45, 36, .13);
	background: #201c18;
}

.proof-media-strip figure:first-child {
	aspect-ratio: 16 / 9;
}

.proof-media-strip img {
	object-fit: cover;
	object-position: center top;
	opacity: .9;
	transform: scale(.992);
}

.proof-media-strip figure:hover img {
	opacity: .98;
	transform: scale(1.025);
}

.proof-media-strip figcaption {
	border-color: rgba(255, 255, 255, .14);
	background: rgba(22, 18, 15, .68);
}

.brand-grid-refined {
	gap: 14px;
}

.brand-card-refined {
	min-height: 150px;
	padding: 18px;
	background: rgba(255, 255, 255, .66);
}

.final-cta-card,
.global-schedule-card {
	max-width: 1080px;
}

@media (max-width: 1120px) {
	.home-section-head,
	.section-heading {
		max-width: 680px;
	}

	.signal-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 14px;
	}

	.related-grid,
	.brand-grid-refined {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 920px) {
	.home-section-head,
	.section-heading {
		max-width: 100%;
		gap: 10px;
		margin-bottom: 26px;
	}

	.home-section-head h2,
	.cv-section h2,
	.cv-panel h2,
	.rollout-page h2,
	.documentation-page h2,
	.page-content h2,
	.version-grid h2,
	.command-panel h2,
	.global-schedule-card h2,
	.final-cta-card h2 {
		max-width: 12.5em;
		font-size: clamp(1.42rem, 7vw, 2rem);
		line-height: 1.09;
	}

	.section-support,
	.home-section-head p:not(.eyebrow) {
		max-width: 100%;
		font-size: 15px;
		line-height: 1.62;
	}

	.signal-card,
	.skill-card,
	.proof-card-refined,
	.review-card,
	.related-card,
	.brand-card-refined {
		min-height: auto;
		padding: 18px;
	}

	.review-grid {
		padding: 12px;
		background:
			linear-gradient(135deg, rgba(42, 36, 31, .94), rgba(69, 55, 43, .9));
	}

	.project-thumb,
	.brand-thumb,
	.featured-project-card .project-thumb,
	.proof-media-strip figure,
	.proof-media-strip figure:first-child {
		aspect-ratio: 4 / 3;
	}

	.proof-media-strip {
		gap: 12px;
		margin-top: 24px;
	}
}

/* Header reliability fixes: keep language/header controls visible while scrolling. */
html,
body {
	overflow-x: clip;
}

.site-header {
	position: sticky !important;
	top: 0 !important;
	z-index: 9999 !important;
	isolation: isolate;
}

.admin-bar .site-header {
	top: 32px !important;
}

.site-header .brand,
.site-header .main-nav a,
.site-header .lang-switch a,
.site-header .nav-cta {
	white-space: nowrap;
}

@media (max-width: 782px) {
	.admin-bar .site-header {
		top: 46px !important;
	}
}

@media (max-width: 920px) {
	.site-header {
		position: sticky !important;
		top: 0 !important;
	}

	.admin-bar .site-header {
		top: 32px !important;
	}

	.main-nav {
		z-index: 10000;
	}
}

/* High-contrast visual system: final readability pass. */
:root {
	--ink: #161412;
	--muted: #5b554d;
	--surface: #fffdf8;
	--surface-soft: #f0e8dc;
	--line: #cbbba7;
	--line-strong: #a89078;
	--shadow-soft: 0 18px 48px rgba(36, 27, 19, .1);
	--dark-surface: #221d18;
	--dark-surface-2: #3a3028;
	--dark-title: #fffaf2;
	--dark-body: rgba(255, 250, 242, .82);
	--dark-muted: rgba(255, 250, 242, .66);
}

body {
	color: var(--ink);
	background:
		linear-gradient(90deg, rgba(22, 20, 18, .04) 1px, transparent 1px),
		linear-gradient(rgba(22, 20, 18, .035) 1px, transparent 1px),
		#f2eadf;
	background-size: 64px 64px;
}

.site-main > .home-section:nth-of-type(odd) {
	background:
		radial-gradient(circle at 10% 8%, rgba(170, 95, 59, .08), transparent 24%),
		#fffaf2;
}

.site-main > .home-section:nth-of-type(even) {
	background:
		linear-gradient(90deg, rgba(29, 26, 23, .045) 1px, transparent 1px),
		linear-gradient(rgba(29, 26, 23, .04) 1px, transparent 1px),
		#eee4d6;
	background-size: 58px 58px;
}

.site-main > .home-section + .home-section,
.global-schedule-section {
	border-top: 1px solid rgba(120, 97, 76, .28);
}

.home-section-head h2,
.section-heading h2,
.cv-section h2,
.cv-panel h2,
.rollout-page h2,
.documentation-page h2,
.page-content h2,
.version-grid h2,
.command-panel h2,
.final-cta-card h2 {
	color: var(--ink);
}

.section-support,
.home-section-head p:not(.eyebrow),
.signal-card p,
.skill-card p,
.proof-card-refined p,
.related-card p,
.featured-project-card p,
.brand-card-refined p,
.cv-panel p,
.cv-summary-card p,
.rollout-page p,
.documentation-page p,
.page-content p {
	color: var(--muted);
}

.home-section-head .eyebrow,
.section-heading .eyebrow,
.project-kicker,
.featured-stack {
	color: #7a4d35;
}

.signal-card,
.skill-card,
.proof-card-refined,
.related-card,
.brand-card-refined,
.featured-project-card,
.cv-panel,
.cv-summary-card,
.language-card,
.cv-infra-card,
.cv-skill-group,
.rollout-proof-grid article,
.rollout-screen-card,
.directory-card,
.schedule-card {
	border-color: rgba(92, 70, 51, .24);
	background: #fffdf8;
	box-shadow: var(--shadow-soft);
}

.signal-card,
.related-card,
.brand-card-refined {
	background: #fbf6ee;
}

.skill-card,
.proof-card-refined,
.featured-project-card {
	background:
		linear-gradient(180deg, #fffefa 0%, #f8f0e5 100%);
}

.signal-card h3,
.skill-card h3,
.proof-card-refined h3,
.related-card h3,
.featured-project-card h3,
.brand-card-refined h3,
.cv-panel h3,
.cv-summary-card h3,
.rollout-screen-card h3 {
	color: var(--ink);
}

.skill-card:nth-child(1),
.skill-card:nth-child(7),
.review-grid,
.global-schedule-section,
.home-hero-panel-copy,
.home-hero .signal-item,
.tech-panel.dark {
	background:
		radial-gradient(circle at 14% 16%, rgba(217, 155, 115, .16), transparent 26%),
		linear-gradient(135deg, var(--dark-surface), var(--dark-surface-2));
	color: var(--dark-title);
}

.skill-card:nth-child(1) h3,
.skill-card:nth-child(7) h3,
.review-card h3,
.global-schedule-card h2,
.global-schedule-card .eyebrow,
.home-hero-panel-copy strong,
.home-hero .signal-item h3,
.tech-panel.dark h2,
.tech-panel.dark h3,
.tech-panel.dark strong {
	color: var(--dark-title);
}

.skill-card:nth-child(1) p,
.skill-card:nth-child(7) p,
.review-card p,
.global-schedule-card p,
.home-hero-panel-copy p,
.home-hero .signal-item p,
.tech-panel.dark p,
.tech-panel.dark li,
.tech-panel.dark .check-list {
	color: var(--dark-body);
}

.home-hero-panel-copy em,
.global-schedule-card .eyebrow {
	color: var(--dark-muted);
}

.review-card {
	border-color: rgba(255, 250, 242, .2);
	background: rgba(255, 255, 255, .1);
	color: var(--dark-title);
}

.review-card:hover {
	border-color: rgba(255, 250, 242, .48);
	background: rgba(255, 255, 255, .16);
}

.global-schedule-card {
	border-color: rgba(255, 250, 242, .24);
	background: rgba(255, 255, 255, .08);
}

.home-hero .button.ghost,
.button.ghost {
	border-color: rgba(22, 20, 18, .26);
	background: rgba(255, 253, 248, .72);
	color: var(--ink) !important;
}

.home-hero .button.ghost {
	border-color: rgba(255, 250, 242, .36);
	background: rgba(255, 255, 255, .12);
	color: #fffaf2 !important;
}

.project-thumb,
.brand-thumb,
.featured-project-card .project-thumb,
.proof-media-strip figure,
.rollout-shot-link {
	border-color: rgba(92, 70, 51, .22);
	background: #d8c7b2;
}

.project-thumb img,
.brand-thumb img,
.featured-project-card .project-thumb img,
.proof-media-strip img,
.rollout-shot-link img {
	object-fit: cover;
	object-position: center top;
	filter: saturate(.98) contrast(1.03);
}

.proof-media-strip figcaption {
	background: rgba(20, 17, 14, .78);
	color: var(--dark-title);
}

.proof-media-strip figcaption span {
	color: var(--dark-body);
}

@media (max-width: 920px) {
	.signal-card p,
	.skill-card p,
	.proof-card-refined p,
	.related-card p,
	.featured-project-card p,
	.brand-card-refined p {
		font-size: 15px;
		line-height: 1.62;
	}
}

/* Palette test 02: mineral light, deep navy and teal accents. */
:root {
	--bg: #eef3f6;
	--surface: #ffffff;
	--surface-soft: #e8eef2;
	--ink: #111827;
	--muted: #475569;
	--line: #cbd5df;
	--line-strong: #94a3b8;
	--charcoal: #0f172a;
	--silver: #64748b;
	--accent: #0f766e;
	--accent-soft: #d9f0ed;
	--accent-deep: #115e59;
	--shadow-soft: 0 18px 54px rgba(15, 23, 42, .1);
	--shadow: 0 28px 80px rgba(15, 23, 42, .13);
	--dark-surface: #0f172a;
	--dark-surface-2: #1e293b;
	--dark-title: #f8fafc;
	--dark-body: rgba(226, 232, 240, .86);
	--dark-muted: rgba(203, 213, 225, .72);
}

body {
	color: var(--ink);
	background:
		radial-gradient(circle at 14% 0%, rgba(15, 118, 110, .1), transparent 28%),
		linear-gradient(90deg, rgba(15, 23, 42, .035) 1px, transparent 1px),
		linear-gradient(rgba(15, 23, 42, .032) 1px, transparent 1px),
		var(--bg);
	background-size: auto, 72px 72px, 72px 72px, auto;
}

.site-header {
	border-bottom-color: rgba(148, 163, 184, .42);
	background: rgba(248, 250, 252, .86);
}

.brand-mark,
.nav-cta,
.button.primary {
	background: linear-gradient(135deg, #0f172a, #164e63);
	color: #fff !important;
}

.lang-switch {
	border-color: rgba(148, 163, 184, .5);
	background: rgba(255, 255, 255, .78);
}

.lang-switch a.is-active {
	background: #0f766e;
	color: #fff;
}

.main-nav a,
.brand em {
	color: #526173;
}

.main-nav a:hover {
	background: rgba(15, 118, 110, .08);
	color: #0f172a;
}

.home-hero {
	background:
		linear-gradient(135deg, rgba(8, 13, 24, .9), rgba(14, 63, 71, .68)),
		radial-gradient(circle at top right, rgba(20, 184, 166, .28), transparent 30%);
}

.home-hero-backdrop img {
	filter: saturate(.86) contrast(1.06) brightness(.48);
}

.site-main > .home-section:nth-of-type(odd) {
	background:
		radial-gradient(circle at 12% 10%, rgba(15, 118, 110, .075), transparent 24%),
		#f8fafc;
}

.site-main > .home-section:nth-of-type(even) {
	background:
		linear-gradient(90deg, rgba(15, 23, 42, .036) 1px, transparent 1px),
		linear-gradient(rgba(15, 23, 42, .032) 1px, transparent 1px),
		#e9f0f4;
	background-size: 64px 64px;
}

.site-main > .home-section + .home-section,
.global-schedule-section,
.site-footer {
	border-top-color: rgba(100, 116, 139, .26);
}

.home-section-head .eyebrow,
.section-heading .eyebrow,
.project-kicker,
.featured-stack,
.home-panel-kicker {
	color: #0f766e;
}

.home-section-head h2,
.section-heading h2,
.cv-section h2,
.cv-panel h2,
.rollout-page h2,
.documentation-page h2,
.page-content h2,
.version-grid h2,
.command-panel h2,
.final-cta-card h2,
.signal-card h3,
.skill-card h3,
.proof-card-refined h3,
.related-card h3,
.featured-project-card h3,
.brand-card-refined h3,
.cv-panel h3,
.cv-summary-card h3,
.rollout-screen-card h3 {
	color: #111827;
}

.section-support,
.home-section-head p:not(.eyebrow),
.signal-card p,
.skill-card p,
.proof-card-refined p,
.related-card p,
.featured-project-card p,
.brand-card-refined p,
.cv-panel p,
.cv-summary-card p,
.rollout-page p,
.documentation-page p,
.page-content p {
	color: #475569;
}

.signal-card,
.skill-card,
.proof-card-refined,
.related-card,
.brand-card-refined,
.featured-project-card,
.cv-panel,
.cv-summary-card,
.language-card,
.cv-infra-card,
.cv-skill-group,
.rollout-proof-grid article,
.rollout-screen-card,
.directory-card,
.schedule-card,
.final-cta-card {
	border-color: rgba(100, 116, 139, .24);
	background: rgba(255, 255, 255, .92);
	box-shadow: var(--shadow-soft);
}

.signal-card,
.related-card,
.brand-card-refined {
	background: rgba(248, 250, 252, .92);
}

.skill-card,
.proof-card-refined,
.featured-project-card {
	background:
		linear-gradient(180deg, #ffffff 0%, #f1f5f9 100%);
}

.signal-card h3:before,
.skill-card h3:before,
.proof-card-refined h3:before,
.review-card h3:before {
	background: #0f766e;
}

.skill-card:nth-child(1),
.skill-card:nth-child(7),
.review-grid,
.global-schedule-section,
.home-hero-panel-copy,
.home-hero .signal-item,
.tech-panel.dark {
	background:
		radial-gradient(circle at 16% 14%, rgba(20, 184, 166, .18), transparent 26%),
		linear-gradient(135deg, #0f172a, #1e293b);
	color: var(--dark-title);
}

.review-card {
	border-color: rgba(226, 232, 240, .2);
	background: rgba(255, 255, 255, .08);
}

.review-card:hover {
	border-color: rgba(45, 212, 191, .52);
	background: rgba(255, 255, 255, .14);
}

.global-schedule-card {
	border-color: rgba(226, 232, 240, .22);
	background:
		linear-gradient(135deg, rgba(255, 255, 255, .11), rgba(255, 255, 255, .05));
}

.global-schedule-card .button.primary {
	background: #f8fafc;
	color: #0f172a !important;
	border-color: #f8fafc;
}

.button.ghost {
	border-color: rgba(15, 23, 42, .22);
	background: rgba(255, 255, 255, .76);
	color: #111827 !important;
}

.home-hero .button.ghost {
	border-color: rgba(226, 232, 240, .34);
	background: rgba(255, 255, 255, .1);
	color: #f8fafc !important;
}

.project-thumb,
.brand-thumb,
.featured-project-card .project-thumb,
.proof-media-strip figure,
.rollout-shot-link {
	border-color: rgba(100, 116, 139, .24);
	background: #d8e2e8;
}

.project-thumb img,
.brand-thumb img,
.featured-project-card .project-thumb img,
.proof-media-strip img,
.rollout-shot-link img {
	filter: saturate(.95) contrast(1.04);
}

.proof-media-strip figcaption {
	background: rgba(15, 23, 42, .78);
	color: #f8fafc;
}

.proof-media-strip figcaption span {
	color: rgba(226, 232, 240, .86);
}

.brand-card-refined span {
	background: #d9f0ed;
	color: #115e59;
}

/* Section title alignment: keep every section heading anchored left. */
.home-section-head,
.section-heading,
.cv-section,
.cv-panel,
.rollout-proof-section,
.rollout-screens-section,
.page-content,
.documentation-page,
.directory-page,
.versioning-page,
.single-project,
.final-cta-card,
.global-schedule-card,
.schedule-card {
	text-align: left;
}

.home-section-head,
.section-heading {
	justify-items: start;
	align-items: start;
	margin-left: 0;
	margin-right: auto;
}

.home-section-head h1,
.home-section-head h2,
.section-heading h1,
.section-heading h2,
.cv-section h1,
.cv-section h2,
.cv-panel h1,
.cv-panel h2,
.rollout-page h1,
.rollout-page h2,
.documentation-page h1,
.documentation-page h2,
.page-content h1,
.page-content h2,
.version-grid h2,
.command-panel h2,
.final-cta-card h2,
.global-schedule-card h2,
.schedule-card h2 {
	margin-left: 0;
	margin-right: auto;
	text-align: left;
}

.section-support,
.home-section-head p:not(.eyebrow),
.final-cta-card p,
.global-schedule-card p,
.schedule-card p {
	margin-left: 0;
	margin-right: auto;
	text-align: left;
}

/* Section flow: soften transitions so the page reads as one continuous system. */
.site-main {
	overflow: visible;
}

.site-main > .home-section,
.global-schedule-section {
	overflow: hidden;
	border-top: 0 !important;
}

.site-main > .home-section {
	padding-top: clamp(74px, 8vw, 118px);
	padding-bottom: clamp(74px, 8vw, 118px);
}

.site-main > .home-section + .home-section {
	margin-top: -1px;
}

.site-main > .home-section::before,
.site-main > .home-section::after,
.global-schedule-section::before {
	content: "";
	position: absolute;
	right: 0;
	left: 0;
	z-index: 0;
	pointer-events: none;
}

.site-main > .home-section::before {
	top: 0;
	height: clamp(44px, 6vw, 88px);
	background: linear-gradient(180deg, rgba(238, 243, 246, .72), rgba(238, 243, 246, 0));
}

.site-main > .home-section::after {
	bottom: 0;
	height: clamp(58px, 7vw, 110px);
	background:
		radial-gradient(ellipse at 20% 100%, rgba(15, 118, 110, .075), transparent 46%),
		linear-gradient(180deg, rgba(248, 250, 252, 0), rgba(226, 235, 240, .42));
}

.site-main > .home-section:nth-of-type(even)::before {
	background: linear-gradient(180deg, rgba(248, 250, 252, .68), rgba(248, 250, 252, 0));
}

.site-main > .home-section:nth-of-type(even)::after {
	background:
		radial-gradient(ellipse at 78% 100%, rgba(14, 78, 99, .075), transparent 48%),
		linear-gradient(180deg, rgba(233, 240, 244, 0), rgba(248, 250, 252, .54));
}

.site-main > .home-section > *,
.global-schedule-card {
	position: relative;
	z-index: 1;
}

.site-main > .home-section:nth-of-type(odd) {
	background:
		radial-gradient(circle at 14% 12%, rgba(15, 118, 110, .07), transparent 24%),
		linear-gradient(180deg, #f8fafc 0%, #f4f8fa 56%, #e9f0f4 100%);
}

.site-main > .home-section:nth-of-type(even) {
	background:
		linear-gradient(90deg, rgba(15, 23, 42, .03) 1px, transparent 1px),
		linear-gradient(rgba(15, 23, 42, .028) 1px, transparent 1px),
		linear-gradient(180deg, #e9f0f4 0%, #edf4f7 52%, #f8fafc 100%);
	background-size: 64px 64px, 64px 64px, auto;
}

.global-schedule-section {
	margin-top: -1px;
	padding-top: clamp(86px, 9vw, 132px);
	background:
		linear-gradient(180deg, #f8fafc 0%, rgba(248, 250, 252, 0) 30%),
		radial-gradient(circle at 82% 18%, rgba(20, 184, 166, .2), transparent 30%),
		linear-gradient(135deg, #0f172a, #1e293b);
}

.global-schedule-section::before {
	top: 0;
	height: clamp(70px, 9vw, 132px);
	background:
		linear-gradient(180deg, rgba(248, 250, 252, .98), rgba(248, 250, 252, 0));
}

.site-footer {
	background:
		linear-gradient(180deg, #0f172a 0%, #111827 100%);
	color: rgba(226, 232, 240, .78);
	border-top: 0;
}

.site-footer a {
	color: #99f6e4;
}

@media (max-width: 920px) {
	.site-main > .home-section {
		padding-top: 58px;
		padding-bottom: 58px;
	}

	.site-main > .home-section::before {
		height: 38px;
	}

	.site-main > .home-section::after {
		height: 54px;
	}

	.global-schedule-section {
		padding-top: 76px;
	}
}

/* Hard alignment override for section headers that inherit centered composition. */
.site-main .home-section .home-section-head,
.site-main .home-section .section-heading,
.site-main .related-systems-section .home-section-head {
	display: grid;
	justify-content: start !important;
	justify-items: start !important;
	align-items: start !important;
	text-align: left !important;
}

.site-main .home-section .home-section-head > *,
.site-main .home-section .section-heading > *,
.site-main .related-systems-section .home-section-head > * {
	margin-left: 0 !important;
	margin-right: auto !important;
	text-align: left !important;
}

.site-main .home-section .home-section-head h1,
.site-main .home-section .home-section-head h2,
.site-main .home-section .section-heading h1,
.site-main .home-section .section-heading h2 {
	text-align: left !important;
}

/* Continuous page background: connect sections instead of splitting them into bands. */
body {
	background:
		radial-gradient(circle at 14% 12%, rgba(15, 118, 110, .12), transparent 28%),
		radial-gradient(circle at 86% 34%, rgba(14, 78, 99, .1), transparent 30%),
		radial-gradient(circle at 18% 72%, rgba(59, 130, 246, .075), transparent 32%),
		linear-gradient(180deg, #eef3f6 0%, #f8fafc 38%, #edf4f7 68%, #f8fafc 100%);
	background-attachment: fixed, fixed, fixed, scroll;
}

.site-main {
	position: relative;
	width: min(1180px, calc(100% - 40px));
	overflow: visible;
}

.site-main::before {
	content: "";
	position: fixed;
	inset: 0;
	z-index: -1;
	pointer-events: none;
	background:
		linear-gradient(90deg, rgba(15, 23, 42, .026) 1px, transparent 1px),
		linear-gradient(rgba(15, 23, 42, .024) 1px, transparent 1px);
	background-size: 72px 72px;
	mask-image: linear-gradient(180deg, rgba(0, 0, 0, .72), rgba(0, 0, 0, .28));
}

.site-main > .home-section {
	background: transparent !important;
	overflow: visible;
	padding-top: clamp(72px, 7.6vw, 110px);
	padding-bottom: clamp(72px, 7.6vw, 110px);
}

.site-main > .home-section + .home-section {
	margin-top: 0;
}

.site-main > .home-section::before,
.site-main > .home-section::after {
	display: none !important;
}

.site-main > .home-section > * {
	position: relative;
	z-index: 1;
}

.site-main > .home-section > *::before {
	content: "";
	position: absolute;
	inset: -28px -34px;
	z-index: -1;
	pointer-events: none;
	border-radius: 40px;
	background:
		radial-gradient(circle at 0% 0%, rgba(255, 255, 255, .44), transparent 34%),
		linear-gradient(180deg, rgba(255, 255, 255, .18), rgba(255, 255, 255, 0));
	opacity: .72;
}

.site-main > .home-section:nth-of-type(even) > *::before {
	background:
		radial-gradient(circle at 100% 0%, rgba(255, 255, 255, .36), transparent 36%),
		linear-gradient(180deg, rgba(255, 255, 255, .12), rgba(255, 255, 255, 0));
}

.global-schedule-section {
	margin-top: clamp(22px, 4vw, 46px);
	background:
		linear-gradient(180deg, rgba(248, 250, 252, 0) 0%, rgba(15, 23, 42, .18) 28%, rgba(15, 23, 42, .98) 72%),
		radial-gradient(circle at 80% 22%, rgba(20, 184, 166, .2), transparent 30%),
		linear-gradient(135deg, #0f172a, #1e293b);
}

.global-schedule-section::before {
	display: none !important;
}

@media (max-width: 920px) {
	.site-main {
		width: min(1220px, calc(100% - 28px));
	}

	.site-main > .home-section {
		padding-top: 56px;
		padding-bottom: 56px;
	}

	.site-main > .home-section > *::before {
		inset: -18px -16px;
		border-radius: 28px;
	}
}

/* Title block width fix: keep heading blocks on the content grid, not centered as narrow islands. */
.site-main > .home-section > .home-section-head,
.site-main > .home-section > .section-heading,
.site-main > .home-section > .home-section-head.compact,
.site-main > .home-section > .home-section-head.split,
.site-main > .related-systems-section > .home-section-head {
	width: min(1160px, calc(100% - 44px)) !important;
	max-width: min(1160px, calc(100% - 44px)) !important;
	margin-left: auto !important;
	margin-right: auto !important;
	text-align: left !important;
}

.site-main > .home-section > .home-section-head:not(.split),
.site-main > .home-section > .section-heading:not(.split),
.site-main > .related-systems-section > .home-section-head:not(.split) {
	display: grid !important;
	grid-template-columns: minmax(0, 700px) 1fr;
}

.site-main > .home-section > .home-section-head:not(.split) > *,
.site-main > .home-section > .section-heading:not(.split) > *,
.site-main > .related-systems-section > .home-section-head:not(.split) > * {
	grid-column: 1;
}

.site-main > .home-section > .home-section-head h1,
.site-main > .home-section > .home-section-head h2,
.site-main > .home-section > .section-heading h1,
.site-main > .home-section > .section-heading h2 {
	max-width: 700px;
	margin-left: 0 !important;
	margin-right: 0 !important;
	text-align: left !important;
}

.site-main > .home-section > .home-section-head p,
.site-main > .home-section > .section-heading p {
	max-width: 660px;
	margin-left: 0 !important;
	margin-right: 0 !important;
	text-align: left !important;
}

@media (max-width: 920px) {
	.site-main > .home-section > .home-section-head,
	.site-main > .home-section > .section-heading,
	.site-main > .home-section > .home-section-head.compact,
	.site-main > .home-section > .home-section-head.split,
	.site-main > .related-systems-section > .home-section-head {
		width: min(1220px, calc(100% - 28px)) !important;
		max-width: min(1220px, calc(100% - 28px)) !important;
	}

	.site-main > .home-section > .home-section-head:not(.split),
	.site-main > .home-section > .section-heading:not(.split),
	.site-main > .related-systems-section > .home-section-head:not(.split) {
		grid-template-columns: 1fr;
	}
}

/* Full-width structured footer. */
.site-footer {
	width: 100vw !important;
	max-width: none !important;
	margin-left: calc(50% - 50vw) !important;
	margin-right: 0 !important;
	padding: 0 !important;
	border-top: 1px solid rgba(148, 163, 184, .16);
	background:
		radial-gradient(circle at 14% 0%, rgba(20, 184, 166, .12), transparent 28%),
		linear-gradient(180deg, #0f172a 0%, #090e1a 100%);
	color: rgba(226, 232, 240, .8);
}

.footer-inner {
	width: min(1160px, calc(100% - 44px));
	margin: 0 auto;
	padding: clamp(46px, 6vw, 76px) 0 32px;
}

.footer-brand {
	display: grid;
	grid-template-columns: auto minmax(0, 660px);
	gap: 18px;
	align-items: start;
	padding-bottom: clamp(32px, 4vw, 46px);
	border-bottom: 1px solid rgba(226, 232, 240, .12);
}

.footer-mark {
	display: grid;
	place-items: center;
	width: 54px;
	height: 54px;
	border: 1px solid rgba(226, 232, 240, .16);
	border-radius: 18px;
	background: linear-gradient(135deg, rgba(20, 184, 166, .18), rgba(255, 255, 255, .06));
	color: #f8fafc;
	font-size: 13px;
	font-weight: 900;
	letter-spacing: .08em;
}

.footer-brand strong {
	display: block;
	margin-bottom: 10px;
	color: #f8fafc;
	font-size: clamp(1.25rem, 2vw, 1.65rem);
	line-height: 1.1;
	letter-spacing: -.035em;
}

.footer-brand p {
	max-width: 720px;
	margin: 0;
	color: rgba(226, 232, 240, .76);
	font-size: 15.5px;
	line-height: 1.65;
}

.footer-nav {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: clamp(24px, 5vw, 72px);
	padding: clamp(32px, 5vw, 56px) 0;
}

.footer-nav h2 {
	margin: 0 0 16px;
	color: #f8fafc;
	font-family: Aptos, "Segoe UI", sans-serif;
	font-size: 11px;
	font-weight: 900;
	letter-spacing: .16em;
	text-transform: uppercase;
}

.footer-nav a {
	display: table;
	margin: 10px 0 0;
	color: rgba(226, 232, 240, .74);
	font-size: 14px;
	font-weight: 700;
	text-decoration: none;
	transition: color .18s ease, transform .18s ease;
}

.footer-nav a:hover {
	color: #99f6e4;
	transform: translateX(3px);
}

.footer-bottom {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 18px;
	padding-top: 22px;
	border-top: 1px solid rgba(226, 232, 240, .12);
	color: rgba(203, 213, 225, .66);
	font-size: 13px;
}

@media (max-width: 920px) {
	.footer-inner {
		width: min(1220px, calc(100% - 28px));
		padding-top: 42px;
	}

	.footer-brand,
	.footer-nav {
		grid-template-columns: 1fr;
	}

	.footer-nav {
		gap: 24px;
	}

	.footer-bottom {
		align-items: flex-start;
		flex-direction: column;
	}
}

/* Footer editorial upgrade: stronger rhythm, guided tour entry and technical signal chips. */
.site-footer {
	position: relative;
	overflow: hidden;
	background:
		radial-gradient(circle at 12% 0%, rgba(45, 212, 191, .2), transparent 28%),
		radial-gradient(circle at 86% 18%, rgba(59, 130, 246, .16), transparent 30%),
		linear-gradient(180deg, #101827 0%, #080d17 100%);
}

.site-footer::before {
	content: "";
	position: absolute;
	inset: 0;
	pointer-events: none;
	background:
		linear-gradient(90deg, rgba(226, 232, 240, .045) 1px, transparent 1px),
		linear-gradient(rgba(226, 232, 240, .035) 1px, transparent 1px);
	background-size: 72px 72px;
	mask-image: linear-gradient(180deg, rgba(0, 0, 0, .42), transparent 76%);
}

.footer-inner {
	position: relative;
	z-index: 1;
}

.footer-kicker {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	margin-bottom: 26px;
	border: 1px solid rgba(226, 232, 240, .13);
	border-radius: 999px;
	padding: 8px 8px 8px 18px;
	background: rgba(255, 255, 255, .045);
	backdrop-filter: blur(14px);
}

.footer-kicker span {
	color: rgba(226, 232, 240, .76);
	font-size: 11px;
	font-weight: 900;
	letter-spacing: .16em;
	text-transform: uppercase;
}

.footer-kicker a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 999px;
	padding: 10px 14px;
	background: #99f6e4;
	color: #0f172a;
	font-size: 12px;
	font-weight: 900;
	letter-spacing: .08em;
	text-decoration: none;
	text-transform: uppercase;
}

.footer-brand {
	grid-template-columns: auto minmax(0, 760px);
	padding: clamp(30px, 4vw, 46px);
	border: 1px solid rgba(226, 232, 240, .13);
	border-radius: 32px;
	background:
		linear-gradient(135deg, rgba(255, 255, 255, .08), rgba(255, 255, 255, .035));
	box-shadow: 0 30px 90px rgba(0, 0, 0, .18);
}

.footer-brand strong {
	max-width: 15ch;
	font-family: Georgia, "Times New Roman", serif;
	font-size: clamp(1.85rem, 4vw, 3.3rem);
	line-height: .98;
	letter-spacing: -.055em;
}

.footer-brand p {
	margin-top: 18px;
	color: rgba(226, 232, 240, .82);
	font-size: clamp(15px, 1.4vw, 18px);
}

.footer-signal-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 12px;
	margin: 16px 0 clamp(30px, 5vw, 52px);
}

.footer-signal-grid span {
	border: 1px solid rgba(226, 232, 240, .12);
	border-radius: 18px;
	padding: 14px 16px;
	background: rgba(255, 255, 255, .045);
	color: rgba(226, 232, 240, .78);
	font-size: 13px;
	font-weight: 800;
}

.footer-nav {
	gap: 18px;
	padding: 0 0 clamp(30px, 4vw, 44px);
}

.footer-nav > div {
	border: 1px solid rgba(226, 232, 240, .12);
	border-radius: 24px;
	padding: 22px;
	background: rgba(255, 255, 255, .035);
}

.footer-bottom {
	border-top-color: rgba(226, 232, 240, .14);
}

@media (max-width: 920px) {
	.footer-kicker,
	.footer-bottom {
		align-items: flex-start;
		flex-direction: column;
		border-radius: 24px;
	}

	.footer-kicker a {
		width: 100%;
	}

	.footer-brand,
	.footer-signal-grid {
		grid-template-columns: 1fr;
	}

	.footer-brand {
		padding: 24px;
		border-radius: 26px;
	}

	.footer-brand strong {
		max-width: 100%;
	}
}
