/* SANZUI CREATE 1.16.0 hero */

.front-page-entry,
.home-solution,
.contact-band {
	background-image: none !important;
	background-attachment: scroll !important;
}

.sanzui-hero {
	position: relative;
	width: min(calc(100% - (var(--sc-page-gutter) * 2)), var(--sc-content-max));
	min-height: min(680px, calc(100svh - var(--sc-header-height) - 20px));
	margin-inline: auto;
	overflow: hidden;
	background: radial-gradient(circle at 84% 18%, rgba(255, 255, 255, 0.66), transparent 22%), #e7e8f2;
	border: 0 !important;
	border-radius: 28px;
	box-shadow: none !important;
	color: #08295c;
}

.sanzui-hero__grid {
	display: grid;
	min-height: inherit;
	grid-template-columns: minmax(560px, 56%) minmax(0, 44%);
	grid-template-rows: 1fr auto;
	align-items: center;
}

.sanzui-hero__copy {
	display: flex;
	padding: clamp(3rem, 5vw, 4.75rem) clamp(2rem, 4vw, 4rem) 1rem;
	flex-direction: column;
	justify-content: center;
	grid-column: 1;
	grid-row: 1;
}

.sanzui-hero__services {
	display: flex;
	margin-bottom: clamp(1.4rem, 2.5vw, 2.1rem);
	align-items: center;
	flex-wrap: wrap;
	gap: 0.5rem;
}

.sanzui-hero__services span {
	padding: 0.44rem 0.78rem;
	background: #fff;
	color: #08295c;
	border: 1px solid #08295c;
	border-radius: 999px;
	font-size: clamp(0.76rem, 0.9vw, 0.9rem);
	font-weight: 800;
	white-space: nowrap;
}

.sanzui-hero__services b {
	font-size: 0.88rem;
	white-space: nowrap;
}

.sanzui-hero h1 {
	max-width: none;
	margin: 0;
	color: #08295c;
	font-size: clamp(1.9rem, 2.55vw, 2.75rem);
	font-weight: 900;
	letter-spacing: -0.045em;
	line-height: 1.42;
	white-space: nowrap;
}

.sanzui-hero__marked-word {
	position: relative;
	display: inline-block;
	z-index: 0;
	padding-inline: 0.04em;
	white-space: nowrap;
	background: linear-gradient(transparent 58%, rgba(255, 205, 48, 0.78) 58%, rgba(255, 205, 48, 0.78) 91%, transparent 91%);
	box-decoration-break: clone;
	-webkit-box-decoration-break: clone;
}

.sanzui-hero__marked-word::before,
.sanzui-hero__marked-word::after {
	display: none;
	content: none;
}

.sanzui-hero__subcopy {
	max-width: 580px;
	margin: 1rem 0 0;
	font-size: clamp(1rem, 1.25vw, 1.18rem);
	font-weight: 700;
	line-height: 1.7;
	white-space: nowrap;
}

.sanzui-hero__status {
	display: grid;
	width: min(calc(100% - clamp(4rem, 8vw, 8rem)), 430px);
	margin: 0 clamp(2rem, 4vw, 4rem) clamp(2.5rem, 4vw, 3.5rem);
	padding: 1rem;
	gap: 0.7rem;
	background: #fff;
	border: 2px solid #111;
	border-radius: 18px;
	grid-column: 1;
	grid-row: 2;
	text-align: center;
}

.sanzui-hero__status strong { font-size: 0.95rem; }

.sanzui-hero__status-meta {
	display: flex;
	margin: 0;
	justify-content: center;
	flex-wrap: wrap;
	gap: 0.4rem 1rem;
	font-size: 0.84rem;
	font-weight: 700;
}

.sanzui-hero__status a {
	display: inline-flex;
	width: 100%;
	min-height: 52px;
	padding: 0.8rem 1.25rem;
	align-items: center;
	justify-content: center;
	gap: 1rem;
	background: #111;
	color: #fff;
	border: 2px solid #111;
	border-radius: 999px;
	font-weight: 800;
	text-decoration: none;
	transition: background-color 180ms ease, color 180ms ease, transform 180ms ease;
}

.sanzui-hero__status a:hover,
.sanzui-hero__status a:focus-visible {
	background: #fff;
	color: #111;
	transform: translateY(-2px);
}

.sanzui-hero__visual {
	display: grid;
	min-height: inherit;
	padding: clamp(1.5rem, 3vw, 3rem) clamp(0.5rem, 2vw, 2rem) clamp(1rem, 2vw, 2rem) 0;
	place-items: center;
	grid-column: 2;
	grid-row: 1 / 3;
	transform: translateY(-6px);
}

.sanzui-hero__visual picture {
	display: block;
	width: min(88%, 460px);
	margin: 0 auto;
}

.sanzui-hero__team {
	display: block;
	width: 100%;
	height: min(590px, calc(100svh - var(--sc-header-height) - 92px));
	object-fit: contain;
	filter: drop-shadow(0 18px 14px rgba(29, 31, 50, 0.08));
}

@media (max-width: 1100px) {
	.sanzui-hero__grid { grid-template-columns: minmax(520px, 57%) minmax(0, 43%); }
	.sanzui-hero h1 { font-size: clamp(1.78rem, 2.75vw, 2.35rem); }
	.sanzui-hero__visual picture { width: min(90%, 420px); }
}

@media (max-width: 960px) {
	.sanzui-hero { min-height: 0; }
	.sanzui-hero__grid { grid-template-columns: minmax(0, 1fr); grid-template-rows: auto auto auto; }
	.sanzui-hero__copy { padding: 3rem 24px 1rem; grid-column: 1; grid-row: 1; }
	.sanzui-hero h1,
	.sanzui-hero__subcopy { white-space: normal; }
	.sanzui-hero__visual { min-height: 390px; padding: 0 18px; grid-column: 1; grid-row: 2; transform: none; }
	.sanzui-hero__visual picture { width: min(72vw, 300px); margin: 0 auto; }
	.sanzui-hero__team { height: 370px; }
	.sanzui-hero__status { width: min(calc(100% - 48px), 430px); margin: 0 auto 2.5rem; grid-column: 1; grid-row: 3; }
}

@media (max-width: 680px) {
	.sanzui-hero { border-radius: 20px; }
	.sanzui-hero__copy { padding: 2.15rem 20px 0.75rem; }
	.sanzui-hero__services { margin-bottom: 1.15rem; gap: 0.4rem; }
	.sanzui-hero__services span { padding: 0.38rem 0.62rem; font-size: 0.73rem; }
	.sanzui-hero__services b { font-size: 0.75rem; }
	.sanzui-hero h1 { font-size: clamp(1.78rem, 8.3vw, 2.2rem); letter-spacing: -0.045em; line-height: 1.48; }
	.sanzui-hero__subcopy { max-width: 17em; margin-top: 0.75rem; font-size: 1rem; line-height: 1.75; }
	.sanzui-hero__visual { min-height: 290px; padding: 0.25rem 12px 0.65rem; }
	.sanzui-hero__visual picture { width: min(68vw, 220px); margin: 0 auto; }
	.sanzui-hero__team { height: 280px; }
	.sanzui-hero__status { width: calc(100% - 40px); margin-bottom: 1.5rem; }
}

@media (prefers-reduced-motion: reduce) {
	.sanzui-hero__status a { transition: none; }
}
