html {
	scroll-behavior: smooth;
	font-size: 16px;
	font-family: var(--font-standard);
}

:root {
	--font-standard: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Yu Gothic", Meiryo, sans-serif;
	--font-jp: var(--font-standard);
	--font-tech: var(--font-standard);
	--type-hero: 3.25rem;
	--type-section: 1.875rem;
	--type-lead: 1.07em;
	--type-card-title: 1.125rem;
	--type-body: 1.05em;
	--type-small: 1em;
	--type-label: 0.75rem;
	--type-metric-large: 2rem;
	--type-metric-medium: 1.625rem;
	--leading-hero: 1.16;
	--leading-heading: 1.38;
	--leading-body: 1.85;
	--leading-small: 1.75;
	--leading-label: 1.45;
}

body {
	background: #ffffff;
	color: #121212;
	font-size: var(--type-body);
	font-weight: 400;
	line-height: var(--leading-body);
	letter-spacing: 0;
	font-feature-settings: "palt" 1;
	text-rendering: optimizeLegibility;
}

input,
select,
textarea {
	font-size: 1em;
	line-height: var(--leading-body);
	letter-spacing: 0;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	font-family: var(--font-standard);
	font-weight: 300;
	letter-spacing: 0;
}

.button,
button,
input[type="submit"],
input[type="reset"],
input[type="button"] {
	letter-spacing: 0;
}

h1 span,
h2 span,
h3 span,
h4 span,
h5 span,
h6 span {
	font-weight: inherit;
}

b,
strong {
	font-weight: 400;
}

a {
	color: #0f8f7b;
}

a:hover {
	color: #6c3cff !important;
}

p {
	line-height: var(--leading-body);
}

p,
h1,
h2,
h3,
li {
	line-break: strict;
	word-break: normal;
	overflow-wrap: anywhere;
}

#page-wrapper {
	background: #ffffff;
}

#header {
	height: 3.75em;
	background: rgba(10, 10, 10, 0.96);
	box-shadow: 0 1px 0 rgba(255, 255, 255, 0.1);
}

#header.alt {
	background: rgba(10, 10, 10, 0.72);
	box-shadow: none;
}

#header h1 a {
	color: #ffffff;
	font-weight: 400;
	text-transform: none;
}

#header nav a {
	border-color: rgba(255, 255, 255, 0.24);
	color: #ffffff;
}

#menu {
	background: rgba(0, 0, 0, 0.82);
}

#menu .inner {
	background: #111111;
	border-radius: 4px;
}

#banner {
	display: flex;
	min-height: 70vh;
	margin-bottom: 0 !important;
	padding: 0 !important;
	align-items: center;
	background: #08090b;
}

#banner:before,
#banner:after {
	display: none !important;
}

#banner .inner {
	width: min(1120px, calc(100% - 48px));
	max-width: none;
	margin: 0 auto;
	padding: 7rem 0 4rem 0;
}

#banner h2 {
	max-width: 900px;
	margin: 0 0 1.25rem 0;
	padding: 0 0 1.2rem 0;
	border-bottom: 2px solid #6c3cff;
	color: #ffffff;
	font-size: 46px;
	font-weight: 400;
	line-height: var(--leading-hero);
	text-transform: none;
}

#banner h2 span {
	display: inline;
	overflow-wrap: anywhere;
}

#banner p {
	max-width: 860px;
	margin: 0;
	color: rgba(255, 255, 255, 0.86);
	font-size: var(--type-lead);
	font-weight: 400;
	letter-spacing: 0;
	line-height: var(--leading-body);
	text-transform: none;
	overflow-wrap: anywhere;
}

#banner .inner > p:not(.eyebrow) span {
	display: inline;
}

@media screen and (min-width: 980px) {
	#banner .inner > p:not(.eyebrow) span {
		white-space: nowrap;
	}
}

.eyebrow {
	margin: 0 0 1rem 0;
	color: #6c3cff;
	font-size: var(--type-label) !important;
	font-weight: 400;
	letter-spacing: 0 !important;
	line-height: var(--leading-label);
	text-transform: uppercase;
}

#banner .eyebrow,
#footer .eyebrow {
	color: #8ee8d8;
	font-weight: 400;
	letter-spacing: 0 !important;
	text-transform: uppercase;
}

#banner .eyebrow {
	margin-bottom: clamp(1.5rem, 3vw, 3.125rem);
}

#header h1 a,
#menu h2,
#menu .links a,
#header nav a,
.eyebrow,
.metric span,
.problem-grid span,
.tag-list li,
.capability-grid span,
.portfolio-grid span,
.portfolio-metrics span,
.industry-strip span,
.industry-strip b,
.bar-row span,
.coverage-axis span,
.coverage-grid span,
.ledger-grid span,
.decision-flow span,
.decision-problems h3,
.profile-card span {
	font-weight: 400;
}

.hero-actions {
	margin-top: 2rem;
}

.button,
button,
input[type="submit"],
input[type="reset"],
input[type="button"] {
	border-radius: 2px;
	box-shadow: inset 0 0 0 2px currentColor;
	font-weight: 400;
	text-transform: none;
}

.button.primary,
input[type="submit"].primary,
input[type="reset"].primary,
input[type="button"].primary {
	background: #ffffff;
	box-shadow: none;
	color: #111111 !important;
}

.button.primary:hover,
input[type="submit"].primary:hover,
input[type="reset"].primary:hover,
input[type="button"].primary:hover {
	background: #8ee8d8;
	color: #111111 !important;
}

.wrapper {
	margin: 0 !important;
	background: #ffffff !important;
	color: #121212;
}

.wrapper:before,
.wrapper:after {
	display: none !important;
}

.wrapper .inner {
	position: relative;
	z-index: 1;
	width: min(1120px, calc(100% - 48px));
	margin: 0 auto;
	padding: 5.5rem 0;
}

.wrapper h2,
.wrapper h3,
.features article h3 {
	color: #111111;
	text-transform: none;
}

.wrapper h2.major,
.wrapper h3.major,
#footer h2.major {
	padding-bottom: 1.1rem;
	border-bottom: 2px solid #111111;
}

.wrapper h2.major,
#footer h2.major {
	font-size: var(--type-section);
	font-weight: 400;
	line-height: var(--leading-heading);
	overflow-wrap: anywhere;
	word-break: normal;
}

.capability-section h2.major span,
#services h2.major span {
	display: inline;
	font-weight: inherit;
}

.lead {
	max-width: 880px;
	color: #333333;
	font-size: var(--type-lead);
	line-height: var(--leading-body);
}

.metric-band {
	border-bottom: 1px solid #e6e9ee;
	background: #ffffff !important;
	color: #111111;
}

.metric-band .inner {
	padding: 1.6rem 0;
}

.metric-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 0;
	margin: 0;
}

.metric {
	min-height: 5.25rem;
	padding: 0.35rem 1.5rem;
	border-left: 1px solid #d8dce2;
	background: transparent;
}

.metric:last-child {
	border-right: 1px solid #d8dce2;
}

.metric strong {
	display: block;
	color: #08090b;
	font-size: var(--type-metric-large);
	font-weight: 400;
	line-height: 1.15;
}

.metric span {
	display: block;
	margin-top: 0.35rem;
	color: #4f5968;
	font-size: var(--type-label);
	font-weight: 400;
	line-height: var(--leading-label);
	overflow-wrap: anywhere;
	word-break: normal;
}

.recent-cases-section {
	background: #ffffff !important;
	border-top: 3px solid #111111;
}

.recent-cases-section h2.major span {
	display: inline;
}

.recent-case-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1.15rem;
	margin-top: 2.25rem;
}

.recent-case-card {
	display: flex;
	min-height: 100%;
	flex-direction: column;
	border: 1px solid #e1e6ee;
	border-radius: 6px;
	background: #ffffff;
	box-shadow: 0 18px 42px rgba(8, 9, 11, 0.07);
	overflow: hidden;
}

.case-thumb {
	padding: 1rem 1rem 0 1rem;
}

.case-thumb img {
	display: block;
	width: 100%;
	aspect-ratio: 16 / 9;
	border: 1px solid #e6e9ee;
	border-radius: 4px;
	background: #f7f8fa;
	object-fit: cover;
}

.image-with-message {
	position: relative;
	isolation: isolate;
}

.image-with-message:after {
	content: "";
	display: block;
	position: absolute;
	inset: 0;
	z-index: 1;
	background: linear-gradient(180deg, rgba(8, 9, 11, 0) 36%, rgba(8, 9, 11, 0.78) 100%);
	pointer-events: none;
}

.case-thumb.image-with-message:after {
	inset: 1rem 1rem 0 1rem;
	border-radius: 4px;
}

.image-message {
	display: block;
	position: absolute;
	left: 1rem;
	bottom: 1rem;
	z-index: 2;
	max-width: calc(100% - 2rem);
	padding: 0.48rem 0.64rem;
	border-left: 3px solid #8ee8d8;
	border-radius: 2px;
	background: rgba(8, 9, 11, 0.72);
	backdrop-filter: blur(6px);
	box-shadow: 0 10px 26px rgba(0, 0, 0, 0.26);
	color: #ffffff;
	font-size: var(--type-small);
	font-weight: 400;
	line-height: 1.45;
	text-transform: none;
	pointer-events: none;
}

.case-thumb .image-message,
.features.service-grid article .image-message {
	font-size: var(--type-label);
	line-height: var(--leading-label);
}

.case-thumb .image-message {
	left: 1.65rem;
	bottom: 0.75rem;
	max-width: calc(100% - 3.3rem);
}

.case-card-body {
	display: flex;
	flex: 1;
	flex-direction: column;
	padding: 1.35rem;
}

.case-card-body > span,
.case-index-grid span,
.case-model-board span,
.operating-loop span {
	display: block;
	color: #6c3cff;
	font-size: var(--type-label);
	font-weight: 400;
	line-height: var(--leading-label);
	text-transform: uppercase;
}

.case-card-body h3 {
	margin: 0.6rem 0 0.8rem 0;
	font-size: var(--type-card-title);
	font-weight: 400;
	line-height: 1.45;
}

.case-card-body h3 span,
.case-detail-head h2.major span {
	display: block;
}

.case-card-body h3 span {
	color: inherit;
	line-height: inherit;
	text-transform: none;
}

.case-card-body p {
	margin: 0;
	color: #343a44;
	font-size: var(--type-small);
	line-height: var(--leading-small);
}

.case-card-body ul {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	margin: auto 0 0 0;
	padding: 1.15rem 0 0 0;
	list-style: none;
}

.case-card-body li {
	padding: 0.24rem 0.5rem;
	border: 1px solid #d5eee9;
	border-radius: 3px;
	background: #effdfa;
	color: #007869;
	font-size: var(--type-label);
	font-weight: 400;
	line-height: var(--leading-label);
}

.case-card-link {
	display: inline-flex;
	width: fit-content;
	margin-top: 1rem;
	color: #111111;
	font-size: var(--type-label);
	font-weight: 400;
	line-height: var(--leading-label);
	text-transform: uppercase;
}

.case-card-link:hover {
	color: #6c3cff !important;
}

ul.actions.case-actions {
	display: flex;
	justify-content: center;
	width: 100%;
	margin: 2.4rem auto 0 auto;
	padding-left: 0;
}

ul.actions.case-actions li {
	width: min(100%, 30rem);
	padding: 0;
}

ul.actions.case-actions li .button.primary {
	display: flex;
	width: 100%;
	min-height: 4.25rem;
	align-items: center;
	justify-content: center;
	padding: 0 2.2rem;
	font-size: var(--type-body);
	line-height: 1.35;
	text-align: center;
}

.recent-cases-section .button.primary,
.case-index-section .button.primary,
.case-model-section .button.primary {
	background: #111111;
	color: #ffffff !important;
}

.recent-cases-section .button.primary:hover,
.case-index-section .button.primary:hover,
.case-model-section .button.primary:hover {
	background: #6c3cff;
	color: #ffffff !important;
}

