/* English site (/en/) */

.tdsi-en-main {
	background: #fff;
}

/*
 * EN titles: match live (Barlow, sans-serif).
 * Scoped under .tdsi-en-body so din-2014 / Noto from JP sheets cannot win.
 */
.tdsi-en-body .tdsi-en__title,
.tdsi-en-body .tdsi-en__heading,
.tdsi-en-body .tdsi-en__headline,
.tdsi-en-body .tdsi-en__block-title,
.tdsi-en-body .tdsi-en__sub-title,
.tdsi-en-body .tdsi-en__solution-name,
.tdsi-en-body .tdsi-en__solution-wordmark,
.tdsi-en-body .tdsi-en__solution-kicker,
.tdsi-en-body .tdsi-en__partner-name,
.tdsi-en-body .tdsi-en__recent-title,
.tdsi-en-body .tdsi-en__recent-headline,
.tdsi-en-body .tdsi-en__featured-title,
.tdsi-en-body .tdsi-en__filter-label,
.tdsi-en-body .tdsi-contact--en .tdsi-contact__title,
.tdsi-en-body .tdsi-contact--en .tdsi-contact__heading,
.tdsi-en-body .tdsi-en-top__headline,
.tdsi-en-body .tdsi-en-top__sub-headline,
.tdsi-en-body .tdsi-en-top__section-title,
.tdsi-en-body .tdsi-en-top__work-title,
.tdsi-en-body .tdsi-en-top__news-title,
.tdsi-en-body .tdsi-en-top__thumb-title,
.tdsi-en-body .tdsi-en-top__slide-caption,
.tdsi-en-body .tdsi-en-top__work-more-head,
.tdsi-en-body .tdsi-en-top__work-more-link,
.tdsi-en-body .tdsi-site-header--en .tdsi-en-nav a,
.tdsi-en-body .tdsi-site-footer--en .tdsi-site-footer__primary a,
.tdsi-en-body .tdsi-drawer--en .tdsi-drawer__link,
.tdsi-en-body .ttl.js_typing {
	font-family: Barlow, sans-serif;
}

.tdsi-en__titlebar {
	display: flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	width: 100%;
	height: 40vw;
	margin: 0;
	padding: 0;
	background-color: #c49d62;
	background-image: url("../images/page_title_bg.png");
	background-repeat: no-repeat;
	background-position: center;
	background-size: cover;
}

.tdsi-en__titlebar-inner {
	width: 100%;
	margin: 0;
	padding: 0 1.25rem;
	text-align: center;
}

.tdsi-en__title {
	margin: 0;
	font-family: Barlow, sans-serif;
	font-size: 8.53333vw;
	font-weight: 300;
	letter-spacing: normal;
	line-height: 1;
	color: #fff;
	text-align: center;
	text-transform: uppercase;
}

@media (min-width: 768px) {
	.tdsi-en__titlebar {
		height: 13.19444vw;
		padding: 4.16667vw 0;
	}

	.tdsi-en__title {
		font-size: 2.22222vw;
	}
}

@media (min-width: 1440px) {
	.tdsi-en__titlebar {
		height: 190px;
		padding: 60px 0;
	}

	.tdsi-en__title {
		font-size: 32px;
	}
}

.tdsi-en__inner {
	width: min(1120px, 88vw);
	margin: 0 auto;
	padding: 3rem 0 6rem;
}

.tdsi-en__crumb {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	margin: 0 0 2.5rem;
	font-size: 0.8rem;
	letter-spacing: 0.04em;
	color: #6f6f6f;
}

.tdsi-en__crumb a {
	color: #6f6f6f;
	text-decoration: none;
}

.tdsi-en__crumb a:hover {
	text-decoration: underline;
}

.tdsi-en__lead {
	margin: 0 0 3.5rem;
	font-size: 1.125rem;
	line-height: 2;
	color: #4a4741;
}

.tdsi-en__section {
	margin-bottom: 4.5rem;
}

.tdsi-en__heading {
	margin: 0 0 1.6rem;
	font-family: Barlow, sans-serif;
	font-size: 1.5rem;
	font-weight: 600;
	letter-spacing: 0.08em;
	color: #1c1a17;
}

