/*
 * The Core Nexus — TOP 2026
 * Operation CORE REBIRTH — multi-page preview + TOP responsive (v0.5.1)
 *
 * All selectors are namespaced with .tcn2026- so nothing leaks into or
 * collides with the Blocksy parent theme (which is never edited).
 */

/* ============================================================
   Tokens
   ============================================================ */
.tcn2026 {
	--tcn-ink: #0d1424;
	--tcn-ink-2: #3d4a63;
	--tcn-ink-3: #6b7891;
	--tcn-line: rgba(13, 20, 36, 0.10);
	--tcn-line-soft: rgba(13, 20, 36, 0.06);

	--tcn-bg: #ffffff;
	--tcn-bg-tint: #f4f7fd;
	--tcn-dark: #0a1020;
	--tcn-dark-2: #111a30;
	--tcn-navy: #14245c;

	--tcn-blue: #1c6cf5;
	--tcn-cyan: #00b8e6;
	--tcn-violet: #6f4bf0;
	--tcn-green: #0f9d6b;

	--tcn-accent-grad: linear-gradient(120deg, #1c6cf5 0%, #6f4bf0 100%);
	--tcn-accent-grad-soft: linear-gradient(120deg, rgba(28, 108, 245, 0.10), rgba(111, 75, 240, 0.10));

	--tcn-radius: 14px;
	--tcn-radius-lg: 18px;
	--tcn-shadow-sm: 0 2px 8px rgba(13, 20, 36, 0.05);
	--tcn-shadow: 0 12px 34px rgba(13, 20, 36, 0.09);
	--tcn-shadow-lg: 0 26px 70px rgba(13, 20, 36, 0.14);

	--tcn-header-h: 68px;
	--tcn-max: 1200px;

	--tcn-font: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans",
		"Noto Sans JP", "Yu Gothic", "Meiryo", sans-serif;
	--tcn-font-en: "Helvetica Neue", Arial, sans-serif;
}

/* ============================================================
   Scoped base
   ============================================================ */
body.tcn2026-body {
	margin: 0;
	padding: 0;
	background: var(--tcn-bg, #fff);
	/* horizontal clip lives on body (propagates to the viewport) so the
	   sticky header keeps working — overflow on .tcn2026 would break it */
	overflow-x: hidden;
}

.tcn2026,
.tcn2026 * {
	box-sizing: border-box;
}

.tcn2026 {
	font-family: var(--tcn-font);
	color: var(--tcn-ink);
	line-height: 1.7;
	-webkit-font-smoothing: antialiased;
	background: var(--tcn-bg);
}

:where(.tcn2026) :where(h1, h2, h3) {
	margin: 0;
	line-height: 1.3;
	font-weight: 700;
	letter-spacing: -0.01em;
}

:where(.tcn2026 p) {
	margin: 0;
}

:where(.tcn2026) :where(ul, ol) {
	margin: 0;
	padding: 0;
	list-style: none;
}

/* zero-specificity base so component link colours (.tcn2026-btn--dark etc.) always win */
:where(.tcn2026 a) {
	color: inherit;
	text-decoration: none;
	transition: color 0.18s ease, opacity 0.18s ease;
}

.tcn2026 img,
.tcn2026 svg {
	max-width: 100%;
}

.tcn2026 :focus-visible {
	outline: 2px solid var(--tcn-blue);
	outline-offset: 3px;
	border-radius: 4px;
}

.tcn2026-container {
	width: 100%;
	max-width: var(--tcn-max);
	margin: 0 auto;
	padding: 0 24px;
}

.tcn2026-skip {
	position: absolute;
	left: -9999px;
	top: 0;
	z-index: 1000;
	padding: 10px 16px;
	background: #fff;
}

.tcn2026-skip:focus {
	left: 12px;
	top: 12px;
}

/* inline icon helper */
.tcn2026-ico {
	width: 1em;
	height: 1em;
	flex: 0 0 auto;
}

/* ============================================================
   Language switch (JP / EN)
   Default = JA. [data-tcn-lang="en"] flips visibility.
   ============================================================ */
.tcn2026-t[lang="en"] {
	display: none;
}

body[data-tcn-lang="en"] .tcn2026-t[lang="ja"] {
	display: none;
}

body[data-tcn-lang="en"] .tcn2026-t[lang="en"] {
	display: inline;
}

/* ============================================================
   Buttons
   ============================================================ */
.tcn2026-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	padding: 13px 24px;
	border: 1.5px solid transparent;
	border-radius: 10px;
	font-size: 15px;
	font-weight: 700;
	letter-spacing: 0.01em;
	line-height: 1.2;
	cursor: pointer;
	transition: transform 0.18s ease, box-shadow 0.18s ease, background 0.18s ease,
		border-color 0.18s ease, color 0.18s ease;
}

.tcn2026-btn--sm {
	padding: 10px 18px;
	font-size: 13.5px;
}

.tcn2026-btn--lg {
	padding: 15px 30px;
	font-size: 15.5px;
}

.tcn2026-btn--dark {
	background: var(--tcn-navy);
	color: #fff;
	box-shadow: 0 8px 20px rgba(20, 36, 92, 0.24);
}

.tcn2026-btn--dark:hover {
	transform: translateY(-2px);
	background: var(--tcn-blue);
	box-shadow: 0 14px 30px rgba(28, 108, 245, 0.32);
	color: #fff;
}

.tcn2026-btn--ghost {
	background: #fff;
	border-color: var(--tcn-navy);
	color: var(--tcn-navy);
}

.tcn2026-btn--ghost:hover {
	transform: translateY(-2px);
	border-color: var(--tcn-blue);
	color: var(--tcn-blue);
}

.tcn2026-btn--outline {
	background: #fff;
	border-color: var(--tcn-navy);
	color: var(--tcn-navy);
	padding: 11px 20px;
	font-size: 14px;
}

.tcn2026-btn--outline:hover {
	border-color: var(--tcn-blue);
	color: var(--tcn-blue);
}

.tcn2026-btn--light {
	background: #fff;
	color: var(--tcn-navy);
	box-shadow: 0 10px 28px rgba(10, 16, 32, 0.2);
}

.tcn2026-btn--light:hover {
	transform: translateY(-2px);
	box-shadow: 0 16px 36px rgba(10, 16, 32, 0.26);
	color: var(--tcn-blue);
}

.tcn2026-btn--outline-light {
	background: transparent;
	border-color: rgba(255, 255, 255, 0.85);
	color: #fff;
}

.tcn2026-btn--outline-light:hover {
	background: rgba(255, 255, 255, 0.12);
	color: #fff;
	transform: translateY(-2px);
}

.tcn2026-textlink {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-size: 14px;
	font-weight: 700;
	color: var(--tcn-blue);
	white-space: nowrap;
}

.tcn2026-textlink:hover {
	color: var(--tcn-violet);
}

.tcn2026-textlink--pending {
	color: var(--tcn-ink-3);
	font-weight: 600;
	padding: 5px 12px;
	border: 1px dashed var(--tcn-line);
	border-radius: 999px;
	font-size: 12.5px;
}

/* ============================================================
   1. Header
   ============================================================ */
.tcn2026-header {
	position: sticky;
	top: 0;
	z-index: 100;
	background: rgba(255, 255, 255, 0.9);
	backdrop-filter: saturate(160%) blur(14px);
	-webkit-backdrop-filter: saturate(160%) blur(14px);
	border-bottom: 1px solid var(--tcn-line-soft);
	transition: box-shadow 0.2s ease, background 0.2s ease;
}

.tcn2026-header.is-stuck {
	box-shadow: 0 6px 22px rgba(13, 20, 36, 0.07);
	background: rgba(255, 255, 255, 0.96);
}

.tcn2026-header__inner {
	max-width: var(--tcn-max);
	margin: 0 auto;
	padding: 0 24px;
	height: var(--tcn-header-h);
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
}

.tcn2026-brand {
	display: inline-flex;
	align-items: center;
	gap: 12px;
	flex: 0 0 auto;
}

.tcn2026-brand__mark {
	width: 40px;
	height: 40px;
	border-radius: 12px;
	background-image: var(--tcn-accent-grad);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	color: #fff;
	box-shadow: 0 6px 16px rgba(28, 108, 245, 0.3);
}

.tcn2026-brand__mark svg {
	width: 24px;
	height: 24px;
}

.tcn2026-brand__text {
	display: flex;
	flex-direction: column;
	line-height: 1.15;
}

.tcn2026-brand__name {
	font-size: 19px;
	font-weight: 800;
	letter-spacing: -0.015em;
	font-family: var(--tcn-font-en);
	color: var(--tcn-ink);
}

.tcn2026-brand__tag {
	font-family: var(--tcn-font-en);
	font-size: 10.5px;
	font-weight: 600;
	color: var(--tcn-ink-3);
	letter-spacing: 0.01em;
	margin-top: 3px;
}

.tcn2026-nav {
	display: flex;
	align-items: center;
	gap: 28px;
	margin-left: auto;
}

.tcn2026-nav__list {
	display: flex;
	align-items: center;
	gap: 30px;
}

.tcn2026-nav__list a {
	font-size: 14px;
	font-weight: 700;
	color: var(--tcn-ink);
}

.tcn2026-nav__list a:hover {
	color: var(--tcn-blue);
}

.tcn2026-nav__utility {
	display: flex;
	align-items: center;
	gap: 18px;
}

.tcn2026-lang {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	font-family: var(--tcn-font-en);
}

.tcn2026-lang__btn {
	background: none;
	border: 0;
	padding: 4px 2px;
	font-size: 12px;
	font-weight: 800;
	letter-spacing: 0.06em;
	color: var(--tcn-ink-3);
	cursor: pointer;
}

.tcn2026-lang__btn.is-active {
	color: var(--tcn-blue);
}

.tcn2026-lang__sep {
	color: var(--tcn-line);
}

.tcn2026-burger {
	display: none;
	flex-direction: column;
	justify-content: center;
	gap: 5px;
	width: 42px;
	height: 42px;
	padding: 0 10px;
	background: none;
	border: 1px solid var(--tcn-line);
	border-radius: 10px;
	cursor: pointer;
}

.tcn2026-burger span {
	display: block;
	height: 2px;
	background: var(--tcn-ink);
	border-radius: 2px;
	transition: transform 0.2s ease, opacity 0.2s ease;
}

.tcn2026-burger[aria-expanded="true"] span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.tcn2026-burger[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
.tcn2026-burger[aria-expanded="true"] span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

/* ============================================================
   2. Hero
   ============================================================ */
.tcn2026-hero {
	position: relative;
	padding: 40px 0 30px;
	overflow: hidden;
}

.tcn2026-hero__bg {
	position: absolute;
	inset: 0;
	background:
		radial-gradient(760px 480px at 76% 40%, rgba(111, 75, 240, 0.16), transparent 62%),
		radial-gradient(640px 420px at 60% 20%, rgba(28, 108, 245, 0.14), transparent 60%),
		radial-gradient(520px 380px at 8% 90%, rgba(0, 184, 230, 0.10), transparent 60%),
		linear-gradient(180deg, #f7f9ff 0%, #ffffff 100%);
}

.tcn2026-hero__bg::after {
	content: "";
	position: absolute;
	inset: 0;
	background-image:
		linear-gradient(rgba(13, 20, 36, 0.05) 1px, transparent 1px),
		linear-gradient(90deg, rgba(13, 20, 36, 0.05) 1px, transparent 1px);
	background-size: 64px 64px;
	mask-image: radial-gradient(circle at 70% 40%, #000 0%, transparent 70%);
	-webkit-mask-image: radial-gradient(circle at 70% 40%, #000 0%, transparent 70%);
}

.tcn2026-hero__inner {
	position: relative;
	display: grid;
	grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
	gap: 8px;
	align-items: center;
}

.tcn2026-eyebrow {
	display: block;
	margin-bottom: 14px;
	color: var(--tcn-blue);
	font-size: 15px;
	font-weight: 800;
	letter-spacing: 0.02em;
}

.tcn2026-hero__title {
	font-size: clamp(36px, 4.6vw, 58px);
	font-weight: 800;
	letter-spacing: -0.03em;
	line-height: 1.18;
	margin-bottom: 20px;
}

.tcn2026-hero__title em {
	font-style: normal;
	background-image: linear-gradient(90deg, #1c6cf5 0%, #4b5cf0 55%, #8b4bf0 100%);
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
}

.tcn2026-hero__title .tcn2026-t[lang="en"] {
	letter-spacing: -0.02em;
}

body[data-tcn-lang="en"] .tcn2026-hero__title .tcn2026-t[lang="en"] {
	display: block;
}

.tcn2026-hero__lead {
	max-width: 520px;
	color: var(--tcn-ink-2);
	font-size: 16px;
	line-height: 1.8;
	margin-bottom: 26px;
}

.tcn2026-hero__actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 14px 16px;
	margin-bottom: 30px;
}

/* three positioning features under the buttons */
.tcn2026-feats {
	display: flex;
	flex-wrap: nowrap;
	width: max-content;
	max-width: 120%;
	position: relative;
	z-index: 2;
	gap: 14px 18px;
}

.tcn2026-feat {
	display: flex;
	align-items: center;
	gap: 8px;
}

.tcn2026-feat__icon {
	flex: 0 0 auto;
	width: 38px;
	height: 38px;
	border-radius: 11px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	color: var(--tcn-navy);
	background: #fff;
	border: 1.5px solid rgba(20, 36, 92, 0.16);
	box-shadow: var(--tcn-shadow-sm);
}

.tcn2026-feat__icon svg {
	width: 22px;
	height: 22px;
}

.tcn2026-feat__text {
	display: flex;
	flex-direction: column;
	line-height: 1.25;
}

.tcn2026-feat__name {
	white-space: nowrap;
	font-size: 14px;
	font-weight: 800;
	color: var(--tcn-ink);
}

.tcn2026-feat__sub {
	white-space: nowrap;
	font-size: 11px;
	color: var(--tcn-ink-3);
	margin-top: 3px;
}

/* --- Hero visual: layered AI core + tiles + network ---------- */
.tcn2026-hero__visual {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 580px;
}

.tcn2026-core {
	position: relative;
	width: min(660px, 108%);
	margin-right: -4%;
	aspect-ratio: 560 / 520;
}

.tcn2026-core__glow {
	position: absolute;
	inset: 12% 16%;
	border-radius: 50%;
	background: radial-gradient(circle, rgba(28, 108, 245, 0.36), rgba(111, 75, 240, 0.22) 42%, rgba(0, 184, 230, 0.08) 62%, transparent 72%);
	filter: blur(22px);
	animation: tcn2026-pulse 7s ease-in-out infinite;
}

.tcn2026-core__glow--3 {
	inset: 4% 4%;
	background: radial-gradient(circle, rgba(0, 184, 230, 0.16), rgba(111, 75, 240, 0.10) 50%, transparent 72%);
	filter: blur(30px);
	animation-delay: -5s;
}

/* concentric glowing halo rings */
.tcn2026-core__halo {
	position: absolute;
	left: 50%;
	top: 48%;
	border-radius: 50%;
	transform: translate(-50%, -50%) rotateX(66deg);
	border: 1.5px solid rgba(28, 108, 245, 0.28);
	box-shadow: 0 0 24px rgba(79, 210, 255, 0.35), inset 0 0 24px rgba(111, 75, 240, 0.18);
	z-index: 1;
	pointer-events: none;
}

.tcn2026-core__halo--1 { width: 58%; aspect-ratio: 1; animation: tcn2026-spin 22s linear infinite; border-style: dashed; }
.tcn2026-core__halo--2 { width: 76%; aspect-ratio: 1; border-color: rgba(111, 75, 240, 0.22); animation: tcn2026-spin 34s linear infinite reverse; }
.tcn2026-core__halo--3 { width: 94%; aspect-ratio: 1; border-color: rgba(0, 184, 230, 0.16); border-style: dotted; animation: tcn2026-spin 48s linear infinite; }

.tcn2026-core__halo::after {
	content: "";
	position: absolute;
	left: 50%;
	top: -5px;
	width: 9px;
	height: 9px;
	border-radius: 50%;
	background: #fff;
	box-shadow: 0 0 0 3px rgba(28, 108, 245, 0.35), 0 0 16px rgba(79, 210, 255, 0.9);
}

@keyframes tcn2026-spin {
	from { transform: translate(-50%, -50%) rotateX(66deg) rotateZ(0deg); }
	to   { transform: translate(-50%, -50%) rotateX(66deg) rotateZ(360deg); }
}

.tcn2026-core__glow--2 {
	inset: 34% 30%;
	background: radial-gradient(circle, rgba(140, 220, 255, 0.55), rgba(28, 108, 245, 0.2) 50%, transparent 70%);
	filter: blur(12px);
	animation-delay: -3s;
}

.tcn2026-core__nodes {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	z-index: 0;
	pointer-events: none;
}

.tcn2026-core__iso path {
	fill: none;
	stroke: rgba(28, 108, 245, 0.16);
	stroke-width: 1;
}

.tcn2026-core__links line {
	stroke: rgba(28, 108, 245, 0.3);
	stroke-width: 1;
	stroke-dasharray: 4 6;
}

.tcn2026-core__dots circle {
	fill: #fff;
	stroke: var(--tcn-blue);
	stroke-width: 1.5;
}

.tcn2026-core__dots circle:nth-child(odd) {
	fill: var(--tcn-blue);
}

.tcn2026-core__dots circle:nth-child(3n) {
	fill: var(--tcn-violet);
	stroke: var(--tcn-violet);
}

.tcn2026-core__orbits ellipse {
	fill: none;
	stroke: rgba(111, 75, 240, 0.22);
	stroke-width: 1;
	stroke-dasharray: 2 8;
}

.tcn2026-core__sats circle {
	fill: #fff;
	stroke: var(--tcn-violet);
	stroke-width: 2;
	filter: drop-shadow(0 0 6px rgba(111, 75, 240, 0.8));
}

.tcn2026-core__sparks circle {
	fill: var(--tcn-cyan);
	opacity: 0.7;
	animation: tcn2026-twinkle 3s ease-in-out infinite;
}

.tcn2026-core__sparks circle:nth-child(2n) { animation-delay: -1s; }
.tcn2026-core__sparks circle:nth-child(3n) { animation-delay: -2s; fill: var(--tcn-violet); }

@keyframes tcn2026-twinkle {
	0%, 100% { opacity: 0.25; }
	50%      { opacity: 1; }
}

/* stacked isometric slabs */
.tcn2026-core__stack {
	position: absolute;
	left: 50%;
	top: 50%;
	width: 50%;
	height: 50%;
	transform: translate(-50%, -48%);
	animation: tcn2026-float 8s ease-in-out infinite;
	z-index: 2;
}

.tcn2026-core__slab {
	position: absolute;
	left: 0;
	width: 100%;
	height: 78px;
	border-radius: 22px;
	transform: rotate(-8deg) skewX(-24deg) scaleY(0.62);
	border: 1px solid rgba(255, 255, 255, 0.6);
	box-shadow: 0 28px 54px rgba(13, 20, 36, 0.2), inset 0 1px 0 rgba(255, 255, 255, 0.6);
}

.tcn2026-core__slab::after {
	content: "";
	position: absolute;
	inset: 0;
	border-radius: inherit;
	background: linear-gradient(180deg, rgba(255, 255, 255, 0.34), transparent 55%);
	pointer-events: none;
}

.tcn2026-core__slab::before {
	content: "";
	position: absolute;
	inset: 18% 22%;
	border-radius: 14px;
	border: 1.5px solid rgba(255, 255, 255, 0.45);
}

.tcn2026-core__slab--0 {
	top: 186px;
	background: linear-gradient(135deg, #b39aff 0%, #7a5cff 100%);
	z-index: 0;
	opacity: 0.8;
}

.tcn2026-core__slab--1 {
	top: 128px;
	background: linear-gradient(135deg, #8f6bff 0%, #5a2fd6 100%);
	z-index: 1;
}

.tcn2026-core__slab--2 {
	top: 68px;
	background: linear-gradient(135deg, #3d8bff 0%, #5a3ee8 100%);
	z-index: 2;
}

.tcn2026-core__slab--3 {
	top: 8px;
	background: linear-gradient(135deg, #b9f3ff 0%, #4fd2ff 45%, #1c6cf5 100%);
	z-index: 3;
	display: flex;
	align-items: center;
	justify-content: center;
}

.tcn2026-core__chip {
	position: relative;
	width: 34%;
	height: 42%;
	border-radius: 8px;
	background: linear-gradient(135deg, #ffffff, #c9f1ff);
	box-shadow: 0 0 0 4px rgba(255, 255, 255, 0.3), 0 0 34px 8px rgba(111, 226, 255, 0.75);
	z-index: 2;
}

.tcn2026-core__ring {
	position: absolute;
	left: 50%;
	top: 50%;
	width: 120px;
	height: 120px;
	border-radius: 50%;
	border: 1.5px solid rgba(255, 255, 255, 0.6);
	transform: translate(-50%, -50%);
	animation: tcn2026-ring 4.5s ease-out infinite;
}

/* small cubes */
.tcn2026-cube {
	position: absolute;
	z-index: 3;
	width: 26px;
	height: 26px;
	border-radius: 7px;
	background: linear-gradient(135deg, #8f6bff, #4b2fd6);
	transform: rotate(-8deg) skewX(-24deg) scaleY(0.62);
	box-shadow: 0 10px 20px rgba(75, 47, 214, 0.35);
	animation: tcn2026-float 7s ease-in-out infinite;
}

.tcn2026-cube--a { right: 9%; top: 56%; }
.tcn2026-cube--b { left: 40%; top: 20%; width: 16px; height: 16px; animation-delay: -3s; background: linear-gradient(135deg, #4fd2ff, #1c6cf5); }

/* floating icon tiles */
.tcn2026-tile {
	position: absolute;
	z-index: 5;
	width: 78px;
	height: 78px;
	border-radius: 20px;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 4px;
	color: #fff;
	background: linear-gradient(135deg, #3d8bff, #6f4bf0);
	box-shadow: 0 18px 40px rgba(28, 108, 245, 0.32), inset 0 1px 0 rgba(255, 255, 255, 0.5);
	border: 1px solid rgba(255, 255, 255, 0.55);
	transform: rotate(-6deg) skewX(-10deg);
	animation: tcn2026-float 6s ease-in-out infinite;
}

.tcn2026-tile svg {
	width: 34px;
	height: 34px;
	transform: skewX(10deg);
}

.tcn2026-tile__label {
	font-family: var(--tcn-font-en);
	font-size: 9px;
	font-weight: 800;
	letter-spacing: 0.16em;
	opacity: 0.9;
	transform: skewX(10deg);
}

.tcn2026-tile--brain { left: 16%; top: 4%;  animation-delay: -1s;   background: linear-gradient(135deg, #3d8bff, #1c4fd6); }
.tcn2026-tile--chart { right: 6%; top: 6%;  animation-delay: -3s;   background: linear-gradient(135deg, #6f4bf0, #4b2fd6); }
.tcn2026-tile--chat  { left: 6%;  bottom: 16%; animation-delay: -2s; background: linear-gradient(135deg, #4fd2ff, #1c6cf5); }
.tcn2026-tile--agent { right: 30%; bottom: 8%; animation-delay: -4.5s; width: 62px; height: 62px; background: linear-gradient(135deg, #8f6bff, #5a2fd6); }
.tcn2026-tile--agent svg { width: 26px; height: 26px; }

/* small glass chips */
.tcn2026-gchip {
	position: absolute;
	z-index: 5;
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 8px 12px;
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.78);
	border: 1px solid rgba(255, 255, 255, 0.95);
	box-shadow: 0 10px 26px rgba(13, 20, 36, 0.12);
	backdrop-filter: blur(8px);
	-webkit-backdrop-filter: blur(8px);
	font-family: var(--tcn-font-en);
	font-size: 10px;
	font-weight: 800;
	letter-spacing: 0.14em;
	color: var(--tcn-navy);
	animation: tcn2026-float 7s ease-in-out infinite;
}

.tcn2026-gchip__dot {
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: var(--tcn-cyan);
	box-shadow: 0 0 10px rgba(0, 184, 230, 0.9);
}

.tcn2026-gchip i {
	width: 34px;
	height: 4px;
	border-radius: 2px;
	background: linear-gradient(90deg, var(--tcn-blue), var(--tcn-violet));
	opacity: 0.6;
}

.tcn2026-gchip--1 { left: 4%;  top: 42%; animation-delay: -2.5s; }
.tcn2026-gchip--2 { right: 4%; top: 36%; animation-delay: -1.2s; }
.tcn2026-gchip--2 .tcn2026-gchip__dot { background: var(--tcn-violet); box-shadow: 0 0 10px rgba(111, 75, 240, 0.9); }
.tcn2026-gchip--3 { left: 38%; bottom: 0; animation-delay: -4s; }
.tcn2026-gchip--3 .tcn2026-gchip__dot { background: var(--tcn-green); box-shadow: 0 0 10px rgba(15, 157, 107, 0.9); }

/* IDEAS / CONNECT / PEOPLE / CREATE TOMORROW */
.tcn2026-core__words {
	position: absolute;
	right: 0;
	bottom: 10%;
	z-index: 4;
	font-family: var(--tcn-font-en);
	font-size: 13.5px;
	font-weight: 700;
	letter-spacing: 0.12em;
	color: var(--tcn-navy);
	line-height: 1.6;
}

.tcn2026-core__words li:last-child {
	color: var(--tcn-blue);
}

.tcn2026-core__words::after {
	content: "";
	display: block;
	width: 24px;
	height: 2px;
	margin-top: 8px;
	background: var(--tcn-navy);
}

@keyframes tcn2026-pulse {
	0%, 100% { opacity: 0.75; transform: scale(1); }
	50%      { opacity: 1;    transform: scale(1.06); }
}

@keyframes tcn2026-float {
	0%, 100% { translate: 0 0; }
	50%      { translate: 0 -10px; }
}

@keyframes tcn2026-ring {
	0%   { opacity: 0.8; transform: translate(-50%, -50%) scale(0.5); }
	100% { opacity: 0;   transform: translate(-50%, -50%) scale(1.6); }
}

/* ============================================================
   Section shell
   ============================================================ */
.tcn2026-section {
	position: relative;
	padding: 44px 0;
}

.tcn2026-sechead {
	margin-bottom: 26px;
}

.tcn2026-sechead--center {
	display: grid;
	grid-template-columns: 1fr auto 1fr;
	align-items: end;
	gap: 16px 24px;
}

.tcn2026-sechead__main {
	grid-column: 2;
	text-align: center;
}

.tcn2026-sechead__aside {
	grid-column: 3;
	justify-self: end;
	margin-bottom: 6px;
}

.tcn2026-sechead__kicker {
	font-size: 13px;
	font-weight: 800;
	letter-spacing: 0.02em;
	color: var(--tcn-blue);
	margin-bottom: 6px;
}

.tcn2026-sechead__title {
	font-size: clamp(24px, 2.6vw, 32px);
	font-weight: 800;
	letter-spacing: -0.02em;
}

/* ============================================================
   3. Available now — 4 product cards with colour band header
   ============================================================ */
.tcn2026-available {
	padding-top: 30px;
	padding-bottom: 52px;
}

.tcn2026-products {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 18px;
}

.tcn2026-product {
	--tcn-product-a: var(--tcn-blue);
	--tcn-product-b: var(--tcn-violet);
	position: relative;
	display: flex;
	flex-direction: column;
	background: #fff;
	border: 1px solid var(--tcn-line);
	border-radius: var(--tcn-radius-lg);
	box-shadow: 0 8px 24px rgba(13, 20, 36, 0.07);
	transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
	overflow: hidden;
}

.tcn2026-product--layermason { --tcn-product-a: #0e6f8a; --tcn-product-b: #1a3d8f; }
.tcn2026-product--instanexus { --tcn-product-a: #5b2fd6; --tcn-product-b: #2c1a8a; }
.tcn2026-product--promptworks { --tcn-product-a: #1c6cf5; --tcn-product-b: #0d3fb5; }
.tcn2026-product--aidev       { --tcn-product-a: #0f9d6b; --tcn-product-b: #0b5f8a; }

.tcn2026-product:hover {
	transform: translateY(-6px);
	box-shadow: var(--tcn-shadow-lg);
	border-color: rgba(28, 108, 245, 0.3);
}

.tcn2026-product__band {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 7px;
	padding: 14px 10px;
	min-height: 74px;
	position: relative;
	background: linear-gradient(120deg, var(--tcn-product-a), var(--tcn-product-b));
	color: #fff;
}

.tcn2026-product__band::before {
	content: "";
	position: absolute;
	inset: 0;
	background:
		radial-gradient(120px 60px at 100% 0%, rgba(255, 255, 255, 0.22), transparent 70%),
		linear-gradient(rgba(255, 255, 255, 0.06) 1px, transparent 1px);
	background-size: auto, 100% 8px;
	pointer-events: none;
}

.tcn2026-product__band > * {
	position: relative;
}

.tcn2026-product__mark {
	flex: 0 0 auto;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 32px;
	height: 32px;
	border-radius: 10px;
	background: rgba(255, 255, 255, 0.18);
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.18);
	border: 1px solid rgba(255, 255, 255, 0.4);
	color: #fff;
}

.tcn2026-product__mark svg {
	width: 21px;
	height: 21px;
}

.tcn2026-product__name {
	font-family: var(--tcn-font-en);
	font-size: 15px;
	font-weight: 800;
	letter-spacing: -0.015em;
	color: #fff;
	line-height: 1.2;
	flex: 1 1 auto;
	white-space: nowrap;
}

.tcn2026-product--aidev .tcn2026-product__name {
	font-size: 14px;
	line-height: 1.15;
	white-space: normal;
	max-width: 124px;
}

.tcn2026-product__band .tcn2026-status {
	margin-left: auto;
	padding: 3px 6px;
	font-size: 9px;
	letter-spacing: 0.03em;
	background: rgba(255, 255, 255, 0.16);
	color: #fff;
	border-color: rgba(255, 255, 255, 0.45);
}

.tcn2026-product__body {
	display: flex;
	flex-direction: column;
	flex: 1 1 auto;
	padding: 18px 20px 20px;
}

.tcn2026-product__cat {
	font-family: var(--tcn-font-en);
	font-size: 10.5px;
	font-weight: 800;
	letter-spacing: 0.14em;
	color: var(--tcn-blue);
	margin-bottom: 4px;
}

.tcn2026-product__meta {
	font-size: 13px;
	font-weight: 700;
	color: var(--tcn-ink);
	margin-bottom: 8px;
}

.tcn2026-product__desc {
	font-size: 13.5px;
	line-height: 1.7;
	color: var(--tcn-ink-2);
	margin-bottom: 14px;
}

.tcn2026-checks {
	display: flex;
	flex-direction: column;
	gap: 9px;
	margin-bottom: 14px;
	padding: 12px 12px;
	border-radius: 10px;
	background: var(--tcn-bg-tint);
}

.tcn2026-tags {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	margin-bottom: 14px;
}

.tcn2026-tags li {
	font-family: var(--tcn-font-en);
	font-size: 10.5px;
	font-weight: 700;
	letter-spacing: 0.04em;
	color: var(--tcn-ink-2);
	padding: 3px 9px;
	border: 1px solid var(--tcn-line);
	border-radius: 999px;
	background: #fff;
}

.tcn2026-checks li {
	display: flex;
	align-items: flex-start;
	gap: 8px;
	font-size: 13px;
	font-weight: 600;
	color: var(--tcn-ink-2);
	line-height: 1.5;
}

.tcn2026-checks svg {
	flex: 0 0 auto;
	width: 18px;
	height: 18px;
	margin-top: 1px;
	color: var(--tcn-green);
}

.tcn2026-product--instanexus .tcn2026-checks svg { color: var(--tcn-violet); }
.tcn2026-product--promptworks .tcn2026-checks svg { color: var(--tcn-blue); }

.tcn2026-product__foot {
	margin-top: auto;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 10px;
	padding-top: 14px;
	border-top: 1px solid var(--tcn-line-soft);
}

.tcn2026-product__cta {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	width: 100%;
	padding: 11px 16px;
	border-radius: 10px;
	background: var(--tcn-navy);
	color: #fff;
	font-size: 13.5px;
	font-weight: 800;
	box-shadow: 0 8px 18px rgba(20, 36, 92, 0.2);
	transition: background 0.18s ease, transform 0.18s ease, box-shadow 0.18s ease;
}

a.tcn2026-product__cta:hover {
	background: var(--tcn-blue);
	color: #fff;
	transform: translateY(-2px);
	box-shadow: 0 12px 26px rgba(28, 108, 245, 0.3);
}

.tcn2026-product__cta--pending {
	background: var(--tcn-bg-tint);
	color: var(--tcn-ink-3);
	font-weight: 700;
	font-size: 12.5px;
	border: 1px dashed var(--tcn-line);
	box-shadow: none;
	cursor: default;
}

.tcn2026-product__sub {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	align-self: center;
	font-size: 12.5px;
	font-weight: 700;
	color: var(--tcn-blue);
}

.tcn2026-product__sub:hover {
	color: var(--tcn-violet);
}

/* ============================================================
   Status badges (controlled vocabulary)
   ============================================================ */
.tcn2026-status {
	flex: 0 0 auto;
	display: inline-block;
	padding: 3px 9px;
	border-radius: 999px;
	font-family: var(--tcn-font-en);
	font-size: 10px;
	font-weight: 800;
	letter-spacing: 0.08em;
	white-space: nowrap;
	border: 1px solid transparent;
	line-height: 1.4;
}

.tcn2026-status--available   { background: rgba(16, 160, 110, 0.10); color: #0d8a5f; border-color: rgba(16, 160, 110, 0.25); }
.tcn2026-status--service     { background: rgba(28, 108, 245, 0.10); color: #1657c9; border-color: rgba(28, 108, 245, 0.25); }
.tcn2026-status--beta        { background: rgba(111, 75, 240, 0.10); color: #5a37d6; border-color: rgba(111, 75, 240, 0.25); }
.tcn2026-status--indev       { background: rgba(214, 138, 12, 0.10); color: #a76a06; border-color: rgba(214, 138, 12, 0.25); }
.tcn2026-status--rnd         { background: rgba(0, 184, 230, 0.12); color: #0a7f9c; border-color: rgba(0, 184, 230, 0.28); }
.tcn2026-status--experiment  { background: rgba(0, 184, 230, 0.12); color: #0a7f9c; border-color: rgba(0, 184, 230, 0.28); }
.tcn2026-status--prototype   { background: rgba(107, 120, 145, 0.12); color: #4a5670; border-color: rgba(107, 120, 145, 0.26); }
.tcn2026-status--archived    { background: rgba(107, 120, 145, 0.10); color: #6b7891; border-color: rgba(107, 120, 145, 0.22); }

/* ============================================================
   4. Featured works — 4 visual cards + compact row
   ============================================================ */
.tcn2026-worksgrid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 18px;
}

.tcn2026-work {
	display: flex;
	flex-direction: column;
	background: #fff;
	border: 1px solid var(--tcn-line);
	border-radius: var(--tcn-radius);
	box-shadow: var(--tcn-shadow-sm);
	overflow: hidden;
	transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}

.tcn2026-work:hover {
	transform: translateY(-4px);
	box-shadow: var(--tcn-shadow);
	border-color: rgba(28, 108, 245, 0.28);
}

.tcn2026-work__visual {
	position: relative;
	margin: 10px 10px 0;
	aspect-ratio: 4 / 3;
	border-radius: 12px;
	overflow: hidden;
	background: linear-gradient(160deg, #eef3ff, #dfe8ff);
	box-shadow: inset 0 0 0 1px rgba(28, 108, 245, 0.08);
	transition: transform 0.35s ease;
}

.tcn2026-work:hover .tcn2026-work__visual svg {
	transform: scale(1.04);
}

.tcn2026-work__visual svg {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	transition: transform 0.5s ease;
}

/* InstaNexus: phone + floating chips */
.tcn2026-work__visual--social {
	background: linear-gradient(160deg, #efe6ff 0%, #dcd0ff 50%, #ecd9ff 100%);
}

.tcn2026-work__phone {
	position: absolute;
	right: 20%;
	bottom: -14%;
	width: 30%;
	aspect-ratio: 9 / 18;
	border-radius: 14px;
	background: linear-gradient(180deg, #4b2fd6, #2c1a8a);
	box-shadow: 0 16px 30px rgba(44, 26, 138, 0.35);
	transform: rotate(-14deg);
	padding: 8% 10%;
	display: flex;
	flex-direction: column;
	gap: 8%;
}

.tcn2026-work__phone span {
	display: block;
	height: 12%;
	border-radius: 4px;
	background: rgba(255, 255, 255, 0.3);
}

.tcn2026-work__phone span:first-child { width: 60%; background: rgba(255, 255, 255, 0.6); }

.tcn2026-work__chip {
	position: absolute;
	width: 20%;
	aspect-ratio: 1;
	border-radius: 22%;
	background: linear-gradient(135deg, #fff, #e6dcff);
	box-shadow: 0 10px 20px rgba(75, 47, 214, 0.2);
	transform: rotate(-12deg);
}

.tcn2026-work__chip::after {
	content: "";
	position: absolute;
	inset: 30%;
	border-radius: 50%;
	border: 3px solid #6f4bf0;
}

.tcn2026-work__chip--1 { left: 10%; top: 16%; }
.tcn2026-work__chip--2 { left: 30%; top: 46%; width: 15%; }
.tcn2026-work__chip--3 { left: 52%; top: 12%; width: 13%; }

/* PromptWorks: floating windows */
.tcn2026-work__visual--windows {
	background: linear-gradient(160deg, #e9f1ff 0%, #d5e4ff 100%);
}

.tcn2026-work__win {
	position: absolute;
	border-radius: 8px;
	background: #fff;
	box-shadow: 0 12px 26px rgba(28, 108, 245, 0.18);
	padding: 10px 10px 8px;
	display: flex;
	flex-direction: column;
	gap: 6px;
}

.tcn2026-work__win::before {
	content: "";
	display: block;
	height: 6px;
	width: 40%;
	border-radius: 3px;
	background: linear-gradient(90deg, #1c6cf5, #6f4bf0);
}

.tcn2026-work__win i {
	display: block;
	height: 5px;
	border-radius: 3px;
	background: #dbe5ff;
}

.tcn2026-work__win i:nth-child(2) { width: 70%; }
.tcn2026-work__win i:nth-child(3) { width: 85%; }

.tcn2026-work__win--1 { left: 8%;  top: 12%; width: 46%; }
.tcn2026-work__win--2 { left: 38%; top: 40%; width: 50%; }
.tcn2026-work__win--3 { left: 62%; top: 10%; width: 30%; }

.tcn2026-work__visual--avatar {
	background: linear-gradient(160deg, #eef0ff 0%, #ddd4ff 100%);
}

.tcn2026-work__body {
	position: relative;
	padding: 16px 18px 18px;
	display: flex;
	flex-direction: column;
	flex: 1 1 auto;
}

.tcn2026-work__cat {
	font-family: var(--tcn-font-en);
	font-size: 10.5px;
	font-weight: 800;
	letter-spacing: 0.14em;
	color: var(--tcn-blue);
	margin-bottom: 4px;
}

.tcn2026-work__head {
	display: flex;
	align-items: center;
	gap: 8px;
	margin-bottom: 4px;
	padding-right: 44px;
}

.tcn2026-work__name {
	font-size: 16px;
	font-weight: 800;
	letter-spacing: -0.01em;
}

.tcn2026-work__desc {
	font-size: 13px;
	line-height: 1.65;
	color: var(--tcn-ink-2);
	padding-right: 44px;
}

.tcn2026-work__link {
	position: absolute;
	right: 16px;
	bottom: 18px;
	width: 36px;
	height: 36px;
	border-radius: 50%;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: #fff;
	border: 1.5px solid var(--tcn-blue);
	color: var(--tcn-blue);
	transition: background 0.18s ease, color 0.18s ease;
}

.tcn2026-work__link svg {
	width: 16px;
	height: 16px;
}

.tcn2026-work__link:hover {
	background: var(--tcn-blue);
	color: #fff;
}

/* compact secondary row */
.tcn2026-morebuilds {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 14px;
	margin-top: 18px;
	scroll-margin-top: 90px;
}

.tcn2026-morebuild {
	display: grid;
	grid-template-columns: auto 1fr auto;
	grid-template-areas: "cat cat status" "name name status" "desc desc desc";
	gap: 2px 10px;
	align-items: center;
	padding: 12px 16px;
	background: var(--tcn-bg-tint);
	border: 1px solid var(--tcn-line-soft);
	border-radius: 12px;
}

.tcn2026-morebuild__cat {
	grid-area: cat;
	font-family: var(--tcn-font-en);
	font-size: 10px;
	font-weight: 800;
	letter-spacing: 0.14em;
	color: var(--tcn-ink-3);
}

.tcn2026-morebuild__name {
	grid-area: name;
	font-size: 15px;
	font-weight: 800;
}

.tcn2026-morebuild .tcn2026-status {
	grid-area: status;
	align-self: center;
}

.tcn2026-morebuild__desc {
	grid-area: desc;
	font-size: 12.5px;
	color: var(--tcn-ink-2);
	line-height: 1.5;
}

/* ============================================================
   5 + 6. Lab & Journal duo
   ============================================================ */
.tcn2026-duo {
	padding-top: 8px;
}

.tcn2026-duo__inner {
	display: grid;
	grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr);
	gap: 18px;
	align-items: stretch;
}

/* LAB */
.tcn2026-lab {
	display: grid;
	grid-template-columns: minmax(0, 1.15fr) minmax(0, 0.85fr);
	background: #fff;
	border: 1px solid var(--tcn-line);
	border-radius: var(--tcn-radius);
	box-shadow: var(--tcn-shadow-sm);
	overflow: hidden;
}

.tcn2026-lab__copy {
	padding: 26px 22px 26px 26px;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
}

.tcn2026-lab__title {
	font-size: 22px;
	white-space: nowrap;
	font-weight: 800;
	letter-spacing: -0.02em;
	margin-bottom: 8px;
}

.tcn2026-lab__lead {
	font-size: 13.5px;
	line-height: 1.7;
	color: var(--tcn-ink-2);
	margin-bottom: 14px;
}

.tcn2026-labitems {
	display: flex;
	flex-direction: column;
	gap: 8px;
	margin-bottom: 18px;
	width: 100%;
}

.tcn2026-labitems li {
	display: grid;
	grid-template-columns: 18px minmax(0, 1fr) auto;
	grid-template-areas: "ico name status" ". desc desc";
	column-gap: 8px;
	row-gap: 1px;
	align-items: center;
	justify-content: start;
}

.tcn2026-labitems svg {
	grid-area: ico;
	width: 18px;
	height: 18px;
	color: var(--tcn-blue);
}

.tcn2026-labitems__name {
	grid-area: name;
	font-size: 13.5px;
	line-height: 1.3;
	font-weight: 800;
	font-family: var(--tcn-font-en);
}

.tcn2026-labitems .tcn2026-status {
	grid-area: status;
}

.tcn2026-labitems__desc {
	grid-area: desc;
	font-size: 12px;
	color: var(--tcn-ink-3);
	line-height: 1.5;
}

.tcn2026-lab__visual {
	position: relative;
	min-height: 380px;
	margin: 10px 10px 10px 0;
	border-radius: 12px;
	overflow: hidden;
	background:
		radial-gradient(360px 220px at 80% 30%, rgba(28, 108, 245, 0.45), transparent 62%),
		radial-gradient(300px 200px at 20% 90%, rgba(0, 184, 230, 0.32), transparent 60%),
		linear-gradient(180deg, #0a1020 0%, #0f1b3d 100%);
	color: #fff;
}

.tcn2026-lab__grid {
	position: absolute;
	inset: 0;
	background-image:
		linear-gradient(rgba(255, 255, 255, 0.07) 1px, transparent 1px),
		linear-gradient(90deg, rgba(255, 255, 255, 0.07) 1px, transparent 1px);
	background-size: 32px 32px;
	mask-image: linear-gradient(180deg, transparent 0%, #000 60%);
	-webkit-mask-image: linear-gradient(180deg, transparent 0%, #000 60%);
	transform: perspective(300px) rotateX(48deg);
	transform-origin: 50% 100%;
}

.tcn2026-lab__slogan {
	position: absolute;
	left: 18px;
	top: 18px;
	font-family: var(--tcn-font-en);
	font-size: 12.5px;
	font-weight: 800;
	letter-spacing: 0.2em;
	line-height: 1.6;
	color: #fff;
	z-index: 2;
}

.tcn2026-lab__circuit {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	z-index: 1;
}

.tcn2026-lab__circuit path {
	fill: none;
	stroke: rgba(111, 226, 255, 0.35);
	stroke-width: 1.2;
	stroke-dasharray: 6 5;
	animation: tcn2026-dash 12s linear infinite;
}

.tcn2026-lab__circuit circle {
	fill: #6fe6ff;
	filter: drop-shadow(0 0 5px rgba(111, 226, 255, 0.9));
}

@keyframes tcn2026-dash {
	to { stroke-dashoffset: -220; }
}

.tcn2026-lab__orbit {
	position: absolute;
	inset: -14%;
	border-radius: 50%;
	border: 1px dashed rgba(111, 226, 255, 0.5);
	animation: tcn2026-rotate 18s linear infinite;
}

.tcn2026-lab__orbit::after {
	content: "";
	position: absolute;
	left: 50%;
	top: -4px;
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: #fff;
	box-shadow: 0 0 12px rgba(111, 226, 255, 1);
}

@keyframes tcn2026-rotate {
	to { transform: rotate(360deg); }
}

.tcn2026-lab__chip {
	position: absolute;
	z-index: 3;
	display: flex;
	flex-direction: column;
	gap: 5px;
	padding: 8px 11px;
	border-radius: 8px;
	background: rgba(255, 255, 255, 0.07);
	border: 1px solid rgba(111, 226, 255, 0.35);
	backdrop-filter: blur(6px);
	-webkit-backdrop-filter: blur(6px);
	animation: tcn2026-float 7s ease-in-out infinite;
}

.tcn2026-lab__chip b {
	font-family: var(--tcn-font-en);
	font-size: 9px;
	font-weight: 800;
	letter-spacing: 0.18em;
	color: #bff0ff;
}

.tcn2026-lab__chip i {
	display: block;
	width: 56px;
	height: 3px;
	border-radius: 2px;
	background: linear-gradient(90deg, #6fe6ff, rgba(111, 226, 255, 0.1));
}

.tcn2026-lab__chip--1 { left: 10%; top: 40%; animation-delay: -2s; }
.tcn2026-lab__chip--2 { right: 8%; top: 22%; animation-delay: -4s; }
.tcn2026-lab__chip--3 { left: 14%; bottom: 12%; animation-delay: -1s; }

.tcn2026-lab__scan {
	position: absolute;
	left: 0;
	right: 0;
	height: 2px;
	background: linear-gradient(90deg, transparent, rgba(111, 226, 255, 0.8), transparent);
	animation: tcn2026-scan 6s ease-in-out infinite;
	z-index: 2;
}

@keyframes tcn2026-scan {
	0%, 100% { top: 12%; opacity: 0; }
	10%, 90% { opacity: 1; }
	50%      { top: 88%; }
}

.tcn2026-lab__brain {
	position: absolute;
	right: 18%;
	top: 46%;
	width: 130px;
	height: 130px;
	display: flex;
	align-items: center;
	justify-content: center;
	z-index: 2;
	color: #9fe3ff;
	animation: tcn2026-float 7s ease-in-out infinite;
}

.tcn2026-lab__brain svg {
	position: relative;
	width: 78px;
	height: 78px;
	filter: drop-shadow(0 0 14px rgba(111, 226, 255, 0.9));
}

.tcn2026-lab__halo {
	position: absolute;
	inset: 0;
	border-radius: 50%;
	background: radial-gradient(circle, rgba(111, 226, 255, 0.55), rgba(28, 108, 245, 0.25) 45%, transparent 70%);
	filter: blur(6px);
	animation: tcn2026-pulse 5s ease-in-out infinite;
}

.tcn2026-lab__beam {
	position: absolute;
	bottom: 0;
	width: 2px;
	height: 60%;
	background: linear-gradient(180deg, rgba(111, 226, 255, 0), rgba(111, 226, 255, 0.8));
	opacity: 0.7;
}

.tcn2026-lab__beam--1 { left: 22%; height: 46%; }
.tcn2026-lab__beam--2 { left: 42%; height: 68%; }
.tcn2026-lab__beam--3 { left: 68%; height: 36%; }

/* JOURNAL */
.tcn2026-journal {
	background: #fff;
	border: 1px solid var(--tcn-line);
	border-radius: var(--tcn-radius);
	box-shadow: var(--tcn-shadow-sm);
	padding: 26px 24px 20px;
	display: flex;
	flex-direction: column;
}

.tcn2026-journal__head {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 16px;
	margin-bottom: 14px;
}

.tcn2026-journal__title {
	font-size: 22px;
	font-weight: 800;
	letter-spacing: -0.02em;
}

.tcn2026-jlist {
	display: flex;
	flex-direction: column;
	gap: 10px;
	flex: 1 1 auto;
}

.tcn2026-journal__note {
	margin-top: 14px;
	padding: 10px 14px;
	border-radius: 10px;
	background: var(--tcn-accent-grad-soft);
	font-size: 12px;
	color: var(--tcn-ink-2);
}

.tcn2026-jrow {
	display: grid;
	grid-template-columns: 92px minmax(0, 1fr) 20px;
	align-items: center;
	gap: 14px;
	padding: 10px 12px 10px 10px;
	border: 1px solid var(--tcn-line-soft);
	border-radius: 12px;
	background: #fbfcff;
	transition: background 0.18s ease, border-color 0.18s ease, transform 0.18s ease;
}

.tcn2026-jrow:hover {
	background: #fff;
	border-color: rgba(28, 108, 245, 0.25);
	transform: translateX(2px);
}

.tcn2026-jrow__thumb {
	width: 92px;
	height: 62px;
	border-radius: 9px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	color: #9fe3ff;
	background:
		radial-gradient(40px 30px at 60% 40%, rgba(28, 108, 245, 0.7), transparent 70%),
		linear-gradient(180deg, #0a1020, #142860);
	box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.1);
}

.tcn2026-jrow__thumb--2 { background: radial-gradient(40px 30px at 40% 50%, rgba(111, 75, 240, 0.8), transparent 70%), linear-gradient(180deg, #0a1020, #1b1550); }
.tcn2026-jrow__thumb--3 { background: radial-gradient(40px 30px at 50% 60%, rgba(0, 184, 230, 0.7), transparent 70%), linear-gradient(180deg, #0a1020, #0f2a4a); }

.tcn2026-jrow__thumb svg {
	width: 24px;
	height: 24px;
	filter: drop-shadow(0 0 6px rgba(111, 226, 255, 0.8));
}

.tcn2026-jrow__text {
	display: flex;
	flex-direction: column;
	gap: 3px;
	min-width: 0;
}

.tcn2026-jrow__title {
	font-size: 14.5px;
	font-weight: 700;
	line-height: 1.45;
}

.tcn2026-jrow__meta {
	display: flex;
	align-items: center;
	gap: 10px;
	font-size: 11.5px;
	color: var(--tcn-ink-3);
}

.tcn2026-jrow__cat {
	font-family: var(--tcn-font-en);
	font-weight: 800;
	letter-spacing: 0.12em;
	color: var(--tcn-violet);
}

.tcn2026-jrow__state {
	padding: 1px 8px;
	border: 1px dashed var(--tcn-line);
	border-radius: 999px;
	white-space: nowrap;
}

.tcn2026-jrow__chev {
	width: 18px;
	height: 18px;
	color: var(--tcn-ink-3);
}

/* ============================================================
   7. Process — six steps inline with heading
   ============================================================ */
.tcn2026-process {
	padding: 8px 0 26px;
}

.tcn2026-process__inner {
	display: grid;
	grid-template-columns: 190px minmax(0, 1fr);
	align-items: center;
	gap: 28px;
}

.tcn2026-process__title {
	font-size: 20px;
	font-weight: 800;
	letter-spacing: -0.02em;
}

.tcn2026-loop {
	display: grid;
	grid-template-columns: repeat(6, minmax(0, 1fr));
	gap: 8px;
	position: relative;
	padding: 14px 8px;
	border-radius: 14px;
	background: var(--tcn-bg-tint);
	border: 1px solid var(--tcn-line-soft);
}

.tcn2026-loop::before {
	content: "";
	position: absolute;
	left: 60px;
	right: 60px;
	top: 36px;
	height: 2px;
	background: linear-gradient(90deg, rgba(0, 184, 230, 0.5), rgba(28, 108, 245, 0.5), rgba(111, 75, 240, 0.5));
	z-index: 0;
}

.tcn2026-loop__step {
	position: relative;
	z-index: 1;
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	gap: 8px;
	padding: 0 4px;
}

.tcn2026-loop__step:not(:last-child)::after {
	content: "";
	position: absolute;
	right: -7px;
	top: 17px;
	width: 0;
	height: 0;
	border-left: 6px solid rgba(28, 108, 245, 0.55);
	border-top: 5px solid transparent;
	border-bottom: 5px solid transparent;
}

.tcn2026-loop__num {
	flex: 0 0 auto;
	width: 44px;
	height: 44px;
	border-radius: 50%;
	background-image: var(--tcn-accent-grad);
	border: 3px solid #fff;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-family: var(--tcn-font-en);
	font-size: 13px;
	font-weight: 800;
	color: #fff;
	box-shadow: 0 8px 18px rgba(28, 108, 245, 0.3);
}

.tcn2026-loop__text {
	display: flex;
	flex-direction: column;
	align-items: center;
	line-height: 1.25;
	min-width: 0;
}

.tcn2026-loop__name {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 2px;
	font-size: 15px;
	font-weight: 800;
	white-space: nowrap;
}

.tcn2026-loop__name small {
	font-family: var(--tcn-font-en);
	font-size: 9.5px;
	font-weight: 800;
	letter-spacing: 0.12em;
	color: var(--tcn-blue);
}

.tcn2026-loop__desc {
	font-size: 12px;
	color: var(--tcn-ink-2);
	margin-top: 4px;
	line-height: 1.4;
}

/* ============================================================
   8. AI development CTA band (two paths)
   ============================================================ */
.tcn2026-cta {
	position: relative;
	margin: 0 auto;
	max-width: calc(var(--tcn-max) - 48px);
	border-radius: 22px;
	padding: 44px 0;
	background-image: linear-gradient(110deg, #1c6cf5 0%, #3d5cf2 45%, #6f4bf0 100%);
	color: #fff;
	overflow: hidden;
	box-shadow: 0 18px 44px rgba(61, 92, 242, 0.32);
}

.tcn2026-cta::before {
	content: "";
	position: absolute;
	inset: 0;
	background-image:
		linear-gradient(rgba(255, 255, 255, 0.07) 1px, transparent 1px),
		linear-gradient(90deg, rgba(255, 255, 255, 0.07) 1px, transparent 1px);
	background-size: 48px 48px;
	mask-image: radial-gradient(circle at 70% 50%, #000 0%, transparent 70%);
	-webkit-mask-image: radial-gradient(circle at 70% 50%, #000 0%, transparent 70%);
	pointer-events: none;
}

.tcn2026-cta::after {
	content: "";
	position: absolute;
	right: -80px;
	top: -140px;
	width: 460px;
	height: 460px;
	border-radius: 50%;
	border: 70px solid rgba(255, 255, 255, 0.07);
	pointer-events: none;
}

.tcn2026-cta__ring {
	position: absolute;
	border-radius: 50%;
	border: 1px solid rgba(255, 255, 255, 0.25);
	pointer-events: none;
}

.tcn2026-cta__ring--1 { left: -60px; bottom: -160px; width: 300px; height: 300px; }
.tcn2026-cta__ring--2 { left: 30%; top: -90px; width: 180px; height: 180px; border-style: dashed; }

.tcn2026-cta__inner {
	position: relative;
	z-index: 1;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px 48px;
	padding: 0 44px;
}

.tcn2026-cta__kicker {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	font-size: 13px;
	font-weight: 700;
	color: rgba(255, 255, 255, 0.9);
	margin-bottom: 10px;
}

.tcn2026-cta__kicker::before {
	content: "";
	width: 22px;
	height: 2px;
	background: rgba(255, 255, 255, 0.8);
	border-radius: 2px;
}

.tcn2026-cta__title {
	font-size: clamp(24px, 2.6vw, 32px);
	font-weight: 800;
	letter-spacing: -0.02em;
	margin-bottom: 10px;
	color: #fff;
}

.tcn2026-cta__lead {
	font-size: 15px;
	color: rgba(255, 255, 255, 0.92);
	max-width: 560px;
}

.tcn2026-cta__actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 14px;
	flex: 0 0 auto;
}

.tcn2026-cta__actions .tcn2026-btn--lg {
	padding: 17px 32px;
	border-radius: 12px;
}

/* ============================================================
   9. Other business — two illustrated cards
   ============================================================ */
.tcn2026-other {
	padding: 24px 0 36px;
}

.tcn2026-othergrid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 16px;
}

.tcn2026-biz {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 190px;
	gap: 20px;
	align-items: center;
	padding: 24px 26px;
	background: #fff;
	border: 1px solid var(--tcn-line);
	border-radius: var(--tcn-radius);
	box-shadow: var(--tcn-shadow-sm);
	transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.tcn2026-biz:hover {
	border-color: rgba(28, 108, 245, 0.28);
	box-shadow: var(--tcn-shadow);
}

.tcn2026-biz__text {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
}

.tcn2026-biz__text .tcn2026-sechead__kicker {
	font-size: 12.5px;
	margin-bottom: 4px;
}

.tcn2026-biz__name {
	font-size: 18px;
	font-weight: 800;
	letter-spacing: -0.01em;
	margin-bottom: 6px;
}

.tcn2026-biz__desc {
	font-size: 13px;
	line-height: 1.65;
	color: var(--tcn-ink-2);
	margin-bottom: 8px;
}

.tcn2026-biz__en {
	font-family: var(--tcn-font-en);
	font-size: 10.5px;
	font-weight: 800;
	letter-spacing: 0.14em;
	color: var(--tcn-ink-3);
	margin-bottom: 6px;
}

.tcn2026-biz__art {
	width: 190px;
	height: 160px;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 12px;
	background: linear-gradient(160deg, #eef3ff, #e4ecff);
}

.tcn2026-biz__art svg {
	width: 150px;
	height: 150px;
}

.tcn2026-biz__art--town {
	background: linear-gradient(160deg, #eefaff, #e4f0ff);
}

.tcn2026-biz__art--town svg {
	width: 176px;
}

/* slim full-width link card (IRY Prompt Store); flex-wrap keeps it tidy at every width */
.tcn2026-othergrid .tcn2026-biz--iry {
	grid-column: 1 / -1;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 8px 20px;
}

.tcn2026-biz--iry .tcn2026-biz__text {
	flex: 1 1 260px;
}

.tcn2026-biz--iry .tcn2026-biz__desc {
	margin-bottom: 0;
}

.tcn2026-biz--iry .tcn2026-textlink {
	flex: 0 0 auto;
}

/* ============================================================
   10. Footer — four columns
   ============================================================ */
.tcn2026-footer {
	background: var(--tcn-bg-tint);
	border-top: 1px solid var(--tcn-line);
	color: var(--tcn-ink-2);
	padding: 44px 0 22px;
}

.tcn2026-footer__grid {
	display: grid;
	grid-template-columns: minmax(0, 1.6fr) repeat(3, minmax(0, 1fr));
	gap: 24px 40px;
	padding-bottom: 30px;
	border-bottom: 1px solid var(--tcn-line);
}

.tcn2026-footer__col {
	padding-left: 20px;
	border-left: 1px solid var(--tcn-line-soft);
}

.tcn2026-footer__statement {
	font-size: 13.5px;
	line-height: 1.7;
	color: var(--tcn-ink-2);
	max-width: 340px;
	margin-top: 16px;
}

.tcn2026-footer__h {
	font-size: 13.5px;
	font-weight: 800;
	color: var(--tcn-ink);
	margin-bottom: 12px;
}

.tcn2026-footer__col ul {
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.tcn2026-footer__col a {
	font-size: 13px;
	color: var(--tcn-ink-2);
}

.tcn2026-footer__col a:hover {
	color: var(--tcn-blue);
}

.tcn2026-footer__bottom {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px 24px;
	padding-top: 18px;
	flex-wrap: wrap;
}

.tcn2026-footer__legal {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px 22px;
}

.tcn2026-footer__legal a {
	font-size: 12px;
	color: var(--tcn-ink-3);
}

.tcn2026-footer__legal a:hover {
	color: var(--tcn-blue);
}

.tcn2026-footer__copy {
	font-size: 12px;
	color: var(--tcn-ink-3);
}

.tcn2026-footer__cta {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-family: var(--tcn-font-en);
	font-size: 12.5px;
	font-weight: 800;
	color: var(--tcn-blue);
}

.tcn2026-footer__cta:hover {
	color: var(--tcn-violet);
}

/* ============================================================
   Scroll reveal
   ============================================================ */
.tcn2026-reveal {
	opacity: 0;
	transform: translateY(18px);
	transition: opacity 0.6s ease, transform 0.6s ease;
}

.tcn2026-reveal.is-visible {
	opacity: 1;
	transform: none;
}

/* ============================================================
   Responsive — TOP (v0.5.1)
   Desktop >= 1200px is frozen (初号機ゴール): nothing below applies there.
   Breakpoints: <=1199 (small desktop / iPad landscape 1024),
   <=1023 (iPad portrait 768–820), <=767 (phones 375/390/430).
   ============================================================ */

/* ---------- <= 1199: small desktop / iPad landscape ---------- */
@media (max-width: 1199px) {
	.tcn2026-products,
	.tcn2026-worksgrid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.tcn2026-hero__inner {
		grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
		gap: 12px;
	}

	.tcn2026-hero__visual {
		min-height: 480px;
	}

	.tcn2026-core {
		width: min(520px, 100%);
		margin-right: 0;
	}

	/* keep the word list clear of the AGENT tile */
	.tcn2026-core__words {
		bottom: 0;
		right: 0;
		font-size: 12px;
	}

	.tcn2026-tile--agent {
		right: auto;
		left: 38%;
		bottom: 2%;
	}

	.tcn2026-gchip--3 {
		left: 8%;
		bottom: 8%;
	}

	.tcn2026-feats {
		flex-wrap: wrap;
		width: auto;
		max-width: none;
	}

	/* LAB + JOURNAL stay side by side; LAB stacks copy above its visual */
	.tcn2026-duo__inner {
		grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	}

	.tcn2026-lab {
		grid-template-columns: 1fr;
	}

	.tcn2026-lab__title {
		white-space: normal;
	}

	.tcn2026-lab__visual {
		margin: 0 10px 10px;
		min-height: 280px;
	}

	.tcn2026-lab__chip--3 {
		display: none;
	}

	/* process: heading above, six compact steps in one row */
	.tcn2026-process__inner {
		grid-template-columns: 1fr;
		gap: 14px;
	}

	.tcn2026-loop {
		gap: 6px;
		padding: 14px 6px;
	}

	.tcn2026-loop::before {
		left: 40px;
		right: 40px;
	}

	.tcn2026-loop__num {
		width: 40px;
		height: 40px;
		font-size: 12px;
	}

	.tcn2026-loop__name {
		font-size: 14px;
	}

	.tcn2026-loop__desc {
		font-size: 11.5px;
	}

	.tcn2026-morebuilds {
		grid-template-columns: repeat(3, minmax(0, 1fr));
		gap: 10px;
	}

	.tcn2026-morebuild {
		padding: 12px 14px;
	}

	.tcn2026-cta__inner {
		gap: 20px 32px;
		padding: 0 32px;
	}

	.tcn2026-biz {
		grid-template-columns: minmax(0, 1fr) 150px;
		gap: 16px;
		padding: 20px 22px;
	}

	.tcn2026-biz__art {
		width: 150px;
		height: 130px;
	}

	.tcn2026-biz__art svg {
		width: 120px;
		height: 120px;
	}

	.tcn2026-biz__art--town svg {
		width: 140px;
	}
}

/* ---------- <= 1023: iPad portrait (768 / 820) ---------- */
@media (max-width: 1023px) {
	/* compact header with hamburger */
	.tcn2026-burger {
		display: flex;
	}

	.tcn2026-nav {
		position: absolute;
		top: var(--tcn-header-h);
		left: 0;
		right: 0;
		flex-direction: column;
		align-items: stretch;
		gap: 0;
		padding: 18px 24px 24px;
		background: #fff;
		border-bottom: 1px solid var(--tcn-line);
		box-shadow: var(--tcn-shadow);
		display: none;
	}

	.tcn2026-nav.is-open {
		display: flex;
	}

	.tcn2026-nav__list {
		flex-direction: column;
		align-items: stretch;
		gap: 0;
	}

	.tcn2026-nav__list a {
		display: block;
		padding: 13px 0;
		font-size: 15px;
		border-bottom: 1px solid var(--tcn-line-soft);
	}

	.tcn2026-nav__list a.is-current {
		box-shadow: none;
		padding-bottom: 13px;
	}

	.tcn2026-nav__utility {
		justify-content: space-between;
		padding-top: 18px;
	}

	/* hero keeps 2 columns; visual scaled to the column */
	.tcn2026-hero {
		padding: 36px 0 28px;
	}

	.tcn2026-hero__inner {
		grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
		gap: 8px;
	}

	.tcn2026-hero__title {
		font-size: clamp(30px, 4.4vw, 40px);
	}

	.tcn2026-hero__lead {
		font-size: 14.5px;
		margin-bottom: 20px;
	}

	.tcn2026-hero__visual {
		min-height: 400px;
	}

	.tcn2026-core {
		width: min(420px, 100%);
	}

	.tcn2026-core__slab {
		height: 60px;
	}

	.tcn2026-core__slab--0 { top: 150px; }
	.tcn2026-core__slab--1 { top: 104px; }
	.tcn2026-core__slab--2 { top: 56px; }

	.tcn2026-tile {
		width: 60px;
		height: 60px;
		border-radius: 16px;
	}

	.tcn2026-tile svg {
		width: 26px;
		height: 26px;
	}

	.tcn2026-tile--agent {
		width: 50px;
		height: 50px;
	}

	.tcn2026-gchip {
		padding: 6px 10px;
		font-size: 9px;
	}

	.tcn2026-gchip i {
		width: 22px;
	}

	.tcn2026-core__words {
		font-size: 11.5px;
		bottom: 6%;
	}

	.tcn2026-feats {
		gap: 10px 14px;
	}

	.tcn2026-feat__sub {
		white-space: normal;
	}

	.tcn2026-sechead--center {
		grid-template-columns: 1fr;
	}

	.tcn2026-sechead__main {
		grid-column: 1;
		text-align: left;
	}

	.tcn2026-sechead__aside {
		grid-column: 1;
		justify-self: start;
		margin-bottom: 0;
	}

	/* LAB / JOURNAL: still 2 columns at 820, tighter */
	.tcn2026-duo__inner {
		gap: 14px;
	}

	.tcn2026-lab__copy {
		padding: 22px 18px;
	}

	.tcn2026-lab__title {
		font-size: 20px;
	}

	.tcn2026-lab__visual {
		min-height: 240px;
	}

	.tcn2026-journal {
		padding: 22px 18px 16px;
	}

	.tcn2026-journal__title {
		font-size: 20px;
	}

	.tcn2026-jrow {
		grid-template-columns: 72px minmax(0, 1fr) 18px;
		gap: 10px;
	}

	.tcn2026-jrow__thumb {
		width: 72px;
		height: 50px;
	}

	/* process: still one horizontal row of six */
	.tcn2026-loop {
		gap: 4px;
		padding: 12px 4px;
	}

	.tcn2026-loop::before {
		left: 34px;
		right: 34px;
		top: 32px;
	}

	.tcn2026-loop__num {
		width: 36px;
		height: 36px;
		font-size: 11px;
	}

	.tcn2026-loop__name {
		font-size: 13px;
	}

	.tcn2026-loop__name small {
		font-size: 8.5px;
	}

	.tcn2026-loop__desc {
		font-size: 11px;
	}

	.tcn2026-loop__step:not(:last-child)::after {
		display: none;
	}

	.tcn2026-morebuilds {
		grid-template-columns: 1fr;
	}

	.tcn2026-morebuild {
		grid-template-columns: auto minmax(0, 1fr) auto;
		grid-template-areas: "cat name status" "desc desc desc";
		column-gap: 12px;
	}

	.tcn2026-cta {
		padding: 34px 0;
	}

	.tcn2026-cta__inner {
		flex-direction: column;
		align-items: flex-start;
		gap: 18px;
	}

	.tcn2026-cta__actions .tcn2026-btn--lg {
		padding: 14px 24px;
		font-size: 14.5px;
	}

	/* other business stays 2 columns; art below text when narrow */
	.tcn2026-biz {
		grid-template-columns: 1fr;
		gap: 12px;
		padding: 20px;
	}

	.tcn2026-biz__art {
		width: 100%;
		height: 120px;
	}

	.tcn2026-footer__grid {
		grid-template-columns: minmax(0, 1.4fr) repeat(3, minmax(0, 1fr));
		gap: 20px 20px;
	}

	.tcn2026-footer__col {
		padding-left: 14px;
	}
}

/* ---------- <= 767: phones (375 / 390 / 430) ---------- */
@media (max-width: 767px) {
	.tcn2026-container {
		padding: 0 18px;
	}

	.tcn2026-header__inner {
		padding: 0 18px;
	}

	.tcn2026-brand__tag {
		display: none;
	}

	.tcn2026-brand__mark {
		width: 36px;
		height: 36px;
	}

	.tcn2026-nav {
		padding: 14px 18px 20px;
	}

	.tcn2026-section {
		padding: 30px 0;
	}

	.tcn2026-sechead {
		margin-bottom: 18px;
	}

	.tcn2026-sechead__title {
		font-size: 23px;
		line-height: 1.3;
	}

	/* hero: copy → CTA → visual, ornaments reduced, motion kept */
	.tcn2026-hero {
		padding: 28px 0 24px;
	}

	.tcn2026-hero__inner {
		grid-template-columns: 1fr;
		gap: 18px;
	}

	.tcn2026-hero__visual {
		order: 2;
		min-height: 0;
		margin-top: 4px;
	}

	.tcn2026-eyebrow {
		font-size: 13.5px;
		margin-bottom: 10px;
	}

	.tcn2026-hero__title {
		font-size: 34px;
		line-height: 1.22;
		margin-bottom: 14px;
	}

	.tcn2026-hero__lead {
		font-size: 14.5px;
		line-height: 1.75;
		margin-bottom: 18px;
	}

	.tcn2026-hero__actions {
		gap: 10px;
		margin-bottom: 18px;
	}

	.tcn2026-hero__actions .tcn2026-btn {
		flex: 1 1 calc(50% - 5px);
		padding: 13px 14px;
		font-size: 14px;
	}

	.tcn2026-feats {
		flex-direction: column;
		width: auto;
		max-width: none;
		gap: 10px;
	}

	.tcn2026-feat__icon {
		width: 36px;
		height: 36px;
	}

	.tcn2026-core {
		width: min(340px, 100%);
		aspect-ratio: 1 / 1;
		margin: 0 auto;
	}

	.tcn2026-core__glow--3,
	.tcn2026-core__halo--3,
	.tcn2026-gchip,
	.tcn2026-cube--b,
	.tcn2026-core__sparks {
		display: none;
	}

	.tcn2026-core__stack {
		width: 56%;
		height: 48%;
	}

	.tcn2026-core__slab {
		height: 50px;
		border-radius: 16px;
	}

	.tcn2026-core__slab--0 { top: 120px; }
	.tcn2026-core__slab--1 { top: 82px; }
	.tcn2026-core__slab--2 { top: 44px; }
	.tcn2026-core__slab--3 { top: 6px; }

	.tcn2026-core__ring {
		width: 84px;
		height: 84px;
	}

	.tcn2026-tile {
		width: 52px;
		height: 52px;
		border-radius: 14px;
		gap: 2px;
	}

	.tcn2026-tile svg {
		width: 22px;
		height: 22px;
	}

	.tcn2026-tile__label {
		display: none;
	}

	.tcn2026-tile--brain { left: 10%; top: 6%; }
	.tcn2026-tile--chart { right: 8%; top: 8%; }
	.tcn2026-tile--chat  { left: 6%; bottom: 20%; }
	.tcn2026-tile--agent { width: 40px; height: 40px; right: auto; left: 34%; bottom: 2%; }

	.tcn2026-core__words {
		font-size: 10.5px;
		letter-spacing: 0.1em;
		bottom: 2%;
		right: 2%;
	}

	/* products / works: one column */
	.tcn2026-products,
	.tcn2026-worksgrid {
		grid-template-columns: 1fr;
		gap: 14px;
	}

	.tcn2026-morebuild {
		grid-template-columns: auto 1fr auto;
		grid-template-areas: "cat cat status" "name name name" "desc desc desc";
		column-gap: 10px;
	}

	.tcn2026-jrow__cat {
		font-size: 10px;
		letter-spacing: 0.08em;
	}

	.tcn2026-product__body {
		padding: 16px 16px 18px;
	}

	.tcn2026-work__visual {
		aspect-ratio: 16 / 10;
	}

	/* LAB / JOURNAL: one column, radar mood kept, overlays reduced */
	.tcn2026-duo__inner {
		grid-template-columns: 1fr;
		gap: 14px;
	}

	.tcn2026-lab__copy {
		padding: 20px 16px;
	}

	.tcn2026-lab__title,
	.tcn2026-journal__title {
		font-size: 20px;
	}

	.tcn2026-lab__visual {
		min-height: 230px;
	}

	.tcn2026-lab__chip--2 {
		top: auto;
		right: 6%;
		bottom: 8%;
	}

	.tcn2026-lab__brain {
		right: 30%;
		top: 40%;
		width: 110px;
		height: 110px;
	}

	.tcn2026-lab__slogan {
		font-size: 11px;
	}

	.tcn2026-lab__beam--3 {
		display: none;
	}

	.tcn2026-journal {
		padding: 20px 16px 16px;
	}

	.tcn2026-journal__head {
		flex-direction: column;
		gap: 8px;
	}

	.tcn2026-jrow {
		grid-template-columns: 60px minmax(0, 1fr) 16px;
		gap: 10px;
		padding: 10px;
	}

	.tcn2026-jrow__thumb {
		width: 60px;
		height: 44px;
	}

	.tcn2026-jrow__title {
		font-size: 13.5px;
	}

	.tcn2026-jrow__meta {
		flex-wrap: wrap;
		gap: 4px 8px;
	}

	/* process: vertical 6-step timeline */
	.tcn2026-process {
		padding: 4px 0 22px;
	}

	.tcn2026-loop {
		grid-template-columns: 1fr;
		gap: 0;
		padding: 6px 14px 6px 14px;
	}

	.tcn2026-loop::before {
		left: 33px;
		right: auto;
		top: 24px;
		bottom: 24px;
		width: 2px;
		height: auto;
		background: linear-gradient(180deg, rgba(0, 184, 230, 0.5), rgba(28, 108, 245, 0.5), rgba(111, 75, 240, 0.5));
	}

	.tcn2026-loop__step {
		flex-direction: row;
		align-items: center;
		text-align: left;
		gap: 14px;
		padding: 10px 0;
	}

	.tcn2026-loop__step + .tcn2026-loop__step {
		border-top: 1px solid var(--tcn-line-soft);
	}

	.tcn2026-loop__num {
		width: 40px;
		height: 40px;
		font-size: 12px;
		flex: 0 0 auto;
	}

	.tcn2026-loop__text {
		align-items: flex-start;
	}

	.tcn2026-loop__name {
		flex-direction: row;
		align-items: baseline;
		gap: 8px;
		font-size: 15px;
	}

	.tcn2026-loop__desc {
		margin-top: 2px;
		font-size: 12.5px;
	}

	/* CTA: stacked, full-width buttons */
	.tcn2026-cta {
		border-radius: 14px;
		max-width: calc(100% - 28px);
		padding: 28px 0;
	}

	.tcn2026-cta__inner {
		padding: 0 20px;
		gap: 16px;
	}

	.tcn2026-cta__title {
		font-size: 22px;
	}

	.tcn2026-cta__lead {
		font-size: 14px;
	}

	.tcn2026-cta__actions {
		width: 100%;
		flex-direction: column;
		gap: 10px;
	}

	.tcn2026-cta__actions .tcn2026-btn {
		width: 100%;
	}

	/* other business: one column */
	.tcn2026-othergrid {
		grid-template-columns: 1fr;
		gap: 14px;
	}

	.tcn2026-biz {
		padding: 18px 16px;
	}

	.tcn2026-btn {
		padding: 12px 20px;
		font-size: 14px;
	}

	.tcn2026-btn--lg {
		padding: 14px 22px;
		font-size: 15px;
	}

	/* footer: compact stacked */
	.tcn2026-footer {
		padding: 30px 0 18px;
	}

	.tcn2026-footer__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 20px 16px;
		padding-bottom: 20px;
	}

	.tcn2026-footer__brand {
		grid-column: 1 / -1;
	}

	.tcn2026-footer__col {
		padding-left: 0;
		border-left: 0;
	}

	.tcn2026-footer__statement {
		margin-top: 10px;
	}

	.tcn2026-footer__bottom {
		flex-direction: column;
		align-items: flex-start;
		gap: 10px;
	}
}

/* narrow phones (<= 399): stack hero buttons */
@media (max-width: 399px) {
	.tcn2026-hero__actions .tcn2026-btn {
		flex-basis: 100%;
	}
}

/* very narrow phones (<= 360) */
@media (max-width: 360px) {

	.tcn2026-footer__grid {
		grid-template-columns: 1fr;
	}
}


/* ============================================================
   v0.5.0 — shared sub-page components (PRODUCTS / LayerMason /
   AI DEVELOPMENT / WORKS / RESEARCH / JOURNAL / ABOUT / CONTACT)
   ============================================================ */

/* header active state */
.tcn2026-nav__list a.is-current {
	color: var(--tcn-blue);
	box-shadow: inset 0 -2px 0 var(--tcn-blue);
	padding-bottom: 2px;
}

/* section variants */
.tcn2026-section--tint {
	background: var(--tcn-bg-tint);
	border-top: 1px solid var(--tcn-line-soft);
	border-bottom: 1px solid var(--tcn-line-soft);
}

.tcn2026-section--dark {
	background:
		radial-gradient(640px 320px at 84% 0%, rgba(111, 75, 240, 0.26), transparent 62%),
		radial-gradient(560px 300px at 6% 100%, rgba(0, 184, 230, 0.16), transparent 60%),
		linear-gradient(180deg, var(--tcn-dark) 0%, var(--tcn-dark-2) 100%);
	color: #fff;
}

.tcn2026-section--dark-2 {
	background: linear-gradient(180deg, var(--tcn-dark-2) 0%, #0f1b3d 100%);
}

.tcn2026-sechead--row {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 16px 40px;
}

.tcn2026-sechead--row > div {
	max-width: 720px;
}

.tcn2026-sechead__sub {
	color: var(--tcn-ink-2);
	font-size: 14.5px;
	max-width: 520px;
}

.tcn2026-sechead--row > .tcn2026-sechead__sub {
	max-width: 380px;
	margin-bottom: 4px;
	text-align: right;
}

.tcn2026-sechead__title--xl {
	font-size: clamp(30px, 3.6vw, 44px);
}

.tcn2026-sechead--invert .tcn2026-sechead__title {
	color: #fff;
}

.tcn2026-sechead--invert .tcn2026-sechead__kicker {
	color: #6fe6ff;
}

.tcn2026-sechead--invert .tcn2026-sechead__sub {
	color: rgba(255, 255, 255, 0.72);
}

.tcn2026-note {
	margin-top: 22px;
	font-size: 12.5px;
	line-height: 1.7;
	color: var(--tcn-ink-3);
}

.tcn2026-note--dark {
	color: rgba(255, 255, 255, 0.62);
}

.tcn2026-grid {
	display: grid;
	gap: 18px;
}

.tcn2026-grid--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.tcn2026-grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.tcn2026-grid--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }

/* ---------- page hero ---------- */
.tcn2026-phero {
	position: relative;
	padding: 44px 0 40px;
	overflow: hidden;
}

.tcn2026-phero__bg {
	position: absolute;
	inset: 0;
	background:
		radial-gradient(700px 420px at 84% 30%, rgba(111, 75, 240, 0.14), transparent 62%),
		radial-gradient(600px 400px at 20% 90%, rgba(0, 184, 230, 0.10), transparent 60%),
		linear-gradient(180deg, #f7f9ff 0%, #ffffff 100%);
}

.tcn2026-phero__bg::after {
	content: "";
	position: absolute;
	inset: 0;
	background-image:
		linear-gradient(rgba(13, 20, 36, 0.05) 1px, transparent 1px),
		linear-gradient(90deg, rgba(13, 20, 36, 0.05) 1px, transparent 1px);
	background-size: 64px 64px;
	mask-image: radial-gradient(circle at 80% 30%, #000 0%, transparent 70%);
	-webkit-mask-image: radial-gradient(circle at 80% 30%, #000 0%, transparent 70%);
}

.tcn2026-phero__inner {
	position: relative;
	display: grid;
	grid-template-columns: minmax(0, 1.15fr) minmax(0, 0.85fr);
	gap: 32px;
	align-items: center;
}

.tcn2026-phero--compact .tcn2026-phero__inner {
	grid-template-columns: 1fr;
}

.tcn2026-phero--compact {
	padding-bottom: 8px;
}

.tcn2026-phero__title {
	font-size: clamp(30px, 3.8vw, 46px);
	font-weight: 800;
	letter-spacing: -0.03em;
	line-height: 1.2;
	margin: 6px 0 16px;
}

.tcn2026-phero__title em {
	font-style: normal;
	background-image: linear-gradient(90deg, #1c6cf5 0%, #4b5cf0 55%, #8b4bf0 100%);
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
}

body[data-tcn-lang="en"] .tcn2026-phero__title .tcn2026-t[lang="en"] {
	display: block;
}

.tcn2026-phero__lead {
	max-width: 600px;
	color: var(--tcn-ink-2);
	font-size: 15.5px;
	line-height: 1.8;
	margin-bottom: 22px;
}

.tcn2026-phero .tcn2026-eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	margin-bottom: 8px;
}

.tcn2026-phero .tcn2026-feats {
	margin-top: 24px;
}

.tcn2026-phero__stats {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 10px;
	justify-self: end;
	width: min(480px, 100%);
}

.tcn2026-phero__stats li {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 12px 14px;
	border-radius: 12px;
	background: rgba(255, 255, 255, 0.85);
	border: 1px solid var(--tcn-line);
	box-shadow: var(--tcn-shadow-sm);
	font-size: 12px;
	font-weight: 600;
	color: var(--tcn-ink-2);
	line-height: 1.4;
}

.tcn2026-phero__stats .tcn2026-status {
	flex: 0 0 auto;
}

.tcn2026-phero__visual {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
}

.tcn2026-phero--dark {
	background: linear-gradient(180deg, var(--tcn-dark) 0%, var(--tcn-dark-2) 100%);
	color: #fff;
}

.tcn2026-phero--dark .tcn2026-phero__bg {
	background:
		radial-gradient(640px 360px at 80% 30%, rgba(28, 108, 245, 0.35), transparent 62%),
		radial-gradient(520px 320px at 10% 100%, rgba(0, 184, 230, 0.22), transparent 60%),
		linear-gradient(180deg, var(--tcn-dark) 0%, var(--tcn-dark-2) 100%);
}

.tcn2026-phero--dark .tcn2026-phero__bg::after {
	background-image:
		linear-gradient(rgba(255, 255, 255, 0.06) 1px, transparent 1px),
		linear-gradient(90deg, rgba(255, 255, 255, 0.06) 1px, transparent 1px);
}

.tcn2026-phero--dark .tcn2026-lab__grid {
	position: absolute;
	inset: auto 0 0 0;
	height: 60%;
}

.tcn2026-phero--dark .tcn2026-eyebrow {
	color: #6fe6ff;
}

.tcn2026-phero--dark .tcn2026-phero__title {
	color: #fff;
}

.tcn2026-phero--dark .tcn2026-phero__title em {
	background-image: linear-gradient(90deg, #6fe6ff 0%, #4fd2ff 50%, #b9a5ff 100%);
}

.tcn2026-phero--dark .tcn2026-phero__lead {
	color: rgba(255, 255, 255, 0.78);
}

/* framed screenshot box */
.tcn2026-shot {
	position: relative;
	width: min(520px, 100%);
	aspect-ratio: 4 / 3;
	border-radius: 18px;
	overflow: hidden;
	background: #eef3ff;
	box-shadow: var(--tcn-shadow-lg), 0 0 0 1px rgba(28, 108, 245, 0.10);
}

.tcn2026-shot svg {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
}

.tcn2026-shot--tilt {
	transform: perspective(1200px) rotateY(-8deg) rotateX(3deg);
}

.tcn2026-phero--lm .tcn2026-shot {
	transform: perspective(1200px) rotateY(-10deg) rotateX(4deg);
}

/* --- AI Development hero visual: layered AI core (aidev-scoped) ---
   Shares the cyan/blue/violet layered-core visual language with TOP's
   .tcn2026-core (see line ~577) via the shared tcn2026-pulse / -spin /
   -float / -ring keyframes and --tcn-* color tokens, but is an
   independent component so TOP's .tcn2026-core is never touched. */
.tcn2026-phero--aidev .tcn2026-phero__visual {
	min-height: 560px;
}

.tcn2026-phero--aidev .tcn2026-phero__inner {
	grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr);
}

.tcn2026-aicore-wrap {
	position: relative;
	width: min(440px, 100%);
	display: flex;
	align-items: center;
	justify-content: center;
}

.tcn2026-aicore {
	position: relative;
	width: 100%;
	aspect-ratio: 480 / 440;
}

.tcn2026-aicore__glow {
	position: absolute;
	inset: 12% 12% 30%;
	border-radius: 50%;
	background: radial-gradient(circle, rgba(28, 108, 245, 0.34), rgba(111, 75, 240, 0.20) 45%, rgba(0, 184, 230, 0.08) 65%, transparent 75%);
	filter: blur(22px);
	animation: tcn2026-pulse 7s ease-in-out infinite;
}

.tcn2026-aicore__glow--2 {
	inset: 30% 28% 40%;
	background: radial-gradient(circle, rgba(140, 220, 255, 0.5), rgba(28, 108, 245, 0.18) 50%, transparent 70%);
	filter: blur(12px);
	animation-delay: -3s;
}

.tcn2026-aicore__halo {
	position: absolute;
	left: 50%;
	top: 42%;
	border-radius: 50%;
	transform: translate(-50%, -50%) rotateX(66deg);
	border: 1.5px solid rgba(28, 108, 245, 0.26);
	box-shadow: 0 0 20px rgba(79, 210, 255, 0.3), inset 0 0 20px rgba(111, 75, 240, 0.16);
	pointer-events: none;
}

.tcn2026-aicore__halo--1 { width: 58%; aspect-ratio: 1; border-style: dashed; animation: tcn2026-spin 24s linear infinite; }
.tcn2026-aicore__halo--2 { width: 78%; aspect-ratio: 1; border-color: rgba(111, 75, 240, 0.2); border-style: dotted; animation: tcn2026-spin 40s linear infinite reverse; }

.tcn2026-aicore__nodes {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 84%;
	z-index: 0;
	pointer-events: none;
}

.tcn2026-aicore__orbits ellipse {
	fill: none;
	stroke: rgba(111, 75, 240, 0.2);
	stroke-width: 1;
	stroke-dasharray: 2 8;
}

.tcn2026-aicore__links line {
	stroke: rgba(28, 108, 245, 0.28);
	stroke-width: 1;
	stroke-dasharray: 4 6;
}

.tcn2026-aicore__dots circle {
	fill: var(--tcn-blue);
	stroke: var(--tcn-blue);
	stroke-width: 1.5;
}

.tcn2026-aicore__dots circle:nth-child(even) {
	fill: var(--tcn-violet);
	stroke: var(--tcn-violet);
}

.tcn2026-aicore__sats circle {
	fill: #fff;
	stroke: var(--tcn-violet);
	stroke-width: 2;
	filter: drop-shadow(0 0 6px rgba(111, 75, 240, 0.75));
}

.tcn2026-aicore__stack {
	position: absolute;
	left: 50%;
	top: 40%;
	width: 48%;
	height: 46%;
	transform: translate(-50%, -48%);
	animation: tcn2026-float 8s ease-in-out infinite;
	z-index: 2;
}

.tcn2026-aicore__slab {
	position: absolute;
	left: 0;
	width: 100%;
	height: 62px;
	border-radius: 20px;
	transform: rotate(-8deg) skewX(-24deg) scaleY(0.62);
	border: 1px solid rgba(255, 255, 255, 0.6);
	box-shadow: 0 24px 44px rgba(13, 20, 36, 0.18), inset 0 1px 0 rgba(255, 255, 255, 0.6);
}

.tcn2026-aicore__slab::after {
	content: "";
	position: absolute;
	inset: 0;
	border-radius: inherit;
	background: linear-gradient(180deg, rgba(255, 255, 255, 0.32), transparent 55%);
	pointer-events: none;
}

.tcn2026-aicore__slab--0 { top: 148px; background: linear-gradient(135deg, #b39aff 0%, #7a5cff 100%); z-index: 0; opacity: 0.8; }
.tcn2026-aicore__slab--1 { top: 99px;  background: linear-gradient(135deg, #8f6bff 0%, #5a2fd6 100%); z-index: 1; }
.tcn2026-aicore__slab--2 { top: 51px;  background: linear-gradient(135deg, #3d8bff 0%, #5a3ee8 100%); z-index: 2; }
.tcn2026-aicore__slab--3 {
	top: 4px;
	background: linear-gradient(135deg, #b9f3ff 0%, #4fd2ff 45%, #1c6cf5 100%);
	z-index: 3;
	display: flex;
	align-items: center;
	justify-content: center;
}

.tcn2026-aicore__chip {
	width: 32%;
	height: 40%;
	border-radius: 8px;
	background: linear-gradient(135deg, #ffffff, #c9f1ff);
	box-shadow: 0 0 0 4px rgba(255, 255, 255, 0.3), 0 0 30px 6px rgba(111, 226, 255, 0.7);
	z-index: 2;
}

.tcn2026-aicore__ring {
	position: absolute;
	left: 50%;
	top: 50%;
	width: 96px;
	height: 96px;
	border-radius: 50%;
	border: 1.5px solid rgba(255, 255, 255, 0.6);
	transform: translate(-50%, -50%);
	animation: tcn2026-ring 4.5s ease-out infinite;
}

/* DISCOVER -> BUILD -> SHIP flow chip */
.tcn2026-aicore__flow {
	position: absolute;
	left: 50%;
	bottom: 0;
	transform: translateX(-50%);
	display: flex;
	align-items: center;
	gap: 10px;
	z-index: 5;
	margin: 0;
	padding: 10px 16px;
	list-style: none;
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.82);
	border: 1px solid rgba(255, 255, 255, 0.95);
	box-shadow: 0 12px 28px rgba(13, 20, 36, 0.12);
	backdrop-filter: blur(8px);
	-webkit-backdrop-filter: blur(8px);
	white-space: nowrap;
}

.tcn2026-aicore__step {
	display: flex;
	align-items: center;
	gap: 6px;
	font-family: var(--tcn-font-en);
	font-size: 10.5px;
	font-weight: 800;
	letter-spacing: 0.12em;
	color: var(--tcn-navy);
}

.tcn2026-aicore__step:not(:last-child)::after {
	content: "";
	width: 16px;
	height: 1.5px;
	margin-left: 6px;
	background: linear-gradient(90deg, var(--tcn-blue), var(--tcn-violet));
	opacity: 0.55;
}

.tcn2026-aicore__dot {
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: var(--tcn-cyan);
	box-shadow: 0 0 8px rgba(0, 184, 230, 0.85);
}

.tcn2026-aicore__step--2 .tcn2026-aicore__dot { background: var(--tcn-blue); box-shadow: 0 0 8px rgba(28, 108, 245, 0.85); }
.tcn2026-aicore__step--3 .tcn2026-aicore__dot { background: var(--tcn-violet); box-shadow: 0 0 8px rgba(111, 75, 240, 0.85); }

/* --- AI Development hero visual v2: full-width layered CORE (aidev-scoped) ---
   Derived from TOP's .tcn2026-core (Figma 51:3, line ~577): same glow / halo /
   orbit-node / layered-slab language and shared keyframes + --tcn-* tokens,
   scaled and re-laid-out to fill the AI Development hero's right column edge
   to edge, with DISCOVER / PoC / BUILD / OPERATE tiles (Figma 68:3) instead of
   TOP's AI / DATA / CHAT / AGENT tiles. Independent namespace (.tcn2026-avis*)
   — TOP's .tcn2026-core is never read or modified by these rules. Supersedes
   the compact .tcn2026-aicore* visual above, which is left in place unused
   (same policy as the earlier visual-spark.php). */
.tcn2026-avis-wrap {
	position: relative;
	width: min(640px, 116%);
	margin-right: -8%;
	display: flex;
	align-items: center;
	justify-content: center;
}

.tcn2026-avis {
	position: relative;
	width: 100%;
	aspect-ratio: 620 / 560;
}

.tcn2026-avis__glow {
	position: absolute;
	inset: 10% 14% 28%;
	border-radius: 50%;
	background: radial-gradient(circle, rgba(28, 108, 245, 0.36), rgba(111, 75, 240, 0.22) 42%, rgba(0, 184, 230, 0.08) 62%, transparent 72%);
	filter: blur(24px);
	animation: tcn2026-pulse 7s ease-in-out infinite;
}

.tcn2026-avis__glow--2 {
	inset: 32% 30% 42%;
	background: radial-gradient(circle, rgba(140, 220, 255, 0.55), rgba(28, 108, 245, 0.2) 50%, transparent 70%);
	filter: blur(13px);
	animation-delay: -3s;
}

.tcn2026-avis__glow--3 {
	inset: 2% 2% 50%;
	background: radial-gradient(circle, rgba(0, 184, 230, 0.16), rgba(111, 75, 240, 0.10) 50%, transparent 72%);
	filter: blur(30px);
	animation-delay: -5s;
}

.tcn2026-avis__halo {
	position: absolute;
	left: 50%;
	top: 40%;
	border-radius: 50%;
	transform: translate(-50%, -50%) rotateX(66deg);
	border: 1.5px solid rgba(28, 108, 245, 0.26);
	box-shadow: 0 0 22px rgba(79, 210, 255, 0.32), inset 0 0 22px rgba(111, 75, 240, 0.16);
	pointer-events: none;
}

.tcn2026-avis__halo--1 { width: 50%; aspect-ratio: 1; border-style: dashed; animation: tcn2026-spin 22s linear infinite; }
.tcn2026-avis__halo--2 { width: 68%; aspect-ratio: 1; border-color: rgba(111, 75, 240, 0.2); animation: tcn2026-spin 34s linear infinite reverse; }
.tcn2026-avis__halo--3 { width: 86%; aspect-ratio: 1; border-color: rgba(0, 184, 230, 0.16); border-style: dotted; animation: tcn2026-spin 48s linear infinite; }

.tcn2026-avis__nodes {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	z-index: 0;
	pointer-events: none;
}

.tcn2026-avis__orbits ellipse {
	fill: none;
	stroke: rgba(111, 75, 240, 0.22);
	stroke-width: 1;
	stroke-dasharray: 2 8;
}

.tcn2026-avis__links line {
	stroke: rgba(28, 108, 245, 0.3);
	stroke-width: 1;
	stroke-dasharray: 4 6;
}

.tcn2026-avis__dots circle {
	fill: #fff;
	stroke: var(--tcn-blue);
	stroke-width: 1.5;
}

.tcn2026-avis__dots circle:nth-child(3n) {
	fill: var(--tcn-violet);
	stroke: var(--tcn-violet);
}

.tcn2026-avis__dots circle:nth-child(odd) {
	fill: var(--tcn-blue);
}

.tcn2026-avis__sats circle {
	fill: #fff;
	stroke: var(--tcn-violet);
	stroke-width: 2;
	filter: drop-shadow(0 0 6px rgba(111, 75, 240, 0.75));
}

.tcn2026-avis__sparks circle {
	fill: var(--tcn-cyan);
	opacity: 0.7;
	animation: tcn2026-twinkle 3s ease-in-out infinite;
}

.tcn2026-avis__sparks circle:nth-child(2n) { animation-delay: -1s; }
.tcn2026-avis__sparks circle:nth-child(3n) { animation-delay: -2s; fill: var(--tcn-violet); }

.tcn2026-avis__stack {
	position: absolute;
	left: 50%;
	top: 38%;
	width: 42%;
	height: 44%;
	transform: translate(-50%, -48%);
	animation: tcn2026-float 8s ease-in-out infinite;
	z-index: 2;
}

.tcn2026-avis__slab {
	position: absolute;
	left: 0;
	width: 100%;
	height: 66px;
	border-radius: 20px;
	transform: rotate(-8deg) skewX(-24deg) scaleY(0.62);
	border: 1px solid rgba(255, 255, 255, 0.6);
	box-shadow: 0 26px 48px rgba(13, 20, 36, 0.19), inset 0 1px 0 rgba(255, 255, 255, 0.6);
}

.tcn2026-avis__slab::after {
	content: "";
	position: absolute;
	inset: 0;
	border-radius: inherit;
	background: linear-gradient(180deg, rgba(255, 255, 255, 0.32), transparent 55%);
	pointer-events: none;
}

.tcn2026-avis__slab--0 { top: 156px; background: linear-gradient(135deg, #b39aff 0%, #7a5cff 100%); z-index: 0; opacity: 0.8; }
.tcn2026-avis__slab--1 { top: 104px; background: linear-gradient(135deg, #8f6bff 0%, #5a2fd6 100%); z-index: 1; }
.tcn2026-avis__slab--2 { top: 54px;  background: linear-gradient(135deg, #3d8bff 0%, #5a3ee8 100%); z-index: 2; }
.tcn2026-avis__slab--3 {
	top: 4px;
	background: linear-gradient(135deg, #b9f3ff 0%, #4fd2ff 45%, #1c6cf5 100%);
	z-index: 3;
	display: flex;
	align-items: center;
	justify-content: center;
}

.tcn2026-avis__chip {
	width: 32%;
	height: 40%;
	border-radius: 8px;
	background: linear-gradient(135deg, #ffffff, #c9f1ff);
	box-shadow: 0 0 0 4px rgba(255, 255, 255, 0.3), 0 0 32px 7px rgba(111, 226, 255, 0.72);
	z-index: 2;
}

.tcn2026-avis__ring {
	position: absolute;
	left: 50%;
	top: 50%;
	width: 104px;
	height: 104px;
	border-radius: 50%;
	border: 1.5px solid rgba(255, 255, 255, 0.6);
	transform: translate(-50%, -50%);
	animation: tcn2026-ring 4.5s ease-out infinite;
}

/* floating process tiles: DISCOVER / PoC / BUILD / OPERATE */
.tcn2026-avis__tile {
	position: absolute;
	z-index: 5;
	width: 74px;
	height: 74px;
	border-radius: 20px;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 4px;
	color: #fff;
	background: linear-gradient(135deg, #3d8bff, #6f4bf0);
	box-shadow: 0 18px 38px rgba(28, 108, 245, 0.3), inset 0 1px 0 rgba(255, 255, 255, 0.5);
	border: 1px solid rgba(255, 255, 255, 0.55);
	transform: rotate(-6deg) skewX(-10deg);
	animation: tcn2026-float 6s ease-in-out infinite;
}

.tcn2026-avis__tile svg {
	width: 26px;
	height: 26px;
	transform: skewX(10deg);
}

.tcn2026-avis__tile span {
	font-family: var(--tcn-font-en);
	font-size: 8.5px;
	font-weight: 800;
	letter-spacing: 0.14em;
	opacity: 0.92;
	transform: skewX(10deg);
}

.tcn2026-avis__tile--discover { left: 0%;  top: 2%;    animation-delay: -1s;   background: linear-gradient(135deg, #3d8bff, #1c4fd6); }
.tcn2026-avis__tile--poc      { right: 0%; top: 10%;   animation-delay: -3s;   width: 60px; height: 60px; background: linear-gradient(135deg, #4fd2ff, #1c6cf5); }
.tcn2026-avis__tile--poc svg  { width: 22px; height: 22px; }
.tcn2026-avis__tile--build    { left: 2%;  bottom: 16%; animation-delay: -2s;   background: linear-gradient(135deg, #6f4bf0, #4b2fd6); }
.tcn2026-avis__tile--operate  { right: 4%; bottom: 2%;  animation-delay: -4.5s; background: linear-gradient(135deg, #8f6bff, #5a2fd6); }

/* DISCOVER -> BUILD -> SHIP flow chip */
.tcn2026-avis__flow {
	position: absolute;
	left: 50%;
	bottom: 0;
	transform: translateX(-50%);
	display: flex;
	align-items: center;
	gap: 10px;
	z-index: 5;
	margin: 0;
	padding: 10px 16px;
	list-style: none;
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.84);
	border: 1px solid rgba(255, 255, 255, 0.95);
	box-shadow: 0 12px 28px rgba(13, 20, 36, 0.12);
	backdrop-filter: blur(8px);
	-webkit-backdrop-filter: blur(8px);
	white-space: nowrap;
}

.tcn2026-avis__step {
	display: flex;
	align-items: center;
	gap: 6px;
	font-family: var(--tcn-font-en);
	font-size: 10.5px;
	font-weight: 800;
	letter-spacing: 0.12em;
	color: var(--tcn-navy);
}

.tcn2026-avis__step:not(:last-child)::after {
	content: "";
	width: 16px;
	height: 1.5px;
	margin-left: 6px;
	background: linear-gradient(90deg, var(--tcn-blue), var(--tcn-violet));
	opacity: 0.55;
}

.tcn2026-avis__dot {
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: var(--tcn-cyan);
	box-shadow: 0 0 8px rgba(0, 184, 230, 0.85);
}

.tcn2026-avis__step--2 .tcn2026-avis__dot { background: var(--tcn-blue); box-shadow: 0 0 8px rgba(28, 108, 245, 0.85); }
.tcn2026-avis__step--3 .tcn2026-avis__dot { background: var(--tcn-violet); box-shadow: 0 0 8px rgba(111, 75, 240, 0.85); }

.tcn2026-lab__visual--hero {
	width: min(520px, 100%);
	min-height: 360px;
	margin: 0;
	box-shadow: var(--tcn-shadow-lg), 0 0 0 1px rgba(111, 226, 255, 0.18);
}

.tcn2026-lab__visual--card {
	min-height: 100%;
	margin: 0;
	border-radius: 14px;
}

/* ---------- generic card ---------- */
.tcn2026-card {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 8px;
	padding: 22px 22px 22px;
	background: #fff;
	border: 1px solid var(--tcn-line);
	border-radius: var(--tcn-radius);
	box-shadow: var(--tcn-shadow-sm);
	transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}

.tcn2026-card:hover {
	transform: translateY(-4px);
	box-shadow: var(--tcn-shadow);
	border-color: rgba(28, 108, 245, 0.28);
}

.tcn2026-card__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	border-radius: 12px;
	color: #fff;
	background: linear-gradient(135deg, #3d8bff, #6f4bf0);
	box-shadow: 0 8px 18px rgba(28, 108, 245, 0.25);
	margin-bottom: 4px;
}

.tcn2026-card__icon svg {
	width: 22px;
	height: 22px;
}

.tcn2026-card__icon--cyan   { background: linear-gradient(135deg, #4fd2ff, #1c6cf5); }
.tcn2026-card__icon--blue   { background: linear-gradient(135deg, #3d8bff, #1c4fd6); }
.tcn2026-card__icon--violet { background: linear-gradient(135deg, #8f6bff, #5a2fd6); }
.tcn2026-card__icon--green  { background: linear-gradient(135deg, #2fc98a, #0b5f8a); box-shadow: 0 8px 18px rgba(15, 157, 107, 0.25); }

.tcn2026-card__num {
	font-family: var(--tcn-font-en);
	font-size: 28px;
	font-weight: 800;
	letter-spacing: -0.02em;
	color: var(--tcn-blue);
	line-height: 1;
}

.tcn2026-card__kicker {
	font-family: var(--tcn-font-en);
	font-size: 11px;
	font-weight: 800;
	letter-spacing: 0.2em;
	color: var(--tcn-blue);
	padding: 4px 10px;
	border-radius: 999px;
	background: var(--tcn-accent-grad-soft);
}

.tcn2026-card__title {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
	font-size: 17px;
	font-weight: 800;
	letter-spacing: -0.01em;
	line-height: 1.35;
}

.tcn2026-card__title small {
	font-size: 11px;
	font-weight: 700;
	color: var(--tcn-ink-3);
	padding: 2px 8px;
	border: 1px dashed var(--tcn-line);
	border-radius: 999px;
}

.tcn2026-card__desc {
	font-size: 13.5px;
	line-height: 1.7;
	color: var(--tcn-ink-2);
}

.tcn2026-card__list {
	margin-top: 4px;
	display: flex;
	flex-direction: column;
	gap: 4px;
	font-size: 12.5px;
	color: var(--tcn-ink-2);
}

.tcn2026-card__list li {
	position: relative;
	padding-left: 14px;
}

.tcn2026-card__list li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0.65em;
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: var(--tcn-blue);
}

.tcn2026-card > .tcn2026-textlink {
	margin-top: auto;
	padding-top: 6px;
}

.tcn2026-card--problem {
	background: #fff;
	border-left: 4px solid var(--tcn-blue);
}

.tcn2026-card--tall {
	min-height: 240px;
}

/* ---------- numbered steps ---------- */
.tcn2026-steps {
	display: grid;
	gap: 16px;
	counter-reset: tcn-step;
}

.tcn2026-steps--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.tcn2026-steps--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.tcn2026-steps--5 { grid-template-columns: repeat(5, minmax(0, 1fr)); }

.tcn2026-step {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 8px;
	padding: 22px 20px 22px;
	background: #fff;
	border: 1px solid var(--tcn-line);
	border-radius: var(--tcn-radius);
	box-shadow: var(--tcn-shadow-sm);
}

.tcn2026-step:not(:last-child)::after {
	content: "";
	position: absolute;
	right: -14px;
	top: 38px;
	width: 0;
	height: 0;
	border-left: 8px solid rgba(28, 108, 245, 0.5);
	border-top: 6px solid transparent;
	border-bottom: 6px solid transparent;
	z-index: 1;
}

.tcn2026-step__num {
	position: absolute;
	right: 16px;
	top: 14px;
	font-family: var(--tcn-font-en);
	font-size: 12px;
	font-weight: 800;
	letter-spacing: 0.1em;
	color: var(--tcn-ink-3);
}

.tcn2026-step__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	border-radius: 50%;
	background-image: var(--tcn-accent-grad);
	color: #fff;
	box-shadow: 0 8px 18px rgba(28, 108, 245, 0.3);
}

.tcn2026-step__icon svg {
	width: 22px;
	height: 22px;
}

.tcn2026-step__name {
	font-size: 16px;
	font-weight: 800;
	letter-spacing: -0.01em;
}

.tcn2026-step__desc {
	font-size: 13px;
	line-height: 1.65;
	color: var(--tcn-ink-2);
}

.tcn2026-steps--dark .tcn2026-step {
	background: rgba(255, 255, 255, 0.05);
	border-color: rgba(255, 255, 255, 0.12);
	box-shadow: none;
}

.tcn2026-steps--dark .tcn2026-step__name {
	color: #fff;
	font-family: var(--tcn-font-en);
	letter-spacing: 0.08em;
}

.tcn2026-steps--dark .tcn2026-step__desc {
	color: rgba(255, 255, 255, 0.7);
}

.tcn2026-steps--dark .tcn2026-step__num {
	color: rgba(255, 255, 255, 0.45);
}

.tcn2026-steps--dark .tcn2026-step:not(:last-child)::after {
	border-left-color: rgba(111, 226, 255, 0.6);
}

/* ---------- split (copy + visual) ---------- */
.tcn2026-split {
	display: grid;
	grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr);
	gap: 40px;
	align-items: center;
}

.tcn2026-split__visual {
	display: flex;
	justify-content: center;
}

.tcn2026-split__copy .tcn2026-sechead__title {
	margin-bottom: 16px;
}

.tcn2026-checks--plain {
	background: none;
	padding: 0;
	gap: 12px;
}

.tcn2026-checks--plain li {
	font-size: 14.5px;
}

.tcn2026-tags--lg li {
	font-size: 12px;
	padding: 5px 12px;
}

.tcn2026-tags--dark li {
	background: rgba(255, 255, 255, 0.06);
	border-color: rgba(255, 255, 255, 0.16);
	color: rgba(255, 255, 255, 0.8);
}

/* ---------- table ---------- */
.tcn2026-tablewrap {
	overflow-x: auto;
	border: 1px solid var(--tcn-line);
	border-radius: var(--tcn-radius);
	background: #fff;
	box-shadow: var(--tcn-shadow-sm);
}

.tcn2026-table {
	width: 100%;
	min-width: 720px;
	border-collapse: collapse;
	font-size: 13.5px;
}

.tcn2026-table th,
.tcn2026-table td {
	padding: 14px 16px;
	text-align: left;
	vertical-align: middle;
	border-bottom: 1px solid var(--tcn-line-soft);
}

.tcn2026-table thead th {
	background: var(--tcn-bg-tint);
	font-family: var(--tcn-font-en);
	font-size: 12.5px;
	font-weight: 800;
	color: var(--tcn-ink);
}

.tcn2026-table tbody th {
	font-weight: 800;
	color: var(--tcn-ink);
	white-space: nowrap;
}

.tcn2026-table tbody tr:last-child th,
.tcn2026-table tbody tr:last-child td {
	border-bottom: 0;
}

/* ---------- works page ---------- */
.tcn2026-worksgrid--3 {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.tcn2026-work__link--pending {
	border-color: var(--tcn-line);
	color: var(--tcn-ink-3);
	border-style: dashed;
	cursor: default;
}

.tcn2026-work__link--pending:hover {
	background: #fff;
	color: var(--tcn-ink-3);
}

/* ---------- research page ---------- */
.tcn2026-labcard {
	padding: 24px 22px;
	border-radius: var(--tcn-radius);
	background: rgba(255, 255, 255, 0.05);
	border: 1px solid rgba(255, 255, 255, 0.12);
	transition: transform 0.2s ease, background 0.2s ease, border-color 0.2s ease;
}

.tcn2026-labcard:hover {
	transform: translateY(-4px);
	background: rgba(255, 255, 255, 0.08);
	border-color: rgba(111, 226, 255, 0.45);
}

.tcn2026-labcard__head {
	display: flex;
	align-items: center;
	gap: 12px;
	margin-bottom: 12px;
}

.tcn2026-labcard__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	border-radius: 11px;
	background: rgba(111, 226, 255, 0.12);
	border: 1px solid rgba(111, 226, 255, 0.4);
	color: #9fe3ff;
}

.tcn2026-labcard__icon svg {
	width: 20px;
	height: 20px;
}

.tcn2026-labcard__name {
	font-family: var(--tcn-font-en);
	font-size: 17px;
	font-weight: 800;
	color: #fff;
	flex: 1 1 auto;
}

.tcn2026-labcard__desc {
	font-size: 13.5px;
	line-height: 1.75;
	color: rgba(255, 255, 255, 0.74);
	margin-bottom: 14px;
}

.tcn2026-section--dark .tcn2026-status--rnd,
.tcn2026-section--dark .tcn2026-status--experiment { background: rgba(0, 184, 230, 0.16); color: #6fe6ff; border-color: rgba(0, 184, 230, 0.38); }
.tcn2026-section--dark .tcn2026-status--prototype  { background: rgba(255, 255, 255, 0.08); color: rgba(255, 255, 255, 0.78); border-color: rgba(255, 255, 255, 0.2); }

/* ---------- journal page ---------- */
.tcn2026-cats {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.tcn2026-cats li {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 7px 12px;
	border-radius: 999px;
	background: #fff;
	border: 1px solid var(--tcn-line);
	font-size: 12.5px;
	font-weight: 700;
	color: var(--tcn-ink-2);
}

.tcn2026-cats svg {
	width: 14px;
	height: 14px;
	color: var(--tcn-blue);
}

.tcn2026-featured {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	gap: 0;
	background: #fff;
	border: 1px solid var(--tcn-line);
	border-radius: var(--tcn-radius-lg);
	box-shadow: var(--tcn-shadow-sm);
	overflow: hidden;
}

.tcn2026-featured__visual {
	position: relative;
	min-height: 320px;
	padding: 12px 0 12px 12px;
}

.tcn2026-featured__body {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 12px;
	padding: 32px 32px;
}

.tcn2026-featured__title {
	font-size: clamp(20px, 2.2vw, 26px);
	font-weight: 800;
	letter-spacing: -0.02em;
	line-height: 1.35;
}

.tcn2026-featured__desc {
	font-size: 14px;
	line-height: 1.75;
	color: var(--tcn-ink-2);
}

.tcn2026-post {
	display: flex;
	flex-direction: column;
	gap: 10px;
	padding: 12px 12px 18px;
	background: #fff;
	border: 1px solid var(--tcn-line);
	border-radius: var(--tcn-radius);
	box-shadow: var(--tcn-shadow-sm);
	transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.tcn2026-post:hover {
	transform: translateY(-3px);
	box-shadow: var(--tcn-shadow);
}

.tcn2026-post__thumb {
	display: flex;
	align-items: center;
	justify-content: center;
	aspect-ratio: 16 / 9;
	border-radius: 10px;
	color: #9fe3ff;
	background:
		radial-gradient(160px 80px at 60% 40%, rgba(28, 108, 245, 0.7), transparent 70%),
		linear-gradient(180deg, #0a1020, #142860);
}

.tcn2026-post__thumb svg {
	width: 34px;
	height: 34px;
	filter: drop-shadow(0 0 8px rgba(111, 226, 255, 0.8));
}

.tcn2026-post .tcn2026-jrow__meta,
.tcn2026-post__title {
	padding: 0 6px;
}

.tcn2026-post__title {
	font-size: 15.5px;
	font-weight: 800;
	line-height: 1.45;
}

.tcn2026-btn--disabled {
	opacity: 0.6;
	cursor: not-allowed;
	pointer-events: none;
}

/* ---------- about page ---------- */
.tcn2026-principle {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 14px;
	width: min(440px, 100%);
}

.tcn2026-principle li {
	display: flex;
	flex-direction: column;
	gap: 10px;
	padding: 22px 20px;
	border-radius: 16px;
	background: #fff;
	border: 1px solid var(--tcn-line);
	box-shadow: var(--tcn-shadow);
	animation: tcn2026-float 7s ease-in-out infinite;
}

.tcn2026-principle li:nth-child(2) { animation-delay: -2s; }
.tcn2026-principle li:nth-child(3) { animation-delay: -4s; }
.tcn2026-principle li:nth-child(4) { animation-delay: -1s; }

.tcn2026-principle span {
	font-family: var(--tcn-font-en);
	font-size: 11px;
	font-weight: 800;
	letter-spacing: 0.16em;
	color: var(--tcn-blue);
}

.tcn2026-principle b {
	font-size: 26px;
	font-weight: 800;
	letter-spacing: -0.02em;
}

/* ---------- contact page ---------- */
.tcn2026-contact {
	display: grid;
	grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr);
	gap: 24px;
	align-items: start;
}

.tcn2026-contact__h {
	font-size: 15px;
	font-weight: 800;
	margin-bottom: 12px;
}

.tcn2026-topics {
	display: flex;
	flex-direction: column;
	gap: 10px;
	margin-bottom: 20px;
}

.tcn2026-topic {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 12px 14px;
	border-radius: 12px;
	background: #fff;
	border: 1px solid var(--tcn-line);
	box-shadow: var(--tcn-shadow-sm);
	font-size: 14px;
	font-weight: 700;
}

.tcn2026-topic__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	border-radius: 10px;
	background: var(--tcn-accent-grad-soft);
	color: var(--tcn-blue);
}

.tcn2026-topic__icon svg {
	width: 18px;
	height: 18px;
}

.tcn2026-contact__real {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 10px;
	padding: 20px;
	border-radius: 14px;
	background: var(--tcn-bg-tint);
	border: 1px solid var(--tcn-line-soft);
	font-size: 13px;
	line-height: 1.7;
	color: var(--tcn-ink-2);
}

.tcn2026-contact__realtitle {
	font-size: 14px;
	font-weight: 800;
	color: var(--tcn-ink);
}

.tcn2026-contact__form {
	background: #fff;
	border: 1px solid var(--tcn-line);
	border-radius: var(--tcn-radius-lg);
	box-shadow: var(--tcn-shadow-sm);
	padding: 24px 26px 26px;
}

/* Production contact: no on-page form, just the route to the existing live contact page */
.tcn2026-contact__live {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 14px;
}

.tcn2026-contact__live .tcn2026-contact__h {
	margin: 0;
}

.tcn2026-contact__livelead {
	font-size: 14px;
	line-height: 1.8;
	color: var(--tcn-ink-2);
	margin: 0;
}

.tcn2026-contact__live .tcn2026-form__privacy {
	margin: 0;
}

.tcn2026-devnote {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px 12px;
	padding: 12px 14px;
	margin-bottom: 20px;
	border-radius: 10px;
	background: rgba(214, 138, 12, 0.10);
	border: 1px solid rgba(214, 138, 12, 0.35);
	font-size: 12.5px;
	line-height: 1.6;
	color: #7a4d04;
}

.tcn2026-devnote strong {
	font-family: var(--tcn-font-en);
	font-size: 11px;
	letter-spacing: 0.16em;
	padding: 3px 8px;
	border-radius: 999px;
	background: #a76a06;
	color: #fff;
}

.tcn2026-form {
	display: flex;
	flex-direction: column;
	gap: 16px;
}

.tcn2026-form__row--2 {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 16px;
}

.tcn2026-field {
	display: flex;
	flex-direction: column;
	gap: 6px;
	margin: 0;
	padding: 0;
	border: 0;
	min-width: 0;
}

.tcn2026-field__label {
	display: flex;
	align-items: center;
	gap: 8px;
	font-size: 13px;
	font-weight: 800;
	color: var(--tcn-ink);
}

.tcn2026-field__label em {
	font-style: normal;
	font-size: 10.5px;
	font-weight: 800;
	color: #c0392b;
	padding: 1px 6px;
	border: 1px solid rgba(192, 57, 43, 0.4);
	border-radius: 999px;
}

.tcn2026-field__label small {
	font-size: 10.5px;
	font-weight: 700;
	color: var(--tcn-ink-3);
	padding: 1px 6px;
	border: 1px solid var(--tcn-line);
	border-radius: 999px;
}

.tcn2026-field__input {
	width: 100%;
	padding: 12px 14px;
	border: 1.5px solid var(--tcn-line);
	border-radius: 10px;
	background: #fbfcff;
	font: inherit;
	font-size: 14px;
	color: var(--tcn-ink);
}

.tcn2026-field__input:disabled {
	background: #f4f6fb;
	color: var(--tcn-ink-3);
	cursor: not-allowed;
}

.tcn2026-field__input--area {
	resize: vertical;
	min-height: 140px;
}

.tcn2026-radios {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 8px;
}

.tcn2026-radio {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 10px 12px;
	border: 1.5px solid var(--tcn-line);
	border-radius: 10px;
	background: #fbfcff;
	font-size: 13.5px;
	font-weight: 600;
	color: var(--tcn-ink-2);
}

.tcn2026-radio input {
	accent-color: var(--tcn-blue);
}

.tcn2026-form__foot {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px 24px;
	flex-wrap: wrap;
	padding-top: 6px;
	border-top: 1px solid var(--tcn-line-soft);
	margin-top: 4px;
}

.tcn2026-form__privacy {
	font-size: 12px;
	color: var(--tcn-ink-3);
}

.tcn2026-form__privacy a {
	color: var(--tcn-blue);
	text-decoration: underline;
}

.tcn2026-btn:disabled,
.tcn2026-btn[aria-disabled="true"] {
	opacity: 0.55;
	cursor: not-allowed;
	box-shadow: none;
	transform: none;
}

/* ---------- responsive (sub pages) ---------- */
@media (max-width: 1100px) {
	.tcn2026-steps--4,
	.tcn2026-steps--5 {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.tcn2026-steps--5 .tcn2026-step:last-child {
		grid-column: 1 / -1;
	}

	.tcn2026-step:not(:last-child)::after {
		display: none;
	}

	.tcn2026-worksgrid--3,
	.tcn2026-grid--4 {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 1024px) {
	.tcn2026-phero__inner {
		grid-template-columns: 1fr;
	}

	.tcn2026-phero__stats {
		justify-self: start;
		width: 100%;
	}

	.tcn2026-phero__visual {
		order: 2;
	}

	.tcn2026-aicore-wrap {
		width: min(380px, 100%);
	}

	.tcn2026-phero--aidev .tcn2026-phero__inner {
		grid-template-columns: 1fr;
	}

	.tcn2026-phero--aidev .tcn2026-phero__visual {
		min-height: 0;
	}

	.tcn2026-avis-wrap {
		width: min(460px, 100%);
		margin-right: 0;
	}

	.tcn2026-avis__tile {
		width: 60px;
		height: 60px;
		border-radius: 16px;
	}

	.tcn2026-avis__tile svg {
		width: 22px;
		height: 22px;
	}

	.tcn2026-avis__tile--poc {
		width: 48px;
		height: 48px;
	}

	.tcn2026-avis__tile--poc svg {
		width: 18px;
		height: 18px;
	}

	.tcn2026-split {
		grid-template-columns: 1fr;
		gap: 24px;
	}

	.tcn2026-featured {
		grid-template-columns: 1fr;
	}

	.tcn2026-featured__visual {
		min-height: 240px;
		padding: 12px 12px 0;
	}

	.tcn2026-contact {
		grid-template-columns: 1fr;
	}

	.tcn2026-sechead--row {
		flex-direction: column;
		align-items: flex-start;
		gap: 10px;
	}

	.tcn2026-sechead--row > .tcn2026-sechead__sub {
		max-width: none;
		text-align: left;
	}
}

@media (max-width: 640px) {
	.tcn2026-phero {
		padding: 30px 0 28px;
	}

	.tcn2026-phero__stats {
		grid-template-columns: 1fr;
	}

	.tcn2026-grid--2,
	.tcn2026-grid--3,
	.tcn2026-grid--4,
	.tcn2026-steps--3,
	.tcn2026-steps--4,
	.tcn2026-steps--5,
	.tcn2026-worksgrid--3,
	.tcn2026-form__row--2,
	.tcn2026-radios,
	.tcn2026-principle {
		grid-template-columns: 1fr;
	}

	.tcn2026-shot,
	.tcn2026-shot--tilt,
	.tcn2026-phero--lm .tcn2026-shot {
		transform: none;
	}

	.tcn2026-aicore-wrap {
		width: min(280px, 100%);
	}

	.tcn2026-aicore__halo--2 {
		display: none;
	}

	.tcn2026-aicore__flow {
		gap: 7px;
		padding: 8px 12px;
	}

	.tcn2026-aicore__step {
		font-size: 9px;
		letter-spacing: 0.09em;
	}

	.tcn2026-aicore__step:not(:last-child)::after {
		width: 10px;
	}

	.tcn2026-avis-wrap {
		width: min(300px, 100%);
	}

	.tcn2026-avis__halo--3,
	.tcn2026-avis__glow--3,
	.tcn2026-avis__sparks {
		display: none;
	}

	.tcn2026-avis__tile {
		width: 46px;
		height: 46px;
		border-radius: 14px;
		gap: 2px;
	}

	.tcn2026-avis__tile svg {
		width: 18px;
		height: 18px;
	}

	.tcn2026-avis__tile span {
		display: none;
	}

	.tcn2026-avis__tile--poc {
		width: 38px;
		height: 38px;
	}

	.tcn2026-avis__tile--poc svg {
		width: 14px;
		height: 14px;
	}

	.tcn2026-avis__tile--operate {
		bottom: 20%;
	}

	.tcn2026-avis__flow {
		gap: 7px;
		padding: 8px 12px;
	}

	.tcn2026-avis__step {
		font-size: 9px;
		letter-spacing: 0.09em;
	}

	.tcn2026-avis__step:not(:last-child)::after {
		width: 10px;
	}

	.tcn2026-lab__visual--hero {
		min-height: 280px;
	}

	.tcn2026-contact__form {
		padding: 18px 16px 20px;
	}

	.tcn2026-form__foot .tcn2026-btn {
		width: 100%;
	}

	.tcn2026-featured__body {
		padding: 22px 18px;
	}

	.tcn2026-principle b {
		font-size: 22px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.tcn2026 *,
	.tcn2026 *::before,
	.tcn2026 *::after {
		animation-duration: 0.001ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: 0.001ms !important;
	}

	.tcn2026-reveal {
		opacity: 1;
		transform: none;
	}
}