.purpose-section {
	background: #08090b !important;
	color: #ffffff;
}

.purpose-section h2,
.purpose-section h3 {
	color: #ffffff;
}

.purpose-section h2.major {
	border-bottom-color: #8ee8d8;
}

.purpose-section h2.major span,
.portfolio-section h2.major span {
	display: inline;
}

.purpose-section .lead {
	max-width: 58rem;
	color: rgba(255, 255, 255, 0.74);
}

.purpose-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1px;
	margin-top: 2.25rem;
	background: rgba(255, 255, 255, 0.18);
}

.purpose-grid div {
	min-height: 13.5rem;
	padding: 1.55rem;
	background: #111111;
}

.purpose-grid span {
	display: block;
	margin-bottom: 1.1rem;
	color: #8ee8d8;
	font-size: var(--type-label);
	font-weight: 400;
	line-height: var(--leading-label);
}

.purpose-grid h3 {
	margin-bottom: 0.85rem;
	font-size: var(--type-card-title);
	line-height: 1.5;
}

.purpose-grid p {
	margin: 0;
	color: rgba(255, 255, 255, 0.72);
	font-size: var(--type-small);
	line-height: var(--leading-small);
}

.problem-section {
	background: #ffffff !important;
}

.problem-section h2.major {
	color: #08090b;
}

.problem-section h2.major span {
	display: block;
}

.problem-slider-toolbar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	margin-top: 2rem;
}

.problem-slider-menu {
	display: flex;
	gap: 0.6rem;
	min-width: 0;
	overflow-x: auto;
	padding: 0 0 0.45rem 0;
	scrollbar-width: thin;
	scrollbar-color: #8ee8d8 #e6e9ee;
}

.problem-slider-menu::-webkit-scrollbar,
.problem-grid::-webkit-scrollbar {
	height: 0.45rem;
}

.problem-slider-menu::-webkit-scrollbar-track,
.problem-grid::-webkit-scrollbar-track {
	background: #e6e9ee;
}

.problem-slider-menu::-webkit-scrollbar-thumb,
.problem-grid::-webkit-scrollbar-thumb {
	border-radius: 999px;
	background: #8ee8d8;
}

.problem-slider-menu a {
	display: inline-flex;
	align-items: center;
	gap: 0.45rem;
	flex: 0 0 auto;
	min-height: 2.45rem;
	padding: 0.35rem 0.85rem;
	border: 1px solid #d8dce2;
	border-radius: 999px;
	background: #ffffff;
	color: #08090b;
	font-size: var(--type-small);
	font-weight: 400;
	line-height: 1.4;
	text-decoration: none;
	white-space: nowrap;
}

.problem-slider-menu a:hover,
.problem-slider-menu a:focus {
	border-color: #8ee8d8;
	background: #effdfa;
	color: #08090b !important;
}

.problem-slider-menu span {
	color: #6c3cff;
	font-size: var(--type-label);
	font-weight: 400;
	line-height: var(--leading-label);
}

.problem-slider-arrows {
	display: flex;
	flex: 0 0 auto;
	gap: 0.5rem;
}

.problem-slider-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2.55rem;
	height: 2.55rem;
	padding: 0;
	border: 1px solid #d8dce2;
	border-radius: 999px;
	background: #ffffff;
	box-shadow: none;
	color: #08090b !important;
	font-size: 1rem;
	line-height: 1;
}

.problem-slider-button:hover,
.problem-slider-button:focus {
	border-color: #8ee8d8;
	background: #effdfa;
}

.problem-slider-shell {
	position: relative;
	margin-top: 0.75rem;
}

.problem-slider-shell:after {
	content: "";
	position: absolute;
	top: 0;
	right: 0;
	width: 4.5rem;
	height: calc(100% - 1.25rem);
	pointer-events: none;
	background: linear-gradient(90deg, rgba(255, 255, 255, 0), #ffffff 84%);
}

.problem-grid {
	display: flex;
	gap: 1.15rem;
	margin-top: 0;
	padding: 0.35rem 0.35rem 1.25rem 0.1rem;
	background: transparent;
	overflow-x: auto;
	scroll-padding-inline: 0.1rem;
	scroll-snap-type: x mandatory;
	scrollbar-width: thin;
	scrollbar-color: #8ee8d8 #e6e9ee;
}

.problem-grid > article {
	display: grid;
	flex: 0 0 calc((100% - 2.3rem) / 3);
	grid-template-columns: 2.2rem minmax(0, 1fr);
	grid-template-rows: 3.75rem 9.4rem minmax(0, 1fr);
	column-gap: 0.65rem;
	min-width: 20rem;
	min-height: 18.5rem;
	max-width: 25rem;
	padding: 1.75rem;
	border: 1px solid #e1e6ee;
	border-radius: 6px;
	background: #ffffff;
	box-shadow: 0 16px 38px rgba(8, 9, 11, 0.06);
	overflow: hidden;
	scroll-snap-align: start;
}

.problem-grid span {
	display: block;
	grid-column: 1;
	grid-row: 1;
	margin: 0;
	color: #6c3cff;
	font-size: var(--type-label);
	font-weight: 400;
	line-height: 1.6;
}

.problem-grid h3 {
	grid-column: 2;
	grid-row: 1;
	margin: 0;
	font-size: var(--type-card-title);
	line-height: 1.5;
}

.problem-grid p {
	margin: 0;
	color: #444444;
	font-size: var(--type-small);
	line-height: var(--leading-small);
}

.problem-grid .problem-copy {
	grid-column: 1 / -1;
	grid-row: 2;
	margin-bottom: 0;
}

.solution-block {
	position: relative;
	grid-column: 1 / -1;
	grid-row: 3;
	align-self: stretch;
	margin: 0 -1.75rem -1.75rem -1.75rem;
	padding: 2.25rem 1.75rem 1.75rem 1.75rem;
	border-top: 1px solid #bdeee4;
	background:
		linear-gradient(90deg, #8ee8d8 0, #8ee8d8 0.28rem, transparent 0.28rem),
		linear-gradient(180deg, #effdfa 0%, #f7fbff 100%);
}

.solution-block:before {
	content: "ACTION / 打ち手";
	position: absolute;
	top: 0.8rem;
	left: 1.75rem;
	display: inline-flex;
	align-items: center;
	min-height: 1.25rem;
	padding: 0 0.45rem;
	border: 1px solid #bdeee4;
	border-radius: 2px;
	background: #ffffff;
	color: #007869;
	font-size: var(--type-label);
	font-weight: 400;
	line-height: var(--leading-label);
	text-transform: uppercase;
}

.solution-block strong {
	display: block;
	margin-bottom: 0.5rem;
	color: #08090b;
	font-size: var(--type-small);
	font-weight: 400;
	line-height: 1.55;
}

.solution-block p {
	color: #20242b;
}

.wrapper.spotlight .inner {
	display: grid;
	grid-template-columns: minmax(0, 0.72fr) minmax(0, 1fr);
	gap: 4rem;
	align-items: center;
	text-align: left;
}

#ax.wrapper.spotlight .inner {
	grid-template-columns: minmax(0, 1fr) minmax(0, 0.72fr);
	text-align: left;
}

#ax.wrapper.spotlight .image {
	order: 2;
}

#ax.wrapper.spotlight .content {
	order: 1;
}

.wrapper.spotlight .image {
	display: block;
	width: 100%;
	margin: 0 !important;
	border-radius: 4px;
	box-shadow: none;
	overflow: hidden;
}

.wrapper.spotlight .image img {
	width: 100%;
	min-height: 0;
	aspect-ratio: 16 / 10;
	border-radius: 4px;
	object-fit: cover;
}

.wrapper.spotlight .content {
	width: auto;
	text-align: left;
}

#ax {
	background: #f7f8fa !important;
}

#approach {
	background: transparent !important;
}

#impact {
	background: #111111 !important;
	color: #ffffff;
}

#impact h2,
#impact h3 {
	color: #ffffff;
}

#impact h2.major {
	border-bottom-color: #8ee8d8;
}

#impact p {
	color: rgba(255, 255, 255, 0.78);
}

#impact.wrapper.spotlight .inner.impact-layout {
	display: grid;
	grid-template-columns: 1fr;
	grid-template-areas:
		"intro"
		"system";
	gap: 1.5rem;
	align-items: start;
	text-align: left;
}

.impact-intro {
	grid-area: intro;
	max-width: none;
}

.impact-intro h2.major {
	white-space: nowrap;
	word-break: keep-all;
	overflow-wrap: normal;
}

.impact-intro > p:not(.eyebrow) {
	max-width: 920px;
}

.impact-system-grid {
	display: grid;
	grid-area: system;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1rem;
	align-items: stretch;
}

.impact-panel {
	display: flex;
	flex-direction: column;
	min-height: 22rem;
	padding: 1.25rem;
	border: 1px solid rgba(255, 255, 255, 0.16);
	border-radius: 4px;
	background: #181818;
}

.impact-panel > span,
.impact-panel-copy > span,
.impact-step-grid span,
.impact-blocker-grid span,
.impact-kpi-grid span {
	display: block;
	color: #8ee8d8;
	font-size: var(--type-label);
	font-weight: 400;
	line-height: var(--leading-label);
	text-transform: uppercase;
}

.impact-panel h3,
.impact-panel-copy h3 {
	margin: 0.65rem 0 0.9rem 0;
	color: #ffffff;
	font-size: var(--type-card-title);
	line-height: 1.5;
}

.impact-panel p,
.impact-panel-copy p {
	margin: 0;
	color: rgba(255, 255, 255, 0.72);
	font-size: var(--type-small);
	line-height: var(--leading-small);
}

.impact-panel-visual {
	padding: 0;
	overflow: hidden;
}

.impact-panel-visual .image {
	border-radius: 0;
}

.impact-panel-visual .image img {
	aspect-ratio: 16 / 9;
	border-radius: 0;
}

.impact-panel-copy {
	padding: 1.25rem;
}

.impact-step-grid,
.impact-blocker-grid,
.impact-kpi-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1px;
	margin-top: auto;
	background: rgba(255, 255, 255, 0.14);
}

.impact-step-grid div,
.impact-blocker-grid div,
.impact-kpi-grid div {
	min-height: 8.2rem;
	padding: 1rem;
	background: #111111;
}

.impact-visual {
	display: grid;
	grid-area: visual;
	gap: 1rem;
	align-self: start;
}

.impact-decision {
	grid-area: decision;
}

.impact-visual .image img {
	aspect-ratio: 4 / 3;
}

.impact-pipeline,
.impact-control {
	border: 1px solid rgba(255, 255, 255, 0.16);
	border-radius: 4px;
	background: #181818;
}

.impact-pipeline {
	padding: 1.2rem;
}

.impact-pipeline > span,
.impact-control > span {
	display: block;
	margin-bottom: 0.65rem;
	color: #8ee8d8;
	font-size: var(--type-label);
	font-weight: 400;
	line-height: var(--leading-label);
	text-transform: uppercase;
}

.impact-pipeline strong {
	display: block;
	margin-bottom: 1rem;
	color: #ffffff;
	font-size: var(--type-card-title);
	line-height: 1.45;
}

.impact-pipeline div {
	display: grid;
	grid-template-columns: 2.3rem minmax(0, 1fr);
	gap: 1px;
	background: rgba(255, 255, 255, 0.14);
}

.impact-pipeline b,
.impact-pipeline em {
	min-height: 3.1rem;
	padding: 0.75rem 0.7rem;
	background: #111111;
	font-style: normal;
	line-height: var(--leading-label);
}

.impact-pipeline b {
	color: #8ee8d8;
	font-size: var(--type-label);
	font-weight: 400;
	text-align: center;
}

.impact-pipeline em {
	color: rgba(255, 255, 255, 0.86);
	font-size: var(--type-small);
	font-weight: 400;
}

.impact-control {
	padding: 1rem 1.15rem;
}

