.text-link {
	display: inline-block;
	margin-top: 18px;
	color: var(--cinnabar);
	letter-spacing: 0.12em;
	font-size: 14px;
	border-bottom: 1px solid var(--cinnabar);
	padding-bottom: 2px;
}

.home-hero {
	display: grid;
	grid-template-columns: 1.15fr 0.85fr;
	gap: 48px;
	align-items: end;
	width: min(var(--page), calc(100% - 48px));
	margin: 48px auto 0;
	padding-bottom: 56px;
	border-bottom: 1px solid var(--line);
}
.home-hero__kicker {
	color: var(--cinnabar);
	font-size: 13px;
	letter-spacing: 0.22em;
	margin-bottom: 16px;
}
.home-hero h1 {
	font-size: 64px;
	line-height: 1.12;
	letter-spacing: 0.02em;
	font-weight: 600;
}
.home-hero__lede {
	max-width: 36em;
	margin-top: 22px;
	color: var(--muted);
	font-size: 16px;
}
.home-hero__media {
	position: relative;
	margin-top: 36px;
}
.home-hero__media::before {
	content: "";
	position: absolute;
	top: -16px;
	left: -16px;
	width: 100%;
	height: 100%;
	border: 1px solid var(--cinnabar);
	z-index: 0;
}
.home-hero__media img {
	position: relative;
	z-index: 1;
	width: 100%;
	height: 420px;
	object-fit: cover;
	display: block;
}
.home-hero__kicker,
.home-hero h1,
.home-hero__lede,
.home-hero__media {
	animation: rise 0.7s ease both;
}
.home-hero h1 { animation-delay: 0.08s; }
.home-hero__lede { animation-delay: 0.16s; }
.home-hero__media { animation-delay: 0.22s; }
@keyframes rise {
	from { opacity: 0; transform: translateY(14px); }
	to { opacity: 1; transform: none; }
}

.company-intro {
	display: grid;
	grid-template-columns: 220px 1fr;
	gap: 48px;
	width: min(var(--page), calc(100% - 48px));
	margin: 0 auto;
	padding: 56px 0;
	border-bottom: 1px solid var(--line);
}
.company-intro__label h2 {
	font-size: 32px;
	line-height: 1.3;
}
.company-intro__content p {
	max-width: 40em;
	font-size: 17px;
}
.company-intro__features {
	list-style: none;
	margin-top: 28px;
	border-top: 1px solid var(--line);
}
.company-intro__features li {
	display: flex;
	gap: 18px;
	padding: 14px 0;
	border-bottom: 1px solid var(--line);
	letter-spacing: 0.04em;
}
.company-intro__features li::before {
	content: counter(item, decimal-leading-zero);
	counter-increment: item;
	color: var(--cinnabar);
	font-family: var(--serif);
	min-width: 2em;
}
.company-intro__features { counter-reset: item; }

.platform {
	width: min(var(--page), calc(100% - 48px));
	margin: 0 auto;
	padding-bottom: 24px;
}
.platform__row {
	display: grid;
	grid-template-columns: 72px minmax(0, 1fr) 280px;
	gap: 28px;
	align-items: center;
	padding: 40px 0;
	border-bottom: 1px solid var(--line);
}
.platform__index {
	font-family: var(--serif);
	font-size: 32px;
	color: var(--cinnabar);
	line-height: 1;
}
.platform__copy h3 {
	font-size: 28px;
	margin-bottom: 10px;
}
.platform__copy p { color: var(--muted); max-width: 36em; }
.platform__row img {
	width: calc(100% + 36px);
	height: 190px;
	object-fit: cover;
	margin-left: -36px;
	display: block;
}

.article-section {
	width: min(var(--page), calc(100% - 48px));
	margin: 0 auto;
	padding: 56px 0 72px;
}
.section-head h2 {
	font-size: 32px;
	margin-bottom: 28px;
}

@media (max-width: 900px) {
	.home-hero,
	.company-intro,
	.platform__row {
		grid-template-columns: 1fr;
		width: calc(100% - 32px);
	}
	.home-hero { margin-top: 28px; gap: 28px; }
	.home-hero h1 { font-size: 40px; }
	.home-hero__media img { height: 240px; }
	.home-hero__media::before { top: -10px; left: -10px; }
	.platform,
	.article-section { width: calc(100% - 32px); }
	.platform__row img { width: 100%; margin-left: 0; }
}
