/* =====================================================================
   Tech Alliance Consultancy (TAC TOKYO)
   Corporate site ÃƒÂ¢Ã¢â€šÂ¬Ã¢â‚¬Â Japanese IT recruitment & staffing
   Design system / global stylesheet
   ===================================================================== */

/* ---------- Design tokens ---------- */
:root {
	--navy: #b68330;
	--navy-soft: #b68330;
	--navy-2: #b68330;
	--brand: #b68330;
	--brand-600: #c69340;
	--brand-700: #cf9f4a;
	--accent: #e3ac59; /* teal ÃƒÂ¢Ã¢â€šÂ¬Ã¢â‚¬Â used sparingly */
	--accent-2: #d7a84e; /* sky ÃƒÂ¢Ã¢â€šÂ¬Ã¢â‚¬Â gradients */
	--gold: #f7e2b5; /* highlight / "ÃƒÂ¥Ã‚ÂÃ¢â‚¬â€œÃƒÂ¥Ã‚Â¾Ã¢â‚¬â€" badge */
	--ink: #b68330;
	--body: #33424f;
	--muted: #64748b;
	--line: #e4eaf1;
	--line-soft: #eef2f7;
	--bg: #ffffff;
	--bg-soft: #fefbf6;
	--bg-tint: #bf903f;
	--radius: 14px;
	--radius-lg: 22px;
	--radius-sm: 9px;
	--shadow-sm: 0 2px 8px rgba(11,37,69,.06);
	--shadow: 0 14px 40px rgba(11,37,69,.10);
	--shadow-lg: 0 30px 70px rgba(11,37,69,.16);
	--container: 1180px;
	--header-h: 76px;
	--ease: cubic-bezier(.22, .61, .36, 1);
	/* System font stacks ÃƒÂ¢Ã¢â€šÂ¬Ã¢â‚¬Â no web-font dependency, so pages load fast and render
     reliably in mainland China (Google Fonts is blocked there). Covers JA/EN/ZH. */
	--font-jp: -apple-system, BlinkMacSystemFont, "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Yu Gothic UI", "Yu Gothic", Meiryo, "Segoe UI", system-ui, "PingFang SC", "Microsoft YaHei", "Noto Sans JP", "Noto Sans SC", sans-serif;
	--font-en: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
}
/* Simplified-Chinese pages: prioritise Chinese system fonts */
html[lang^="zh"] body {
	font-family: "PingFang SC", "Microsoft YaHei", "Hiragino Sans GB", "Source Han Sans SC", "Noto Sans SC", system-ui, sans-serif;
}
/* Traditional-Chinese pages (HK/TW): the SC fonts above lack correct
   Traditional glyph forms, so put the TC faces first. */
html[lang="zh-Hant"] body {
	font-family: "PingFang HK", "PingFang TC", "Microsoft JhengHei", "Hiragino Sans CNS", "Source Han Sans HC", "Noto Sans HK", "Noto Sans TC", system-ui, sans-serif;
}
/* ---------- Reset / base ---------- */
*, *::before, *::after {
	box-sizing: border-box;
}

html {
	scroll-behavior: smooth;
	-webkit-text-size-adjust: 100%;
}