.impact-control p {
	margin: 0;
	font-size: var(--type-small);
	line-height: var(--leading-small);
}

.tag-list {
	display: flex;
	flex-wrap: wrap;
	gap: 0.55rem;
	margin: 1.5rem 0 0 0;
	padding: 0;
	list-style: none;
}

.tag-list li {
	padding: 0.42rem 0.62rem;
	border: 1px solid #d6dce4;
	border-radius: 2px;
	background: #f7f8fa;
	color: #222222;
	font-size: var(--type-label);
	font-weight: 400;
	line-height: var(--leading-label);
	overflow-wrap: anywhere;
}

#services {
	background: #f7f8fa !important;
}

.capability-section {
	position: relative;
	overflow: hidden;
	isolation: isolate;
	background: #ffffff !important;
}

.capability-section:before {
	content: "";
	display: block !important;
	position: absolute;
	inset: 0 !important;
	z-index: 1;
	width: 100%;
	height: 100% !important;
	background:
		linear-gradient(90deg, rgba(255, 255, 255, 0.96) 0%, rgba(255, 255, 255, 0.72) 46%, rgba(255, 255, 255, 0.86) 100%),
		url("../images/capability-advance.svg") center 34% / min(96rem, 122vw) auto no-repeat;
	opacity: 0.82;
	pointer-events: none;
}

.capability-section .inner {
	position: relative;
	z-index: 2;
}

.capability-grid,
.portfolio-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1px;
	margin-top: 2.5rem;
	background: #d8dce2;
}

.capability-grid {
	gap: 0;
	background: transparent;
	border-top: 1px solid rgba(13, 17, 22, 0.18);
}

.capability-grid div,
.portfolio-grid article {
	min-height: 17rem;
	padding: 1.5rem;
	background: #ffffff;
}

.capability-grid div {
	background: rgba(255, 255, 255, 0.36);
	border-left: 1px solid rgba(13, 17, 22, 0.14);
	backdrop-filter: blur(1px);
}

.capability-grid div:first-child {
	border-left: 0;
}

.capability-grid span,
.portfolio-grid span {
	display: block;
	margin-bottom: 1.2rem;
	color: #6c3cff;
	font-size: var(--type-label);
	font-weight: 400;
	letter-spacing: 0;
	line-height: var(--leading-label);
	text-transform: uppercase;
}

.capability-grid h3,
.portfolio-grid h3 {
	margin-bottom: 0.85rem;
	font-size: var(--type-card-title);
	line-height: 1.5;
}

.capability-grid p,
.portfolio-grid p {
	margin: 0;
	color: #444444;
	font-size: var(--type-small);
	line-height: var(--leading-small);
}

.portfolio-section {
	background: #111111 !important;
	color: #ffffff;
}

.portfolio-section h2,
.portfolio-section h3 {
	color: #ffffff;
}

.portfolio-section h2.major {
	border-bottom-color: #8ee8d8;
}

.portfolio-section .lead {
	color: rgba(255, 255, 255, 0.72);
}

.comparison-note {
	display: inline-flex;
	align-items: center;
	min-height: 2rem;
	margin: 0.2rem 0 0 0;
	padding: 0 0.7rem;
	border: 1px solid rgba(142, 232, 216, 0.38);
	border-radius: 3px;
	background: rgba(142, 232, 216, 0.08);
	color: #8ee8d8;
	font-size: var(--type-label);
	font-weight: 400;
	line-height: var(--leading-label);
	text-transform: uppercase;
}

.portfolio-metrics {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1px;
	margin-top: 2.25rem;
	background: rgba(255, 255, 255, 0.2);
}

.portfolio-metrics > div {
	display: flex;
	min-height: 18.5rem;
	padding: 1.25rem;
	flex-direction: column;
	background: #181818;
}

.portfolio-metrics > div > .metric-kicker {
	display: inline-flex;
	align-items: center;
	min-height: 1.35rem;
	margin-bottom: 0.8rem;
	padding: 0 0.42rem;
	border: 1px solid rgba(142, 232, 216, 0.3);
	border-radius: 2px;
	color: #8ee8d8;
	font-size: 0.625rem;
	font-weight: 400;
	letter-spacing: 0;
	line-height: var(--leading-label);
	text-transform: uppercase;
}

.portfolio-metrics > div > strong {
	display: block;
	color: #ffffff;
	font-size: var(--type-metric-medium);
	font-weight: 400;
	line-height: 1.15;
}

.portfolio-metrics > div > span {
	display: block;
	margin-top: 0.55rem;
	color: rgba(255, 255, 255, 0.72);
	font-size: var(--type-label);
	font-weight: 400;
	line-height: var(--leading-label);
}

.portfolio-metrics > div > p {
	margin: 0.85rem 0 0 0;
	color: rgba(255, 255, 255, 0.68);
	font-size: 0.88rem;
	line-height: 1.7;
}

.metric-compare {
	display: grid;
	grid-template-columns: minmax(5.2rem, 0.72fr) minmax(0, 1fr) minmax(3.8rem, 0.56fr);
	gap: 0.42rem 0.55rem;
	align-items: center;
	margin-top: auto;
	padding-top: 0.95rem;
	border-top: 1px solid rgba(255, 255, 255, 0.12);
}

.metric-compare small,
.metric-compare em {
	font-size: 0.6875rem;
	font-weight: 400;
	line-height: 1.35;
}

.metric-compare small {
	color: rgba(255, 255, 255, 0.56);
}

.metric-compare em {
	color: rgba(255, 255, 255, 0.82);
	font-style: normal;
	text-align: right;
	overflow-wrap: anywhere;
}

.metric-compare i {
	display: block;
	height: 0.5rem;
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.1);
	overflow: hidden;
}

.metric-compare i b {
	display: block;
	width: calc(var(--value) * 1%);
	height: 100%;
	border-radius: inherit;
}

.metric-compare .base b {
	background: rgba(255, 255, 255, 0.34);
}

.metric-compare .self b {
	background: linear-gradient(90deg, #6c3cff 0%, #8ee8d8 100%);
}

.industry-strip {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	align-items: center;
	margin-top: 1rem;
	padding: 1rem;
	border: 1px solid rgba(255, 255, 255, 0.16);
	border-radius: 4px;
	background: #181818;
}

.industry-strip span,
.industry-strip b {
	display: inline-flex;
	align-items: center;
	min-height: 2rem;
}

.industry-strip span {
	margin-right: 0.5rem;
	color: #8ee8d8;
	font-size: var(--type-label);
	font-weight: 400;
	text-transform: uppercase;
}

.industry-strip b {
	padding: 0 0.62rem;
	border: 1px solid rgba(255, 255, 255, 0.16);
	border-radius: 2px;
	color: rgba(255, 255, 255, 0.82);
	font-size: var(--type-label);
	font-weight: 400;
}

.portfolio-visual {
	display: grid;
	grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr);
	gap: 1.25rem;
	margin-top: 1.25rem;
}

.portfolio-chart,
.coverage-map,
.portfolio-ledger {
	border: 1px solid rgba(255, 255, 255, 0.16);
	border-radius: 4px;
	background: #181818;
}

.portfolio-chart,
.coverage-map {
	padding: 1.5rem;
}

.portfolio-chart {
	display: flex;
	flex-direction: column;
}

.portfolio-chart h3,
.coverage-map h3,
.portfolio-ledger h3 {
	margin-bottom: 0.75rem;
	font-size: var(--type-card-title);
	line-height: 1.5;
}

.portfolio-chart p,
.coverage-map p,
.portfolio-ledger p {
	margin-bottom: 1.35rem;
	color: rgba(255, 255, 255, 0.68);
	font-size: var(--type-small);
	line-height: var(--leading-small);
}

.bar-row {
	display: grid;
	flex: 1;
	grid-template-columns: minmax(10.5rem, 1fr) minmax(8rem, 1.35fr) 2.8rem;
	gap: 0.72rem;
	align-items: center;
	min-height: 3.05rem;
	padding: 0.58rem 0;
	border-top: 1px solid rgba(255, 255, 255, 0.1);
}

.bar-row span {
	color: rgba(255, 255, 255, 0.82);
	font-size: var(--type-label);
	font-weight: 400;
	line-height: 1.5;
}

.bar-row i {
	display: block;
	height: 0.5rem;
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.1);
	overflow: hidden;
}

.bar-row b {
	display: block;
	width: calc(var(--value) * 1%);
	height: 100%;
	border-radius: inherit;
	background: linear-gradient(90deg, #8ee8d8, #6c3cff);
}

.bar-row strong {
	color: #ffffff;
	font-size: 0.8125rem;
	font-weight: 400;
	line-height: 1.2;
	text-align: right;
}

.coverage-axis,
.coverage-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 1px;
	background: rgba(255, 255, 255, 0.16);
}

.coverage-axis {
	margin-top: 1.3rem;
}

.coverage-axis span,
.coverage-grid span {
	min-height: 3rem;
	padding: 0.75rem 0.55rem;
	background: #111111;
	color: rgba(255, 255, 255, 0.82);
	font-size: var(--type-label);
	font-weight: 400;
	line-height: var(--leading-label);
	text-align: center;
}

.coverage-axis span {
	background: #222222;
	color: #8ee8d8;
	text-transform: uppercase;
}

.professional-radar {
	margin-top: 1.25rem;
	padding-top: 1.15rem;
	border-top: 1px solid rgba(255, 255, 255, 0.14);
}

.radar-heading {
	display: flex;
	flex-wrap: wrap;
	gap: 0.8rem;
	align-items: baseline;
	justify-content: space-between;
	margin-bottom: 0.75rem;
}

.radar-heading span {
	color: #8ee8d8;
	font-size: var(--type-label);
	font-weight: 400;
	line-height: var(--leading-label);
	text-transform: uppercase;
}

.radar-heading strong {
	color: #ffffff;
	font-size: var(--type-small);
	font-weight: 400;
	line-height: var(--leading-label);
	text-align: left;
	overflow-wrap: anywhere;
}

.radar-body {
	display: flex;
	align-items: center;
	justify-content: center;
	padding-right: 1.4rem;
	padding-left: 1.4rem;
}

.radar-chart {
	width: min(100%, 23rem);
	min-height: 18rem;
	overflow: visible;
}

.radar-ring,
.radar-axis-line {
	fill: none;
	stroke: rgba(255, 255, 255, 0.18);
	stroke-width: 1;
}

.radar-area {
	fill-opacity: 0.16;
	stroke-width: 2.4;
}

.radar-area.consultant {
	fill: #ffffff;
	stroke: rgba(255, 255, 255, 0.72);
	stroke-dasharray: 4 4;
}

.radar-area.architect {
	fill: #6c3cff;
	stroke: #6c3cff;
}

.radar-area.ax-architect {
	fill: #8ee8d8;
	fill-opacity: 0.3;
	stroke: #8ee8d8;
}

.radar-label {
	fill: rgba(255, 255, 255, 0.78);
	font-size: 0.72rem;
	font-weight: 400;
}

.radar-legend {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 0.7rem 1.2rem;
	margin-top: 0.75rem;
}

.radar-legend span {
	display: inline-grid;
	grid-template-columns: 0.85rem max-content;
	gap: 0.45rem;
	align-items: center;
	color: rgba(255, 255, 255, 0.78);
	font-size: var(--type-label);
	font-weight: 400;
	line-height: var(--leading-label);
}

.radar-legend i {
	display: block;
	width: 0.85rem;
	height: 0.85rem;
	border-radius: 999px;
}

.radar-legend i.ax-architect {
	background: #8ee8d8;
}

.radar-legend i.consultant {
	border: 2px solid rgba(255, 255, 255, 0.72);
}

.radar-legend i.architect {
	background: #6c3cff;
}

.radar-score {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1px;
	margin-top: 0.95rem;
	background: rgba(255, 255, 255, 0.14);
}

.radar-score div {
	min-height: 5.2rem;
	padding: 0.85rem;
	background: #111111;
}