/* lists */

.tdsi-en__list {
	list-style: none;
	margin: 0;
	padding: 0;
}

.tdsi-en__list--news {
	display: grid;
	gap: 1.4rem;
}

.tdsi-en__list--works {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1.6rem 1.4rem;
}

.tdsi-en__item {
	margin: 0;
}

.tdsi-en__link {
	display: flex;
	gap: 1.4rem;
	color: inherit;
	text-decoration: none;
}

.tdsi-en__list--works .tdsi-en__link {
	flex-direction: column;
	gap: 0.85rem;
}

.tdsi-en__media {
	position: relative;
	display: block;
	flex: 0 0 clamp(160px, 26vw, 260px);
	min-width: 0;
	min-height: 0;
	overflow: hidden;
	aspect-ratio: 16 / 9;
	background: #ece9e3;
}

.tdsi-en__list--works .tdsi-en__media {
	flex: none;
	width: 100%;
}

.tdsi-en__media img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.5s ease;
}

.tdsi-en__link:hover .tdsi-en__media img {
	transform: scale(1.04);
}

.tdsi-en__media-fallback {
	position: absolute;
	inset: 0;
	display: block;
	width: 100%;
	height: 100%;
	background: linear-gradient(135deg, #ece9e3, #ddd8cf);
}

.tdsi-en__body {
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
	min-width: 0;
	padding-top: 0.2rem;
}

.tdsi-en__date {
	font-family: Barlow, sans-serif;
	font-size: 0.82rem;
	letter-spacing: 0.06em;
	color: #8a857c;
}

.tdsi-en__headline {
	font-family: Barlow, sans-serif;
	font-size: 1rem;
	font-weight: 600;
	line-height: 1.65;
	color: #1c1a17;
}

.tdsi-en__link:hover .tdsi-en__headline {
	color: #a3843c;
}

.tdsi-en__client {
	font-size: 0.85rem;
	color: #6f6f6f;
}

.tdsi-en__more {
	margin: 1.8rem 0 0;
}

.tdsi-en__more a {
	font-family: Barlow, sans-serif;
	font-size: 0.9rem;
	letter-spacing: 0.08em;
	color: #1c1a17;
	text-decoration: none;
	border-bottom: 1px solid #c9c2b5;
	padding-bottom: 0.2rem;
}

.tdsi-en__more a:hover {
	color: #a3843c;
	border-color: #a3843c;
}

.tdsi-en__empty {
	margin: 0;
	padding: 3rem 0;
	text-align: center;
	color: #8a857c;
}

/* detail */

.tdsi-en__headline--single {
	display: block;
	margin: 0 0 1rem;
	font-size: clamp(1.4rem, 2.6vw, 2rem);
	font-weight: 700;
	line-height: 1.5;
}

.tdsi-en--single .tdsi-en__date {
	display: block;
	margin-bottom: 2rem;
}

.tdsi-en__hero {
	margin: 0 0 2.5rem;
}

.tdsi-en__hero img {
	width: 100%;
	height: auto;
}

.tdsi-en__entry {
	font-size: 1.125rem;
	line-height: 2;
	color: #33302b;
}

.tdsi-en__entry img {
	max-width: 100%;
	height: auto;
}

.tdsi-en__entry a {
	color: #a3843c;
}

.tdsi-en__filters {
	margin: 0 0 2.5rem;
}

.tdsi-en__filter-row {
	display: grid;
	grid-template-columns: 7rem minmax(0, 1fr);
	align-items: start;
	padding: 0.55rem 0;
}

.tdsi-en__filter-label {
	padding-top: 0.3rem;
	font-family: Barlow, sans-serif;
	font-size: 0.875rem;
	font-weight: 700;
	letter-spacing: 0.04em;
}

.tdsi-en__chips {
	display: flex;
	flex-wrap: wrap;
	gap: 0.45rem 0.5rem;
	padding-left: 1.1rem;
	border-left: 1px solid #e0dbd2;
}

.tdsi-en__chip {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0.28rem 0.7rem;
	border: 1px solid #d8d5cf;
	background: #fff;
	color: #2a2a2a;
	font-family: Barlow, sans-serif;
	font-size: 0.75rem;
	letter-spacing: 0.02em;
	text-decoration: none;
}

.tdsi-en__chip.is-on,
.tdsi-en__chip:hover {
	background: #2a2a2a;
	border-color: #2a2a2a;
	color: #fff;
}

.tdsi-en__reset-wrap {
	display: flex;
	justify-content: center;
	padding-top: 0.85rem;
}

.tdsi-en__reset {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 5.5rem;
	padding: 0.35rem 1.1rem;
	background: #cfcbc4;
	color: #fff;
	font-family: Barlow, sans-serif;
	font-size: 0.8125rem;
	font-weight: 700;
	letter-spacing: 0.04em;
	text-decoration: none;
}

.tdsi-en__year select {
	min-width: 10rem;
	padding: 0.4rem 0.65rem;
	border: 1px solid #d8d5cf;
	background: #fff;
	font-family: Barlow, sans-serif;
	font-size: 0.875rem;
}

.tdsi-en__related {
	margin-top: 2.75rem;
}

.tdsi-en__related-title {
	margin: 0 0 1rem;
	color: #1c1a17;
	font-family: Barlow, sans-serif;
	font-size: 1.125rem;
	font-weight: 500;
	letter-spacing: 0.04em;
	line-height: 1.6;
}

.tdsi-en__related-list {
	list-style: none;
	margin: 0;
	padding: 0;
}

.tdsi-en__related-item {
	margin: 0 0 0.85rem;
}

.tdsi-en__related-item:last-child {
	margin-bottom: 0;
}

.tdsi-en__related-link {
	display: inline;
	color: #c49d62;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 1.125rem;
	font-weight: 400;
	letter-spacing: 0.02em;
	line-height: 1.65;
	text-decoration: none;
	border-bottom: 1px solid #c49d62;
	padding-bottom: 0.12em;
}

.tdsi-en__related-link:hover {
	opacity: 0.8;
}

.tdsi-en__recent {
	background: #eae8e4;
	padding: 3rem 0 2.75rem;
}

.tdsi-en__recent-inner {
	width: min(800px, calc(100% - 2.5rem));
	margin: 0 auto;
}

.tdsi-en__recent-title {
	margin: 0 0 1.5rem;
	color: #c49d62;
	font-family: Barlow, sans-serif;
	font-size: clamp(1.75rem, 4.4vw, 2rem);
	font-weight: 300;
	letter-spacing: 0.02em;
	line-height: 1.2;
	text-align: center;
	text-transform: uppercase;
}

.tdsi-en__recent-list {
	list-style: none;
	margin: 0;
	padding: 0;
}

.tdsi-en__recent.is-sliding .tdsi-en__recent-inner {
	overflow: hidden;
}

.tdsi-en__recent.is-sliding .tdsi-en__recent-list {
	display: flex;
	align-items: stretch;
	gap: 0.75rem;
	transition: transform 0.65s cubic-bezier(0.22, 1, 0.36, 1);
	will-change: transform;
}

.tdsi-en__recent.is-sliding .tdsi-en__recent-item {
	flex: 0 0 100%;
	width: 100%;
	min-width: 0;
	border-top: 0;
	border-bottom: 0;
	box-sizing: border-box;
}

.tdsi-en__recent.is-sliding--peek .tdsi-en__recent-item {
	flex: 0 0 86%;
	width: 86%;
	background: #eae8e4;
	border: 1px solid #d5d1ca;
	padding: 0 0.75rem;
}

@media (prefers-reduced-motion: reduce) {
	.tdsi-en__recent.is-sliding .tdsi-en__recent-list {
		transition: none;
	}
}

.tdsi-en__recent-item {
	border-top: 1px solid #d5d1ca;
}

.tdsi-en__recent-item:last-child {
	border-bottom: 1px solid #d5d1ca;
}

.tdsi-en__recent-link {
	display: grid;
	grid-template-columns: clamp(7.5rem, 22vw, 11rem) minmax(0, 1fr);
	gap: 1.1rem 1.35rem;
	align-items: start;
	padding: 1.15rem 0;
	color: inherit;
	text-decoration: none;
}

.tdsi-en__recent-media {
	position: relative;
	display: block;
	overflow: hidden;
	aspect-ratio: 16 / 9;
	background: #d8d5cf;
}

.tdsi-en__recent-media img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.tdsi-en__recent-body {
	display: flex;
	flex-direction: column;
	gap: 0.55rem;
	min-width: 0;
}

.tdsi-en__recent-date {
	font-family: Barlow, sans-serif;
	font-size: 0.875rem;
	font-weight: 700;
	letter-spacing: 0.04em;
	color: #2a2a2a;
}

.tdsi-en__recent-headline {
	font-family: Barlow, sans-serif;
	font-size: 0.9375rem;
	font-weight: 700;
	line-height: 1.65;
	color: #2a2a2a;
}

.tdsi-en__recent-link:hover .tdsi-en__recent-headline {
	color: #a3843c;
}

.tdsi-en__recent-arrows {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 0.75rem;
	margin-top: 1.5rem;
}

.tdsi-en__arrow {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2rem;
	height: 2rem;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: #c49d62;
	color: #fff;
	cursor: pointer;
}

.tdsi-en__arrow svg {
	display: block;
	width: 0.7rem;
	height: 0.7rem;
}

.tdsi-en__navs-wrap {
	background: #fff;
}

.tdsi-en__navs {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 0.75rem;
	width: min(800px, calc(100% - 2.5rem));
	margin: 2rem auto 3.5rem;
}

.tdsi-en__nav {
	font-family: Barlow, sans-serif;
	font-size: 0.9rem;
	letter-spacing: 0.06em;
	color: #1c1a17;
	text-decoration: none;
}

.tdsi-en__nav--btn {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 3.25rem;
	padding: 0.85rem 1.25rem;
	background: #2a2a2a;
	color: #fff;
	font-weight: 700;
}

.tdsi-en__nav--btn:hover {
	opacity: 0.88;
	color: #fff;
}

.tdsi-en__nav:hover {
	color: #a3843c;
}

.tdsi-en--single .tdsi-works-single__related {
	margin-top: 0;
}

@media (max-width: 759px) {
	.tdsi-en__lead,
	.tdsi-en__entry {
		font-size: 0.875rem;
		line-height: 1.75;
	}

	.tdsi-en__related-title,
	.tdsi-en__related-link {
		font-size: 0.875rem;
	}

	.tdsi-en__filter-row {
		grid-template-columns: 1fr;
		gap: 0.45rem;
	}

	.tdsi-en__chips {
		padding-left: 0;
		border-left: 0;
	}

	.tdsi-en__recent-inner,
	.tdsi-en__navs {
		width: calc(100% - 2rem);
	}

	.tdsi-en__recent-link {
		grid-template-columns: 6.5rem minmax(0, 1fr);
	}

	.tdsi-en__navs {
		grid-template-columns: 1fr;
	}
}

/* pager */

.tdsi-en-pager {
	display: flex;
	justify-content: center;
	gap: 0.5rem;
	margin-top: 3.5rem;
}

.tdsi-en-pager__item {
	display: grid;
	place-items: center;
	min-width: 2.2rem;
	height: 2.2rem;
	font-family: Barlow, sans-serif;
	font-size: 0.9rem;
	color: #4a4741;
	text-decoration: none;
	border: 1px solid #e0dbd2;
}

.tdsi-en-pager__item.is-on,
.tdsi-en-pager__item:hover {
	color: #fff;
	background: #1c1a17;
	border-color: #1c1a17;
}

/* header / footer */

.tdsi-en-nav {
	display: flex;
	align-items: center;
	gap: 1.8rem;
	list-style: none;
	margin: 0;
	padding: 0;
}

.tdsi-en-nav a {
	font-family: Barlow, sans-serif;
	font-size: 0.92rem;
	font-weight: 500;
	letter-spacing: 0.08em;
	color: #1c1a17;
	text-decoration: none;
}

.tdsi-en-nav a:hover {
	color: #a3843c;
}

.tdsi-site-footer--en .tdsi-site-footer__primary {
	display: flex;
	flex-wrap: wrap;
	gap: 1.6rem;
	list-style: none;
	margin: 0;
	padding: 0;
}

.tdsi-site-footer--en .tdsi-site-footer__primary a {
	font-family: Barlow, sans-serif;
}

/* small screens use the same hamburger drawer as the Japanese site */

@media (min-width: 960px) {
	.tdsi-site-header--en .tdsi-site-header__burger {
		display: none;
	}
}

@media (max-width: 959px) {
	.tdsi-site-header--en .tdsi-en-nav {
		display: none;
	}
}

@media (max-width: 900px) {
	.tdsi-en__list--works {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.tdsi-en-nav {
		gap: 1.1rem;
	}
}

@media (max-width: 640px) {
	.tdsi-en__list--works {
		grid-template-columns: minmax(0, 1fr);
	}

	.tdsi-en__link {
		flex-direction: column;
		gap: 0.85rem;
	}

	.tdsi-en__media {
		flex: none;
		width: 100%;
	}
}

/* works detail gallery + tags */

.tdsi-en__tags {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	margin: 0 0 2rem;
}

.tdsi-en__list .tdsi-en__tags {
	margin: 0;
}

.tdsi-en__tag {
	font-family: Barlow, sans-serif;
	font-size: 0.78rem;
	letter-spacing: 0.04em;
	color: #6f6f6f;
}

.tdsi-en__gallery {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1rem;
	margin-top: 2.5rem;
}

.tdsi-en__gallery-item {
	margin: 0;
}

.tdsi-en__gallery-item img {
	display: block;
	width: 100%;
	height: auto;
}

@media (max-width: 640px) {
	.tdsi-en__gallery {
		grid-template-columns: minmax(0, 1fr);
	}
}

/* --- English fixed pages (ABOUT / SOLUTION / GLOBAL / CONTACT) --- */

.tdsi-en__block {
	margin-bottom: 4.5rem;
}

.tdsi-en__block-title {
	margin: 0 0 1.875rem;
	width: 100%;
	font-family: Barlow, sans-serif;
	font-size: clamp(1.75rem, 4.4vw, 2rem);
	font-weight: 300;
	letter-spacing: 0.02em;
	line-height: 1.2;
	color: #c49d62;
	text-align: center;
	text-transform: uppercase;
}

.tdsi-en__sub-title {
	margin: 2.4rem 0 1rem;
	font-family: Barlow, sans-serif;
	font-size: 1.05rem;
	font-weight: 600;
	letter-spacing: 0.02em;
	color: #33302b;
}

.tdsi-en__sub-title a {
	color: inherit;
	text-decoration: none;
}

.tdsi-en__sub-title a:hover {
	text-decoration: underline;
}

.tdsi-en__prose {
	margin: 0 0 1.4rem;
	font-size: 0.97rem;
	line-height: 1.95;
	color: #4a4741;
}

.tdsi-en__figure {
	margin: 0;
}

.tdsi-en__figure img {
	display: block;
	width: 100%;
	height: auto;
}

.tdsi-en__figure--plate {
	margin: 2rem 0 0;
	max-width: 720px;
}

.tdsi-en__visual {
	margin: 0;
}

.tdsi-en__visual img {
	display: block;
	width: 100%;
	height: clamp(180px, 26vw, 380px);
	object-fit: cover;
}

.tdsi-en__anchors {
	display: flex;
	flex-wrap: wrap;
	gap: 1.6rem;
	margin: 0 0 3rem;
	padding-bottom: 1.4rem;
	border-bottom: 1px solid #e6e2da;
}

.tdsi-en__anchors a {
	font-family: Barlow, sans-serif;
	font-size: 0.85rem;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	text-decoration: none;
	color: #6f6f6f;
}

.tdsi-en__anchors a:hover {
	color: #a3843c;
}

/* EN SOLUTION: live page-menu (2 rows PC / 1 list SP) */
.tdsi-en--solution .tdsi-en__anchors--solution {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 0.85rem;
	margin: 0;
	padding: 1.35rem 1.25rem 1.5rem;
	border-bottom: 1px solid #e8e5df;
	background: #fff;
}

.tdsi-en--solution .tdsi-en__anchors-list {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 0.65rem 2.75rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

.tdsi-en--solution .tdsi-en__anchors-list--sp {
	display: none;
}

.tdsi-en--solution .tdsi-en__anchors--solution a {
	font-family: Barlow, sans-serif;
	font-size: 1rem;
	font-weight: 400;
	letter-spacing: 0.01em;
	text-transform: none;
	text-decoration: none;
	color: #4d4d4d;
}

.tdsi-en--solution .tdsi-en__anchors--solution a:hover {
	color: #a3843c;
}

.tdsi-en--solution .tdsi-en__solution {
	scroll-margin-top: 6rem;
}

@media (max-width: 900px) {
	.tdsi-en--solution .tdsi-en__anchors-list--pc {
		display: none;
	}

	.tdsi-en--solution .tdsi-en__anchors-list--sp {
		display: flex;
		flex-direction: column;
		align-items: center;
		gap: 0.85rem;
	}

	.tdsi-en--solution .tdsi-en__anchors--solution {
		padding: 1.1rem 1rem 1.25rem;
	}

	.tdsi-en--solution .tdsi-en__anchors--solution a {
		font-size: 0.9375rem;
		text-align: center;
	}
}

/* EN Global: match live page-menu (under title, before visual) */
.tdsi-en--global .tdsi-en__anchors--global {
	justify-content: center;
	margin: 0;
	padding: 0.85rem 1.25rem;
	border-bottom: 0;
	background: #fff;
}

.tdsi-en--global .tdsi-en__anchors-list {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 0.35rem 3.5rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

.tdsi-en--global .tdsi-en__anchors--global a {
	font-size: 1rem;
	font-weight: 400;
	letter-spacing: 0.02em;
	text-transform: none;
	color: #4d4d4d;
}

.tdsi-en--global .tdsi-en__visual {
	margin: 0;
}

.tdsi-en--global .tdsi-en__inner {
	padding-top: 2.5rem;
	max-width: 1080px;
}

.tdsi-en--global .tdsi-en__block-title {
	text-align: center;
	font-family: Barlow, sans-serif;
	font-weight: 500;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: #5a5a5a;
	margin-bottom: 2rem;
}

.tdsi-en--global .tdsi-en__sub-title--center {
	margin-top: 0;
	margin-bottom: 1.5rem;
	text-align: center;
	font-size: 1.15rem;
	font-weight: 700;
	color: #2a2a2a;
}

.tdsi-en--global .tdsi-en__prose--center {
	max-width: 52rem;
	margin-left: auto;
	margin-right: auto;
	text-align: left;
	color: #4a4a4a;
}

.tdsi-en--global .tdsi-en__figure--plate {
	max-width: 860px;
	margin: 2.5rem auto 0;
}

.tdsi-en--global .tdsi-en__credits {
	max-width: 52rem;
	margin: 0 auto;
	padding-left: 1.25rem;
	list-style: disc;
}

.tdsi-en--global .tdsi-en__block--about,
.tdsi-en--global .tdsi-en__block--service {
	padding-bottom: 1rem;
}

.tdsi-en--global .tdsi-en__block--partner {
	padding-top: 1rem;
}

.tdsi-en--global .tdsi-en__partner {
	display: grid;
	grid-template-columns: minmax(0, 280px) minmax(0, 1fr);
	gap: 2.5rem 3rem;
	align-items: start;
	max-width: 920px;
	margin: 0 auto;
}

.tdsi-en--global .tdsi-en__partner-media {
	display: block;
	background: transparent;
}

.tdsi-en--global .tdsi-en__partner-media img {
	width: 100%;
	height: auto;
	object-fit: contain;
}

.tdsi-en--global .tdsi-en__partner-name {
	margin: 0 0 1rem;
	font-family: Barlow, sans-serif;
	font-size: clamp(1.6rem, 3vw, 2.1rem);
	font-weight: 600;
	letter-spacing: 0.02em;
	color: #d45a7a;
}

.tdsi-en--global .tdsi-en__more--partner a {
	color: #a3843c;
	font-weight: 600;
	text-decoration: underline;
	text-underline-offset: 0.2em;
}

.tdsi-en--global .tdsi-en__block--works {
	background: #eceae6;
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
	width: 100vw;
	max-width: 100vw;
	box-sizing: border-box;
	padding: 3.5rem max(1.25rem, calc((100vw - 1080px) / 2)) 4rem;
	margin-bottom: 0;
}

.tdsi-en--global .tdsi-en__block--works .tdsi-en__block-title {
	margin-bottom: 2.25rem;
	color: #6a6a6a;
}

.tdsi-en__featured-works {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 0;
	margin: 0;
	padding: 0;
	list-style: none;
}

.tdsi-en__featured-link {
	display: block;
	color: inherit;
	text-decoration: none;
}

.tdsi-en__featured-media {
	display: block;
	overflow: hidden;
	aspect-ratio: 16 / 9;
	background: #d8d5cf;
	border-bottom: 1px solid #c9c5bd;
}

.tdsi-en__featured-media img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.tdsi-en__featured-mark {
	display: block;
	width: 1px;
	height: 0.7rem;
	margin: 0 auto 0.85rem;
	background: #8a8780;
}

.tdsi-en__featured-title {
	display: block;
	padding: 0 0.75rem;
	font-family: Barlow, sans-serif;
	font-size: 0.8125rem;
	line-height: 1.55;
	color: #3a3a3a;
}

.tdsi-en__credits {
	margin: 0;
	padding-left: 1.2rem;
	font-size: 0.92rem;
	line-height: 1.9;
	color: #4a4741;
}

.tdsi-en__credits li {
	margin-bottom: 0.4rem;
}

/* SOLUTION list */

.tdsi-en__solutions {
	display: grid;
	gap: 0;
	margin: 0;
	padding: 0;
	list-style: none;
}

.tdsi-en__solution {
	display: grid;
	grid-template-columns: minmax(0, 220px) minmax(0, 1fr);
	gap: 2rem 3rem;
	align-items: start;
	padding: 2.5rem 0;
	border-bottom: 1px solid #e6e2da;
}

.tdsi-en__solution:first-child {
	padding-top: 0.5rem;
}

.tdsi-en__solution-media {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 0;
	padding: 0;
	background: transparent;
}

.tdsi-en__solution-logo {
	display: block;
	width: auto;
	max-width: 180px;
	max-height: 72px;
	height: auto;
	object-fit: contain;
}

.tdsi-en__solution-wordmark {
	margin: 0;
	font-family: Barlow, sans-serif;
	font-size: 1.05rem;
	font-weight: 500;
	letter-spacing: 0.06em;
	color: #33302b;
}

.tdsi-en__solution-name {
	margin: 0 0 0.75rem;
	font-family: Barlow, sans-serif;
	font-size: clamp(1.35rem, 2.2vw, 1.75rem);
	font-weight: 300;
	letter-spacing: 0.02em;
	line-height: 1.2;
	color: #414141;
}

.tdsi-en__solution-name a {
	color: inherit;
	text-decoration: none;
}

.tdsi-en__solution-name a:hover {
	opacity: 0.7;
}

.tdsi-en__solution-name--dark-red {
	color: #d51352;
}

.tdsi-en__solution-name--greyish {
	color: #8996b0;
}

.tdsi-en__solution-name--green {
	color: #036b38;
}

.tdsi-en__solution-name--gray {
	color: #8f8f8f;
}

.tdsi-en__solution-name--dark-gray {
	color: #656b74;
}

.tdsi-en__solution-name--dark-yellow {
	color: #c49d62;
}

.tdsi-en__solution-body .tdsi-en__tags {
	display: flex;
	flex-wrap: wrap;
	gap: 0.4rem;
	margin: 0 0 1rem;
}

.tdsi-en__solution-body .tdsi-en__tag {
	display: inline-flex;
	align-items: center;
	padding: 0.2rem 0.45rem;
	border: 1px solid #cfcbc4;
	background: #fff;
	color: #6f6b64;
	font-family: Barlow, sans-serif;
	font-size: 0.6875rem;
	font-weight: 400;
	letter-spacing: 0.04em;
	line-height: 1.3;
	text-transform: uppercase;
}

.tdsi-en__solution-body .tdsi-en__prose {
	margin-bottom: 0.9rem;
	color: #4a4741;
}

.tdsi-en__prose--bullets {
	margin: 0 0 0.9rem;
}

.tdsi-en__prose--bullets p {
	margin: 0 0 0.35rem;
	font-size: 0.97rem;
	line-height: 1.8;
	color: #4a4741;
}

.tdsi-en--solution .tdsi-en__more a {
	color: #a3843c;
	font-family: Barlow, sans-serif;
	font-weight: 400;
	text-decoration: none;
}

.tdsi-en--solution .tdsi-en__more a:hover {
	text-decoration: underline;
}

/* Partner block */

.tdsi-en__partner {
	display: grid;
	grid-template-columns: minmax(0, 320px) minmax(0, 1fr);
	gap: 2rem;
	align-items: start;
}

.tdsi-en__partner-media {
	display: block;
}

.tdsi-en__partner-media img {
	display: block;
	width: 100%;
	height: auto;
}

.tdsi-en__partner-body .tdsi-en__sub-title {
	margin-top: 0;
}

/* Home */

.tdsi-en__hero {
	padding: 9rem 0 3.5rem;
	background: #1c1a17;
	color: #fff;
}

.tdsi-en__hero-inner {
	width: min(1120px, 88vw);
	margin: 0 auto;
}

.tdsi-en__hero-title {
	margin: 0 0 0.8rem;
	font-family: Barlow, sans-serif;
	font-size: clamp(2rem, 5vw, 3.6rem);
	font-weight: 600;
	letter-spacing: 0.06em;
	line-height: 1.15;
}

.tdsi-en__hero-lead {
	margin: 0;
	font-size: 0.98rem;
	letter-spacing: 0.02em;
	color: #cfc9bd;
}

.tdsi-en__solution-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 1.2rem;
	margin: 0 0 2rem;
	padding: 0;
	list-style: none;
}

.tdsi-en__solution-card {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 0.8rem;
	min-height: 132px;
	padding: 1.4rem 1rem;
	background: #f5f3ef;
	text-align: center;
}

.tdsi-en__solution-kicker {
	margin: 0;
	font-family: Barlow, sans-serif;
	font-size: 0.72rem;
	letter-spacing: 0.06em;
	color: #8a8780;
}

.tdsi-en__solution-card .tdsi-en__solution-logo {
	max-width: 150px;
}

/* Contact page reuses the Japanese form styling */

.tdsi-contact--en .tdsi-contact__inner {
	padding-top: 3rem;
}

.tdsi-contact--en .tdsi-contact__title,
.tdsi-contact--en .tdsi-contact__heading {
	font-family: Barlow, sans-serif;
}

@media (max-width: 900px) {
	.tdsi-en__solution,
	.tdsi-en__partner {
		grid-template-columns: minmax(0, 1fr);
		gap: 1.2rem;
	}

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

	.tdsi-en__featured-works {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 1.5rem 0.75rem;
	}

	.tdsi-en__featured-media {
		border-bottom: 0;
	}
}

@media (max-width: 640px) {
	.tdsi-en__anchors {
		gap: 1rem;
	}

	.tdsi-en--global .tdsi-en__anchors-list {
		gap: 0.35rem 1.5rem;
	}

	.tdsi-en--global .tdsi-en__anchors--global a {
		font-size: 0.8125rem;
	}

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

	.tdsi-en__featured-works {
		grid-template-columns: 1fr;
	}

	.tdsi-en--global .tdsi-en__block--works {
		padding-left: 1rem;
		padding-right: 1rem;
	}
}