body {
	margin: 0;
	font-family: var(--font-jp);
	color: var(--body);
	/* background:var(--bg); */
	line-height: 1.85;
	font-size: 16px;
	letter-spacing: 0.2em;
	font-feature-settings: "palt";
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
	overflow-x: clip;
	/* background: 
  radial-gradient(circle at 10% 10%, #fce8b5 0%, transparent 40%),
  radial-gradient(circle at 5% 85%, #fdf6e3 0%, transparent 45%),
  radial-gradient(circle at 95% 90%, #fff9ed 0%, transparent 40%),
  #ffffff; */
	background-image: linear-gradient(to right, #ffebb9, #fff, transparent);
}

img {
	max-width: 100%;
	display: block;
}

a {
	color: var(--brand);
	text-decoration: none;
	transition: color .2s var(--ease);
}

	a:hover {
		color: var(--brand-700);
	}

h1, h2, h3, h4 {
	color: #b68330;
	line-height: 1.4;
	font-weight: 700;
	margin: 0;
}

p {
	margin: 0 0 1.1em;
}

	p:last-child {
		margin-bottom: 0;
	}

ul {
	margin: 0;
	padding: 0;
}

strong {
	color: var(--ink);
	font-weight: 700;
}
/* ---------- Layout helpers ---------- */
.container {
	width: min(var(--container), 100% - 48px);
	margin-inline: auto;
}

.section {
	padding: 96px 0;
}

.section--tight {
	padding: 70px 0;
}

.section--soft { /* background:var(--bg-soft); */
}

.section--tint {
	/* background: linear-gradient(180deg, #f7fbff 0%, #f2f2f2 100%); */
}

.text-center {
	text-align: center;
}

.lead {
	font-size: 1.08rem;
	color: var(--body);
}

.sp {
	display: none;
}

@media (max-width:860px) {
	.pc {
		display: none;
	}

	.sp {
		display: inline;
	}
}
/* ---------- Section headings ---------- */
.eyebrow {
	display: inline-flex;
	align-items: center;
	gap: .55em;
	font-family: var(--font-en);
	font-size: .78rem;
	font-weight: 700;
	letter-spacing: .22em;
	text-transform: uppercase;
	color: #b68330;
	margin-bottom: 16px;
}

	.eyebrow::before {
		content: "";
		width: 26px;
		height: 2px;
		background: var(--brand);
		border-radius: 2px;
	}

.eyebrow--center {
}

.section-head {
	max-width: 720px;
	margin: 0 auto 56px;
}

	.section-head.left {
		margin-left: 0;
	}

.section-title {
	font-size: clamp(1.7rem, 3.4vw, 2.3rem);
	letter-spacing: 0.2em;
	line-height: 1.35;
}

	.section-title .accent {
		color: var(--brand);
	}

.section-sub {
	margin-top: 18px;
	color: var(--muted);
	font-size: 1.03rem;
}
/* ---------- Buttons ---------- */
.btn {
	--_bg: var(--brand);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: .6em;
	padding: 15px 30px;
	border-radius: 999px;
	font-family: var(--font-jp);
	font-weight: 700;
	font-size: .98rem;
	line-height: 1;
	white-space: nowrap;
	cursor: pointer;
	border: 1.5px solid transparent;
	transition: transform .25s var(--ease), box-shadow .25s var(--ease), background .25s var(--ease), color .2s var(--ease);
}

	.btn svg {
		width: 18px;
		height: 18px;
	}

.btn-primary {
	background: linear-gradient(120deg, #ba8938 0%, #f8da9a 100%);
	color: #fff;
	box-shadow: 0 12px 26px #ba8938;
}

	.btn-primary:hover {
		color: #fff;
		transform: translateY(-3px);
		box-shadow: 0 18px 34px #fef1cf;
	}

.btn-outline {
	background: transparent;
	color: var(--brand);
	border-color: #938876;
}

	.btn-outline:hover {
		background: transparent;
		color: #fff;
		border-color: #938876;
	}

	.btn-outline:hover {
		background: var(--bg-tint);
		transform: translateY(-3px);
	}

.btn-light {
	background: #fff;
	color: var(--navy);
	box-shadow: var(--shadow-sm);
}

	.btn-light:hover {
		color: var(--brand-700);
		transform: translateY(-3px);
		box-shadow: var(--shadow);
	}

.btn-ghost-light {
	background: rgba(255,255,255,.10);
	color: #fff;
	border-color: rgba(255,255,255,.4);
}

	.btn-ghost-light:hover {
		background: rgba(255,255,255,.18);
		color: #fff;
		transform: translateY(-3px);
	}

.btn-lg {
	padding: 17px 38px;
	font-size: 1.02rem;
}

.btn-block {
	width: 100%;
}

.arrow-link {
	display: inline-flex;
	align-items: center;
	gap: .5em;
	font-weight: 700;
	color: var(--brand);
}

	.arrow-link svg {
		width: 16px;
		height: 16px;
		transition: transform .25s var(--ease);
	}

	.arrow-link:hover svg {
		transform: translateX(4px);
	}
/* ---------- Header ---------- */
.site-header {
	position: fixed;
	inset: 0 0 auto 0;
	height: var(--header-h);
	z-index: 100;
	display: flex;
	align-items: center;
	background: rgba(255,255,255,.72);
	backdrop-filter: saturate(180%) blur(14px);
	-webkit-backdrop-filter: saturate(180%) blur(14px);
	border-bottom: 1px solid transparent;
	transition: box-shadow .3s var(--ease), border-color .3s var(--ease), background .3s var(--ease);
}

	.site-header.scrolled {
		background: rgba(255,255,255,.92);
		border-bottom-color: var(--line);
		box-shadow: 0 6px 24px rgba(11,37,69,.07);
	}
/* The header may run wider than the 1180px content container: with 6 nav items,
   a CTA and a 4-language switch it needs ~1094px on macOS, and Japanese renders
   noticeably wider on Windows (Yu Gothic vs Hiragino). Capping the header at the
   content width left only ~7% headroom, which Windows exceeded ÃƒÂ¢Ã¢â€šÂ¬Ã¢â‚¬Â the nav then
   wrapped mid-word and overflowed the fixed-height header. */
.header-inner {
	display: flex;
	align-items: center;
	justify-content: flex-start;
	gap: 16px;
	width: min(1320px, 100% - 48px);
	margin-inline: auto;
}

.brand {
	display: flex;
	align-items: center;
	gap: 11px;
	min-width: 0;
	flex: 0 0 auto;
}

.logo {
	width: 68px;
	height: 70px;
	flex: none;
	overflow: hidden;
	color: transparent;
	font-size: 0;
	text-indent: -9999px;
	filter: drop-shadow(0 5px 10px rgba(8,43,80,.18));
	display: flex;
	align-items: center;
}

.brand__text {
	display: flex;
	flex-direction: column;
	min-width: max-content;
	line-height: 1.15;
}

.brand__name {
	font-family: var(--font-en);
	font-weight: 800;
	font-size: 1.06rem;
	color: var(--navy);
	letter-spacing: .01em;
}

.brand__tag {
	display: block;
	width: max-content;
	font-size: .56rem;
	line-height: 1.25;
	color: var(--muted);
	text-transform: uppercase;
	font-weight: 700;
}

	.brand__tag::after {
		content: "TECHNOLOGYÂ· ALLIANCE Â· CREATIVITY";
		display: block;
		font-size: .56rem;
		letter-spacing: .08em;
		white-space: nowrap;
		display: none
	}

.nav {
	display: flex;
	align-items: center;
	gap: 2px;
	flex-wrap: nowrap;
	margin-left: auto;
}

	.nav a {
		position: relative;
		padding: 10px 11px;
		border-radius: 9px;
		color: var(--ink);
		font-weight: 600;
		font-size: .95rem;
		white-space: nowrap;
	}

		.nav a::after {
			content: "";
			position: absolute;
			left: 11px;
			right: 11px;
			bottom: 4px;
			height: 2px;
			background: var(--brand);
			border-radius: 2px;
			transform: scaleX(0);
			transform-origin: left;
			transition: transform .28s var(--ease);
		}

		.nav a:hover {
			color: var(--brand);
		}

			.nav a:hover::after, .nav a.active::after {
				transform: scaleX(1);
			}

		.nav a.active {
			color: var(--brand);
		}

.header-cta {
	display: flex;
	align-items: center;
	gap: 12px;
	flex: 0 0 auto;
	white-space: nowrap;
}

	.header-cta > .btn-primary {
		display: none;
	}
/* Contact remains in the desktop nav and as a mobile menu CTA. */
.nav .nav-cta {
	display: none;
}
/* mobile-only CTA inside dropdown */
/* language switch (JA / EN) */
.lang-switch {
	display: inline-flex;
	align-items: center;
	border: 1px solid var(--line);
	border-radius: 999px;
	overflow: hidden;
	background: #fff;
	flex: 0 0 auto;
}

	.lang-switch a {
		padding: 6px 9px;
		font-family: var(--font-en);
		font-weight: 700;
		font-size: .76rem;
		letter-spacing: .03em;
		color: var(--muted);
		line-height: 1;
		white-space: nowrap;
	}

		.lang-switch a + a {
			border-left: 1px solid var(--line);
		}

		.lang-switch a.active {
			background: var(--navy);
			color: #fff;
		}

		.lang-switch a:hover:not(.active) {
			background: var(--bg-tint);
			color: var(--brand);
		}
/* header phone hidden ÃƒÂ¢Ã¢â€šÂ¬Ã¢â‚¬Â the 6-item nav + 3-language switch fill the header;
   the phone remains in the footer and on the Contact page */
.header-tel {
	display: none;
	flex-direction: column;
	line-height: 1.1;
	text-align: right;
}

.header-tel__num {
	font-family: var(--font-en);
	font-weight: 800;
	font-size: 1.08rem;
	color: var(--navy);
	letter-spacing: .01em;
}

	.header-tel__num:hover {
		color: var(--brand);
	}

.header-tel__hours {
	font-size: .66rem;
	color: var(--muted);
	letter-spacing: .02em;
}

.nav-toggle {
	display: none;
	width: 44px;
	height: 44px;
	border: none;
	background: transparent;
	cursor: pointer;
	padding: 10px;
	border-radius: 10px;
}

	.nav-toggle span {
		display: block;
		height: 2px;
		background: var(--navy);
		border-radius: 2px;
		transition: .3s var(--ease);
	}

		.nav-toggle span + span {
			margin-top: 6px;
		}

	.nav-toggle[aria-expanded="true"] span:nth-child(1) {
		transform: translateY(8px) rotate(45deg);
	}

	.nav-toggle[aria-expanded="true"] span:nth-child(2) {
		opacity: 0;
	}

	.nav-toggle[aria-expanded="true"] span:nth-child(3) {
		transform: translateY(-8px) rotate(-45deg);
	}
/* ---------- Hero ---------- */
.hero {
	position: relative;
	padding: calc(var(--header-h) + 90px) 0 100px;
	/* background: radial-gradient(1100px 520px at 80% -10%, rgba(56, 189, 248, .22), transparent 60%), radial-gradient(900px 500px at 5% 110%, rgba(14, 165, 164, .16), transparent 55%), linear-gradient(160deg, #a87523 0%, #c3882a 55%, #b57a1c 100%); */
	color: #eaf1fb;
	overflow: hidden;
}

	.hero::before {
		content: "";
		position: absolute;
		width: 640px;
		height: 640px;
		right: -180px;
		top: -240px;
		border-radius: 50%;
		pointer-events: none;
		opacity: .55;
		background: conic-gradient(from 20deg, transparent 0 18%, #ffecbc 24%, transparent 32% 58%, #ffecbc 66%, transparent 74%);
		filter: blur(1px);
		animation: hero-orbit 26s linear infinite;
	}

	.hero::after {
		content: "";
		position: absolute;
		inset: 0;
		pointer-events: none;
		background-image: linear-gradient(rgba(255,255,255,.045) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.045) 1px, transparent 1px);
		background-size: 60px 60px;
		mask-image: radial-gradient(80% 60% at 70% 30%, #000, transparent 75%);
		opacity: .7;
		animation: grid-drift 18s linear infinite;
	}

.talent-network {
	position: absolute;
	inset: 0;
	z-index: 1;
	overflow: hidden;
	pointer-events: none;
}

.talent-beam {
	position: absolute;
	left: -25%;
	top: 24%;
	width: 55%;
	height: 1px;
	background: linear-gradient(90deg, transparent, rgba(103,232,249,.08), #eec97b, transparent);
	box-shadow: 0 0 18px #936215;
	transform: rotate(-12deg);
	animation: talent-scan 9s ease-in-out infinite;
}

.talent-node {
	position: absolute;
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: #eec97b;
	box-shadow: 0 0 0 6px rgba(125,211,252,.06), 0 0 24px #eec97b;
	opacity: .35;
	animation: node-drift 7s ease-in-out infinite alternate;
}

	.talent-node::after {
		content: "";
		position: absolute;
		left: 3px;
		top: 3px;
		width: clamp(90px, 13vw, 210px);
		height: 1px;
		transform-origin: left center;
		background: linear-gradient(90deg, rgba(125,211,252,.32), transparent);
	}

	.talent-node.n1 {
		left: 9%;
		top: 20%;
		animation-delay: -1s
	}

		.talent-node.n1::after {
			transform: rotate(19deg)
		}

	.talent-node.n2 {
		left: 28%;
		top: 42%;
		animation-delay: -4s
	}

		.talent-node.n2::after {
			transform: rotate(-27deg)
		}

	.talent-node.n3 {
		left: 55%;
		top: 17%;
		animation-delay: -2s
	}

		.talent-node.n3::after {
			transform: rotate(31deg)
		}

	.talent-node.n4 {
		left: 76%;
		top: 57%;
		animation-delay: -5s
	}

		.talent-node.n4::after {
			transform: rotate(-18deg)
		}

	.talent-node.n5 {
		left: 44%;
		top: 76%;
		animation-delay: -6s
	}

		.talent-node.n5::after {
			transform: rotate(8deg)
		}

	.talent-node.n6 {
		left: 90%;
		top: 29%;
		animation-delay: -3s
	}

		.talent-node.n6::after {
			transform: rotate(42deg)
		}

.hero__inner {
	position: relative;
	z-index: 2;
	display: grid;
	grid-template-columns: 1.05fr .95fr;
	gap: 48px;
	align-items: center;
}

.hero__copy {
	animation: hero-arrive .85s var(--ease) both;
}

.hero__eyebrow {
	display: inline-flex;
	align-items: center;
	gap: .6em;
	font-family: var(--font-en);
	font-weight: 700;
	letter-spacing: .2em;
	font-size: .78rem;
	text-transform: uppercase;
	color: #ba7e1e;
	padding: 8px 16px;
	border: 1px solid rgb(186 126 30);
	border-radius: 999px;
	background: rgba(255,255,255,.05);
	margin-bottom: 26px;
}

.hero__title {
	color: #ba7e1e;
	font-size: clamp(2.1rem, 4.6vw, 3.5rem);
	line-height: 1.28;
	letter-spacing: .01em;
	margin-bottom: 24px;
}

	.hero__title .grad {
		background: linear-gradient(100deg, #e0a447 10%, #a56806 42%, #fff 52%, #e0a447 62%, #a56806 90%);
		background-size: 240% 100%;
		animation: talent-shimmer 7s ease-in-out infinite;
		-webkit-background-clip: text;
		background-clip: text;
		color: transparent;
	}

.hero__lead {
	font-size: 1.1rem;
	color: #ba7e1e;
	max-width: 540px;
	margin-bottom: 34px;
}

.hero__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 14px;
}

.hero__en {
	font-family: var(--font-en);
	font-weight: 800;
	letter-spacing: .02em;
	font-size: clamp(1.2rem, 2.4vw, 1.7rem);
	color: #ba7e1e;
	display: block;
	margin-bottom: 6px;
}
/* hero visual card */
.hero__visual {
	position: relative;
	animation: hero-arrive .9s var(--ease) .12s both;
}

	.hero__visual::before {
		content: "";
		position: absolute;
		inset: -34px -46px;
		border: 1px solid #ba7e1e;
		border-radius: 48% 52% 46% 54%;
		pointer-events: none;
		animation: talent-ring 14s ease-in-out infinite alternate;
	}

	.hero__visual::after {
		content: "";
		position: absolute;
		width: 9px;
		height: 9px;
		left: -49px;
		top: 38%;
		border-radius: 50%;
		background: #f6d085;
		box-shadow: 0 0 0 7px rgba(103,232,249,.09), 0 0 28px #fdf7e1;
		pointer-events: none;
		animation: talent-pulse 3.2s ease-in-out infinite;
	}

.hero-card {
	background: rgba(255,255,255,.08);
	border: 1px solid rgb(191 143 63);
	border-radius: var(--radius-lg);
	padding: 30px;
	backdrop-filter: blur(6px);
	box-shadow: 0 30px 70px rgb(189 140 60 / 51%);
	transition: transform .45s var(--ease), border-color .45s var(--ease), box-shadow .45s var(--ease);
}

	.hero-card:hover {
		transform: translateY(-6px);
		border-color: #ba7e1e;
		box-shadow: 0 38px 82px rgb(207 147 52 / 52%);
	}

.hero-card__row {
	display: flex;
	align-items: center;
	gap: 16px;
	padding: 16px 0;
	border-bottom: 1px solid rgba(255,255,255,.10);
}

	.hero-card__row:last-child {
		border-bottom: none;
	}

.hero-card__ico {
	width: 46px;
	height: 46px;
	border-radius: 12px;
	flex: none;
	display: grid;
	place-items: center;
	background: rgb(186 126 30 / 16%);
	color: #a96804;
}

	.hero-card__ico svg {
		width: 24px;
		height: 24px;
	}

.hero-card__t {
	color: #ba7e1e;
	font-weight: 700;
	font-size: 1rem;
}

.hero-card__d {
	color: #ba7e1e;
	font-size: .85rem;
	line-height: 1.6;
}

.hero-badge {
	position: absolute;
	right: -6px;
	top: -22px;
	z-index: 3;
	display: flex;
	align-items: center;
	gap: 10px;
	background: #fff;
	color: var(--navy);
	border-radius: 14px;
	padding: 12px 16px;
	box-shadow: var(--shadow-lg);
	animation: badge-float 5s ease-in-out infinite;
}

.hero-badge__dot {
	width: 10px;
	height: 10px;
	border-radius: 50%;
	background: #22c55e;
	box-shadow: 0 0 0 4px rgba(34,197,94,.2);
}

.hero-badge__t {
	font-size: .72rem;
	color: var(--muted);
	font-weight: 600;
}

.hero-badge__v {
	font-family: var(--font-en);
	font-weight: 800;
	font-size: .98rem;
	color: var(--navy);
}
/* hero stats bar */
.hero-stats {
	position: relative;
	z-index: 2;
	margin-top: 64px;
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 20px;
	border-top: 1px solid rgba(255,255,255,.14);
	padding-top: 34px;
}

.hero-stat__num {
	font-family: var(--font-en);
	font-weight: 800;
	font-size: clamp(1.7rem, 3vw, 2.3rem);
	color: #ba7e1e;
	letter-spacing: .01em;
}

	.hero-stat__num .u {
		font-size: .6em;
		color: var(--accent-2);
		margin-left: 2px;
	}

.hero-stat__label {
	font-size: .82rem;
	color: #ba7e1e;
	margin-top: 2px;
}

@keyframes hero-arrive {
	from {
		opacity: 0;
		transform: translateY(18px)
	}

	to {
		opacity: 1;
		transform: none
	}
}

@keyframes hero-orbit {
	to {
		transform: rotate(360deg)
	}
}

@keyframes grid-drift {
	to {
		background-position: 60px 60px, 60px 60px
	}
}

@keyframes talent-scan {
	0%, 18% {
		transform: translateX(0) rotate(-12deg);
		opacity: 0
	}

	35%, 70% {
		opacity: .8
	}

	88%, 100% {
		transform: translateX(230%) rotate(-12deg);
		opacity: 0
	}
}

@keyframes node-drift {
	from {
		transform: translate3d(-5px, -7px, 0);
		opacity: .25
	}

	to {
		transform: translate3d(8px, 9px, 0);
		opacity: .85
	}
}

@keyframes talent-shimmer {
	0%, 20% {
		background-position: 100% 50%
	}

	70%, 100% {
		background-position: 0 50%
	}
}

@keyframes talent-ring {
	from {
		transform: rotate(-2deg) scale(.98);
		opacity: .38
	}

	to {
		transform: rotate(4deg) scale(1.03);
		opacity: .75
	}
}

@keyframes talent-pulse {
	0%, 100% {
		transform: scale(.82);
		opacity: .55
	}

	50% {
		transform: scale(1.18);
		opacity: 1
	}
}

@keyframes badge-float {
	0%, 100% {
		transform: translateY(0)
	}

	50% {
		transform: translateY(-7px)
	}
}
/* ---------- Page hero (sub pages) ---------- */
.page-hero {
	position: relative;
	padding: calc(var(--header-h) + 64px) 0 60px;
	/* background: radial-gradient(800px 360px at 85% -20%, rgba(56,189,248,.2), transparent 60%), linear-gradient(160deg, var(--navy) 0%, #a46812 100%); */
	color: #fff;
	overflow: hidden;
}

	.page-hero::after {
		content: "";
		position: absolute;
		inset: 0;
		background-image: linear-gradient(90deg, rgba(255,255,255,.05) 1px, transparent 1px);
		background-size: 56px 56px;
		mask-image: radial-gradient(70% 80% at 80% 0%, #000, transparent 70%);
		opacity: .6;
		pointer-events: none;
		animation: page-grid-drift 24s linear infinite;
	}

.page-hero__inner {
	position: relative;
	z-index: 2;
	animation: page-hero-arrive .72s var(--ease) both;
}

.page-hero__en {
	font-family: var(--font-en);
	font-weight: 700;
	letter-spacing: .22em;
	text-transform: uppercase;
	color: var(--accent-2);
	font-size: .8rem;
}

.page-hero__title {
	color: #fff;
	font-size: clamp(1.9rem, 4vw, 2.8rem);
	margin-top: 12px;
}

.page-hero__lead {
	color: #ba7e1e;
	margin-top: 16px;
	max-width: 640px;
}

.talent-network--compact {
	opacity: .52;
}

	.talent-network--compact .talent-beam {
		top: 48%;
		width: 42%;
		animation-duration: 13s;
	}

	.talent-network--compact .talent-node {
		width: 5px;
		height: 5px;
		box-shadow: 0 0 0 5px rgba(125,211,252,.05), 0 0 18px rgba(125,211,252,.58);
	}

		.talent-network--compact .talent-node::after {
			left: 2px;
			top: 2px;
			width: clamp(70px, 10vw, 150px);
			opacity: .72;
		}

@keyframes page-hero-arrive {
	from {
		opacity: 0;
		transform: translate3d(0, 14px, 0)
	}

	to {
		opacity: 1;
		transform: none
	}
}

@keyframes page-grid-drift {
	to {
		background-position: 56px 0
	}
}

.breadcrumb {
	display: flex;
	gap: 8px;
	align-items: center;
	font-size: .8rem;
	color: #ba7e1e;
	margin-top: 22px;
}

	.breadcrumb a {
		color: #ba7e1e;
	}

		.breadcrumb a:hover {
			color: #fff;
		}

	.breadcrumb span {
		opacity: .6;
	}
/* ---------- Cards / grids ---------- */
.grid {
	display: grid;
	gap: 26px;
}

.grid-2 {
	grid-template-columns: repeat(1, 1fr);
}

.grid-3 {
	grid-template-columns: repeat(3, 1fr);
}

.grid-4 {
	grid-template-columns: repeat(2, 1fr);
}

.card {
	background: #fff;
	border: 1px solid var(--line);
	border-radius: var(--radius);
	padding: 34px 30px;
	box-shadow: var(--shadow-sm);
	transition: transform .3s var(--ease), box-shadow .3s var(--ease), border-color .3s var(--ease);
}

	.card:hover {
		transform: translateY(-6px);
		box-shadow: var(--shadow);
		border-color: #d5e3f5;
	}

.icon-badge {
	width: 58px;
	height: 58px;
	border-radius: 15px;
	display: grid;
	place-items: center;
	background: linear-gradient(135deg, #ffebb9, #fff);
	color: var(--brand);
	margin-bottom: 22px;
}

	.icon-badge svg {
		width: 28px;
		height: 28px;
	}

	.icon-badge.teal {
		background: linear-gradient(135deg, #e3fbf7, #c9f2ec);
		color: var(--accent);
	}

	.icon-badge.navy {
		background: linear-gradient(135deg, #ffebb9, #fff);
		color: var(--navy-soft);
	}

.card__title {
	font-size: 1.22rem;
	margin-bottom: 12px;
}

.card__desc {
	color: var(--body);
	font-size: .96rem;
}
/* dual path (enterprise / talent) */
.pathgrid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 28px;
}

.pathcard {
	position: relative;
	border-radius: var(--radius-lg);
	padding: 44px 40px;
	overflow: hidden;
	color: #fff;
	box-shadow: var(--shadow);
	transition: transform .35s var(--ease), box-shadow .35s var(--ease);
}

	.pathcard:hover {
		transform: translateY(-6px);
		box-shadow: var(--shadow-lg);
	}

.pathcard--ent {
	background: linear-gradient(150deg, var(--navy) 0%, #f3d692 100%);
}

.pathcard--tal {
	background: linear-gradient(150deg, #f3d692 0%, #c69340 100%);
}

.pathcard__en {
	font-family: var(--font-en);
	font-weight: 700;
	letter-spacing: .16em;
	text-transform: uppercase;
	font-size: .74rem;
	opacity: .8;
}

.pathcard__title {
	color: #fff;
	font-size: 1.5rem;
	margin: 8px 0 14px;
}

.pathcard__desc {
	color: rgba(255,255,255,.85);
	font-size: .97rem;
	margin-bottom: 26px;
}

.pathcard .btn {
	position: relative;
	z-index: 2;
}

.pathcard__ghost {
	position: absolute;
	right: -30px;
	bottom: -40px;
	width: 190px;
	height: 190px;
	opacity: .12;
	color: #fff;
}

	.pathcard__ghost svg {
		width: 100%;
		height: 100%;
	}
/* ---------- Features (why us) ---------- */
.feature {
	display: flex;
	gap: 18px;
	align-items: flex-start;
}

.feature__ico {
	width: 48px;
	height: 48px;
	border-radius: 12px;
	flex: none;
	display: grid;
	place-items: center;
	/* background: var(--bg-tint); */
	/* color: var(--brand); */
	background: rgb(186 126 30 / 16%);
	color: #a96804;
}

	.feature__ico svg {
		width: 24px;
		height: 24px;
	}

.feature__title {
	font-size: 1.08rem;
	margin-bottom: 6px;
}

.feature__desc {
	font-size: .93rem;
	color: var(--body);
}
/* ---------- Stats band ---------- */
.statband {
	background: linear-gradient(160deg, var(--navy) 0%, #a46812 100%);
	color: #fff;
	border-radius: var(--radius-lg);
	padding: 52px 40px;
}

	.statband .grid-4 {
		gap: 20px;
	}

.stat {
	text-align: center;
}

.stat__num {
	font-family: var(--font-en);
	font-weight: 800;
	font-size: clamp(2rem, 4vw, 3rem);
	color: #fff;
	letter-spacing: .01em;
}

	.stat__num .u {
		font-size: .55em;
		color: var(--accent-2);
		margin-left: 3px;
	}

.stat__label {
	color: #f2f2f2;
	font-size: .9rem;
	margin-top: 6px;
}
/* ---------- Services (detailed) ---------- */
.svc {
	display: grid;
	grid-template-columns: .9fr 1.1fr;
	gap: 50px;
	align-items: center;
}

.svc--rev {
	grid-template-columns: 1.1fr .9fr;
}

	.svc--rev .svc__media {
		order: 2;
	}

.svc__no {
	font-family: var(--font-en);
	font-weight: 800;
	font-size: 1rem;
	color: var(--brand);
	letter-spacing: .14em;
}

.svc__title {
	font-size: 1.7rem;
	margin: 8px 0 18px;
}

.svc__en {
	font-family: var(--font-en);
	font-weight: 600;
	color: var(--muted);
	font-size: .9rem;
	letter-spacing: .06em;
	display: block;
	margin-bottom: 6px;
}

.svc__list {
	display: grid;
	gap: 16px;
	margin-top: 22px;
}

.svc__item {
	display: flex;
	gap: 14px;
	padding: 18px 20px;
	background: var(--bg-soft);
	border-radius: var(--radius-sm);
	border: 1px solid var(--line-soft);
}

	.svc__item .chk {
		width: 24px;
		height: 24px;
		flex: none;
		border-radius: 50%;
		background: var(--brand);
		color: #fff;
		display: grid;
		place-items: center;
		margin-top: 2px;
	}

		.svc__item .chk svg {
			width: 14px;
			height: 14px;
		}

	.svc__item h4 {
		font-size: 1.02rem;
		margin-bottom: 4px;
	}

	.svc__item p {
		font-size: .9rem;
		color: var(--body);
		margin: 0;
	}

.svc__media {
	position: relative;
	border-radius: var(--radius-lg);
	min-height: 340px;
	overflow: hidden;
	background: linear-gradient(132deg, #b68330, #fef1cf);
	color: #fff;
	display: grid;
	place-items: center;
	padding: 30px;
	box-shadow: var(--shadow);
}

	.svc__media.teal {
		background: linear-gradient(150deg, #fef1cf, #b68330);
	}

	.svc__media.blue {
		background: linear-gradient(132deg, #b68330, #fef1cf);
	}

	.svc__media::after {
		content: "";
		position: absolute;
		inset: 0;
		background-image: linear-gradient(rgba(255,255,255,.06) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.06) 1px, transparent 1px);
		background-size: 44px 44px;
		opacity: .5;
	}

.svc__media-ico {
	position: relative;
	z-index: 2;
	width: 96px;
	height: 96px;
	opacity: .95;
}

	.svc__media-ico svg {
		width: 100%;
		height: 100%;
	}
/* richer service illustrations (scene + floating chips) */
.svc__scene {
	position: relative;
	z-index: 2;
	width: 100%;
	height: 100%;
	min-height: 300px;
	display: grid;
	place-items: center;
	padding: 18px;
}

.svc-art {
	width: min(82%, 320px);
	height: auto;
	filter: drop-shadow(0 16px 30px rgba(0,0,0,.24));
}

.svc-chip {
	position: absolute;
	z-index: 3;
	display: inline-flex;
	align-items: center;
	gap: 7px;
	background: rgba(255,255,255,.97);
	color: var(--navy);
	border-radius: 13px;
	padding: 9px 13px;
	font-family: var(--font-en);
	font-weight: 800;
	font-size: .82rem;
	letter-spacing: .01em;
	box-shadow: 0 14px 30px rgba(0,0,0,.24);
}

	.svc-chip svg {
		width: 16px;
		height: 16px;
		color: var(--brand);
	}

	.svc-chip.teal svg {
		color: var(--accent);
	}

	.svc-chip.gold svg {
		color: #c8890f;
	}

.svc-chip--tl {
	top: 10%;
	left: 3%;
	animation: floaty 4.2s var(--ease) infinite;
}

.svc-chip--br {
	bottom: 11%;
	right: 3%;
	animation: floaty 4.2s var(--ease) infinite .9s;
}

@keyframes floaty {
	0%, 100% {
		transform: translateY(0)
	}

	50% {
		transform: translateY(-7px)
	}
}

@media (prefers-reduced-motion:reduce) {
	.svc-chip--tl, .svc-chip--br {
		animation: none;
	}
}
/* license highlight box */
.license-box {
	display: flex;
	align-items: center;
	gap: 16px;
	margin-top: 24px;
	background: linear-gradient(120deg, #fff8ec, #fff);
	border: 1px solid #f4dfb4;
	border-left: 4px solid var(--gold);
	border-radius: var(--radius-sm);
	padding: 18px 22px;
}

.license-box__ico {
	width: 44px;
	height: 44px;
	flex: none;
	border-radius: 11px;
	background: #fdecc8;
	color: #b57812;
	display: grid;
	place-items: center;
}

	.license-box__ico svg {
		width: 24px;
		height: 24px;
	}

.license-box__label {
	font-size: .78rem;
	color: var(--muted);
	font-weight: 600;
}

.license-box__num {
	font-family: var(--font-en);
	font-weight: 800;
	font-size: 1.16rem;
	color: var(--navy);
	letter-spacing: .02em;
}

.badge-new {
	font-family: var(--font-en);
	font-size: .64rem;
	font-weight: 800;
	letter-spacing: .1em;
	color: #fff;
	background: var(--accent);
	padding: 3px 8px;
	border-radius: 6px;
	margin-left: 8px;
	vertical-align: middle;
}
/* ---------- Trust / licenses row ---------- */
.trust-grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 22px;
	max-width: 760px;
	margin-inline: auto;
}

.trust-card {
	background: #fff;
	border: 1px solid var(--line);
	border-radius: var(--radius);
	padding: 28px 26px;
	display: flex;
	flex-direction: column;
	gap: 10px;
	box-shadow: var(--shadow-sm);
	transition: transform .3s var(--ease), box-shadow .3s var(--ease);
}

	.trust-card:hover {
		transform: translateY(-5px);
		box-shadow: var(--shadow);
	}

	.trust-card.is-new {
		border-color: #f4dfb4;
		background: linear-gradient(160deg, #fffdf8, #fff);
	}

.trust-card__top {
	display: flex;
	align-items: center;
	justify-content: space-between;
}

.trust-card__ico {
	width: 50px;
	height: 50px;
	border-radius: 13px;
	display: grid;
	place-items: center;
	/* background: var(--bg-tint); */
	/* color: var(--brand); */
	background: rgb(186 126 30 / 16%);
	color: #a96804;
}

	.trust-card__ico svg {
		width: 26px;
		height: 26px;
	}

.trust-card.is-new .trust-card__ico {
	background: #fdecc8;
	color: #b57812;
}

.trust-card__label {
	font-size: .9rem;
	color: var(--muted);
	font-weight: 600;
}

.trust-card__num {
	font-family: var(--font-en);
	font-weight: 800;
	font-size: 1.35rem;
	color: var(--navy);
	letter-spacing: .02em;
}

.trust-card__note {
	font-size: .82rem;
	color: var(--muted);
}
/* ---------- Team ---------- */
.team-grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 24px;
}

.member {
	background: #fff;
	border: 1px solid var(--line);
	border-radius: var(--radius);
	padding: 28px 26px;
	box-shadow: var(--shadow-sm);
	transition: transform .3s var(--ease), box-shadow .3s var(--ease);
}

	.member:hover {
		transform: translateY(-5px);
		box-shadow: var(--shadow);
	}

.member__top {
	display: flex;
	align-items: center;
	gap: 16px;
	margin-bottom: 16px;
}

.avatar {
	width: 60px;
	height: 60px;
	border-radius: 50%;
	flex: none;
	display: grid;
	place-items: center;
	font-family: var(--font-en);
	font-weight: 800;
	font-size: 1.25rem;
	color: #fff;
	letter-spacing: .02em;
}

img.avatar {
	object-fit: cover;
	background: var(--bg-tint);
	box-shadow: inset 0 0 0 1px rgba(11,37,69,.06);
}

.member__name {
	font-size: 1.1rem;
	font-weight: 700;
	color: var(--ink);
}

.member__role {
	font-size: .82rem;
	color: var(--brand);
	font-weight: 600;
}

.member__loc {
	font-size: .75rem;
	color: var(--muted);
}

.member__bio {
	font-size: .9rem;
	color: var(--body);
}
/* ---------- Value cards ---------- */
.value {
	background: #fff;
	border: 1px solid var(--line);
	border-radius: var(--radius);
	padding: 30px 28px;
	box-shadow: var(--shadow-sm);
	position: relative;
	overflow: hidden;
	transition: transform .3s var(--ease), box-shadow .3s var(--ease);
}

	.value:hover {
		transform: translateY(-5px);
		box-shadow: var(--shadow);
	}

.value__no {
	font-family: var(--font-en);
	font-weight: 800;
	font-size: 2.4rem;
	color: var(--bg-tint);
	position: absolute;
	right: 18px;
	top: 8px;
}

.value__title {
	font-size: 1.16rem;
	margin-bottom: 10px;
	position: relative;
}

.value__desc {
	font-size: .92rem;
	color: var(--body);
	position: relative;
}
/* vision / mission */
.vm {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 26px;
}

.vm-card {
	border-radius: var(--radius-lg);
	padding: 40px;
	color: #fff;
	box-shadow: var(--shadow);
}

.vm-card--v {
	background: linear-gradient(150deg, var(--navy), #f3d692);
}

.vm-card--m {
	background: linear-gradient(150deg, #f3d692, #c69340);
}

.vm-card__en {
	font-family: var(--font-en);
	font-weight: 700;
	letter-spacing: .18em;
	text-transform: uppercase;
	font-size: .76rem;
	opacity: .82;
}

.vm-card__jp {
	color: #fff;
	font-size: 1.5rem;
	margin: 6px 0 16px;
}

.vm-card__desc {
	color: rgba(255,255,255,.9);
	font-size: 1rem;
}
/* ---------- Company profile table ---------- */
.profile {
	width: 100%;
	border-collapse: collapse;
	background: #fff;
	border-radius: var(--radius);
	overflow: hidden;
	box-shadow: var(--shadow-sm);
	border: 1px solid var(--line);
}

	.profile th, .profile td {
		text-align: left;
		padding: 20px 26px;
		vertical-align: top;
		border-bottom: 1px solid var(--line-soft);
	}

	.profile tr:last-child th, .profile tr:last-child td {
		border-bottom: none;
	}

	.profile th {
		width: 305px;
		background: var(--bg-soft);
		color: var(--navy);
		font-weight: 700;
		font-size: .95rem;
	}

	.profile td {
		color: var(--body);
		font-size: .96rem;
	}

		.profile td .en {
			font-family: var(--font-en);
			font-weight: 700;
			color: var(--navy);
		}

	.profile .lic {
		display: block;
	}

		.profile .lic + .lic {
			margin-top: 6px;
		}
/* message block */
.message {
	/*display: grid;*/
	grid-template-columns: 1fr 1.4fr;
	gap: 44px;
	align-items: center;
}

.message__portrait {
	border-radius: var(--radius-lg);
	min-height: 320px;
	background: linear-gradient(150deg, var(--navy), #f3d692);
	display: grid;
	place-items: center;
	color: #fff;
	box-shadow: var(--shadow);
	position: relative;
	overflow: hidden;
}

	.message__portrait .avatar {
		width: 110px;
		height: 110px;
		font-size: 2.2rem;
	}

.message__sign {
	margin-top: 22px;
	font-size: .95rem;
	color: var(--muted);
}

	.message__sign strong {
		font-size: 1.05rem;
	}
/* ---------- Jobs page ---------- */
.domain-grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 18px;
}

.domain {
	display: flex;
	align-items: center;
	gap: 14px;
	padding: 20px 22px;
	background: #fff;
	border: 1px solid var(--line);
	border-radius: var(--radius);
	box-shadow: var(--shadow-sm);
	transition: transform .25s var(--ease), box-shadow .25s var(--ease);
}

	.domain:hover {
		transform: translateY(-4px);
		box-shadow: var(--shadow);
	}

.domain__ico {
	width: 44px;
	height: 44px;
	border-radius: 11px;
	flex: none;
	display: grid;
	place-items: center;
	background: var(--bg-tint);
	color: #ffffff;
}

	.domain__ico svg {
		width: 22px;
		height: 22px;
	}

.domain__t {
	font-weight: 700;
	color: var(--ink);
	font-size: .98rem;
}

.domain__d {
	font-size: .78rem;
	color: var(--muted);
}

.step-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 22px;
	counter-reset: step;
}

.step {
	position: relative;
	padding-top: 20px;
}

.step__no {
	font-family: var(--font-en);
	font-weight: 800;
	color: var(--brand);
	font-size: 1rem;
	letter-spacing: .1em;
}

.step__bar {
	height: 3px;
	background: var(--line);
	border-radius: 3px;
	margin: 14px 0 18px;
	position: relative;
}

	.step__bar::before {
		content: "";
		position: absolute;
		left: 0;
		top: 0;
		height: 100%;
		width: 34px;
		background: var(--brand);
		border-radius: 3px;
	}

.step__title {
	font-size: 1.05rem;
	margin-bottom: 8px;
}

.step__desc {
	font-size: .9rem;
	color: var(--body);
}
/* ---------- Contact ---------- */
.contact-grid {
	display: grid;
	grid-template-columns: 1.1fr .9fr;
	gap: 44px;
	align-items: start;
}

.form {
	background: #fff;
	border: 1px solid var(--line);
	border-radius: var(--radius-lg);
	padding: 38px;
	box-shadow: var(--shadow-sm);
}

.form__row {
	margin-bottom: 20px;
}

	.form__row.two {
		display: grid;
		grid-template-columns: 1fr 1fr;
		gap: 18px;
	}

.form label {
	display: block;
	font-weight: 700;
	font-size: .88rem;
	color: var(--navy);
	margin-bottom: 8px;
}

	.form label .req {
		color: #e2544a;
		font-size: .78rem;
		margin-left: 4px;
	}

.form input, .form textarea , .form .select {
	width: 100%;
	padding: 13px 16px;
	border: 1.5px solid var(--line);
	border-radius: 10px;
	font-family: inherit;
	font-size: .96rem;
	color: var(--ink);
	background: #fbfdff;
	transition: border-color .2s var(--ease), box-shadow .2s var(--ease);
}

	.form input:focus, .form textarea:focus ,.form .select:focus{
		outline: none;
		border-color: var(--brand);
		box-shadow: 0 0 0 3px rgba(29,111,224,.14);
		background: #fff;
	}

.form textarea {
	min-height: 130px;
	resize: vertical;
}

.form__note {
	font-size: .8rem;
	color: var(--muted);
	margin-top: 14px;
}

.form__msg {
	display: none;
	padding: 14px 16px;
	border-radius: 10px;
	font-size: .9rem;
	margin-bottom: 18px;
}

	.form__msg.show {
		display: block;
	}

	.form__msg.ok {
		background: #e7f8ee;
		color: #137a41;
		border: 1px solid #b6e6c9;
	}

	.form__msg.err {
		background: #fdecea;
		color: #b3271e;
		border: 1px solid #f4c7c2;
	}

.form input.invalid, .form textarea.invalid {
	border-color: #e2544a;
	box-shadow: 0 0 0 3px rgba(226,84,74,.14);
}

.form .hp {
	position: absolute;
	left: -9999px;
	width: 1px;
	height: 1px;
	overflow: hidden;
}

.info-block {
	margin-bottom: 26px;
}

	.info-block h3 {
		font-size: 1.02rem;
		margin-bottom: 8px;
		display: flex;
		align-items: center;
		gap: 10px;
	}
	.info-block h3 img {
			width: 20px;
			height: 20px;
			color: var(--brand);
		}
		.info-block h3 svg {
			width: 20px;
			height: 20px;
			color: var(--brand);
		}

	.info-block p {
		font-size: .94rem;
		color: var(--body);
		margin: 0;
	}

	.info-block a {
		font-weight: 600;
	}

.office-list {
	display: grid;
	gap: 16px;
}

.office {
	background: var(--bg-soft);
	border: 1px solid var(--line-soft);
	border-radius: var(--radius-sm);
	padding: 18px 22px;
}

.office__name {
	font-weight: 700;
	color: var(--navy);
	font-size: .98rem;
	display: flex;
	align-items: center;
	gap: 8px;
}

.office__flag {
	font-size: .72rem;
	font-weight: 700;
	color: #fff;
	background: var(--brand);
	border-radius: 5px;
	padding: 2px 7px;
	letter-spacing: .04em;
}

	.office__flag.jp {
		background: var(--navy);
	}

	.office__flag.cn {
		background: #b5432f;
	}

	.office__flag.hk {
		background: #f3d692;
	}

	.office__flag.sg {
		background: var(--brand);
	}

	.office__flag.kr {
		background: #5b4b9e;
	}

	.office__flag.tw {
		background: #2f8f4e;
	}

.office__addr {
	font-size: .88rem;
	color: var(--body);
	margin-top: 6px;
}

.office__en {
	font-size: .78rem;
	color: var(--muted);
	font-family: var(--font-en);
}
/* ---------- Legal / long-form text ---------- */
.legal {
	max-width: 860px;
	margin-inline: auto;
}

	.legal p {
		font-size: .96rem;
	}

	.legal h2 {
		font-size: 1.3rem;
		margin: 44px 0 14px;
		padding-bottom: 12px;
		border-bottom: 2px solid var(--line);
	}

	.legal h3 {
		font-size: 1.06rem;
		margin: 28px 0 10px;
		color: var(--navy);
	}

	.legal ol, .legal ul {
		padding-left: 1.3em;
		margin: 0 0 1.2em;
	}

	.legal li {
		margin-bottom: .5em;
	}

	.legal .meta {
		color: var(--muted);
		font-size: .85rem;
	}

	.legal .signblock {
		margin-top: 40px;
		padding-top: 20px;
		border-top: 1px solid var(--line);
	}

		.legal .signblock strong {
			display: block;
		}

	.legal table {
		width: 100%;
		border-collapse: collapse;
		margin: 16px 0 24px;
		font-size: .92rem;
	}

		.legal table th, .legal table td {
			border: 1px solid var(--line);
			padding: 12px 16px;
			text-align: left;
			vertical-align: top;
		}

		.legal table th {
			background: var(--bg-soft);
			color: var(--navy);
			width: 34%;
		}
/* ---------- CTA band ---------- */
.cta {
	position: relative;
	overflow: hidden;
	border-radius: var(--radius-lg);
	background: radial-gradient(700px 300px at 85% -30%, #ffe379, transparent 60%), linear-gradient(122deg, var(--navy) 0%, #f8e7b1 100%);
	color: #fff;
	padding: 64px 56px;
	text-align: center;
}

	.cta::after {
		content: "";
		position: absolute;
		inset: 0;
		background-image: linear-gradient(90deg, rgba(255,255,255,.05) 1px, transparent 1px), linear-gradient(rgba(255,255,255,.05) 1px, transparent 1px);
		background-size: 50px 50px;
		mask-image: radial-gradient(60% 120% at 50% 0%, #000, transparent 70%);
		opacity: .6;
		pointer-events: none;
		animation: cta-grid-drift 26s linear infinite;
	}

	.cta > * {
		position: relative;
		z-index: 2;
	}

.cta__inner {
	position: relative;
	z-index: 2;
}

.cta__en {
	font-family: var(--font-en);
	font-weight: 700;
	letter-spacing: .2em;
	text-transform: uppercase;
	color: #fff5e4;
	font-size: .8rem;
}

.cta__title {
	color: #fff;
	font-size: clamp(1.6rem, 3.2vw, 2.3rem);
	margin: 12px 0 16px;
}

.cta__lead {
	color: #f2f2f2;
	max-width: 560px;
	margin: 0 auto 30px;
}

.cta__actions {
	display: flex;
	gap: 14px;
	justify-content: center;
	flex-wrap: wrap;
}

@keyframes cta-grid-drift {
	to {
		background-position: 50px 0, 0 50px
	}
}
/* ---------- Footer ---------- */
.site-footer {
	/* background: var(--navy); */
	color: #f2f2f2;
	padding: 70px 0 30px;
}

.footer-top {
	display: grid;
	grid-template-columns: 1.5fr 1fr 1fr 1.2fr;
	gap: 40px;
	padding-bottom: 44px;
	border-bottom: 1px solid rgba(255,255,255,.10);
}

.footer-brand .brand__name {
	color: #a96804;
}

.footer-brand .brand__tag {
	color: #a96804;
}

.footer-about {
	font-size: .9rem;
	color: #a96804;
	margin-top: 18px;
	max-width: 320px;
}

.footer-col h4 {
	color: #a96804;
	font-size: .92rem;
	letter-spacing: .04em;
	margin-bottom: 16px;
}

.footer-col ul {
	display: grid;
	gap: 10px;
	list-style: none;
}

.footer-col a {
	color: #a96804;
	font-size: .9rem;
}

	.footer-col a:hover {
		color: #694307;
	}

.footer-contact p {
	font-size: .9rem;
	color: #a96804;
	margin: 0 0 8px;
}

.footer-contact .em {
	color: #fff;
	font-weight: 700;
	font-family: var(--font-en);
}

.footer-social {
	display: flex;
	gap: 10px;
	margin-top: 16px;
}

	.footer-social a {
		width: auto;
		min-height: 40px;
		border-radius: 10px;
		display: inline-flex;
		align-items: center;
		gap: 10px;
		padding: 9px 13px;
		background: rgba(255,255,255,.08);
		color: #a96804;
		line-height: 1.35;
		transition: .25s var(--ease);
	}

		.footer-social a:hover {
			background: var(--brand);
			color: #fff;
			transform: translateY(-3px);
		}

	.footer-social svg {
		flex: 0 0 16px;
		width: 20px;
		height: 20px;
	}

.footer-social__label {
	font-size: .82rem;
	font-weight: 700;
}

.footer-social__mark {
	flex: 0 0 auto;
	font-size: .88rem;
	font-weight: 900;
	letter-spacing: -.04em;
}

.footer-social--generated {
	padding-top: 0;
	padding-bottom: 32px;
}

.footer-licenses {
	display: flex;
	flex-wrap: wrap;
	gap: 10px 20px;
	padding: 24px 0;
	border-bottom: 1px solid rgba(255,255,255,.10);
}

.footer-lic {
	font-size: .8rem;
	color: #a96804;
	display: flex;
	align-items: center;
	gap: 8px;
}

	.footer-lic strong {
		color: #a96804;
		font-family: var(--font-en);
		font-weight: 700;
		letter-spacing: .02em;
	}

	.footer-lic .tag {
		font-size: .62rem;
		background: var(--accent);
		color: #fff;
		padding: 2px 7px;
		border-radius: 5px;
		font-weight: 700;
		letter-spacing: .06em;
	}

.footer-bottom {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding-top: 24px;
	gap: 16px;
	flex-wrap: wrap;
}

	.footer-bottom p {
		margin: 0;
		font-size: .82rem;
		color: #a96804;
	}

	.footer-bottom .links {
		display: flex;
		gap: 18px;
		flex-wrap: wrap;
	}

		.footer-bottom .links a {
			font-size: .82rem;
			color: #a96804;
		}

			.footer-bottom .links a:hover {
				color: #694307;
			}
/* ---------- Scroll reveal ---------- */
.reveal {
	opacity: 0;
	transform: translateY(26px);
	transition: opacity .7s var(--ease), transform .7s var(--ease);
}

	.reveal.is-visible {
		opacity: 1;
		transform: none;
	}

	.reveal.d1 {
		transition-delay: .08s;
	}

	.reveal.d2 {
		transition-delay: .16s;
	}

	.reveal.d3 {
		transition-delay: .24s;
	}

	.reveal.d4 {
		transition-delay: .32s;
	}

@media (prefers-reduced-motion:reduce) {
	.reveal {
		opacity: 1;
		transform: none;
		transition: none;
	}

	.hero::before, .hero::after, .hero__copy, .hero__visual, .hero__visual::before, .hero__visual::after, .hero-badge, .hero__title .grad, .page-hero::after, .page-hero__inner, .cta::after, .talent-beam, .talent-node {
		animation: none;
	}

	.talent-network {
		display: none;
	}

	.hero-card {
		transition: none;
	}

	html {
		scroll-behavior: auto;
	}
}
/* ---------- Jobs: listing, filter, cards ---------- */
.job-filter {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	justify-content: center;
	margin-bottom: 34px;
}

.job-chip {
	padding: 9px 18px;
	border-radius: 999px;
	border: 1.5px solid var(--line);
	background: #fff;
	color: var(--body);
	font-family: inherit;
	font-weight: 600;
	font-size: .9rem;
	cursor: pointer;
	transition: .2s var(--ease);
}

	.job-chip:hover {
		border-color: #c9d9ee;
		color: var(--brand);
	}

	.job-chip.active {
		background: var(--navy);
		color: #fff;
		border-color: var(--navy);
	}

	.job-chip .n {
		opacity: .6;
		font-weight: 700;
		margin-left: 4px;
		font-size: .82em;
	}

.job-list {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 24px;
}

.job-card {
	display: flex;
	flex-direction: column;
	gap: 14px;
	background: #fff;
	border: 1px solid var(--line);
	border-radius: var(--radius);
	padding: 28px 26px;
	box-shadow: var(--shadow-sm);
	transition: transform .28s var(--ease), box-shadow .28s var(--ease), border-color .28s var(--ease);
}

	.job-card:hover {
		transform: translateY(-5px);
		box-shadow: var(--shadow);
		border-color: #d5e3f5;
	}

.job-card__head {
	display: flex;
	align-items: center;
	gap: 8px;
	flex-wrap: wrap;
}

.job-card__cat {
	font-size: .72rem;
	font-weight: 700;
	letter-spacing: .03em;
	color: #ffffff;
	background: var(--bg-tint);
	padding: 4px 10px;
	border-radius: 7px;
}

.job-card__type {
	font-size: .72rem;
	font-weight: 700;
	color: var(--accent);
	background: #e3fbf7;
	padding: 4px 10px;
	border-radius: 7px;
}

	.job-card__type.new {
		color: #b57812;
		background: #fdecc8;
	}

.job-flag {
	font-size: .72rem;
	font-weight: 800;
	letter-spacing: .03em;
	padding: 4px 10px;
	border-radius: 7px;
	color: #fff;
	white-space: nowrap;
}

.job-flag--top {
	background: #e2544a;
}

.job-flag--urgent {
	background: #d64550;
}

.job-flag--new {
	background: var(--accent);
}

.job-flag--hot {
	background: var(--gold);
	color: #3a2a08;
}

.page-hero .job-flag {
	display: inline-block;
}

.job-card__title {
	font-size: 1.24rem;
	line-height: 1.4;
	color: var(--ink);
}

.job-card__meta {
	display: flex;
	flex-wrap: wrap;
	gap: 6px 16px;
	font-size: .86rem;
	color: var(--muted);
}

	.job-card__meta span {
		display: inline-flex;
		align-items: center;
		gap: 6px;
	}

	.job-card__meta svg {
		width: 15px;
		height: 15px;
		color: var(--brand);
	}

.job-card__summary {
	font-size: .94rem;
	color: var(--body);
	margin: 0;
}

.job-card__skills {
	display: flex;
	flex-wrap: wrap;
	gap: 7px;
	margin-top: auto;
}

.skill-chip {
	font-size: .76rem;
	font-weight: 600;
	color: var(--navy-soft);
	background: var(--bg-soft);
	border: 1px solid var(--line-soft);
	padding: 4px 10px;
	border-radius: 6px;
}

.job-card__more {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-weight: 700;
	color: var(--brand);
	font-size: .9rem;
	margin-top: 4px;
}

	.job-card__more svg {
		width: 15px;
		height: 15px;
		transition: transform .25s var(--ease);
	}

.job-card:hover .job-card__more svg {
	transform: translateX(4px);
}

.job-empty {
	grid-column: 1/-1;
	text-align: center;
	padding: 48px 20px;
	color: var(--muted);
	background: var(--bg-soft);
	border: 1px dashed var(--line);
	border-radius: var(--radius);
}

.job-hidden {
	display: none !important;
}
/* ---------- Job detail page ---------- */
.job-detail {
	display: grid;
	grid-template-columns: 1fr 340px;
	gap: 44px;
	align-items: start;
}

.job-tags {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-bottom: 20px;
}

.job-body h2 {
	font-size: 1.24rem;
	margin: 34px 0 12px;
	padding-bottom: 10px;
	border-bottom: 2px solid var(--line);
}

	.job-body h2:first-child {
		margin-top: 0;
	}

.job-body p {
	font-size: .98rem;
}

.job-body ul {
	padding-left: 1.3em;
	margin: 0 0 1.2em;
}

.job-body li {
	margin-bottom: .5em;
	font-size: .96rem;
}

.job-facts {
	width: 100%;
	border-collapse: collapse;
	margin: 6px 0 8px;
	font-size: .94rem;
}

	.job-facts th, .job-facts td {
		text-align: left;
		padding: 12px 14px;
		border-bottom: 1px solid var(--line-soft);
		vertical-align: top;
	}

	.job-facts th {
		width: 120px;
		color: var(--navy);
		font-weight: 700;
		white-space: nowrap;
	}

.apply-card {
	position: sticky;
	top: calc(var(--header-h) + 20px);
	background: #fff;
	border: 1px solid var(--line);
	border-radius: var(--radius-lg);
	padding: 30px 28px;
	box-shadow: var(--shadow-sm);
}

	.apply-card h3 {
		font-size: 1.1rem;
		margin-bottom: 8px;
	}

	.apply-card p {
		font-size: .9rem;
		color: var(--muted);
		margin-bottom: 20px;
	}

	.apply-card .btn {
		width: 100%;
		margin-bottom: 12px;
	}

		.apply-card .btn:last-child {
			margin-bottom: 0;
		}

.apply-card__lic {
	margin-top: 20px;
	padding-top: 18px;
	border-top: 1px solid var(--line-soft);
	font-size: .78rem;
	color: var(--muted);
}

	.apply-card__lic strong {
		font-family: var(--font-en);
		color: var(--navy);
	}
/* ---------- Insights / blog ---------- */
.post-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 26px;
}

.post-card {
	display: flex;
	flex-direction: column;
	background: #fff;
	border: 1px solid var(--line);
	border-radius: var(--radius);
	overflow: hidden;
	box-shadow: var(--shadow-sm);
	transition: transform .28s var(--ease), box-shadow .28s var(--ease), border-color .28s var(--ease);
}

	.post-card:hover {
		transform: translateY(-6px);
		box-shadow: var(--shadow);
		border-color: #d5e3f5;
	}

.post-card__cover {
	position: relative;
	height: 164px;
	display: grid;
	place-items: center;
	color: #fff;
	overflow: hidden;
	isolation: isolate;
}

	.post-card__cover::before {
		content: "";
		position: absolute;
		width: 190px;
		height: 190px;
		border-radius: 50%;
		background: rgba(255,255,255,.12);
		top: -86px;
		right: -58px;
		z-index: -1;
	}

	.post-card__cover::after {
		content: "";
		position: absolute;
		inset: 0;
		background-image: linear-gradient(rgba(255,255,255,.07) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.07) 1px, transparent 1px);
		background-size: 28px 28px;
		-webkit-mask-image: linear-gradient(110deg, #000, transparent 78%);
		mask-image: linear-gradient(110deg, #000, transparent 78%);
		opacity: .65;
		z-index: -1;
	}

.cover-label {
	position: absolute;
	top: 14px;
	left: 17px;
	z-index: 2;
	padding: 5px 9px;
	border: 1px solid rgba(255,255,255,.25);
	border-radius: 999px;
	background: rgba(5,18,46,.18);
	color: rgba(255,255,255,.9);
	font-family: var(--font-en);
	font-size: .6rem;
	font-weight: 800;
	letter-spacing: .14em;
}

.cover-art {
	position: relative;
	z-index: 1;
	width: 100%;
	height: 100%;
	color: rgba(255,255,255,.92);
	filter: drop-shadow(0 12px 18px rgba(7,18,47,.18));
	transition: transform .35s var(--ease);
	display: flex;
	justify-content: center;
	align-items: center;
}

.post-card:hover .cover-art {
	transform: scale(1.035) translateY(-2px);
}

.post-cover--ai-team {
	background: linear-gradient(135deg, #312e81, #6d28d9 62%, #0ea5e9);
}

.post-cover--talent-search {
	background: linear-gradient(135deg, #0f294f, #155e75 62%, #0891b2);
}

.post-cover--ai-agent {
	background: linear-gradient(135deg, #3b0764, #7c3aed 55%, #06b6d4);
}

.post-cover--tokyo-market {
	background: linear-gradient(135deg, #11284b, #1d4f91 62%, #e85d75);
}

.post-cover--global-career {
	background: linear-gradient(135deg, #064e3b, #f3d692 58%, #38bdf8);
}

.post-cover--ai-skills {
	background: linear-gradient(135deg, #7c2d12, #ea580c 55%, #7c3aed);
}

.post-cover--apac-network {
	background: linear-gradient(135deg, #123a63, #2563eb 55%, #0d9488);
}

.post-cover--transformation {
	background: linear-gradient(135deg, #3b2a78, #7c3aed 55%, #f97316);
}

.post-cover--employment {
	background: linear-gradient(135deg, #134e4a, #f3d692 55%, #2563eb);
}

.post-cover--compensation {
	background: linear-gradient(135deg, #1e3a8a, #2563eb 58%, #d97706);
}

.post-cover--compliance {
	background: linear-gradient(135deg, #0f294f, #1e4d78 55%, #f3d692);
}

.post-cover--eor {
	background: linear-gradient(135deg, #164e63, #0891b2 55%, #ea580c);
}

.post-card__body {
	display: flex;
	flex-direction: column;
	gap: 12px;
	padding: 24px 24px 26px;
	flex: 1;
}

.post-card__meta {
	display: flex;
	align-items: center;
	gap: 10px;
	flex-wrap: wrap;
	font-size: .8rem;
	color: var(--muted);
}

.post-cat {
	font-size: .72rem;
	font-weight: 700;
	letter-spacing: .03em;
	color: #fff;
	background: var(--bg-tint);
	padding: 4px 10px;
	border-radius: 7px;
}

.post-card__title {
	font-size: 1.16rem;
	line-height: 1.45;
	color: var(--ink);
}

.post-card__excerpt {
	font-size: .92rem;
	color: var(--body);
	margin: 0;
	flex: 1;
}

.post-card__more {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-weight: 700;
	color: var(--brand);
	font-size: .9rem;
}

	.post-card__more svg {
		width: 15px;
		height: 15px;
		transition: transform .25s var(--ease);
	}

.post-card:hover .post-card__more svg {
	transform: translateX(4px);
}

.article {
	max-width: 1200px;
	margin-inline: auto;
}

.article__meta {
	display: flex;
	align-items: center;
	gap: 8px 14px;
	flex-wrap: wrap;
	color: var(--muted);
	font-size: .9rem;
	margin-bottom: 8px;
}

.article__body {
	margin-top: 8px;
}

	.article__body h2 {
		font-size: 1.4rem;
		margin: 38px 0 14px;
		padding-bottom: 12px;
		border-bottom: 2px solid var(--line);
	}

		.article__body h2:first-child {
			margin-top: 0;
		}

	.article__body p {
		font-size: 1.02rem;
		line-height: 1.95;
		color: var(--body);
		margin: 0 0 1.25em;
	}

	.article__body ul {
		padding-left: 1.3em;
		margin: 0 0 1.4em;
	}

	.article__body li {
		margin-bottom: .6em;
		font-size: 1rem;
		line-height: 1.8;
	}

	.article__body blockquote {
		margin: 26px 0;
		padding: 18px 26px;
		border-left: 4px solid var(--brand);
		background: var(--bg-soft);
		border-radius: 0 var(--radius-sm) var(--radius-sm) 0;
		color: var(--navy);
		font-weight: 600;
	}

.article__foot {
	margin-top: 40px;
	padding-top: 24px;
	border-top: 1px solid var(--line);
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-wrap: wrap;
	gap: 14px;
}

/* ---------- Responsive ---------- */
@media (max-width:1024px) {
	.hero__inner {
		grid-template-columns: 1fr;
		gap: 40px;
	}

	.hero__visual {
		max-width: 480px;
	}

	.message {
		grid-template-columns: 1fr;
	}

	.message__portrait {
		min-height: 220px;
	}

	.svc, .svc--rev {
		grid-template-columns: 1fr;
		gap: 30px;
	}

		.svc--rev .svc__media {
			order: 0;
		}

	.contact-grid {
		grid-template-columns: 1fr;
	}

	.domain-grid {
		grid-template-columns: repeat(2, 1fr);
	}

	.step-grid {
		grid-template-columns: repeat(2, 1fr);
	}

	.footer-top {
		grid-template-columns: 1fr 1fr;
		gap: 32px;
	}

	.job-detail {
		grid-template-columns: 1fr;
		gap: 32px;
	}

	.apply-card {
		position: static;
	}

	.post-grid {
		grid-template-columns: repeat(2, 1fr);
	}
}
/* The full multilingual nav is intentionally reserved for wide desktops.
   At laptop widths the compact menu protects the complete TAC wordmark and
   keeps Windows/Japanese font differences from causing hidden collisions. */
@media (max-width:1360px) {
	.nav-toggle {
		display: block;
	}

	.header-tel {
		display: none;
	}

	.nav {
		position: fixed;
		inset: var(--header-h) 0 auto 0;
		flex-direction: column;
		align-items: stretch;
		gap: 0;
		background: #fff;
		padding: 12px 22px 26px;
		border-bottom: 1px solid var(--line);
		box-shadow: var(--shadow);
		transform: translateY(-140%);
		transition: transform .35s var(--ease);
		z-index: 99;
	}

		.nav.open {
			transform: translateY(0);
		}

	body.nav-open .tac-panel, body.nav-open .tac-mascot, body.nav-open .tac-bubble, body.nav-open .tac-engage {
		visibility: hidden !important;
		opacity: 0 !important;
		pointer-events: none !important;
	}

	.nav a {
		padding: 15px 6px;
		border-bottom: 1px solid var(--line-soft);
		border-radius: 0;
		font-size: 1rem;
	}

		.nav a::after {
			display: none;
		}

	.nav .nav-cta {
		display: inline-flex;
		margin-top: 16px;
	}

	.header-cta .btn-primary {
		display: none;
	}
}

@media (max-width:860px) {
	:root {
		--header-h: 64px;
	}

	.section {
		padding: 66px 0;
	}

	.grid-2, .grid-3, .grid-4, .trust-grid, .team-grid, .vm, .pathgrid, .job-list, .post-grid {
		grid-template-columns: 1fr;
	}

	.hero-stats {
		grid-template-columns: repeat(2, 1fr);
		gap: 26px 16px;
	}

	.statband .grid-4 {
		grid-template-columns: repeat(2, 1fr);
		gap: 30px 16px;
	}

	.form__row.two {
		grid-template-columns: 1fr;
	}

	.cta {
		padding: 48px 26px;
	}

	.profile th {
		width: 140px;
		padding: 16px;
	}

	.profile td {
		padding: 16px;
	}
}

@media (max-width:560px) {
	.container {
		width: 100% - 36px;
		width: calc(100% - 36px);
	}

	.site-header .logo {
		width: 78px;
		height: 38px;
	}

	.site-header .brand__text {
		display: none;
	}

	.domain-grid, .step-grid {
		grid-template-columns: 1fr;
	}

	.footer-top {
		grid-template-columns: 1fr;
	}

	.footer-bottom {
		flex-direction: column;
		align-items: flex-start;
	}

	.pathcard, .vm-card, .cta {
		padding-left: 26px;
		padding-right: 26px;
	}

	.btn {
		padding: 14px 24px;
	}

	.hero__actions .btn, .cta__actions .btn {
		width: 100%;
	}
}
/* Compact language selector */
.lang-switch--dropdown {
	position: relative;
	overflow: visible;
	border: 0;
	background: transparent;
}

.lang-switch__button {
	display: inline-flex;
	align-items: center;
	gap: 9px;
	min-height: 42px;
	padding: 8px 13px;
	border: 1px solid #c7d6e9;
	border-radius: 14px;
	background: #fff;
	color: var(--navy);
	font: 800 .82rem/1 var(--font-en);
	box-shadow: 0 3px 10px rgba(15,41,79,.08);
	cursor: pointer;
	white-space: nowrap;
}

	.lang-switch__button:hover, .lang-switch__button:focus-visible {
		border-color: var(--brand);
		outline: 0;
		box-shadow: 0 0 0 3px rgba(45,91,227,.12), 0 5px 14px rgba(15,41,79,.1);
	}

.lang-switch__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 24px;
	min-width: 24px;
	font-size: 1.15rem;
	line-height: 1;
}

.lang-switch__icon--neutral {
	width: 24px;
	height: 24px;
	border-radius: 7px;
	background: var(--brand);
	color: #fff;
	font-family: var(--font-ja);
	font-size: .72rem;
	font-weight: 900;
	box-shadow: inset 0 0 0 1px rgba(255,255,255,.22);
}

.lang-switch__label {
	line-height: 1.2;
}

.lang-switch__chevron {
	margin-left: 1px;
	color: var(--brand);
	font-size: 1rem;
	line-height: .7;
	transition: transform .2s ease;
}

.lang-switch--dropdown.open .lang-switch__chevron {
	transform: rotate(180deg);
}

.lang-switch__menu {
	display: none;
	position: absolute;
	right: 0;
	top: calc(100% + 12px);
	z-index: 110;
	width: 196px;
	padding: 9px;
	border: 1px solid #dbe4ef;
	border-radius: 14px;
	background: #fff;
	box-shadow: 0 14px 34px rgba(15,41,79,.18);
}

	.lang-switch__menu::before {
		content: "";
		position: absolute;
		top: -7px;
		right: 26px;
		width: 12px;
		height: 12px;
		border-left: 1px solid #dbe4ef;
		border-top: 1px solid #dbe4ef;
		background: #fff;
		transform: rotate(45deg);
	}

.lang-switch--dropdown.open .lang-switch__menu {
	display: flex;
	flex-direction: column;
	gap: 2px;
}

.lang-switch__menu a {
	display: flex;
	align-items: center;
	gap: 11px;
	min-height: 42px;
	padding: 9px 11px;
	border: 0;
	border-radius: 9px;
	background: #fff;
	color: var(--navy);
	font-size: .9rem;
	font-weight: 700;
	white-space: nowrap;
}

	.lang-switch__menu a:hover, .lang-switch__menu a:focus-visible {
		background: var(--bg-tint);
		color: var(--brand);
		outline: 0;
	}

	.lang-switch__menu a.active {
		background: #edf4ff;
		color: var(--brand);
	}

@media(max-width:560px) {
	.lang-switch__button {
		min-height: 38px;
		padding: 7px 10px;
		gap: 7px;
	}

		.lang-switch__button .lang-switch__icon {
			flex-basis: 22px;
			min-width: 22px;
		}

	.lang-switch__menu {
		position: fixed;
		top: calc(var(--header-h) + 8px);
		right: 12px;
		width: min(292px, calc(100vw - 24px));
		max-height: calc(100dvh - var(--header-h) - 20px);
		overflow-y: auto;
		overscroll-behavior: contain;
	}

	.lang-switch--dropdown.open .lang-switch__menu {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.lang-switch__menu::before {
		right: 58px;
	}

	.lang-switch__menu a {
		min-width: 0;
	}
}
/* Client case studies */
.case-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 24px;
}

.case-grid--featured {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.case-card {
	display: flex;
	flex-direction: column;
	min-height: 100%;
	padding: 30px;
	border: 1px solid var(--line);
	border-radius: var(--radius);
	background: #fff;
	box-shadow: var(--shadow-sm);
}

.case-card__market {
	display: inline-flex;
	align-self: flex-start;
	margin-bottom: 16px;
	padding: 6px 10px;
	border-radius: 999px;
	/* background: var(--bg-tint); */
	/* color: var(--brand); */
	font-size: .78rem;
	font-weight: 800;
	letter-spacing: .03em;
	background: rgb(186 126 30 / 16%);
	color: #a96804;
}

.case-card h3 {
	margin: 0 0 12px;
	color: var(--navy);
	font-size: 1.2rem;
	line-height: 1.45;
}

.case-card p {
	margin: 0 0 20px;
	color: var(--text-2);
}

.case-card a {
	margin-top: auto;
	font-weight: 800;
}

.case-all {
	margin-top: 30px;
}

.case-detail {
	max-width: 860px;
	margin: 0 auto;
}

	.case-detail > section {
		margin: 34px 0;
		padding-bottom: 28px;
		border-bottom: 1px solid var(--line-soft);
	}

	.case-detail h2 {
		margin-bottom: 12px;
		color: var(--navy);
	}

	.case-detail p {
		color: var(--text-2);
		font-size: 1.06rem;
		line-height: 1.9;
	}

.case-method-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 16px;
	margin-top: 18px;
}

.case-method-step {
	padding: 22px;
	border: 1px solid var(--line);
	border-radius: 16px;
	background: var(--bg-tint);
}

	.case-method-step > span {
		color: var(--brand);
		font-size: .76rem;
		font-weight: 900;
		letter-spacing: .12em;
	}

	.case-method-step h3 {
		margin: 8px 0;
		color: var(--navy);
		font-size: 1.02rem;
	}

	.case-method-step p {
		margin: 0;
		font-size: .94rem;
		line-height: 1.7;
	}

.case-metrics {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 14px;
}

.case-metric {
	padding: 22px 16px;
	border: 1px solid var(--line);
	border-radius: 16px;
	background: #fff;
	text-align: center;
	box-shadow: var(--shadow-sm);
}

	.case-metric strong {
		display: block;
		color: var(--brand);
		font-size: 1.65rem;
		line-height: 1.15;
	}

	.case-metric span {
		display: block;
		margin-top: 8px;
		color: var(--text-2);
		font-size: .86rem;
		line-height: 1.5;
	}

.case-impact {
	padding: 30px !important;
	border: 0 !important;
	border-radius: 20px;
	background: linear-gradient(135deg, var(--navy), #273f78);
	color: #fff;
}

	.case-impact h2, .case-impact p {
		color: #fff;
	}

.case-transformation {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 10px;
	margin-top: 20px;
}

	.case-transformation strong {
		padding: 8px 12px;
		border: 1px solid rgba(255,255,255,.28);
		border-radius: 999px;
		background: rgba(255,255,255,.08);
		font-size: .84rem;
	}

.case-back {
	display: inline-block;
	margin-bottom: 24px;
	font-weight: 800;
}

.case-chips {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-bottom: 30px;
}

.case-chip {
	padding: 7px 12px;
	border-radius: 999px;
	background: var(--bg-tint);
	color: var(--brand);
	font-size: .82rem;
	font-weight: 700;
}

@media(max-width:900px) {
	.case-grid, .case-grid--featured, .case-method-grid {
		grid-template-columns: 1fr;
	}

	.case-metrics {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}
/* ---------- Compliance note inside a service block ---------- */
.svc__note {
	margin-top: 20px;
	padding: 18px 20px;
	border-left: 4px solid var(--brand);
	background: var(--bg-tint);
	border-radius: 0 var(--radius-sm) var(--radius-sm) 0;
	font-size: .92rem;
	line-height: 1.85;
	color: #ffffff;
}

	.svc__note strong {
		color: #000000;
	}

	.svc__note .law {
		font-family: var(--font-en);
		font-weight: 800;
		color: var(--brand);
	}
/* ---------- Engagement-model comparison (hire-in-japan) ---------- */
.model-table-wrap {
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
}

.model-table {
	width: 100%;
	min-width: 760px;
	border-collapse: collapse;
	background: #fff;
	border: 1px solid var(--line);
	border-radius: var(--radius);
	overflow: hidden;
	box-shadow: var(--shadow-sm);
}

	.model-table th, .model-table td {
		text-align: left;
		padding: 16px 18px;
		vertical-align: top;
		border-bottom: 1px solid var(--line-soft);
		font-size: .93rem;
		line-height: 1.75;
	}

	.model-table thead th {
		background: var(--navy);
		color: #fff;
		font-weight: 700;
		font-size: .88rem;
		letter-spacing: .02em;
	}

	.model-table tbody th {
		background: var(--bg-soft);
		color: var(--navy);
		font-weight: 700;
		width: 200px;
	}

	.model-table tr:last-child th, .model-table tr:last-child td {
		border-bottom: none;
	}

	.model-table .yes {
		color: #f3d692;
		font-weight: 800;
	}

	.model-table .no {
		color: #b45309;
		font-weight: 800;
	}
/* ---------- Buyer fact grid (hire-in-japan) ---------- */
.fact-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 18px;
}

.fact {
	padding: 24px;
	background: #fff;
	border: 1px solid var(--line);
	border-radius: var(--radius);
	box-shadow: var(--shadow-sm);
}

.fact__k {
	display: block;
	font-family: var(--font-en);
	font-size: .74rem;
	font-weight: 800;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--brand);
}

.fact__v {
	display: block;
	margin-top: 10px;
	color: var(--navy);
	font-weight: 700;
	font-size: 1.02rem;
	line-height: 1.6;
}

.fact__d {
	margin: 8px 0 0;
	color: var(--text-2);
	font-size: .9rem;
	line-height: 1.75;
}
/* ---------- Q&A list (hire-in-japan) ---------- */
.qa {
	display: grid;
	gap: 14px;
}

.qa__item {
	padding: 24px 26px;
	background: #fff;
	border: 1px solid var(--line);
	border-radius: var(--radius);
	box-shadow: var(--shadow-sm);
}

.qa__q {
	margin: 0 0 10px;
	color: var(--navy);
	font-size: 1.06rem;
	line-height: 1.6;
}

.qa__a {
	margin: 0;
	color: var(--text-2);
	font-size: .96rem;
	line-height: 1.9;
}

.legal-note {
	margin-top: 26px;
	padding: 16px 20px;
	border: 1px dashed var(--line);
	border-radius: var(--radius-sm);
	color: var(--muted);
	font-size: .86rem;
	line-height: 1.8;
}

@media(max-width:900px) {
	.fact-grid {
		grid-template-columns: 1fr;
	}
}
/* ---------- Lean contact form (2026-08-29) ----------
   Fewer fields convert better: email, optional phone, and one large box that
   carries both subject and body. Larger hit areas and real placeholders. */
.form--lean {
	padding: 34px;
}

	.form--lean .form__row {
		margin-bottom: 22px;
	}

	.form--lean label {
		font-size: .92rem;
		margin-bottom: 9px;
		display: flex;
		align-items: baseline;
		gap: 8px;
		flex-wrap: wrap;
	}

.form label .opt {
	color: var(--muted);
	font-size: .76rem;
	font-weight: 600;
}

.form--lean .select {
	padding: 15px 16px;
	font-size: 1rem;
	color: #333;
}

.form--lean input {
	padding: 15px 16px;
	font-size: 1rem;
}

.form--lean textarea {
	min-height: 210px;
	padding: 16px;
	font-size: 1rem;
	line-height: 1.75;
}

.form--lean .select::-webkit-input-placeholder{ color:#ccc;}
	.form--lean input::placeholder, .form--lean textarea::placeholder,.form--lean .select::placeholder {
		color: #9aa8bd;
	}

.field__hint {
	margin: 10px 0 0;
	font-size: .82rem;
	color: var(--muted);
	line-height: 1.7;
}
/* Email is the primary channel ÃƒÂ¢Ã¢â€šÂ¬Ã¢â‚¬Â it should read that way */
.info-block--primary {
	padding: 22px 24px;
	margin-bottom: 26px;
	background: var(--bg-tint);
	border: 1px solid var(--line);
	border-left: 4px solid var(--brand);
	border-radius: 0 14px 14px 0;
	box-shadow: var(--shadow-sm);
}

	.info-block--primary h3 {
		font-size: 1.06rem;
	}

.contact-email {
	font-family: var(--font-en);
	font-size: 1.22rem;
	font-weight: 800;
	word-break: break-all;
}

.info-block__note {
	margin-top: 8px !important;
	font-size: .85rem;
	color: var(--muted);
	line-height: 1.7;
}

@media(max-width:700px) {
	.form--lean {
		padding: 24px 20px;
	}

		.form--lean textarea {
			min-height: 170px;
		}
}
/* Mail fallback is a warning, not a success: the visitor still has to act. */
.form__msg.warn {
	background: #fff7e6;
	color: #8a5a00;
	border: 1px solid #f2d9a8;
}

	.form__msg.warn a {
		color: #8a5a00;
		font-weight: 800;
		text-decoration: underline;
	}
/* Proactive invite card (js/engage.js). Bottom-left on purpose: the chat mascot
   sits bottom-right, and the two must never overlap. */
.tac-engage {
	position: fixed;
	left: 20px;
	bottom: 20px;
	z-index: 9997;
	width: 340px;
	max-width: calc(100vw - 40px);
	max-height: calc(100vh - 40px);
	overflow: auto;
	background: #fff;
	border: 1px solid #e2e8f0;
	border-radius: 14px;
	padding: 18px 18px 16px;
	box-shadow: 0 12px 34px rgba(15,23,42,.16);
	opacity: 0;
	transform: translateY(10px);
	transition: opacity .22s ease, transform .22s ease
}

	.tac-engage.in {
		opacity: 1;
		transform: none
	}

.tac-engage__x {
	position: absolute;
	top: 8px;
	right: 10px;
	border: 0;
	background: none;
	font-size: 20px;
	line-height: 1;
	color: #94a3b8;
	cursor: pointer;
	padding: 4px
}

	.tac-engage__x:hover {
		color: #475569
	}

.tac-engage__t {
	margin: 0 0 6px;
	font-weight: 700;
	font-size: .95rem;
	color: #0f172a;
	padding-right: 18px
}

.tac-engage__b {
	margin: 0 0 14px;
	font-size: .85rem;
	line-height: 1.6;
	color: #475569
}

.tac-engage__cta {
	display: block;
	text-align: center;
	background: #14213d;
	color: #fff;
	text-decoration: none;
	border-radius: 9px;
	padding: 10px 14px;
	font-size: .87rem;
	font-weight: 600
}

	.tac-engage__cta:hover {
		background: #1e2f57
	}

.tac-engage__alt {
	display: block;
	width: 100%;
	margin-top: 8px;
	border: 1px solid #cbd5e1;
	background: #fff;
	color: #334155;
	border-radius: 9px;
	padding: 9px 14px;
	font-size: .83rem;
	cursor: pointer
}

	.tac-engage__alt:hover {
		background: #f8fafc
	}

.tac-engage__form {
	display: grid;
	gap: 10px;
	margin-top: 12px
}

	.tac-engage__form label {
		display: grid;
		gap: 5px;
		color: #334155;
		font-size: .76rem;
		font-weight: 700
	}

	.tac-engage__form input, .tac-engage__form textarea {
		width: 100%;
		border: 1px solid #cbd5e1;
		border-radius: 8px;
		padding: 9px 10px;
		background: #fff;
		color: #0f172a;
		font: inherit;
		line-height: 1.45;
		outline: none
	}

	.tac-engage__form textarea {
		resize: vertical;
		min-height: 82px
	}

		.tac-engage__form input:focus, .tac-engage__form textarea:focus {
			border-color: #3b82f6;
			box-shadow: 0 0 0 3px rgba(59,130,246,.12)
		}

.tac-engage__cta {
	border: 0;
	width: 100%;
	cursor: pointer
}

	.tac-engage__cta:disabled {
		opacity: .65;
		cursor: wait
	}

.tac-engage__status {
	min-height: 1.3em;
	margin: 0;
	color: #f3d692;
	font-size: .78rem;
	font-weight: 700
}

.tac-engage__link {
	display: block;
	margin-top: 8px;
	text-align: center;
	color: #64748b;
	font-size: .75rem;
	text-decoration: underline
}

@media(max-width:600px) {
	.tac-engage {
		left: 10px;
		right: 10px;
		bottom: 12px;
		width: auto
	}
}

@media(prefers-reduced-motion:reduce) {
	.tac-engage {
		transition: none
	}
}
/* Consultant roster and homepage/company gateway. Kept in the shared CSS so
   generated case, job and insight pages do not inherit a large inline block. */
:root {
	--consultant-accent: #b68330;
	--consultant-accent2: b68330;
}

.consultant-hero {
	position: relative;
	overflow: hidden;
	padding: clamp(76px, 9vw, 132px) 0 64px;
	/* background: linear-gradient(135deg, #f7f8ff 0%, #fff 52%, #f4fbfb 100%); */
}

.consultant-hero__inner {
	position: relative;
	z-index: 2;
	max-width: 980px
}

	.consultant-hero__inner > .eyebrow {
		animation: consultantIntro .55s ease-out both
	}

.consultant-hero h1 {
	max-width: 820px;
	margin: 14px 0 20px;
	font-size: clamp(2rem, 4.1vw, 3.65rem);
	line-height: 1.1;
	letter-spacing: -.035em;
	color: #906506;
	animation: consultantIntro .65s .08s ease-out both
}

.consultant-hero p {
	max-width: 800px;
	font-size: clamp(1rem, 1.6vw, 1.22rem);
	line-height: 1.85;
	color: #333;
	animation: consultantIntro .65s .16s ease-out both
}

.consultant-orb {
	position: absolute;
	border-radius: 50%;
	filter: blur(1px);
	opacity: .48;
	animation: consultantFloat 12s ease-in-out infinite
}

.consultant-orb--one {
	width: 360px;
	height: 360px;
	right: -80px;
	top: -120px;
	/* background: radial-gradient(circle at 35% 35%, #fff 0, #ffffff 62%, transparent 68%); */
}

.consultant-orb--two {
	width: 240px;
	height: 240px;
	right: 24%;
	bottom: -170px;
	background: radial-gradient(circle at 30% 30%, #fff 0, var(--consultant-accent2) 66%, transparent 70%);
	animation-delay: -5s
}

.consultant-proof, .consultant-filters, .consultant-tags {
	display: flex;
	flex-wrap: wrap;
	gap: 10px
}

.consultant-proof {
	margin-top: 30px;
	animation: consultantIntro .65s .24s ease-out both
}

	.consultant-proof span {
		padding: 9px 14px;
		border: 1px solid rgba(49,65,102,.14);
		border-radius: 999px;
		background: rgba(255,255,255,.78);
		box-shadow: 0 8px 24px rgba(31,42,70,.07);
		font-size: .85rem;
		font-weight: 700;
		color: #35435e
	}

.consultant-section {
	/* background: #fbfcff; */
}

.consultant-filters {
	margin-bottom: 30px
}

	.consultant-filters button {
		border: 1px solid #d9deea;
		background: #fff;
		color: #45526b;
		border-radius: 999px;
		padding: 10px 16px;
		font: inherit;
		font-size: .9rem;
		font-weight: 700;
		cursor: pointer;
		transition: .2s ease
	}

		.consultant-filters button:hover, .consultant-filters button:focus-visible, .consultant-filters button[aria-pressed=true] {
			border-color: var(--consultant-accent);
			background: var(--consultant-accent);
			color: #fff;
			transform: translateY(-1px)
		}

.consultant-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 22px
}

.consultant-card {
	position: relative;
	display: flex;
	flex-direction: column;
	min-height: 100%;
	padding: 26px;
	border: 1px solid #e1e6f0;
	border-radius: 24px;
	background: linear-gradient(160deg, #fff 0%, #fbfcff 100%);
	box-shadow: 0 14px 40px rgba(27,38,68,.07);
	overflow: hidden;
	transition: transform .28s ease, box-shadow .28s ease, border-color .28s ease
}

	.consultant-card:before {
		content: "";
		position: absolute;
		width: 130px;
		height: 130px;
		right: -66px;
		top: -70px;
		border-radius: 50%;
		background: linear-gradient(135deg, var(--consultant-accent), var(--consultant-accent2));
		opacity: .13;
		transition: .28s ease
	}

	.consultant-card:hover {
		transform: translateY(-7px);
		border-color: var(--consultant-accent);
		box-shadow: 0 24px 60px rgba(27,38,68,.14)
	}

		.consultant-card:hover:before {
			transform: scale(1.2);
			opacity: .2
		}

	.consultant-card[hidden] {
		display: none
	}

.consultant-card__top {
	display: flex;
	justify-content: space-between;
	gap: 12px;
	align-items: center;
	margin-bottom: 20px
}

.consultant-avatar {
	display: grid;
	place-items: center;
	width: 62px;
	height: 62px;
	border-radius: 20px;
	background: linear-gradient(135deg, var(--consultant-accent), var(--consultant-accent2));
	color: #fff;
	font-weight: 800;
	letter-spacing: .05em;
	box-shadow: 0 12px 25px rgba(49,85,198,.2)
}

.consultant-public {
	font-size: .72rem;
	text-transform: uppercase;
	letter-spacing: .08em;
	color: #7b8598
}

.consultant-card h2 {
	font-size: 1.28rem;
	line-height: 1.3;
	margin: 0 0 6px;
	color: #172139
}

.consultant-role {
	font-weight: 750;
	color: var(--consultant-accent);
	margin: 0 0 4px
}

.consultant-region {
	font-size: .86rem;
	color: #7a8496;
	margin: 0 0 18px
}

.consultant-bio {
	font-size: .94rem;
	line-height: 1.72;
	color: #333;
	margin: 0 0 20px;
	flex: 1
}

.consultant-tags {
	gap: 7px;
	margin-bottom: 22px
}

	.consultant-tags span {
		padding: 6px 9px;
		border-radius: 8px;
		background: #f2f2f2;
		color: #43506a;
		font-size: .76rem;
		font-weight: 700
	}

.consultant-link {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding-top: 16px;
	border-top: 1px solid #e8ebf2;
	color: var(--brand);
	font-weight: 750;
	text-decoration: none
}

	.consultant-link:hover {
		color: var(--consultant-accent)
	}

.consultant-gateway {
	margin: 36px auto;
	padding: clamp(24px, 4vw, 42px);
	border: 1px solid #e1e6f0;
	border-radius: 24px;
	background: linear-gradient(135deg, #fff, #f6f8ff);
	box-shadow: 0 16px 44px rgba(27,38,68,.08)
}

	.consultant-gateway h2 {
		margin: 0 0 8px
	}

	.consultant-gateway > p {
		max-width: 760px;
		color: #59657b
	}

.consultant-gateway__featured {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 14px;
	margin: 24px 0
}

.consultant-gateway__person {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr);
	gap: 14px;
	align-items: start;
	padding: 18px;
	border: 1px solid #e3e7f0;
	border-radius: 16px;
	background: #fff;
	box-shadow: 0 8px 24px rgba(27,38,68,.06);
	transition: transform .22s ease, border-color .22s ease, box-shadow .22s ease
}

	.consultant-gateway__person:hover {
		transform: translateY(-3px);
		border-color: var(--consultant-accent);
		box-shadow: 0 14px 30px rgba(27,38,68,.1)
	}

.consultant-gateway__avatar {
	display: grid;
	place-items: center;
	width: 48px;
	height: 48px;
	border-radius: 15px;
	background: linear-gradient(135deg, var(--consultant-accent), var(--consultant-accent2));
	color: #fff;
	font-weight: 800;
	letter-spacing: .04em
}

.consultant-gateway__person h3 {
	margin: 1px 0 5px;
	font-size: 1rem;
	line-height: 1.38;
	color: #172139
}

.consultant-gateway__person p {
	margin: 0;
	color: #59657b;
	font-size: .84rem;
	line-height: 1.5
}

.consultant-gateway__links {
	display: flex;
	flex-wrap: wrap;
	gap: 8px 14px;
	margin-top: 10px
}

	.consultant-gateway__links a {
		color: var(--consultant-accent);
		font-size: .8rem;
		font-weight: 750;
		text-decoration: none
	}

		.consultant-gateway__links a:hover {
			text-decoration: underline
		}

.consultant-gateway > .btn {
	margin-top: 2px
}

@keyframes consultantIntro {
	from {
		opacity: 0;
		transform: translate3d(0, 18px, 0)
	}

	to {
		opacity: 1;
		transform: translate3d(0, 0, 0)
	}
}

@keyframes consultantFloat {
	0%, 100% {
		transform: translate3d(0, 0, 0) rotate(0)
	}

	50% {
		transform: translate3d(-24px, 20px, 0) rotate(7deg)
	}
}

@media(max-width:900px) {
	.consultant-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr))
	}

	.consultant-gateway__featured {
		grid-template-columns: 1fr
	}
}

@media(max-width:620px) {
	.consultant-grid {
		grid-template-columns: 1fr
	}

	.consultant-card {
		padding: 22px
	}

	.consultant-hero {
		padding-top: 62px
	}

	.consultant-proof {
		gap: 7px
	}

	.consultant-gateway {
		margin: 20px auto
	}

	.consultant-gateway__person {
		padding: 15px
	}
}

@media(prefers-reduced-motion:reduce) {
	.consultant-hero__inner > * {
		animation: none
	}

	.consultant-orb {
		animation: none
	}

	.consultant-card, .consultant-filters button, .consultant-gateway__person {
		transition: none
	}
}
/* Cheerful, clearly cartoonised portraits derived from team-supplied references. */
.consultant-avatar {
	width: 96px;
	height: 96px;
	border: 3px solid #fff;
	border-radius: 26px;
	overflow: hidden;
	background: #fff;
	box-shadow: 0 14px 30px rgba(38,56,96,.16)
}

.consultant-avatar__art {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform .35s ease
}

.consultant-card:hover .consultant-avatar__art, .consultant-gateway__person:hover .consultant-avatar__art {
	transform: scale(1.045)
}

.consultant-gateway__avatar {
	width: 68px;
	height: 68px;
	border: 3px solid #fff;
	border-radius: 20px;
	overflow: hidden;
	background: #fff;
	box-shadow: 0 10px 24px rgba(27,38,68,.15)
}

@media(max-width:620px) {
	.consultant-avatar {
		width: 88px;
		height: 88px
	}

	.consultant-gateway__avatar {
		width: 62px;
		height: 62px
	}
}

@media(prefers-reduced-motion:reduce) {
	.consultant-avatar__art {
		transition: none
	}
}
/* Consistent, accessible client-brand cards. */
.client-logo-grid {
	align-items: stretch
}

.client-logo-card {
	min-height: 118px;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 24px;
	background: #fff
}

	.client-logo-card img {
		display: block;
		width: auto;
		height: auto;
		max-width: min(190px, 88%);
		max-height: 62px;
		object-fit: contain
	}

	.client-logo-card strong {
		font-size: 1.25rem;
		color: #172139
	}

@media(max-width:620px) {
	.client-logo-card {
		min-height: 104px;
		padding: 20px
	}

		.client-logo-card img {
			max-width: min(176px, 82%);
			max-height: 56px
		}
}
/* Brand meaning stays compact; delivery capability remains the primary story. */
.brand-principle {
	position: relative;
	overflow: hidden;
	padding: 20px 0;
	background: #bf903f;
	color: #fff
}

	.brand-principle:after {
		content: "";
		position: absolute;
		right: -70px;
		top: -110px;
		width: 260px;
		height: 260px;
		border: 1px solid rgba(121,212,255,.18);
		transform: rotate(45deg)
	}

.brand-principle__inner {
	position: relative;
	z-index: 1;
	display: grid;
	grid-template-columns: minmax(220px, .72fr) minmax(360px, 1.65fr) auto;
	gap: 28px;
	align-items: center
}

.brand-principle__label {
	display: block;
	margin-bottom: 4px;
	color: #fff;
	font-size: .7rem;
	font-weight: 800;
	letter-spacing: .16em
}

.brand-principle h2 {
	margin: 0;
	color: #fff;
	font-size: clamp(1.02rem, 1.6vw, 1.3rem);
	letter-spacing: .01em
}

.brand-principle p {
	margin: 0;
	color: #fdfeff;
	font-size: .88rem;
	line-height: 1.72
}

.brand-principle a {
	color: #fff;
	font-size: .82rem;
	font-weight: 800;
	white-space: nowrap;
	text-decoration: none
}

	.brand-principle a:hover {
		text-decoration: underline
	}

.delivery-strength {
	position: relative;
	overflow: hidden;
	/* background: #f2f2f2; */
}

	.delivery-strength:before {
		content: "";
		position: absolute;
		left: -180px;
		top: 100px;
		width: 420px;
		height: 420px;
		border-radius: 50%;
		background: radial-gradient(circle, rgba(33,115,220,.09), transparent 68%)
	}

	.delivery-strength .section-head {
		position: relative;
		z-index: 1;
		max-width: 900px
	}

.delivery-lanes {
	position: relative;
	z-index: 1;
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 18px;
	margin-top: 30px
}

.delivery-lane {
	position: relative;
	min-height: 230px;
	padding: 26px 24px;
	border: 1px solid rgba(26,64,113,.13);
	border-radius: 20px;
	background: rgba(255,255,255,.92);
	box-shadow: 0 14px 38px rgba(16,47,84,.07);
	transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease
}

	.delivery-lane:before {
		content: "";
		position: absolute;
		left: 24px;
		right: 24px;
		top: 0;
		height: 3px;
		background: linear-gradient(90deg, var(--navy) 0 34%, #ff765e 34% 66%, #c48d4c 66%)
	}

	.delivery-lane:hover {
		transform: translateY(-5px);
		border-color: rgba(33,115,220,.32);
		box-shadow: 0 22px 52px rgba(16,47,84,.12)
	}

	.delivery-lane > span {
		display: inline-grid;
		place-items: center;
		width: 42px;
		height: 42px;
		margin-bottom: 22px;
		border-radius: 12px;
		background: #b68330;
		color: #fff;
		font-size: .76rem;
		font-weight: 900;
		letter-spacing: .08em
	}

	.delivery-lane h3 {
		margin: 0 0 10px;
		color: #132641;
		font-size: 1.1rem
	}

	.delivery-lane p {
		margin: 0;
		color: #56677d;
		font-size: .91rem;
		line-height: 1.75
	}

.delivery-proof-head {
	margin: 46px 0 18px
}

	.delivery-proof-head h3 {
		margin: 0;
		color: #172942;
		font-size: clamp(1.28rem, 2.2vw, 1.75rem)
	}

.delivery-proof-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 20px
}

.delivery-proof {
	position: relative;
	overflow: hidden;
	padding: 30px;
	border-radius: 22px;
	background: linear-gradient(132deg, #b68330, #fef1cf);
	box-shadow: 0 18px 44px rgba(7,26,51,.17);
	color: #fff
}

	.delivery-proof:after {
		content: "";
		position: absolute;
		right: -34px;
		bottom: -42px;
		width: 150px;
		height: 150px;
		border: 1px solid rgba(121,212,255,.18);
		transform: rotate(45deg)
	}

.delivery-proof__label {
	display: inline-block;
	margin-bottom: 15px;
	color: #fff;
	font-size: .72rem;
	font-weight: 900;
	letter-spacing: .14em
}

.delivery-proof h3 {
	position: relative;
	z-index: 1;
	margin: 0 0 12px;
	color: #fff;
	font-size: 1.22rem;
	line-height: 1.4
}

.delivery-proof p {
	position: relative;
	z-index: 1;
	margin: 0 0 19px;
	color: #fbf8f3;
	font-size: .92rem;
	line-height: 1.78
}

.delivery-proof a {
	position: relative;
	z-index: 1;
	color: #fff;
	font-size: .86rem;
	font-weight: 800;
	text-decoration: none
}

	.delivery-proof a:hover {
		text-decoration: underline
	}

.delivery-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin-top: 28px
}

@media(max-width:900px) {
	.brand-principle__inner {
		grid-template-columns: 1fr;
		gap: 10px
	}

	.brand-principle a {
		margin-top: 2px
	}

	.delivery-lanes {
		grid-template-columns: 1fr
	}

	.delivery-lane {
		min-height: 0
	}

	.delivery-proof-grid {
		grid-template-columns: 1fr
	}
}

@media(max-width:620px) {
	.brand-principle {
		padding: 18px 0
	}

		.brand-principle p {
			font-size: .84rem
		}

	.delivery-proof {
		padding: 25px 22px
	}

	.delivery-actions .btn {
		width: 100%;
		text-align: center
	}
}

@media(prefers-reduced-motion:reduce) {
	.delivery-lane {
		transition: none
	}
}
/* ---------- Unified motion language ----------
   Dark surfaces borrow the homepage's moving network/grid treatment, while
   major headlines on light surfaces use a restrained brand-colour drift. */
.page-hero::after, .cta::after, .svc__media::after, .brand-principle::after, .delivery-proof::after, .statband::after, .case-impact::after {
	content: "";
	position: absolute;
	inset: -48px;
	width: auto;
	height: auto;
	border: 0;
	transform: none;
	pointer-events: none;
	opacity: .34;
	background-image: linear-gradient(rgba(255,255,255,.075) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.075) 1px, transparent 1px), linear-gradient(112deg, transparent 0 42%, rgba(121,212,255,.09) 47%, #f7dfa1 50%, rgba(67,219,193,.10) 53%, transparent 58% 100%);
	background-size: 48px 48px, 48px 48px, 260% 100%;
	-webkit-mask-image: linear-gradient(100deg, transparent 0, #000 15%, #000 88%, transparent 100%);
	mask-image: linear-gradient(100deg, transparent 0, #000 15%, #000 88%, transparent 100%);
	animation: tac-surface-lines 24s linear infinite;
}

.statband, .case-impact {
	position: relative;
	overflow: hidden
}

	.statband > *, .case-impact > * {
		position: relative;
		z-index: 1
	}

.consultant-hero h1, .delivery-strength .section-title {
	color: #b68330;
	/* background:linear-gradient(105deg,#906506 6%,#b68330 32%,#c69340 49%,#3155c6 64%,#906506 86%);
  background-size:240% 100%;
  -webkit-background-clip:text;
  background-clip:text;
  -webkit-text-fill-color:transparent; */
}

.consultant-hero h1 {
	animation: consultantIntro .65s .08s ease-out both, tac-headline-drift 11s 1s ease-in-out infinite alternate;
}

.delivery-strength .section-title {
	animation: tac-headline-drift 12s ease-in-out infinite alternate;
}

.page-hero__title, .cta__title {
	background: linear-gradient(100deg, #fff 8%, var(--navy) 38%, #c48d4c 52%, #fff 76%);
	background-size: 230% 100%;
	-webkit-background-clip: text;
	background-clip: text;
	-webkit-text-fill-color: transparent;
	animation: tac-headline-drift 12s ease-in-out infinite alternate;
}

@keyframes tac-surface-lines {
	from {
		background-position: 0 0, 0 0, -155% 50%
	}

	to {
		background-position: 48px 48px, 48px 48px, 155% 50%
	}
}

@keyframes tac-headline-drift {
	from {
		background-position: 100% 50%
	}

	to {
		background-position: 0 50%
	}
}

@media(prefers-reduced-motion:reduce) {
	.page-hero::after, .cta::after, .svc__media::after, .brand-principle::after, .delivery-proof::after, .statband::after, .case-impact::after, .consultant-hero h1, .delivery-strength .section-title, .page-hero__title, .cta__title {
		animation: none
	}
}

@media(forced-colors:active) {
	.consultant-hero h1, .delivery-strength .section-title, .page-hero__title, .cta__title {
		background: none;
		-webkit-text-fill-color: currentColor;
	}
}

.yuyan {
	display: flex;
	align-items: center;
}

.yuyan01 {
	position: relative;
	border: 1px solid #e3e7f0;
	padding: 5px 13px;
	border-radius: 14px;
}

	.yuyan01 a {
		display: flex;
		align-items: center;
		font-size: .95rem;
		line-height: 30px;
		font-weight: 600;
		color: var(--ink);
	}

	.yuyan01 > a > img {
		width: 22px;
		margin-right: 10px;
	}

.qitt {
	display: none;
	position: absolute;
	top: 50px;
	width: 196px;
	background: #fff;
	padding: 3px 0px 10px 0px;
	box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.1);
	font-size: 14px;
	transition: all .3s ease;
	flex-direction: column;
	border-radius: 8px;
	right: 0%;
	border: 1px solid #e3e7f0;
	box-sizing: border-box;
	padding: 9px;
}

	.qitt:before {
		content: "";
		position: absolute;
		top: -7px;
		right: 26px;
		width: 12px;
		height: 12px;
		border-left: 1px solid #dbe4ef;
		border-top: 1px solid #dbe4ef;
		background: #fff;
		transform: rotate(45deg);
	}

	.qitt a {
		display: flex;
		align-items: center;
		font-size: 16px;
		color: var(--ink);
		justify-content: flex-start;
		font-weight: 700;
		padding: 9px 11px;
		border-radius: 8px;
	}

		.qitt a img {
			width: 20px;
			display: block;
			margin-right: 10px;
		}

		.qitt a:hover {
			background: var(--bg-tint);
			color: #ffffff;
		}
/* ---------- ÃƒÂ©Ã¢â€šÂ¬Ã…Â¡ÃƒÂ§Ã¢â‚¬ÂÃ‚Â¨ ---------- */
.hero__copy {
	min-width: 0;
}
/* ---------- ÃƒÂ¥Ã…â€™Ã‚ÂºÃƒÂ¥Ã‚ÂÃ¢â‚¬â€ÃƒÂ¦Ã‚Â Ã¢â‚¬Â¡ÃƒÂ©Ã‚Â¢Ã‹Å“ÃƒÂ¨Ã‚Â¡Ã‚Â¥ÃƒÂ¥Ã¢â‚¬Â¦Ã¢â‚¬Â¦ÃƒÂ©Ã¢â‚¬â€Ã‚Â´ÃƒÂ¨Ã‚Â·Ã‚ÂÃƒÂ¯Ã‚Â¼Ã‹â€ ÃƒÂ¥Ã…Â½Ã…Â¸ style="margin-top:48px"ÃƒÂ¯Ã‚Â¼Ã¢â‚¬Â° ---------- */
.section-head--mt-48 {
	margin-top: 48px;
}
/* ---------- ÃƒÂ¥Ã‚Â¸Ã‚Â®ÃƒÂ¥Ã…Â Ã‚Â©ÃƒÂ¦Ã¢â‚¬â€œÃ¢â‚¬Â¡ÃƒÂ¦Ã…â€œÃ‚Â¬ / ÃƒÂ¥Ã‚Â£Ã‚Â°ÃƒÂ¦Ã‹Å“Ã…Â½ ---------- */
.helper-text--center-wide {
	margin: 16px auto 0;
	max-width: 900px;
	text-align: center;
}

.helper-text--center-wide-sm {
	margin: 12px auto 0;
	max-width: 900px;
	text-align: center;
}

.helper-text--center {
	margin: 12px auto 0;
	text-align: center;
}
/* ---------- ÃƒÂ¥Ã‚Â®Ã‚Â¢ÃƒÂ¦Ã‹â€ Ã‚Â· Logo ÃƒÂ¥Ã‚ÂÃ‚Â¡ÃƒÂ§Ã¢â‚¬Â°Ã¢â‚¬Â¡ ---------- */
.client-logo-card--stacked {
	flex-direction: column;
	gap: 10px;
}

.client-logo-card__caption {
	font-size: .82rem;
	font-weight: 750;
	color: #43506a;
}
/* ---------- ÃƒÂ¥Ã‚Â¼Ã¢â‚¬Â¢ÃƒÂ§Ã¢â‚¬ÂÃ‚Â¨ÃƒÂ¥Ã‚ÂÃ¢â‚¬â€ÃƒÂ¯Ã‚Â¼Ã‹â€ ÃƒÂ¥Ã‚Â®Ã‚Â¢ÃƒÂ¦Ã‹â€ Ã‚Â·ÃƒÂ¨Ã‚Â¯Ã¢â‚¬Å¾ÃƒÂ¤Ã‚Â»Ã‚Â·ÃƒÂ¯Ã‚Â¼Ã¢â‚¬Â° ---------- */
.quote-block {
	margin: 28px auto 12px;
	max-width: 760px;
	text-align: center;
	font-size: 1.15rem;
}

.quote-block__source {
	margin-top: 10px;
	font-size: .9rem;
}
/* ---------- ÃƒÂ¦Ã…â€™Ã¢â‚¬Â°ÃƒÂ©Ã¢â‚¬â„¢Ã‚Â®ÃƒÂ¥Ã…â€™Ã‚Âº / ÃƒÂ¦Ã¢â‚¬â€œÃ¢â‚¬Â¡ÃƒÂ¥Ã‚Â­Ã¢â‚¬â€ÃƒÂ¥Ã‚Â±Ã¢â‚¬Â¦ÃƒÂ¤Ã‚Â¸Ã‚Â­ÃƒÂ¨Ã‚Â¡Ã‚Â¥ÃƒÂ¥Ã¢â‚¬Â¦Ã¢â‚¬Â¦ ---------- */
.text-center--mt-28 {
	margin-top: 28px;
}

.cta-subnote {
	margin-top: 14px;
}
/* ---------- ÃƒÂ¦Ã…â€œÃ‚ÂÃƒÂ¥Ã…Â Ã‚Â¡ÃƒÂ¥Ã‚ÂÃ‚Â¡ÃƒÂ§Ã¢â‚¬Â°Ã¢â‚¬Â¡ÃƒÂ¥Ã¢â‚¬Â Ã¢â‚¬Â¦ÃƒÂ§Ã…Â¡Ã¢â‚¬Å¾ÃƒÂ¢Ã¢â€šÂ¬Ã…â€œÃƒÂ§Ã…Â¾Ã‚Â­ÃƒÂ¨Ã‚Â§Ã‚Â£ÃƒÂ¦Ã¢â‚¬ÂºÃ‚Â´ÃƒÂ¥Ã‚Â¤Ã…Â¡ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ©Ã¢â‚¬Å“Ã‚Â¾ÃƒÂ¦Ã…Â½Ã‚Â¥ ---------- */
.card__more {
	margin-top: 18px;
}



/* =====================================================================
   Consultants ÃƒÂ©Ã‚Â¡Ã‚ÂµÃƒÂ©Ã‚ÂÃ‚Â¢ÃƒÂ¨Ã‚Â¡Ã‚Â¥ÃƒÂ¥Ã¢â‚¬Â¦Ã¢â‚¬Â¦ ÃƒÂ¢Ã¢â€šÂ¬Ã¢â‚¬ÂÃƒÂ¢Ã¢â€šÂ¬Ã¢â‚¬Â ÃƒÂ¨Ã‚Â¿Ã¢â‚¬Â¡ÃƒÂ¦Ã‚Â»Ã‚Â¤ÃƒÂ¤Ã‚ÂºÃ‚Â¤ÃƒÂ¤Ã‚ÂºÃ¢â‚¬â„¢ÃƒÂ¤Ã‚Â¸Ã…Â½ÃƒÂ¥Ã‚Â·Ã‚Â¥ÃƒÂ¥Ã¢â‚¬Â¦Ã‚Â·ÃƒÂ§Ã‚Â±Ã‚Â»
   ===================================================================== */

/* ÃƒÂ¨Ã‚Â¿Ã¢â‚¬Â¡ÃƒÂ¦Ã‚Â»Ã‚Â¤ÃƒÂ¦Ã…â€™Ã¢â‚¬Â°ÃƒÂ©Ã¢â‚¬â„¢Ã‚Â®ÃƒÂ¦Ã‚Â¿Ã¢â€šÂ¬ÃƒÂ¦Ã‚Â´Ã‚Â»ÃƒÂ¦Ã¢â€šÂ¬Ã‚ÂÃƒÂ¯Ã‚Â¼Ã‹â€ ÃƒÂ¥Ã…Â½Ã…Â¸ CSS ÃƒÂ§Ã¢â‚¬ÂÃ‚Â¨ [aria-pressed=true] ÃƒÂ¥Ã‚Â·Ã‚Â²ÃƒÂ¨Ã‚Â¦Ã¢â‚¬Â ÃƒÂ§Ã¢â‚¬ÂºÃ¢â‚¬â€œÃƒÂ¯Ã‚Â¼Ã…â€™ÃƒÂ¨Ã‚Â¿Ã¢â€žÂ¢ÃƒÂ©Ã¢â‚¬Â¡Ã…â€™ÃƒÂ¨Ã‚Â¡Ã‚Â¥ hover ÃƒÂ§Ã¢â‚¬Å¾Ã‚Â¦ÃƒÂ§Ã¢â‚¬Å¡Ã‚Â¹ÃƒÂ¯Ã‚Â¼Ã¢â‚¬Â° */
.consultant-filters button:focus-visible {
	outline: 2px solid var(--consultant-accent);
	outline-offset: 2px;
}
/* ÃƒÂ¥Ã‚ÂÃ‚Â¡ÃƒÂ§Ã¢â‚¬Â°Ã¢â‚¬Â¡ÃƒÂ¨Ã‚Â¢Ã‚Â«ÃƒÂ¨Ã‚Â¿Ã¢â‚¬Â¡ÃƒÂ¦Ã‚Â»Ã‚Â¤ÃƒÂ©Ã…Â¡Ã‚ÂÃƒÂ¨Ã¢â‚¬â€Ã‚ÂÃƒÂ¦Ã¢â‚¬â€Ã‚Â¶ÃƒÂ§Ã…Â¡Ã¢â‚¬Å¾ÃƒÂ§Ã…Â Ã‚Â¶ÃƒÂ¦Ã¢â€šÂ¬Ã‚ÂÃƒÂ¯Ã‚Â¼Ã‹â€ JS ÃƒÂ¥Ã‹â€ Ã¢â‚¬Â¡ÃƒÂ¦Ã‚ÂÃ‚Â¢ hidden ÃƒÂ¥Ã‚Â±Ã…Â¾ÃƒÂ¦Ã¢â€šÂ¬Ã‚Â§ÃƒÂ¯Ã‚Â¼Ã¢â‚¬Â° */
.consultant-card[hidden] {
	display: none !important;
}
/* ÃƒÂ¥Ã‚Â¤Ã‚Â´ÃƒÂ¥Ã†â€™Ã‚ÂÃƒÂ¥Ã¢â‚¬ÂºÃ‚Â¾ÃƒÂ§Ã¢â‚¬Â°Ã¢â‚¬Â¡ÃƒÂ¥Ã…Â Ã‚Â ÃƒÂ¨Ã‚Â½Ã‚Â½ÃƒÂ¥Ã‚Â¤Ã‚Â±ÃƒÂ¨Ã‚Â´Ã‚Â¥ÃƒÂ¦Ã¢â‚¬â€Ã‚Â¶ÃƒÂ§Ã…Â¡Ã¢â‚¬Å¾ÃƒÂ¥Ã‚ÂÃ‚Â ÃƒÂ¤Ã‚Â½Ã‚ÂÃƒÂ¨Ã¢â‚¬Â°Ã‚Â²ÃƒÂ¯Ã‚Â¼Ã‹â€ ÃƒÂ¥Ã‚ÂÃ‚Â¯ÃƒÂ©Ã¢â€šÂ¬Ã¢â‚¬Â°ÃƒÂ¯Ã‚Â¼Ã¢â‚¬Â° */
.consultant-avatar__art {
	background: linear-gradient(135deg, #eef2fb, #dfe6f7);
}
/* ÃƒÂ¥Ã‚ÂÃ‚Â¡ÃƒÂ§Ã¢â‚¬Â°Ã¢â‚¬Â¡ÃƒÂ¦Ã¢â‚¬Â¢Ã‚Â°ÃƒÂ¦Ã‚ÂÃ‚Â®ÃƒÂ§Ã¢â‚¬Å¾Ã‚Â¦ÃƒÂ§Ã¢â‚¬Å¡Ã‚Â¹ÃƒÂ¦Ã‚ÂÃ‚ÂÃƒÂ§Ã‚Â¤Ã‚ÂºÃƒÂ¯Ã‚Â¼Ã‹â€ ÃƒÂ¥Ã‚ÂÃ‚Â¯ÃƒÂ©Ã¢â€šÂ¬Ã¢â‚¬Â°ÃƒÂ¯Ã‚Â¼Ã…â€™ÃƒÂ¤Ã‚Â¾Ã‚Â¿ÃƒÂ¤Ã‚ÂºÃ…Â½ÃƒÂ¨Ã‚Â°Ã†â€™ÃƒÂ¨Ã‚Â¯Ã¢â‚¬Â¢ÃƒÂ¦Ã‹â€ Ã¢â‚¬â€œÃƒÂ¥Ã‚ÂÃ…Â¡ÃƒÂ¨Ã‚Â§Ã¢â‚¬Â ÃƒÂ¨Ã‚Â§Ã¢â‚¬Â°ÃƒÂ¦Ã‚Â Ã¢â‚¬Â¡ÃƒÂ¨Ã‚Â®Ã‚Â°ÃƒÂ¯Ã‚Â¼Ã¢â‚¬Â° */
.consultant-card[data-focus] {
	/* ÃƒÂ¤Ã‚Â¿Ã‚ÂÃƒÂ§Ã¢â‚¬Â¢Ã¢â€žÂ¢ÃƒÂ¥Ã…Â½Ã…Â¸ÃƒÂ¦Ã‚Â Ã‚Â·ÃƒÂ¯Ã‚Â¼Ã…â€™ÃƒÂ¤Ã‚Â¸Ã‚ÂÃƒÂ¥Ã…Â Ã‚Â ÃƒÂ¨Ã‚Â§Ã¢â‚¬Â ÃƒÂ¨Ã‚Â§Ã¢â‚¬Â°ÃƒÂ¦Ã‚Â Ã‚Â·ÃƒÂ¥Ã‚Â¼Ã‚ÂÃƒÂ¯Ã‚Â¼Ã…â€™ÃƒÂ¤Ã‚Â»Ã¢â‚¬Â¦ÃƒÂ¤Ã‚Â½Ã…â€œÃƒÂ¨Ã‚Â¯Ã‚Â­ÃƒÂ¤Ã‚Â¹Ã¢â‚¬Â°ÃƒÂ¦Ã…â€™Ã¢â‚¬Å¡ÃƒÂ©Ã¢â‚¬â„¢Ã‚Â© */
}

.inside_con {
	padding: 10px 0;
	min-height: 300px;
}

.clear {
	margin: 0;
	padding: 0;
	font-size: 0;
	clear: both;
}