.radar-score strong {
	color: #ffffff;
	font-size: var(--type-label);
	line-height: 1.55;
}

.portfolio-ledger {
	margin-top: 1.25rem;
	padding: 1.5rem;
}

.ledger-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1px;
	margin-top: 1.25rem;
	background: rgba(255, 255, 255, 0.16);
}

.ledger-grid div {
	padding: 1.25rem;
	background: #111111;
}

.ledger-grid span {
	display: block;
	margin-bottom: 0.85rem;
	color: #8ee8d8;
	font-size: var(--type-label);
	font-weight: 400;
	line-height: var(--leading-label);
	text-transform: uppercase;
}

.ledger-grid ul {
	margin: 0;
	padding: 0;
	list-style: none;
}

.ledger-grid li {
	position: relative;
	margin: 0;
	padding: 0.62rem 0 0.62rem 1rem;
	border-top: 1px solid rgba(255, 255, 255, 0.08);
	color: rgba(255, 255, 255, 0.74);
	font-size: var(--type-small);
	line-height: var(--leading-small);
}

.ledger-grid li:before {
	content: "";
	position: absolute;
	top: 1.28rem;
	left: 0;
	width: 0.34rem;
	height: 0.34rem;
	border-radius: 999px;
	background: #8ee8d8;
}

.portfolio-grid {
	background: rgba(255, 255, 255, 0.18);
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

.portfolio-grid article {
	min-height: 18.5rem;
	background: #181818;
}

.portfolio-grid span {
	color: #8ee8d8;
}

.portfolio-grid p {
	color: rgba(255, 255, 255, 0.72);
}

.features.service-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1.25rem;
	margin: 2.5rem 0 0 0;
}

.features.service-grid article {
	width: auto;
	margin: 0 !important;
	padding: 0;
	border: 1px solid #d8dce2;
	border-radius: 4px;
	background: #ffffff;
	box-shadow: none;
	overflow: hidden;
}

.features.service-grid article .image {
	display: block;
	position: relative;
	width: 100%;
	max-width: 100%;
	margin: 0;
	aspect-ratio: 16 / 9;
	border-radius: 0;
	overflow: hidden;
}

.features.service-grid article .image img {
	display: block;
	width: 100%;
	height: 100%;
	border-radius: 0;
	object-fit: cover;
}

.features.service-grid article h3,
.features.service-grid article p {
	margin-left: 1.35rem;
	margin-right: 1.35rem;
}

.features.service-grid article h3 {
	margin-top: 1.35rem;
	font-size: var(--type-card-title);
	line-height: 1.5;
}

.features.service-grid article h3.major {
	padding-bottom: 0.8rem;
	border-bottom-color: #d8dce2;
}

.features.service-grid article p {
	margin-bottom: 1.5rem;
	color: #444444;
	font-size: var(--type-small);
	line-height: var(--leading-small);
}

.impact-list {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0.85rem;
	margin-top: 2rem;
	background: transparent;
}

.impact-visual .impact-list {
	margin-top: 0;
}

.decision-flow {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1px;
	margin-top: 1.75rem;
	background: rgba(255, 255, 255, 0.18);
}

.decision-flow div {
	position: relative;
	min-height: 12.5rem;
	padding: 1rem;
	background: #181818;
}

.decision-flow span,
.decision-problems h3 {
	display: block;
	color: #8ee8d8;
	font-size: var(--type-label);
	font-weight: 400;
	line-height: var(--leading-label);
	text-transform: uppercase;
}

.decision-flow strong {
	display: block;
	margin-top: 0.75rem;
	color: #ffffff;
	font-size: var(--type-card-title);
	line-height: 1.45;
}

.decision-flow p {
	margin: 0.65rem 0 0 0;
	color: rgba(255, 255, 255, 0.7);
	font-size: var(--type-small);
	line-height: var(--leading-small);
}

.decision-problems {
	margin-top: 1.25rem;
	padding: 1.25rem;
	border: 1px solid rgba(255, 255, 255, 0.16);
	background: #181818;
}

.decision-problems h3 {
	margin: 0 0 0.75rem 0;
}

.decision-problems ul {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1px;
	margin: 0;
	padding: 0;
	background: rgba(255, 255, 255, 0.12);
	list-style: none;
}

.decision-problems li {
	display: grid;
	grid-template-columns: 4.5rem minmax(0, 1fr);
	gap: 0.75rem;
	align-items: start;
	padding: 0.85rem;
	background: #111111;
}

.decision-problems li strong {
	color: #ffffff;
	font-size: var(--type-small);
	line-height: var(--leading-label);
}

.decision-problems li span {
	color: rgba(255, 255, 255, 0.72);
	font-size: var(--type-small);
	line-height: var(--leading-small);
}

.impact-list div {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	min-height: 8.6rem;
	padding: 1.25rem;
	border: 1px solid rgba(255, 255, 255, 0.16);
	border-radius: 4px;
	background: linear-gradient(180deg, rgba(255, 255, 255, 0.055), rgba(255, 255, 255, 0.02));
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.08);
}

.impact-list strong,
.profile-card strong {
	display: block;
	font-size: var(--type-card-title);
	line-height: 1.35;
}

.impact-list strong {
	color: #ffffff;
}

.impact-list span {
	display: block;
	margin-top: 0.45rem;
	color: rgba(255, 255, 255, 0.7);
	font-size: var(--type-small);
	line-height: var(--leading-small);
}

#profile {
	background: #f7f8fa !important;
}

.profile-inner {
	display: grid;
	grid-template-columns: 1fr;
	gap: 1rem;
	align-items: start;
}

.profile-positioning {
	margin: -0.15rem 0 0.75rem 0;
	color: #111111;
	font-size: var(--type-lead);
	font-weight: 400;
	line-height: 1.65;
}

#profile .profile-inner > div:first-child > p:not(.eyebrow):not(.profile-positioning) {
	margin: 0 0 0.85rem 0;
}

#profile .profile-inner > div:first-child > p:not(.eyebrow):not(.profile-positioning):last-of-type {
	margin-bottom: 0;
}

#profile .actions {
	margin: 0.9rem 0 0 0;
}

#profile .actions li {
	padding-left: 0;
}

#profile .actions .button {
	background: #08090b;
	box-shadow: inset 0 0 0 1px rgba(8, 9, 11, 0.92), 0 10px 24px rgba(8, 9, 11, 0.14);
	color: #ffffff !important;
}

#profile .actions .button:hover,
#profile .actions .button:focus-visible {
	background: #6c3cff;
	box-shadow: inset 0 0 0 1px rgba(108, 60, 255, 0.95), 0 0 0 3px rgba(142, 232, 216, 0.22), 0 14px 30px rgba(108, 60, 255, 0.22);
	color: #ffffff !important;
}

#profile .actions .button:active {
	background: #4b24c9;
	color: #ffffff !important;
}

.profile-inner h2.major span {
	display: inline;
}

.profile-card {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1px;
	background: #d8dce2;
}

.profile-card div {
	padding: 1.2rem;
	background: #f7f8fa;
}

.profile-card span {
	display: block;
	margin-bottom: 0.45rem;
	color: #6c3cff;
	font-size: var(--type-label);
	font-weight: 400;
	line-height: var(--leading-label);
	text-transform: uppercase;
}

.profile-card strong {
	display: block;
	color: #111111;
	font-size: var(--type-small);
	line-height: 1.55;
	overflow-wrap: anywhere;
}

.profile-card p {
	margin: 0.65rem 0 0 0;
	color: #3d4652;
	font-size: var(--type-small);
	line-height: var(--leading-small);
}

.profile-rarity-panel {
	position: relative;
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(20rem, 0.95fr);
	gap: 2rem;
	margin-top: 0.9rem;
	padding: 1.6rem;
	overflow: hidden;
	border: 1px solid rgba(8, 9, 11, 0.18);
	border-radius: 4px;
	background:
		linear-gradient(90deg, rgba(4, 2, 16, 0.58) 0%, rgba(4, 2, 16, 0.24) 48%, rgba(8, 9, 11, 0.16) 100%),
		linear-gradient(180deg, rgba(4, 2, 16, 0.04), rgba(8, 9, 11, 0.32)),
		url("../../images/ax-architect-ceo-side-bg.png") center / cover no-repeat;
	color: #ffffff;
	isolation: isolate;
}

.profile-rarity-panel:before,
.ai-workstation-panel:before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 0;
	background:
		linear-gradient(115deg, transparent 0 42%, rgba(142, 232, 216, 0.13) 45%, rgba(108, 60, 255, 0.1) 48%, transparent 54%),
		repeating-linear-gradient(0deg, rgba(142, 232, 216, 0.08) 0 1px, transparent 1px 34px),
		repeating-linear-gradient(90deg, rgba(142, 232, 216, 0.06) 0 1px, transparent 1px 46px);
	background-position: -18rem 0, 0 0, 0 0;
	background-size: 42rem 100%, 100% 100%, 100% 100%;
	opacity: 0.72;
	pointer-events: none;
	animation: panel-vfx-grid 16s linear infinite;
}

.profile-rarity-panel:after,
.ai-workstation-panel:after {
	content: "";
	position: absolute;
	inset: -30% -18%;
	z-index: 0;
	background:
		linear-gradient(102deg, transparent 0 38%, rgba(142, 232, 216, 0.2) 43%, rgba(255, 255, 255, 0.22) 45%, rgba(108, 60, 255, 0.16) 47%, transparent 54%),
		linear-gradient(0deg, transparent 0 48%, rgba(142, 232, 216, 0.12) 50%, transparent 52%);
	opacity: 0.58;
	transform: translateX(-24%);
	pointer-events: none;
	animation: panel-vfx-sweep 9s ease-in-out infinite;
	mix-blend-mode: screen;
}

.panel-vfx-canvas {
	position: absolute;
	inset: 0;
	z-index: 0;
	width: 100%;
	height: 100%;
	pointer-events: none;
	mix-blend-mode: screen;
	opacity: 0.88;
}

.profile-rarity-copy,
.profile-rarity-panel .professional-radar,
.ai-workstation-copy,
.ai-workstation-architecture {
	position: relative;
	z-index: 1;
}

.profile-rarity-kicker {
	display: block;
	margin-bottom: 0.75rem;
	color: #8ee8d8;
	font-size: var(--type-label);
	line-height: var(--leading-label);
	text-transform: uppercase;
}

.ai-workstation-panel:before {
	opacity: 0.58;
	animation-duration: 18s;
}

.ai-workstation-panel:after {
	opacity: 0.42;
	animation-delay: -2.5s;
}

.profile-rarity-panel:before {
	opacity: 0.22;
}

.profile-rarity-panel:after {
	opacity: 0.18;
}

@keyframes panel-vfx-grid {
	0% {
		background-position: -18rem 0, 0 0, 0 0;
	}
	100% {
		background-position: 26rem 0, 0 34px, 46px 0;
	}
}

@keyframes panel-vfx-sweep {
	0% {
		transform: translateX(-32%);
		opacity: 0;
	}
	18% {
		opacity: 0.58;
	}
	52% {
		transform: translateX(32%);
		opacity: 0.32;
	}
	100% {
		transform: translateX(32%);
		opacity: 0;
	}
}

@media (prefers-reduced-motion: reduce) {
	.profile-rarity-panel:before,
	.profile-rarity-panel:after,
	.ai-workstation-panel:before,
	.ai-workstation-panel:after {
		animation: none;
	}
}

.profile-rarity-panel h3 {
	max-width: 46rem;
	margin: 0 0 0.9rem 0;
	color: #ffffff;
	font-size: var(--type-card-title);
	font-weight: 400;
	line-height: 1.5;
}

.profile-rarity-panel p {
	margin: 0;
	color: rgba(255, 255, 255, 0.72);
	font-size: var(--type-small);
	line-height: var(--leading-small);
}

.profile-proof-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 1px;
	margin-top: 1.15rem;
	background: rgba(255, 255, 255, 0.16);
}

.profile-proof-grid div {
	min-height: 8rem;
	padding: 1rem 0.85rem;
	background: rgba(8, 9, 11, 0.82);
	text-align: center;
}

.proof-number {
	display: block;
	margin-bottom: 0.35rem;
	color: #8ee8d8;
	font-size: clamp(1.4rem, 2vw, 2rem);
	line-height: 1;
}

.proof-label {
	display: block;
	margin-bottom: 0.45rem;
	color: #ffffff;
	font-size: var(--type-label);
	line-height: var(--leading-label);
	text-transform: uppercase;
}

.profile-rarity-panel .professional-radar {
	margin-top: 0;
	padding-top: 0;
	border-top: 0;
}

.profile-rarity-panel .radar-heading strong {
	text-align: right;
}

.profile-rarity-panel .radar-score {
	color: rgba(255, 255, 255, 0.78);
}

.profile-rarity-panel .radar-score div {
	font-size: var(--type-label);
	line-height: 1.7;
}

.ceo-message {
	margin-top: 0.75rem;
	padding: 2rem 0 0 0;
	border-top: 1px solid #d8dce2;
}

.ceo-message h3 {
	margin: 0 0 1.15rem 0;
	padding-bottom: 1.1rem;
	border-bottom: 2px solid #111111;
	color: #111111;
	font-size: var(--type-section);
	font-weight: 400;
	line-height: var(--leading-heading);
}

.ceo-message > p:not(.eyebrow) {
	margin: 0 0 1.5rem 0;
	color: #222b36;
	font-size: var(--type-body);
	line-height: var(--leading-body);
}

.ceo-message-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1px;
	background: #d8dce2;
}

.ceo-message-grid div {
	padding: 1.25rem;
	border-left: 4px solid #8ee8d8;
	background: #ffffff;
}

.ceo-message-grid span {
	display: block;
	margin-bottom: 0.5rem;
	color: #6c3cff;
	font-size: var(--type-label);
	font-weight: 400;
	line-height: var(--leading-label);
	text-transform: uppercase;
}

.ceo-message-grid strong {
	display: block;
	color: #111111;
	font-size: var(--type-card-title);
	font-weight: 400;
	line-height: 1.45;
}

.ceo-message-grid p {
	margin: 0.7rem 0 0 0;
	color: #3d4652;
	font-size: var(--type-small);
	line-height: var(--leading-small);
}

.ai-workstation-panel {
	position: relative;
	display: grid;
	grid-template-columns: 1fr;
	gap: 0;
	margin-top: 1.15rem;
	overflow: hidden;
	color: #ffffff;
	background:
		linear-gradient(90deg, rgba(5, 9, 18, 0.66) 0%, rgba(5, 9, 18, 0.42) 46%, rgba(5, 9, 18, 0.2) 100%),
		linear-gradient(180deg, rgba(5, 9, 18, 0.12), rgba(5, 9, 18, 0.5)),
		url("../../images/workstation-digivice-orb.png") center / cover no-repeat,
		#090f17;
	border: 1px solid #233244;
	box-shadow: 0 22px 52px rgba(8, 15, 26, 0.18);
	isolation: isolate;
}

.ai-workstation-copy,
.ai-workstation-visual,
.ai-hardware-map {
	background: transparent;
}

.ai-workstation-copy {
	padding: 1.45rem 1.55rem;
	background:
		linear-gradient(135deg, rgba(108, 60, 255, 0.16), rgba(142, 232, 216, 0.06) 55%, transparent 100%),
		rgba(9, 15, 23, 0.28);
}

.ai-workstation-copy h3 {
	margin: 0 0 0.9rem 0;
	color: #ffffff;
	font-size: var(--type-card-title);
	font-weight: 400;
	line-height: 1.55;
}

.ai-workstation-copy > p:not(.eyebrow) {
	margin: 0;
	color: rgba(255, 255, 255, 0.8);
	font-size: var(--type-small);
	line-height: var(--leading-small);
}

.ai-workstation-visual {
	padding: 1.15rem;
}

.workstation-blueprint {
	position: relative;
	display: grid;
	grid-template-columns: 8.8rem minmax(0, 1fr);
	grid-template-rows: 13.2rem minmax(7.6rem, 1fr);
	gap: 0.9rem;
	flex: 1;
	min-height: 18rem;
	padding: 1.1rem;
	overflow: hidden;
	border: 1px solid rgba(255, 255, 255, 0.14);
	background:
		linear-gradient(rgba(142, 232, 216, 0.08) 1px, transparent 1px),
		linear-gradient(90deg, rgba(142, 232, 216, 0.08) 1px, transparent 1px),
		linear-gradient(135deg, rgba(255, 255, 255, 0.08), rgba(255, 255, 255, 0.02));
	background-size: 34px 34px, 34px 34px, 100% 100%;
}

.workstation-blueprint:before,
.workstation-blueprint:after {
	content: "";
	position: absolute;
	border-radius: 999px;
	pointer-events: none;
}

.workstation-blueprint:before {
	inset: auto 8% 10% 32%;
	height: 2px;
	background: linear-gradient(90deg, transparent, #8ee8d8, #6c3cff, transparent);
}

.workstation-blueprint:after {
	right: 7%;
	top: 14%;
	width: 7.8rem;
	height: 7.8rem;
	border: 1px solid rgba(142, 232, 216, 0.36);
	box-shadow: inset 0 0 36px rgba(142, 232, 216, 0.12), 0 0 32px rgba(108, 60, 255, 0.12);
}

.blueprint-machine {
	position: relative;
	z-index: 1;
	grid-column: 1;
	grid-row: 1;
	width: auto;
	height: auto;
	border: 1px solid rgba(255, 255, 255, 0.28);
	background: linear-gradient(180deg, rgba(255, 255, 255, 0.12), rgba(255, 255, 255, 0.03));
	box-shadow: inset 0 0 0 1px rgba(142, 232, 216, 0.14);
}

.machine-light,
.machine-line,
.machine-port {
	display: block;
}

.machine-light {
	width: 0.75rem;
	height: 0.75rem;
	margin: 1rem 0 0 1rem;
	border-radius: 50%;
	background: #8ee8d8;
	box-shadow: 0 0 22px rgba(142, 232, 216, 0.82);
}

.machine-line {
	width: calc(100% - 2rem);
	height: 1px;
	margin: 1.1rem auto 0 auto;
	background: rgba(255, 255, 255, 0.28);
}

.machine-port {
	position: absolute;
	left: 1rem;
	right: 1rem;
	bottom: 1rem;
	height: 2.2rem;
	border: 1px solid rgba(142, 232, 216, 0.34);
	background: rgba(142, 232, 216, 0.1);
}

.blueprint-core {
	position: relative;
	z-index: 1;
	grid-column: 2;
	grid-row: 1;
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: 1rem 1.05rem;
	border: 1px solid rgba(142, 232, 216, 0.36);
	background: rgba(7, 12, 20, 0.72);
}

.blueprint-core span,
.blueprint-ring-item span {
	display: block;
	color: #8ee8d8;
	font-size: var(--type-label);
	font-weight: 400;
	line-height: var(--leading-label);
	text-transform: uppercase;
}

.blueprint-core strong {
	display: block;
	margin-top: 0.3rem;
	color: #ffffff;
	font-size: var(--type-card-title);
	font-weight: 400;
	line-height: 1.35;
}

.blueprint-core p {
	margin: 0.4rem 0 0 0;
	color: rgba(255, 255, 255, 0.68);
	font-size: var(--type-label);
	line-height: var(--leading-label);
	overflow-wrap: anywhere;
}

.blueprint-ring {
	position: relative;
	z-index: 2;
	grid-column: 1 / -1;
	grid-row: 2;
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	grid-auto-rows: minmax(4.7rem, 1fr);
	gap: 0.65rem;
}

.blueprint-ring-item {
	display: block;
	padding: 0.74rem 0.78rem;
	border: 1px solid rgba(255, 255, 255, 0.16);
	background: rgba(17, 25, 35, 0.92);
	text-align: left;
}

.blueprint-ring-item p {
	margin: 0.34rem 0 0 0;
	color: rgba(255, 255, 255, 0.72);
	font-size: var(--type-label);
	line-height: var(--leading-label);
}

.ai-workstation-visual > p {
	margin: 0.7rem 0 0 0;
	color: rgba(255, 255, 255, 0.78);
	font-size: var(--type-small);
	line-height: var(--leading-small);
}

.ai-workstation-architecture {
	display: grid;
	grid-column: 1 / -1;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1px;
	margin: 1.15rem;
	border: 1px solid rgba(142, 232, 216, 0.38);
	background: rgba(142, 232, 216, 0.14);
	box-shadow: inset 0 0 0 1px rgba(108, 60, 255, 0.12);
}

.ai-workstation-core {
	grid-column: 1 / -1;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	min-height: 7.2rem;
	padding: 1.25rem;
	text-align: center;
	border-bottom: 1px solid rgba(142, 232, 216, 0.24);
	background:
		linear-gradient(135deg, rgba(142, 232, 216, 0.16), rgba(108, 60, 255, 0.12), rgba(255, 255, 255, 0.035)),
		rgba(17, 25, 35, 0.68);
}

.ai-workstation-visual,
.ai-hardware-map {
	display: flex;
	flex-direction: column;
	padding: 1.25rem;
	background: rgba(17, 25, 35, 0.72);
}

.ai-workstation-visual,
.ai-hardware-map {
	min-height: 29rem;
}

.ai-hardware-map {
	border-right: 0;
}

.ai-map-label,
.ai-workstation-core span,
.hardware-node span {
	display: block;
	color: #8ee8d8;
	font-size: var(--type-label);
	font-weight: 400;
	line-height: var(--leading-label);
	text-transform: uppercase;
}

.ai-map-label {
	margin-bottom: 0.85rem;
}

.hardware-diagram {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	grid-auto-rows: minmax(5.6rem, auto);
	gap: 0.65rem;
	position: relative;
	flex: 1;
}

.hardware-diagram:before {
	display: none;
}

.hardware-node {
	position: relative;
	padding: 0.8rem;
	border: 1px solid rgba(255, 255, 255, 0.14);
	background: rgba(255, 255, 255, 0.045);
}

.hardware-storage,
.hardware-network {
	grid-column: auto;
}

.ai-workstation-core strong,
.hardware-node strong {
	display: block;
	margin-top: 0.3rem;
	color: #ffffff;
	font-size: var(--type-small);
	font-weight: 400;
	line-height: 1.55;
	overflow-wrap: anywhere;
}

.ai-workstation-core p,
.hardware-node p {
	margin: 0.55rem 0 0 0;
	color: rgba(255, 255, 255, 0.72);
	font-size: var(--type-small);
	line-height: var(--leading-small);
}

.ai-workstation-core p {
	margin-top: 0.65rem;
}

.hardware-node p {
	font-size: var(--type-label);
	line-height: var(--leading-label);
}

.case-hero-section {
	display: flex;
	min-height: 74vh;
	margin: 0 !important;
	padding: 0 !important;
	align-items: center;
	background:
		linear-gradient(90deg, rgba(0, 0, 0, 0.98) 0%, rgba(0, 0, 0, 0.9) 42%, rgba(0, 0, 0, 0.58) 72%, rgba(0, 0, 0, 0.9) 100%),
		linear-gradient(180deg, rgba(0, 0, 0, 0.48), rgba(0, 0, 0, 0.82)),
		url("../images/hero-ax.jpg") center right / cover no-repeat;
	color: #ffffff;
}

.case-hero-section .inner {
	display: grid;
	grid-template-columns: minmax(0, 1.08fr) minmax(18rem, 0.92fr);
	gap: 3.5rem;
	align-items: center;
	width: min(1120px, calc(100% - 48px));
	margin: 0 auto;
	padding: 7rem 0 4rem 0;
}

.case-hero-copy h2 {
	max-width: 760px;
	margin: 0 0 1.25rem 0;
	padding: 0 0 1.2rem 0;
	border-bottom: 2px solid #8ee8d8;
	color: #ffffff;
	font-size: var(--type-hero);
	font-weight: 400;
	line-height: var(--leading-hero);
	text-transform: none;
}

.case-hero-copy h2 span {
	display: block;
}

.case-hero-copy p:not(.eyebrow) {
	max-width: 720px;
	margin: 0;
	color: rgba(255, 255, 255, 0.82);
	font-size: var(--type-lead);
	line-height: var(--leading-body);
}

.case-hero-visual {
	padding: 0.8rem;
	border: 1px solid rgba(255, 255, 255, 0.16);
	border-radius: 6px;
	background: rgba(255, 255, 255, 0.06);
}

.case-hero-visual img {
	display: block;
	width: 100%;
	aspect-ratio: 16 / 10;
	border-radius: 4px;
	object-fit: cover;
}

.case-index-section {
	background: #f7f8fa !important;
}

.case-index-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1.15rem;
	margin-top: 2.25rem;
}

.case-index-grid a {
	display: flex;
	flex-direction: column;
	min-height: 31rem;
	padding: 1.45rem;
	border: 1px solid #e1e6ee;
	border-radius: 6px;
	background: #ffffff;
	box-shadow: 0 18px 42px rgba(8, 9, 11, 0.07);
	color: #111111;
	text-decoration: none;
}

.case-index-grid a:hover {
	border-color: #8ee8d8;
	color: #111111 !important;
	transform: translateY(-2px);
}

.case-index-grid strong {
	display: block;
	margin-top: 0.75rem;
	color: #08090b;
	font-size: var(--type-card-title);
	line-height: 1.35;
}

.case-index-grid em {
	display: block;
	margin-top: 1rem;
	color: #444444;
	font-style: normal;
	font-size: var(--type-small);
	line-height: var(--leading-small);
}

.case-shift-copy {
	display: grid;
	grid-template-columns: 1fr;
	gap: 0.7rem;
	margin-top: 1.2rem;
	padding-top: 1rem;
	border-top: 1px solid #d8dce2;
}

.case-shift-copy div {
	padding: 0.85rem;
	border: 1px solid #e1e6ee;
	border-radius: 4px;
	background: #f7f8fa;
}

.case-shift-copy b {
	display: block;
	margin-bottom: 0.42rem;
	color: #6c3cff;
	font-size: var(--type-label);
	font-weight: 400;
	line-height: var(--leading-label);
	text-transform: uppercase;
}

.case-shift-copy p {
	margin: 0;
	color: #222222;
	font-size: 0.86rem;
	line-height: 1.72;
}

.case-shift-visual {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr) auto minmax(0, 1fr);
	gap: 0.46rem;
	align-items: center;
	margin-top: auto;
	padding-top: 1rem;
}

.case-shift-visual div {
	min-height: 5.15rem;
	padding: 0.8rem 0.55rem;
	border: 1px solid #d8dce2;
	border-radius: 4px;
	background:
		radial-gradient(circle at 50% 18%, rgba(142, 232, 216, 0.22), transparent 52%),
		#ffffff;
	text-align: center;
}

.case-shift-visual i {
	display: block;
	width: 1.15rem;
	height: 1.15rem;
	margin: 0 auto 0.42rem auto;
	border: 2px solid #111111;
	border-radius: 999px;
	background: #ffffff;
	box-shadow: 0 0 0 0.28rem rgba(108, 60, 255, 0.13);
}

.case-shift-visual span,
.case-shift-visual small {
	display: block;
	line-height: var(--leading-label);
}

.case-shift-visual span {
	color: #111111;
	font-size: 0.72rem;
	font-weight: 400;
	text-transform: uppercase;
}

.case-shift-visual small {
	margin-top: 0.35rem;
	color: #555555;
	font-size: 0.62rem;
	font-weight: 400;
}

.case-shift-visual > b {
	color: #6c3cff;
	font-size: 1rem;
	line-height: 1;
}

.experience-shift div:nth-of-type(2) i,
.market-shift div:nth-of-type(2) i,
.legacy-shift div:nth-of-type(2) i {
	border-color: #6c3cff;
	background: #8ee8d8;
}

.experience-shift div:nth-of-type(3),
.market-shift div:nth-of-type(3),
.legacy-shift div:nth-of-type(3) {
	border-color: rgba(108, 60, 255, 0.32);
	background:
		radial-gradient(circle at 50% 20%, rgba(108, 60, 255, 0.16), transparent 54%),
		#ffffff;
}

.case-detail-section {
	background: #ffffff !important;
}

.case-detail-section.case-dark {
	background: #08090b !important;
	color: #ffffff;
}

.case-detail-section.case-dark h2,
.case-detail-section.case-dark h3,
.case-detail-section.case-dark strong {
	color: #ffffff;
}

.case-detail-section.case-dark h2.major {
	border-bottom-color: #8ee8d8;
}

.case-detail-section.case-dark .lead,
.case-detail-section.case-dark p {
	color: rgba(255, 255, 255, 0.76);
}

.case-detail-head {
	max-width: 920px;
}

.case-detail-basis-head {
	display: block;
	max-width: none;
}

.case-detail-basis-head > div {
	max-width: 64rem;
}

.case-basis-panel {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 0.9rem;
	align-content: start;
	margin-top: 1.4rem;
}

.case-basis-panel .basis-label {
	grid-column: 1 / -1;
	margin: 0 0 0.15rem 0;
	color: #6c3cff;
	font-size: var(--type-label);
	font-weight: 400;
	line-height: var(--leading-label);
	text-transform: uppercase;
}

.case-basis-panel div {
	min-height: 9.35rem;
	padding: 1.25rem;
	border: 1px solid #d8dce2;
	border-radius: 4px;
	background:
		linear-gradient(135deg, rgba(142, 232, 216, 0.12), transparent 55%),
		#ffffff;
}

.case-basis-panel strong,
.case-basis-panel span {
	display: block;
}

.case-basis-panel strong {
	color: #08090b;
	font-size: clamp(1.45rem, 2.1vw, 2.1rem);
	font-weight: 400;
	line-height: 1.15;
}

.case-basis-panel span {
	margin-top: 0.5rem;
	color: #333333;
	font-size: var(--type-small);
	line-height: var(--leading-small);
}

.case-dark .case-basis-panel .basis-label {
	color: #8ee8d8;
}

.case-dark .case-basis-panel div {
	border-color: rgba(255, 255, 255, 0.16);
	background:
		linear-gradient(135deg, rgba(142, 232, 216, 0.12), transparent 56%),
		#181818;
}

.case-dark .case-basis-panel strong {
	color: #ffffff;
}

.case-dark .case-basis-panel span {
	color: rgba(255, 255, 255, 0.74);
}

.case-detail-layout {
	display: grid;
	grid-template-columns: minmax(0, 0.92fr) minmax(0, 1.08fr);
	gap: 1.15rem;
	align-items: stretch;
	margin-top: 2.25rem;
}

.case-visual-panel {
	display: flex;
	min-height: 18rem;
	align-items: center;
	border: 1px solid #e1e6ee;
	border-radius: 6px;
	background: #f7f8fa;
	overflow: hidden;
}

.case-dark .case-visual-panel {
	border-color: rgba(255, 255, 255, 0.16);
	background: rgba(255, 255, 255, 0.06);
}

.case-visual-panel img {
	display: block;
	width: 100%;
	aspect-ratio: 16 / 9;
	object-fit: cover;
}

.case-stat-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1px;
	background: #d8dce2;
}

.case-dark .case-stat-grid {
	background: rgba(255, 255, 255, 0.16);
}

.case-stat-grid div {
	min-height: 8.9rem;
	padding: 1.35rem;
	background: #ffffff;
}

.case-dark .case-stat-grid div {
	background: #111111;
}

.case-stat-grid span {
	display: block;
	color: #6c3cff;
	font-size: clamp(1.2rem, 1.7vw, 1.85rem);
	font-weight: 400;
	line-height: 1.2;
	overflow-wrap: anywhere;
}

.case-dark .case-stat-grid span {
	color: #8ee8d8;
}

.case-stat-grid strong {
	display: block;
	margin-top: 0.55rem;
	color: #111111;
	font-size: var(--type-small);
	line-height: 1.35;
	overflow-wrap: anywhere;
}

.case-stat-grid small {
	display: block;
	margin-top: 0.42rem;
	color: #566171;
	font-size: var(--type-label);
	font-weight: 400;
	line-height: var(--leading-label);
}

.case-dark .case-stat-grid small {
	color: rgba(255, 255, 255, 0.62);
}

.case-confidence-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1px;
	margin-top: 1.25rem;
	background: #d8dce2;
}

.case-dark .case-confidence-grid {
	background: rgba(255, 255, 255, 0.16);
}

.case-confidence-grid div {
	min-height: 10.25rem;
	padding: 1.2rem;
	background: #f7f8fa;
}

.case-dark .case-confidence-grid div {
	background: #111111;
}

.case-confidence-grid span {
	display: block;
	color: #6c3cff;
	font-size: var(--type-label);
	font-weight: 400;
	line-height: var(--leading-label);
	text-transform: uppercase;
}

.case-dark .case-confidence-grid span {
	color: #8ee8d8;
}

.case-confidence-grid strong {
	display: block;
	margin-top: 0.7rem;
	color: #111111;
	font-size: var(--type-card-title);
	font-weight: 400;
	line-height: 1.42;
}

.case-dark .case-confidence-grid strong {
	color: #ffffff;
}

.case-confidence-grid p {
	margin: 0.7rem 0 0 0;
	color: #3d4652;
	font-size: var(--type-small);
	line-height: var(--leading-small);
}

.case-dark .case-confidence-grid p {
	color: rgba(255, 255, 255, 0.72);
}

.case-tag-explain {
	margin-top: 1.25rem;
	padding: 1.25rem;
	border: 1px solid #dce2ea;
	border-radius: 6px;
	background: #ffffff;
}

.case-dark .case-tag-explain {
	border-color: rgba(255, 255, 255, 0.16);
	background: #111111;
}

.case-tag-explain h3 {
	margin: 0;
	color: #111111;
	font-size: var(--type-card-title);
	font-weight: 400;
	line-height: 1.45;
}

.case-dark .case-tag-explain h3 {
	color: #ffffff;
}

.case-tag-explain dl {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1px;
	margin: 1rem 0 0 0;
	background: #d8dce2;
}

.case-dark .case-tag-explain dl {
	background: rgba(255, 255, 255, 0.16);
}

.case-tag-explain dl div {
	min-height: 9.2rem;
	padding: 1rem;
	background: #f7f8fa;
}

.case-dark .case-tag-explain dl div {
	background: #181818;
}

.case-tag-explain dt {
	margin: 0 0 0.55rem 0;
	color: #6c3cff;
	font-size: var(--type-label);
	font-weight: 400;
	line-height: var(--leading-label);
}

.case-dark .case-tag-explain dt {
	color: #8ee8d8;
}

.case-tag-explain dd {
	margin: 0;
	color: #3d4652;
	font-size: var(--type-small);
	line-height: var(--leading-small);
}

.case-dark .case-tag-explain dd {
	color: rgba(255, 255, 255, 0.72);
}

.case-model-board {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1px;
	margin-top: 2.25rem;
	background: #d8dce2;
}

.case-dark .case-model-board {
	background: rgba(255, 255, 255, 0.16);
}

.case-model-board div {
	min-height: 13.5rem;
	padding: 1.35rem;
	background: #f7f8fa;
}

.case-dark .case-model-board div {
	background: #111111;
}

.case-model-board strong {
	display: block;
	margin: 0.7rem 0 0.7rem 0;
	color: #111111;
	font-size: var(--type-card-title);
	font-weight: 400;
	line-height: 1.45;
}

.case-model-board p {
	margin: 0;
	color: #444444;
	font-size: var(--type-small);
	line-height: var(--leading-small);
}

.case-flow {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(12rem, 1fr));
	gap: 0.75rem;
	margin: 2.25rem 0 0 0;
	padding: 0;
	list-style: none;
	counter-reset: case-flow;
}

.case-flow li {
	position: relative;
	min-height: 11.25rem;
	padding: 1.1rem;
	border: 1px solid #dce2ea;
	border-radius: 6px;
	background: #ffffff;
}

.case-dark .case-flow li {
	border-color: rgba(255, 255, 255, 0.16);
	background: #111111;
}

.case-flow li:not(:last-child):after {
	content: "";
	position: absolute;
	top: 50%;
	right: -0.62rem;
	width: 0.5rem;
	height: 0.5rem;
	border-top: 2px solid #8ee8d8;
	border-right: 2px solid #8ee8d8;
	transform: translateY(-50%) rotate(45deg);
}

.case-flow strong {
	display: block;
	color: #111111;
	font-size: var(--type-small);
	font-weight: 400;
	line-height: 1.45;
}

.case-flow em {
	display: block;
	margin-top: 0.7rem;
	color: #6c3cff;
	font-size: clamp(1.05rem, 1.35vw, 1.4rem);
	font-style: normal;
	font-weight: 400;
	line-height: 1.18;
	overflow-wrap: anywhere;
}

.case-dark .case-flow em {
	color: #8ee8d8;
}

.case-flow span {
	display: block;
	margin-top: 0.48rem;
	color: #4f5968;
	font-size: var(--type-label);
	font-weight: 400;
	line-height: var(--leading-label);
}

.case-dark .case-flow span {
	color: rgba(255, 255, 255, 0.66);
}

.case-model-section {
	background: #f7f8fa !important;
}

.operating-loop {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(12rem, 1fr));
	gap: 1px;
	margin-top: 2.25rem;
	background: #d8dce2;
}

.operating-loop div {
	min-height: 15rem;
	padding: 1.25rem;
	background: #ffffff;
}

.operating-loop strong {
	display: block;
	margin: 0.75rem 0 0.7rem 0;
	color: #111111;
	font-size: var(--type-card-title);
	font-weight: 400;
	line-height: 1.45;
}

.operating-loop p {
	margin: 0;
	color: #444444;
	font-size: var(--type-small);
	line-height: var(--leading-small);
}

.case-closing {
	margin-top: 2.25rem;
	padding: 1.5rem;
	border-left: 4px solid #8ee8d8;
	background: #111111;
	color: #ffffff;
}

.case-closing strong {
	display: block;
	margin-bottom: 0.6rem;
	color: #ffffff;
	font-size: var(--type-card-title);
	font-weight: 400;
	line-height: 1.45;
}

.case-closing p {
	margin: 0;
	color: rgba(255, 255, 255, 0.76);
	font-size: var(--type-small);
	line-height: var(--leading-small);
}

/* ============================================================
   八百万のAI — Yaoyorozu Philosophy Section
   ============================================================ */

.yaoyorozu-section {
	position: relative;
	overflow: hidden;
	isolation: isolate;
	background: #06060d !important;
	color: #ffffff;
}

/* 背景：宇宙・神話的な雰囲気を演出するグラデーション */
.yaoyorozu-section::before {
	content: "";
	display: block;
	position: absolute;
	inset: 0;
	z-index: 0;
	background:
		radial-gradient(ellipse 80% 55% at 18% 42%, rgba(108, 60, 255, 0.22) 0%, transparent 68%),
		radial-gradient(ellipse 60% 45% at 82% 28%, rgba(142, 232, 216, 0.14) 0%, transparent 62%),
		radial-gradient(ellipse 100% 70% at 50% 100%, rgba(6, 6, 22, 0.92) 0%, transparent 72%);
	pointer-events: none;
}

/* 縦の光線エフェクト（神々の降臨イメージ） */
.yaoyorozu-section::after {
	content: "";
	display: block;
	position: absolute;
	inset: 0;
	z-index: 0;
	background:
		repeating-linear-gradient(
			98deg,
			transparent 0px,
			transparent 38px,
			rgba(142, 232, 216, 0.022) 38px,
			rgba(142, 232, 216, 0.022) 39px
		);
	pointer-events: none;
}

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

.yaoyorozu-section h2.major {
	border-bottom-color: rgba(142, 232, 216, 0.5);
	color: #ffffff;
}

.yaoyorozu-section h2.major span {
	display: block;
}

/* 第1行：太く強い主張 */
.yaoyorozu-section h2.major span:first-child {
	color: #ffffff;
}

/* 第2行：アクセントカラーで引き立て */
.yaoyorozu-section h2.major span:last-child {
	color: #8ee8d8;
	font-size: 0.85em;
	margin-top: 0.15em;
}

.yaoyorozu-section h2,
.yaoyorozu-section h3 {
	color: #ffffff;
}

.yaoyorozu-section .eyebrow {
	color: #8ee8d8;
}

.yaoyorozu-section .lead {
	max-width: 58rem;
	color: rgba(255, 255, 255, 0.72);
}

/* ---- 3列グリッド ---- */
.yaoyorozu-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1px;
	margin-top: 2.75rem;
	background: rgba(142, 232, 216, 0.16);
	border: 1px solid rgba(142, 232, 216, 0.16);
	border-radius: 4px;
	overflow: hidden;
}

.yaoyorozu-grid > div {
	position: relative;
	display: flex;
	min-height: 15rem;
	padding: 1.75rem 1.55rem 1.85rem 1.55rem;
	flex-direction: column;
	background: rgba(255, 255, 255, 0.038);
	transition: background 0.25s ease;
}

.yaoyorozu-grid > div:hover {
	background: rgba(142, 232, 216, 0.07);
}

/* 漢字1文字のアイコン — 神話的な大文字表示 */
.yaoyorozu-grid > div > span {
	display: inline-block;
	margin-bottom: 1.15rem;
	color: #8ee8d8;
	font-size: 2.25rem;
	font-weight: 300;
	line-height: 1;
	letter-spacing: -0.02em;
	opacity: 0.9;
}

/* 細い下線デバイダー */
.yaoyorozu-grid > div > span::after {
	content: "";
	display: block;
	width: 1.75rem;
	height: 1px;
	margin-top: 0.6rem;
	background: linear-gradient(90deg, #8ee8d8 0%, transparent 100%);
}

.yaoyorozu-grid > div > h3 {
	margin: 0 0 0.75rem 0;
	color: #ffffff;
	font-size: var(--type-card-title);
	font-weight: 400;
	line-height: 1.45;
}

.yaoyorozu-grid > div > p {
	margin: 0;
	color: rgba(255, 255, 255, 0.68);
	font-size: var(--type-small);
	line-height: var(--leading-small);
	flex-grow: 1;
}

/* 各カードに固有のアクセント色帯（左ボーダー） */
.yaoyorozu-grid > div:nth-child(1) {
	border-left: 3px solid rgba(108, 60, 255, 0.72);
}

.yaoyorozu-grid > div:nth-child(2) {
	border-left: 3px solid rgba(142, 232, 216, 0.72);
}

.yaoyorozu-grid > div:nth-child(3) {
	border-left: 3px solid rgba(108, 60, 255, 0.45);
}

/* 区切り線（カード間の縦線）はgapの代わりにbackgroundで表現済み */

/* ---- レスポンシブ ---- */
@media screen and (max-width: 980px) {
	.yaoyorozu-grid {
		grid-template-columns: 1fr;
	}

	.yaoyorozu-section h2.major span:last-child {
		font-size: 0.9em;
	}
}

@media screen and (max-width: 736px) {
	.yaoyorozu-grid > div {
		min-height: auto;
		padding: 1.35rem;
	}

	.yaoyorozu-grid > div > span {
		font-size: 1.85rem;
	}

	.yaoyorozu-section h2.major span {
		display: block;
	}
}

/* ============================================================
   End of Yaoyorozu Section
   ============================================================ */

#footer {
	margin-top: 0;
	position: relative;
	overflow: hidden;
	background-color: #08090d;
}
#footer-bg {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	opacity: 0.45;
	z-index: 0;
}
#footer-overlay {
	position: absolute;
	inset: 0;
	z-index: 1;
	background: linear-gradient(135deg, rgba(4,2,18,0.55) 0%, rgba(8,4,22,0.40) 50%, rgba(4,2,18,0.55) 100%);
}
#footer .inner {
	position: relative;
	z-index: 2;
}

#footer .inner {
	padding: 5.5rem 0 4rem 0;
}

#footer .contact li,
#footer p,
#footer .copyright {
	color: rgba(255, 255, 255, 0.78);
}

#footer .contact a {
	overflow-wrap: anywhere;
}

@media screen and (max-width: 736px) {
	#footer .inner {
		width: calc(100% - 2em);
		margin: 0 auto;
	}
}

@media screen and (max-width: 980px) {
	#banner {
		min-height: 68vh;
		background-position: 62% center;
	}

	#banner .inner,
	.wrapper .inner {
		width: min(100% - 40px, 760px);
	}

	#banner .inner {
		padding: 6.5rem 0 3.5rem 0;
	}

	#banner h2 {
		font-size: calc(2.5rem - 1pt);
	}

	#banner .inner > p:not(.eyebrow),
	.lead {
		font-size: 1em;
		line-height: var(--leading-body);
	}

	.metric strong {
		font-size: 2rem;
	}

	.wrapper .inner {
		padding: 4.5rem 0;
	}

	.wrapper h2.major,
	#footer h2.major {
		font-size: 1.6875rem;
	}

	.purpose-grid h3,
	.problem-grid h3,
	.capability-grid h3,
	.portfolio-grid h3,
	.features.service-grid article h3 {
		font-size: 1.0625rem;
	}

	.wrapper.spotlight .inner,
	#ax.wrapper.spotlight .inner,
	#impact.wrapper.spotlight .inner,
	.profile-inner {
		grid-template-columns: 1fr;
		gap: 1.25rem;
	}

	#impact.wrapper.spotlight .inner.impact-layout {
		grid-template-areas:
			"intro"
			"system";
	}

	.impact-system-grid {
		grid-template-columns: 1fr;
	}

	.impact-intro h2.major {
		white-space: normal;
		word-break: normal;
		overflow-wrap: anywhere;
	}

	#ax.wrapper.spotlight .image,
	#ax.wrapper.spotlight .content {
		order: initial;
	}

	.profile-card,
	.ceo-message-grid {
		grid-template-columns: 1fr;
	}

	.profile-rarity-panel,
	.profile-proof-grid {
		grid-template-columns: 1fr;
	}

	.ai-workstation-panel {
		grid-template-columns: 1fr;
	}

	.ai-workstation-architecture {
		grid-template-columns: 1fr;
	}

	.ai-workstation-core {
		gap: 0.45rem;
	}

	.ai-hardware-map {
		border-right: 0;
		border-bottom: 1px solid rgba(255, 255, 255, 0.14);
	}

	.ai-workstation-visual {
		border-left: 0;
	}

	.ai-workstation-visual,
	.ai-hardware-map {
		min-height: auto;
	}

	.profile-rarity-panel .radar-heading strong {
		text-align: left;
	}

	.impact-visual {
		max-width: none;
	}

	.purpose-grid,
	.problem-grid,
	.features.service-grid {
		grid-template-columns: 1fr;
	}

	.problem-slider-toolbar {
		align-items: stretch;
		flex-direction: column;
		gap: 0.75rem;
	}

	.problem-slider-arrows {
		justify-content: flex-end;
	}

	.problem-slider-shell:after {
		width: 3rem;
	}

	.problem-grid > article {
		flex-basis: min(82vw, 28rem);
		max-width: none;
		grid-template-rows: auto;
	}

	.problem-grid .problem-copy {
		margin-bottom: 1.25rem;
	}

	.solution-block {
		margin: 0 -1.35rem -1.35rem -1.35rem;
		padding: 2.25rem 1.35rem 1.35rem 1.35rem;
	}

	.solution-block:before {
		left: 1.35rem;
	}

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

	.capability-section:before {
		background:
			linear-gradient(90deg, rgba(255, 255, 255, 0.96) 0%, rgba(255, 255, 255, 0.76) 52%, rgba(255, 255, 255, 0.9) 100%),
			url("../images/capability-advance.svg") center 28% / min(76rem, 145vw) auto no-repeat;
		opacity: 0.82;
	}

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

	.portfolio-visual,
	.ledger-grid {
		grid-template-columns: 1fr;
	}

	.radar-body {
		grid-template-columns: minmax(0, 1fr);
	}

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

	.recent-case-grid,
	.case-index-grid {
		grid-template-columns: 1fr;
	}

	.case-hero-section .inner {
		grid-template-columns: 1fr;
		width: min(100% - 40px, 760px);
		gap: 2rem;
		padding: 6.5rem 0 3.5rem 0;
	}

	.case-hero-copy h2 {
		font-size: 2.5rem;
	}

	.case-detail-basis-head,
	.case-detail-layout,
	.case-confidence-grid,
	.case-model-board,
	.case-tag-explain dl {
		grid-template-columns: 1fr;
	}

	.case-basis-panel {
		grid-template-columns: 1fr;
	}

	.case-flow,
	.operating-loop {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.case-flow li:nth-child(2n):after {
		display: none;
	}

}

@media screen and (max-width: 736px) {
	body {
		font-size: var(--type-body);
		line-height: var(--leading-body);
	}

	input,
	select,
	textarea {
		font-size: 1em;
		line-height: var(--leading-body);
	}

	#header {
		height: 3.25em;
	}

	#banner {
		min-height: 66vh;
		background-image:
			linear-gradient(90deg, rgba(0, 0, 0, 0.98) 0%, rgba(0, 0, 0, 0.9) 48%, rgba(0, 0, 0, 0.5) 100%),
			var(--banner-image);
		background-position: 70% center;
	}

	#banner .inner,
	.wrapper .inner {
		width: calc(100% - 32px);
	}

	#banner .inner {
		padding: 5.25rem 0 3rem 0;
	}

	#banner h2 {
		font-size: calc(1.75rem - 1pt);
		line-height: 1.22;
	}

	.case-hero-section {
		min-height: auto;
	}

	.case-hero-section .inner {
		width: calc(100% - 32px);
		padding: 5.25rem 0 3rem 0;
	}

	.case-hero-copy h2 {
		font-size: 1.75rem;
		line-height: 1.22;
	}

	.case-hero-copy p:not(.eyebrow) {
		font-size: 1em;
		line-height: 1.8;
	}

	#banner .inner > p:not(.eyebrow) {
		max-width: none;
		font-size: 1em;
		line-height: 1.8;
	}

	#banner .inner > p:not(.eyebrow) span {
		white-space: normal;
	}

	.wrapper .inner {
		padding: 3.7rem 0;
	}

	.wrapper h2.major,
	#footer h2.major {
		font-size: 1.375rem;
		line-height: 1.45;
		padding-bottom: 0.85rem;
	}

	.purpose-section h2.major span,
	.portfolio-section h2.major span,
	.recent-cases-section h2.major span {
		display: block;
	}

	.lead {
		font-size: 1em;
		line-height: 1.8;
	}

	.purpose-grid h3,
	.problem-grid h3,
	.capability-grid h3,
	.portfolio-grid h3 {
		font-size: 1em;
	}

	.capability-grid,
	.portfolio-grid {
		grid-template-columns: 1fr;
	}

	.capability-section:before {
		background:
			linear-gradient(180deg, rgba(255, 255, 255, 0.94) 0%, rgba(255, 255, 255, 0.82) 46%, rgba(255, 255, 255, 0.94) 100%),
			url("../images/capability-advance.svg") 58% 7rem / 48rem auto no-repeat;
		opacity: 0.76;
	}

	.portfolio-metrics {
		grid-template-columns: 1fr;
	}

	.portfolio-metrics > div {
		min-height: auto;
		padding: 1rem;
	}

	.portfolio-metrics > div > strong {
		font-size: 1.25rem;
	}

	.portfolio-chart,
	.coverage-map,
	.portfolio-ledger {
		padding: 1.1rem;
	}

	.bar-row {
		grid-template-columns: 1fr 3rem;
		gap: 0.45rem 0.8rem;
	}

	.bar-row i {
		grid-column: 1 / -1;
		grid-row: 2;
	}

	.bar-row strong {
		grid-column: 2;
		grid-row: 1;
	}

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

	.radar-heading {
		display: block;
	}

	.radar-heading strong {
		display: block;
		margin-top: 0.35rem;
		text-align: left;
	}

	.radar-chart {
		min-height: 17rem;
	}

	.radar-legend,
	.radar-score {
		grid-template-columns: 1fr;
	}

	.impact-step-grid,
	.impact-blocker-grid,
	.impact-kpi-grid {
		grid-template-columns: 1fr;
	}

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

	.workstation-blueprint {
		grid-template-columns: 1fr;
		grid-template-rows: 9.8rem auto auto;
		min-height: auto;
	}

	.blueprint-machine {
		grid-column: 1;
		grid-row: 1;
		width: auto;
		height: auto;
		transform: none;
	}

	.blueprint-core {
		grid-column: 1;
		grid-row: 2;
		min-height: 9.8rem;
	}

	.blueprint-core p {
		display: none;
	}

	.blueprint-ring {
		grid-column: 1;
		grid-row: 3;
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.hardware-diagram {
		grid-template-columns: 1fr;
		grid-auto-rows: auto;
	}

	.hardware-diagram:before {
		display: none;
	}

	.hardware-cpu,
	.hardware-board,
	.hardware-gpu,
	.hardware-memory,
	.hardware-storage,
	.hardware-network {
		grid-column: auto;
		grid-row: auto;
	}

	.metric {
		min-height: 4.9rem;
		padding: 0.3rem 0.35rem;
	}

	.metric:nth-child(2n) {
		border-right: 1px solid rgba(255, 255, 255, 0.18);
	}

	.metric strong {
		font-size: 1.25rem;
	}

	.metric span {
		font-size: 0.75rem;
		white-space: normal;
		word-break: normal;
		overflow-wrap: anywhere;
	}

	.problem-grid > article {
		flex-basis: 88vw;
		min-height: auto;
		padding: 1.35rem;
	}

	.problem-grid {
		gap: 0.85rem;
	}

	.problem-slider-menu a {
		min-height: 2.25rem;
		padding: 0.3rem 0.72rem;
	}

	.wrapper.spotlight .image {
		width: 100%;
		max-width: none;
	}

	.wrapper.spotlight .image img {
		aspect-ratio: 16 / 9;
	}

	.impact-list {
		grid-template-columns: 1fr;
	}

	.decision-flow,
	.decision-problems ul {
		grid-template-columns: 1fr;
	}

	.decision-flow div {
		min-height: auto;
	}

	.decision-problems li {
		grid-template-columns: 1fr;
		gap: 0.35rem;
	}

	.features.service-grid article .image {
		aspect-ratio: 16 / 9;
	}

	.case-card-body {
		padding: 1.15rem;
	}

	.case-index-grid a,
	.case-basis-panel div,
	.case-confidence-grid div,
	.case-model-board div,
	.operating-loop div,
	.case-tag-explain dl div {
		min-height: auto;
		padding: 1.15rem;
	}

	.case-detail-layout {
		gap: 1rem;
	}

	.case-stat-grid {
		grid-template-columns: 1fr;
	}

	.case-stat-grid div {
		min-height: 6.8rem;
		padding: 1rem;
	}

	.case-stat-grid span {
		font-size: 1.25rem;
	}

	.case-flow,
	.operating-loop {
		grid-template-columns: 1fr;
	}

	.case-flow li {
		min-height: auto;
	}

	.case-flow li:not(:last-child):after {
		display: none;
	}

	/* Mobile edge contract: full-bleed surfaces touch the viewport; text breathes inside. */
	#banner + .kpi-strip,
	.cases-kpi-strip,
	.cases-visual-grid,
	.model-evolution-flow,
	.problem-visual-grid,
	.spotlight-full,
	.services-full-grid,
	.profile-rarity-panel,
	.ai-workstation-panel {
		width: 100vw !important;
		margin-right: calc(50% - 50vw) !important;
		margin-left: calc(50% - 50vw) !important;
	}

	#banner + .kpi-strip {
		margin-top: 0 !important;
		padding-right: 0 !important;
		padding-left: 0 !important;
		border-top: 0 !important;
		border-left: 0 !important;
	}

	.model-evolution-flow,
	.profile-rarity-panel,
	.ai-workstation-panel {
		border-right: 0 !important;
		border-left: 0 !important;
		border-radius: 0 !important;
	}

	.model-evolution-flow {
		padding-right: 1.25rem !important;
		padding-left: 1.25rem !important;
	}

	.cases-visual-grid,
	.problem-visual-grid,
	.services-full-grid {
		gap: 0 !important;
		padding-right: 0 !important;
		padding-left: 0 !important;
		border-left: 0 !important;
	}

	.cases-visual-item,
	.problem-visual-card,
	.service-full-item,
	.spotlight-full,
	.spotlight-full-img,
	.spotlight-full-img img {
		border-radius: 0 !important;
	}

	.spotlight-full {
		padding-right: 0 !important;
		padding-left: 0 !important;
		border-left: 0 !important;
	}

	.problem-visual-card,
	.service-full-item {
		border-right: 0 !important;
		border-left: 0 !important;
	}

	.spotlight-full-copy,
	.profile-rarity-panel,
	.ai-workstation-copy,
	.ai-workstation-visual,
	.ai-hardware-map {
		padding-right: 1.25rem !important;
		padding-left: 1.25rem !important;
	}

	.ai-workstation-architecture {
		margin-right: 0 !important;
		margin-left: 0 !important;
		border-right: 0 !important;
		border-left: 0 !important;
	}

	.yao-inner {
		width: calc(100% - 32px) !important;
	}

	#profile .profile-inner,
	.case-content-inner,
	.kpi-evidence-inner,
	.operating-content,
	.yao-closing-inner,
	.cases-footer-inner {
		width: calc(100% - 32px) !important;
		margin-right: auto !important;
		margin-left: auto !important;
	}
}

/* Profile rarity radar must stay readable on the light profile section. */
#profile .profile-rarity-panel {
	background:
		linear-gradient(90deg, rgba(4, 2, 16, 0.58) 0%, rgba(4, 2, 16, 0.24) 48%, rgba(8, 9, 11, 0.16) 100%),
		linear-gradient(180deg, rgba(4, 2, 16, 0.04), rgba(8, 9, 11, 0.32)),
		url("../../images/ax-architect-ceo-side-bg.png") center / cover no-repeat;
	color: #ffffff;
}

#profile .profile-rarity-panel .radar-heading span,
#profile .profile-rarity-panel .radar-heading strong,
#profile .profile-rarity-panel .radar-legend span,
#profile .profile-rarity-panel .radar-score,
#profile .profile-rarity-panel .radar-score div {
	color: #ffffff;
}

#profile .profile-rarity-panel .radar-label {
	fill: rgba(255, 255, 255, 0.9);
}

#profile .profile-rarity-panel .radar-score {
	background: rgba(255, 255, 255, 0.16);
}

#profile .profile-rarity-panel .radar-score div {
	background: #111111;
}

h1,
h2,
h3,
h4,
h5,
h6,
.major,
.radar-heading strong,
.case-card-body h3,
.problem-grid h3,
.features.service-grid article h3,
.profile-rarity-panel h3,
.ceo-message h3,
.ai-workstation-copy h3,
.case-hero-copy h2,
.case-tag-explain h3 {
	font-family: var(--font-standard);
	font-weight: 300;
}

#banner h2,
.wrapper h2.major,
.wrapper h3.major,
#footer h2.major,
#menu h2 {
	font-family: var(--font-standard);
	font-weight: 300;
}
