@charset "UTF-8";

/* =========================================================
   Shoritsu Sangyo Home — Full
   Header / Hero / About / Business / Trust / Factory / Contact / Footer
========================================================= */

:root {
	--sr-navy: #061724;
	--sr-navy-2: #0a2232;
	--sr-navy-3: #0f2b3d;
	--sr-yellow: #f0c400;
	--sr-cream: #f3efe6;
	--sr-white: #ffffff;
	--sr-ink: #091b28;
	--sr-text: #5f6870;
	--sr-pale: #d8e0e4;
	--sr-line-dark: #294252;
	--sr-container: 1340px;
	--sr-gutter: clamp(20px, 4vw, 56px);
	--sr-ease: cubic-bezier(0.22, 1, 0.36, 1);
	--sr-header-height: 100px;
}

html {
	scroll-behavior: smooth;
	scroll-padding-top: 88px;
}

body.shoritsu-site {
	margin: 0;
	background: var(--sr-cream);
	color: var(--sr-ink);
	font-family:
		-apple-system, BlinkMacSystemFont, "Hiragino Kaku Gothic ProN",
		"Hiragino Sans", "Yu Gothic", "YuGothic", "Noto Sans JP",
		"Segoe UI", sans-serif;
}

body.shoritsu-site *,
body.shoritsu-site *::before,
body.shoritsu-site *::after {
	box-sizing: border-box;
}

body.shoritsu-site img {
	display: block;
	max-width: 100%;
}

body.shoritsu-site a {
	color: inherit;
	text-decoration: none;
}

body.shoritsu-site p,
body.shoritsu-site h1,
body.shoritsu-site h2,
body.shoritsu-site figure {
	margin: 0;
}

body.sr-menu-lock {
	overflow: hidden;
}

.sr-skip-link {
	position: fixed;
	z-index: 10000;
	top: 12px;
	left: 12px;
	padding: 12px 18px;
	background: var(--sr-yellow);
	color: var(--sr-ink);
	font-weight: 700;
	transform: translateY(-160%);
	transition: transform 0.2s ease;
}

.sr-skip-link:focus {
	transform: translateY(0);
}

.shoritsu-site :focus-visible {
	outline: 3px solid var(--sr-white);
	outline-offset: 3px;
	box-shadow: 0 0 0 6px var(--sr-navy);
}

.sr-arrow {
	position: relative;
	display: inline-block;
	width: 46px;
	height: 12px;
	flex: 0 0 auto;
	transition: transform 0.22s var(--sr-ease);
}

.sr-arrow::before {
	position: absolute;
	top: 5px;
	left: 0;
	width: 100%;
	height: 2px;
	background: currentColor;
	content: "";
}

.sr-arrow::after {
	position: absolute;
	top: 1px;
	right: 0;
	width: 10px;
	height: 10px;
	border-top: 2px solid currentColor;
	border-right: 2px solid currentColor;
	content: "";
	transform: rotate(45deg);
}

.sr-eyebrow {
	position: relative;
	display: inline-flex;
	align-items: center;
	gap: 12px;
	color: #766300;
	font-size: 0.78rem;
	font-weight: 800;
	letter-spacing: 0.18em;
}

.sr-eyebrow::after {
	width: 58px;
	height: 3px;
	background: var(--sr-yellow);
	content: "";
}

.sr-eyebrow--dark {
	color: var(--sr-yellow);
}


/* WordPress admin bar offset
--------------------------------------------------------- */
body.admin-bar .sr-site-header {
	top: 32px;
}

@media screen and (max-width: 782px) {
	body.admin-bar .sr-site-header {
		top: 46px;
	}
}

/* Header
--------------------------------------------------------- */
.sr-site-header {
	position: fixed;
	z-index: 1000;
	top: 0;
	right: 0;
	left: 0;
	height: var(--sr-header-height);
	color: var(--sr-white);
	transition:
		height 0.32s var(--sr-ease),
		background-color 0.32s var(--sr-ease),
		box-shadow 0.32s var(--sr-ease);
}

.sr-site-header::after {
	position: absolute;
	right: var(--sr-gutter);
	bottom: 0;
	left: var(--sr-gutter);
	height: 1px;
	background: rgba(255, 255, 255, 0.22);
	content: "";
	transition: opacity 0.25s ease;
}

.sr-site-header.is-scrolled,
.sr-site-header.is-menu-open {
	height: 74px;
	background: rgba(6, 23, 36, 0.97);
	box-shadow: 0 10px 30px rgba(0, 0, 0, 0.16);
	backdrop-filter: blur(10px);
}

.sr-site-header.is-scrolled::after,
.sr-site-header.is-menu-open::after {
	opacity: 0;
}

.sr-site-header__inner {
	display: grid;
	grid-template-columns: minmax(220px, 1fr) auto auto;
	align-items: center;
	width: min(calc(100% - (var(--sr-gutter) * 2)), var(--sr-container));
	height: 100%;
	margin-inline: auto;
	gap: clamp(22px, 3vw, 52px);
}

.sr-site-brand {
	display: inline-flex;
	align-items: center;
	width: fit-content;
	gap: 12px;
	line-height: 1;
}

.sr-site-brand__mark {
	display: block;
	width: clamp(34px, 2.55vw, 40px);
	height: clamp(34px, 2.55vw, 40px);
	object-fit: contain;
	flex: 0 0 auto;
}

.sr-site-brand__copy {
	display: inline-flex;
	flex-direction: column;
	align-items: flex-start;
	min-width: 0;
}

.sr-site-brand__ja {
	font-size: clamp(1rem, 1.55vw, 1.55rem);
	font-weight: 800;
	letter-spacing: 0.04em;
}

.sr-site-brand__en {
	margin-top: 7px;
	color: var(--sr-yellow);
	font-size: 0.58rem;
	font-weight: 700;
	letter-spacing: 0.13em;
	transition: opacity 0.25s ease, margin 0.25s ease;
}

.sr-site-header.is-scrolled .sr-site-brand__en {
	height: 0;
	margin-top: 0;
	opacity: 0;
	overflow: hidden;
}

.sr-global-nav__list,
.sr-site-footer__menu,
.sr-site-footer__info ul {
	display: flex;
	margin: 0;
	padding: 0;
	list-style: none;
}

.sr-global-nav__list {
	align-items: center;
	gap: clamp(18px, 1.8vw, 34px);
}

.sr-global-nav a {
	position: relative;
	display: block;
	padding-block: 12px;
	font-size: clamp(0.72rem, 0.88vw, 0.88rem);
	font-weight: 700;
	white-space: nowrap;
}

.sr-global-nav a::after {
	position: absolute;
	right: 0;
	bottom: 5px;
	left: 0;
	height: 2px;
	background: var(--sr-yellow);
	content: "";
	transform: scaleX(0);
	transform-origin: right center;
	transition: transform 0.24s var(--sr-ease);
}

.sr-global-nav a:hover::after,
.sr-global-nav a:focus-visible::after {
	transform: scaleX(1);
	transform-origin: left center;
}

.sr-header-contact {
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: 210px;
	min-height: 62px;
	padding: 0 22px;
	background: var(--sr-yellow);
	color: var(--sr-ink);
	font-size: 0.88rem;
	font-weight: 800;
	transition: background-color 0.16s linear;
}

.sr-site-header.is-scrolled .sr-header-contact {
	min-height: 48px;
}

.sr-header-contact:hover,
.sr-header-contact:focus-visible {
	background: var(--sr-white);
}

.sr-header-contact:hover .sr-arrow,
.sr-header-contact:focus-visible .sr-arrow {
	transform: translateX(5px);
}

.sr-menu-toggle {
	display: none;
	width: 44px;
	height: 44px;
	padding: 10px 8px;
	border: 0;
	background: transparent;
	color: inherit;
	cursor: pointer;
}

.sr-menu-toggle span {
	display: block;
	width: 100%;
	height: 2px;
	margin-block: 6px;
	background: currentColor;
	transition: transform 0.22s ease, opacity 0.22s ease;
}

/* Hero
--------------------------------------------------------- */
.sr-hero {
	position: relative;
	display: grid;
	min-height: max(760px, 100svh);
	overflow: hidden;
	background: var(--sr-navy);
	color: var(--sr-white);
	isolation: isolate;
}

.sr-hero__media,
.sr-hero__shade {
	position: absolute;
	inset: 0;
}

.sr-hero__media {
	z-index: -3;
	overflow: hidden;
}

.sr-hero__image,
.sr-hero__media > img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: 55% 48%;
	transform: scale(1.035);
	transition: transform 2.2s var(--sr-ease);
}

.sr-motion-enabled .sr-hero.is-visible .sr-hero__image,
.sr-motion-enabled .sr-hero.is-visible .sr-hero__media > img {
	transform: scale(1);
}

.sr-hero__shade {
	z-index: -2;
	background:
		linear-gradient(90deg, rgba(2, 14, 23, 0.94) 0%, rgba(2, 14, 23, 0.81) 42%, rgba(2, 14, 23, 0.28) 100%),
		linear-gradient(0deg, rgba(2, 14, 23, 0.58) 0%, transparent 48%);
}

.sr-hero__content {
	display: flex;
	flex-direction: column;
	justify-content: center;
	width: min(calc(100% - (var(--sr-gutter) * 2)), var(--sr-container));
	margin-inline: auto;
	padding-top: calc(var(--sr-header-height) + 68px);
	padding-bottom: 110px;
}

.sr-hero__title {
	max-width: 900px;
	font-size: clamp(3.3rem, 6.2vw, 6.6rem);
	font-weight: 800;
	letter-spacing: -0.055em;
	line-height: 1.08;
}

.sr-hero__title .sr-reveal-line > span {
	white-space: nowrap;
}

.sr-reveal-line {
	display: block;
	overflow: hidden;
}

.sr-reveal-line > span {
	display: block;
}

.sr-hero__lead {
	margin-top: clamp(38px, 5vh, 70px);
	color: var(--sr-pale);
	font-size: clamp(1rem, 1.35vw, 1.25rem);
	font-weight: 500;
	line-height: 1.85;
}

.sr-hero__actions {
	display: flex;
	flex-wrap: wrap;
	margin-top: 42px;
	gap: 14px;
}

.sr-button {
	display: inline-flex;
	align-items: center;
	justify-content: space-between;
	min-width: 280px;
	min-height: 64px;
	padding: 0 26px;
	font-size: 0.9rem;
	font-weight: 800;
	transition: background-color 0.15s linear, color 0.15s linear;
}

.sr-button--primary {
	background: var(--sr-yellow);
	color: var(--sr-ink);
}

.sr-button--primary:hover,
.sr-button--primary:focus-visible {
	background: var(--sr-white);
}

.sr-button--outline {
	border: 1px solid rgba(255, 255, 255, 0.8);
	color: var(--sr-white);
}

.sr-button--outline:hover,
.sr-button--outline:focus-visible {
	background: var(--sr-white);
	color: var(--sr-ink);
}

.sr-button:hover .sr-arrow,
.sr-button:focus-visible .sr-arrow {
	transform: translateX(6px);
}

.sr-hero__scroll {
	position: absolute;
	bottom: 28px;
	left: max(var(--sr-gutter), calc((100vw - var(--sr-container)) / 2));
	display: flex;
	align-items: center;
	gap: 16px;
	color: var(--sr-white);
	font-size: 0.68rem;
	font-weight: 800;
	letter-spacing: 0.2em;
	writing-mode: vertical-rl;
}

.sr-hero__scroll i {
	width: 2px;
	height: 58px;
	background:
		linear-gradient(to bottom, var(--sr-yellow) 0 50%, rgba(255, 255, 255, 0.28) 50% 100%);
}

/* About
--------------------------------------------------------- */
.sr-about {
	position: relative;
	display: grid;
	grid-template-columns: minmax(0, 52%) minmax(0, 48%);
	grid-template-rows: minmax(720px, auto);
	min-height: 760px;
	overflow: hidden;
	background: var(--sr-cream);
	isolation: isolate;
}

.sr-about__product {
	position: absolute;
	z-index: 0;
	inset: 0 0 0 45%;
	overflow: hidden;
}

.sr-about__product-image,
.sr-about__product > img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: 54% 52%;
	transform: scale(1.025);
	animation: sr-about-image-settle 1.4s var(--sr-ease) 0.15s both;
}

@keyframes sr-about-image-settle {
	from {
		transform: scale(1.025);
	}
	to {
		transform: scale(1);
	}
}

.sr-about__surface {
	position: absolute;
	z-index: 1;
	inset: 0 42% 0 0;
	background: var(--sr-cream);
	clip-path: polygon(0 0, 100% 0, 77% 100%, 0 100%);
}

.sr-about::after {
	position: absolute;
	z-index: 1;
	right: 0;
	bottom: 0;
	width: 48%;
	height: 45%;
	background: var(--sr-navy-2);
	clip-path: polygon(25% 33%, 100% 0, 100% 100%, 0 100%);
	content: "";
}

.sr-about__copy {
	position: relative;
	z-index: 2;
	grid-column: 1;
	align-self: center;
	max-width: 650px;
	padding: 100px var(--sr-gutter) 160px max(var(--sr-gutter), calc((100vw - var(--sr-container)) / 2));
}

.sr-about__title {
	margin-top: 36px;
	font-size: clamp(2.8rem, 4.3vw, 5rem);
	font-weight: 800;
	letter-spacing: -0.05em;
	line-height: 1.18;
}

.sr-about__text {
	max-width: 590px;
	margin-top: 52px;
	color: var(--sr-text);
	font-size: clamp(1rem, 1.15vw, 1.12rem);
	line-height: 2;
}

.sr-text-link {
	display: inline-flex;
	align-items: center;
	margin-top: 46px;
	gap: 34px;
	font-size: 0.9rem;
	font-weight: 800;
}

.sr-text-link .sr-arrow {
	color: var(--sr-yellow);
}

.sr-text-link:hover .sr-arrow,
.sr-text-link:focus-visible .sr-arrow {
	transform: translateX(6px);
}

.sr-about__history {
	position: absolute;
	z-index: 2;
	right: 38%;
	bottom: 28px;
	color: var(--sr-white);
	transform: translateX(50%);
}

.sr-about__established {
	color: var(--sr-yellow);
	font-size: 0.72rem;
	font-weight: 800;
	letter-spacing: 0.18em;
}

.sr-about__year {
	margin-top: -6px;
	font-size: clamp(6.5rem, 11.6vw, 12rem);
	font-weight: 800;
	letter-spacing: -0.08em;
	line-height: 1;
}

.sr-about__year-line {
	display: block;
	width: 82%;
	height: 4px;
	margin-top: 10px;
	background: var(--sr-yellow);
}

.sr-about__factory {
	position: absolute;
	z-index: 3;
	right: max(var(--sr-gutter), calc((100vw - var(--sr-container)) / 2));
	bottom: 42px;
	width: min(330px, 24vw);
	border: 4px solid var(--sr-white);
	background: var(--sr-navy);
	color: var(--sr-white);
}

.sr-about__factory-image,
.sr-about__factory > img {
	width: 100%;
	aspect-ratio: 16 / 10;
	object-fit: cover;
}

.sr-about__factory figcaption {
	position: absolute;
	right: 0;
	bottom: 0;
	left: 0;
	padding: 12px 16px;
	background: linear-gradient(transparent, rgba(6, 23, 36, 0.94));
	font-size: 0.78rem;
	font-weight: 800;
	text-align: right;
}


/* Business
--------------------------------------------------------- */
.sr-business {
	padding: clamp(74px, 8vw, 126px) var(--sr-gutter) clamp(56px, 7vw, 96px);
	border-top: 5px solid var(--sr-yellow);
	background: var(--sr-cream);
}

.sr-business__head,
.sr-business__grid {
	width: min(100%, var(--sr-container));
	margin-inline: auto;
}

.sr-business__head {
	display: grid;
	grid-template-columns: minmax(0, 1.1fr) minmax(320px, 0.9fr);
	align-items: end;
	padding-bottom: clamp(30px, 4vw, 50px);
	border-bottom: 1px solid #c9c2b7;
	gap: 48px;
}

.sr-business__title {
	margin-top: 30px;
	font-size: clamp(2.9rem, 4.7vw, 5.2rem);
	font-weight: 800;
	letter-spacing: -0.055em;
	line-height: 1;
}

.sr-business__lead {
	color: var(--sr-ink);
	font-size: clamp(1rem, 1.4vw, 1.35rem);
	font-weight: 600;
	line-height: 1.75;
}

.sr-business__grid {
	display: grid;
	grid-template-columns: minmax(0, 1.62fr) minmax(360px, 1fr);
	grid-template-rows: repeat(2, minmax(280px, 1fr));
	margin-top: 30px;
	gap: 14px;
}

.sr-business-card {
	position: relative;
	min-height: 320px;
	overflow: hidden;
	background: var(--sr-navy);
	color: var(--sr-white);
}

.sr-business-card--primary {
	grid-row: 1 / 3;
	min-height: 650px;
	border-left: 8px solid var(--sr-yellow);
}

.sr-business-card__media,
.sr-business-card__shade {
	position: absolute;
	inset: 0;
}

.sr-business-card__image,
.sr-business-card__media > img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.65s var(--sr-ease);
}

.sr-business-card--primary .sr-business-card__image,
.sr-business-card--primary .sr-business-card__media > img {
	object-position: 54% 50%;
}

.sr-business-card:not(.sr-business-card--primary):nth-child(2) .sr-business-card__image,
.sr-business-card:not(.sr-business-card--primary):nth-child(2) .sr-business-card__media > img {
	object-position: center 54%;
}

.sr-business-card:not(.sr-business-card--primary):nth-child(3) .sr-business-card__image,
.sr-business-card:not(.sr-business-card--primary):nth-child(3) .sr-business-card__media > img {
	object-position: center 55%;
}

.sr-business-card__shade {
	background:
		linear-gradient(180deg, transparent 18%, rgba(3, 17, 27, 0.15) 42%, rgba(3, 17, 27, 0.94) 100%),
		linear-gradient(90deg, rgba(3, 17, 27, 0.25), transparent 58%);
}

.sr-business-card__meta {
	position: absolute;
	z-index: 2;
	top: 22px;
	left: 18px;
	font-size: 0.72rem;
	font-weight: 800;
	letter-spacing: 0.04em;
}

.sr-business-card__content {
	position: absolute;
	z-index: 2;
	right: 28px;
	bottom: 26px;
	left: 28px;
}

.sr-business-card--primary .sr-business-card__content {
	right: 42px;
	bottom: 42px;
	left: 42px;
}

.sr-business-card__number {
	color: var(--sr-yellow);
	font-size: clamp(3.4rem, 5.2vw, 6.1rem);
	font-weight: 800;
	letter-spacing: -0.06em;
	line-height: 0.9;
}

.sr-business-card:not(.sr-business-card--primary) .sr-business-card__number {
	font-size: clamp(3rem, 4vw, 4.7rem);
}

.sr-business-card h3 {
	margin: 20px 0 0;
	font-size: clamp(1.35rem, 2vw, 2.05rem);
	font-weight: 800;
	line-height: 1.2;
}

.sr-business-card p:not(.sr-business-card__number):not(.sr-business-card__meta) {
	max-width: 480px;
	margin-top: 14px;
	color: #d5dde1;
	font-size: 0.9rem;
	line-height: 1.65;
}

.sr-business-card__link {
	display: inline-flex;
	align-items: center;
	margin-top: 40px;
	gap: 30px;
	font-size: 0.82rem;
	font-weight: 800;
}

.sr-business-card:not(.sr-business-card--primary) .sr-arrow {
	position: absolute;
	right: 0;
	bottom: 0;
	color: var(--sr-yellow);
}

.sr-business-card:hover .sr-business-card__image,
.sr-business-card:focus-visible .sr-business-card__image,
.sr-business-card:hover .sr-business-card__media > img,
.sr-business-card:focus-visible .sr-business-card__media > img {
	transform: scale(1.02);
}

.sr-business-card:hover .sr-arrow,
.sr-business-card:focus-visible .sr-arrow {
	transform: translateX(6px);
}

/* Trust
--------------------------------------------------------- */
.sr-trust {
	position: relative;
	display: grid;
	grid-template-columns: minmax(300px, 0.78fr) minmax(0, 1.72fr);
	padding: clamp(80px, 8vw, 120px) var(--sr-gutter) 0;
	border-top: 5px solid var(--sr-navy);
	background: var(--sr-cream);
}

.sr-trust__intro,
.sr-trust__list {
	width: 100%;
}

.sr-trust__intro {
	max-width: 470px;
	padding-right: clamp(34px, 5vw, 80px);
}

.sr-trust__title {
	margin-top: 38px;
	font-size: clamp(2.75rem, 4.3vw, 4.8rem);
	font-weight: 800;
	letter-spacing: -0.055em;
	line-height: 1.15;
}

.sr-trust__lead {
	margin-top: 42px;
	color: var(--sr-text);
	font-size: clamp(1rem, 1.3vw, 1.25rem);
	line-height: 1.8;
}

.sr-trust__list {
	position: relative;
	margin: -20px 0 0;
	padding: 0;
	border-left: 2px solid var(--sr-ink);
	list-style: none;
}

.sr-trust-item {
	position: relative;
	display: grid;
	grid-template-columns: 62px minmax(0, 1fr) 100px 62px;
	align-items: center;
	min-height: 200px;
	padding: 34px 0 34px 32px;
	border-bottom: 1px solid #c9c2b7;
	gap: 20px;
}

.sr-trust-item__marker {
	position: absolute;
	top: 50%;
	left: -11px;
	width: 20px;
	height: 38px;
	background: var(--sr-yellow);
	transform: translateY(-50%);
}

.sr-trust-item__marker span {
	position: absolute;
	top: 7px;
	left: 42px;
	font-size: 1rem;
	font-weight: 800;
}

.sr-trust-item > div:nth-child(2) {
	grid-column: 2;
	grid-row: 1;
	min-width: 0;
}

.sr-trust-item > strong {
	grid-column: 3;
	grid-row: 1;
}

.sr-trust-item > .sr-arrow {
	grid-column: 4;
	grid-row: 1;
}

.sr-trust-item h3 {
	margin: 0;
	font-size: clamp(2.4rem, 4vw, 4.3rem);
	font-weight: 800;
	letter-spacing: -0.035em;
	line-height: 1;
}

.sr-trust-item p {
	max-width: 460px;
	margin-top: 20px;
	color: var(--sr-text);
	font-size: 0.9rem;
	line-height: 1.7;
}

.sr-trust-item > strong {
	justify-self: end;
	font-size: 1.2rem;
}

.sr-trust-item > .sr-arrow {
	justify-self: end;
	color: var(--sr-yellow);
}

.sr-trust__bridge {
	grid-column: 1 / -1;
	display: grid;
	grid-template-columns: 360px minmax(0, 1fr);
	margin-top: 0;
	margin-inline: calc(var(--sr-gutter) * -1);
}

.sr-trust__bridge > div {
	padding: 34px max(var(--sr-gutter), calc((100vw - var(--sr-container)) / 2));
	background: var(--sr-navy);
	color: var(--sr-white);
}

.sr-trust__bridge > div p,
.sr-trust__bridge > a > span {
	font-size: 0.72rem;
	font-weight: 800;
	letter-spacing: 0.04em;
}

.sr-trust__bridge > div p {
	color: var(--sr-yellow);
}

.sr-trust__bridge > a > span {
	color: #766300;
}

.sr-trust__bridge > div span {
	display: block;
	margin-top: 16px;
	font-size: 0.72rem;
}

.sr-trust__bridge > a {
	display: grid;
	grid-template-columns: auto 1fr;
	align-items: center;
	padding: 32px clamp(36px, 5vw, 74px);
	gap: 6px 42px;
}

.sr-trust__bridge > a strong {
	font-size: 2rem;
}

.sr-trust__bridge > a i {
	position: relative;
	grid-column: 2;
	height: 1px;
	background: #8f969b;
}

.sr-trust__bridge > a i::after {
	position: absolute;
	top: -5px;
	right: 0;
	border-top: 5px solid transparent;
	border-bottom: 5px solid transparent;
	border-left: 14px solid var(--sr-ink);
	content: "";
}

/* Factory
--------------------------------------------------------- */
.sr-factory {
	position: relative;
	padding: 30px 0 42px;
	overflow: hidden;
	background: var(--sr-navy);
	color: var(--sr-white);
}

.sr-factory::after {
	position: absolute;
	right: 0;
	bottom: -22px;
	left: 0;
	height: 44px;
	background: var(--sr-yellow);
	content: "";
	transform: skewY(-1.8deg);
	transform-origin: left;
}

.sr-factory__label {
	display: flex;
	align-items: center;
	width: min(calc(100% - (var(--sr-gutter) * 2)), var(--sr-container));
	margin: 0 auto 28px;
	gap: 18px;
}

.sr-factory__label > span {
	color: #c9d4d9;
	font-size: 0.72rem;
	font-weight: 800;
}

.sr-factory__layout {
	display: grid;
	grid-template-columns: minmax(0, 67%) minmax(360px, 33%);
	min-height: 760px;
}

.sr-factory__main,
.sr-factory__side {
	position: relative;
}

.sr-factory__main {
	overflow: hidden;
}

.sr-factory__main-image,
.sr-factory__main > img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: 50% 52%;
}

.sr-factory__main-shade {
	position: absolute;
	inset: 0;
	background:
		linear-gradient(0deg, rgba(3, 17, 27, 0.88) 0%, rgba(3, 17, 27, 0.04) 55%),
		linear-gradient(90deg, rgba(3, 17, 27, 0.22), transparent 62%);
}

.sr-factory__main-copy {
	position: absolute;
	z-index: 2;
	bottom: 54px;
	left: max(var(--sr-gutter), calc((100vw - var(--sr-container)) / 2));
	max-width: 590px;
}

.sr-factory__main-copy h2 {
	font-size: clamp(3.3rem, 5.8vw, 6.2rem);
	font-weight: 800;
	letter-spacing: -0.055em;
	line-height: 1.1;
}

.sr-factory__main-copy i {
	display: block;
	width: 64px;
	height: 6px;
	margin-top: 30px;
	background: var(--sr-yellow);
}

.sr-factory__main-copy p {
	max-width: 500px;
	margin-top: 20px;
	color: #d6dfe4;
	font-size: 1rem;
	line-height: 1.75;
}

.sr-factory__side {
	padding: 380px clamp(38px, 4vw, 68px) 54px;
	background: var(--sr-navy-2);
}

.sr-factory__photo {
	position: absolute;
	z-index: 3;
	top: 70px;
	right: clamp(28px, 4vw, 68px);
	left: -110px;
	border: 4px solid var(--sr-white);
	background: var(--sr-navy);
}

.sr-factory__photo-image,
.sr-factory__photo > img {
	width: 100%;
	aspect-ratio: 16 / 8.8;
	object-fit: cover;
}

.sr-factory__photo figcaption {
	display: flex;
	align-items: center;
	min-height: 44px;
	padding: 0 16px;
	background: var(--sr-navy);
	gap: 18px;
}

.sr-factory__photo figcaption strong {
	font-size: 0.85rem;
}

.sr-factory__photo figcaption span {
	color: #9eb0ba;
	font-size: 0.72rem;
}

.sr-factory__side-copy {
	position: relative;
	z-index: 3;
}

.sr-factory__side-copy h3 {
	margin: 0;
	color: var(--sr-white);
	font-size: clamp(2.4rem, 4vw, 4.25rem);
	font-weight: 800;
	letter-spacing: -0.05em;
	line-height: 1.16;
}

.sr-factory__side-copy > p {
	margin-top: 28px;
	color: #b6c3ca;
	font-size: 1rem;
	line-height: 1.8;
}

.sr-text-link--dark {
	width: 100%;
	margin-top: 54px;
	padding-top: 28px;
	border-top: 1px solid var(--sr-line-dark);
	justify-content: space-between;
	color: var(--sr-white);
}

.sr-text-link--dark .sr-arrow {
	color: var(--sr-yellow);
}

.sr-factory__word {
	position: absolute;
	z-index: 1;
	top: 40px;
	right: -30px;
	color: #19384a;
	font-size: 6rem;
	font-weight: 800;
	letter-spacing: -0.05em;
	line-height: 1;
	writing-mode: vertical-rl;
}

/* Contact
--------------------------------------------------------- */
.sr-contact {
	padding: clamp(96px, 10vw, 150px) var(--sr-gutter) 0;
	background: var(--sr-cream);
}

.sr-contact__head,
.sr-contact__choices {
	width: min(100%, var(--sr-container));
	margin-inline: auto;
}

.sr-contact__title {
	margin-top: 40px;
	font-size: clamp(3rem, 5.2vw, 5.8rem);
	font-weight: 800;
	letter-spacing: -0.06em;
	line-height: 1.13;
}

.sr-contact__lead {
	margin-top: 34px;
	color: var(--sr-text);
	font-size: clamp(1rem, 1.35vw, 1.2rem);
	line-height: 1.8;
}

.sr-contact__choices {
	display: grid;
	grid-template-columns: 1fr 1fr;
	margin-top: clamp(56px, 7vw, 86px);
	border-right: 6px solid var(--sr-yellow);
	border-left: 6px solid var(--sr-yellow);
}

.sr-contact-card {
	position: relative;
	display: flex;
	flex-direction: column;
	min-height: 300px;
	padding: 40px 42px;
	border-top: 1px solid #d3ccc1;
}

.sr-contact-card--phone {
	border-right: 6px solid var(--sr-yellow);
	background: var(--sr-navy);
	color: var(--sr-white);
}

.sr-contact-card--phone > strong,
.sr-contact-card--phone h3,
.sr-contact-card--phone p {
	color: var(--sr-white) !important;
}

.sr-contact-card--form {
	background: var(--sr-cream);
	color: var(--sr-ink);
}

.sr-contact-card__number {
	color: var(--sr-yellow);
	font-size: 0.75rem;
	font-weight: 800;
}

.sr-contact-card > strong {
	margin-top: 34px;
	font-size: clamp(2rem, 3vw, 3rem);
	letter-spacing: 0.02em;
}

.sr-contact-card h3 {
	margin: 10px 0 0;
	font-size: 1.25rem;
	font-weight: 800;
}

.sr-contact-card p {
	margin-top: 28px;
	color: inherit;
	font-size: 0.9rem;
	line-height: 1.75;
	opacity: 0.72;
}

.sr-contact-card__phone-meta > span {
	display: block;
}

.sr-contact-card__hours {
	margin-top: 4px;
	font-weight: 700;
}

.sr-contact-card .sr-contact-card__description {
	margin-top: 8px;
}

.sr-contact-card .sr-arrow {
	margin-top: auto;
	color: var(--sr-yellow);
}

.sr-contact-card--form .sr-arrow {
	color: var(--sr-ink);
}

.sr-contact-card:hover .sr-arrow,
.sr-contact-card:focus-visible .sr-arrow {
	transform: translateX(7px);
}


/* Dedicated footer
--------------------------------------------------------- */
.sr-site-footer {
	position: relative;
	overflow: hidden;
	padding: 58px var(--sr-gutter) 22px;
	border-top: 6px solid var(--sr-yellow);
	background: var(--sr-navy);
	color: var(--sr-white);
}

.sr-site-footer__top,
.sr-site-footer__grid,
.sr-site-footer__bottom {
	width: min(100%, var(--sr-container));
	margin-inline: auto;
}

.sr-site-footer__top {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding-bottom: 42px;
	border-bottom: 1px solid var(--sr-line-dark);
	gap: 40px;
}

.sr-site-footer__company {
	font-size: clamp(1.3rem, 2vw, 1.9rem);
	font-weight: 800;
}

.sr-site-footer__company-en {
	margin-top: 8px;
	color: var(--sr-yellow);
	font-size: 0.72rem;
	font-weight: 800;
	letter-spacing: 0.15em;
}

.sr-site-footer__contact {
	display: grid;
	grid-template-columns: 1fr auto;
	align-items: center;
	min-width: 320px;
	gap: 8px 36px;
}

.sr-site-footer__contact .sr-eyebrow {
	grid-column: 1 / -1;
}

.sr-site-footer__contact strong {
	font-size: 1.25rem;
}

.sr-site-footer__contact:hover .sr-arrow,
.sr-site-footer__contact:focus-visible .sr-arrow {
	transform: translateX(6px);
}

.sr-site-footer__grid {
	display: grid;
	grid-template-columns: 1.1fr 1fr 0.9fr;
	padding-block: 44px;
	border-bottom: 1px solid var(--sr-line-dark);
}

.sr-site-footer__grid > * {
	min-height: 240px;
	padding-inline: clamp(0px, 3vw, 46px);
	border-right: 1px solid var(--sr-line-dark);
}

.sr-site-footer__grid > *:first-child {
	padding-left: 0;
}

.sr-site-footer__grid > *:last-child {
	padding-right: 0;
	border-right: 0;
}

.sr-site-footer__label {
	margin-bottom: 26px;
	color: var(--sr-yellow);
	font-size: 0.68rem;
	font-weight: 800;
	letter-spacing: 0.18em;
}

.sr-site-footer__menu,
.sr-site-footer__info ul {
	flex-direction: column;
	gap: 17px;
}

.sr-site-footer__menu a,
.sr-site-footer__info a {
	font-size: 0.92rem;
	font-weight: 700;
}

.sr-site-footer__base {
	display: grid;
	grid-template-columns: 1fr auto;
	align-items: baseline;
	padding-block: 10px 24px;
	border-bottom: 1px solid var(--sr-line-dark);
	gap: 6px 20px;
}

.sr-site-footer__base + .sr-site-footer__base {
	margin-top: 12px;
}

.sr-site-footer__base strong {
	font-size: 1.35rem;
	letter-spacing: 0.03em;
}

.sr-site-footer__base span {
	color: var(--sr-pale);
	font-size: 0.84rem;
}

.sr-site-footer__base small {
	grid-column: 1 / -1;
	color: #9cacb5;
}

.sr-site-footer__brandmark {
	position: relative;
	width: min(100%, var(--sr-container));
	margin: -8px auto -16px;
	color: var(--sr-navy-3);
	font-size: clamp(4rem, 10vw, 9rem);
	font-weight: 800;
	letter-spacing: -0.07em;
	line-height: 1;
	white-space: nowrap;
}

.sr-site-footer__brandmark::after {
	position: absolute;
	bottom: 15%;
	left: 0;
	width: min(560px, 45%);
	height: 5px;
	background: var(--sr-yellow);
	content: "";
}

.sr-site-footer__bottom {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding-top: 22px;
	color: #81939e;
}

.sr-site-footer__bottom a {
	display: inline-flex;
	align-items: center;
	gap: 20px;
	color: var(--sr-white);
	font-size: 0.7rem;
	font-weight: 800;
	letter-spacing: 0.12em;
}

/* Motion enhancement: default is always visible.
--------------------------------------------------------- */
.sr-motion-enabled .sr-reveal {
	opacity: 0;
	transform: translateY(20px);
	transition:
		opacity 0.72s var(--sr-ease) var(--sr-delay, 0ms),
		transform 0.72s var(--sr-ease) var(--sr-delay, 0ms);
}



.sr-motion-enabled .sr-reveal-line > span {
	transform: translateY(115%);
	transition: transform 0.82s var(--sr-ease) var(--sr-delay, 0ms);
}

.sr-motion-enabled .sr-reveal.is-visible {
	opacity: 1;
	transform: none;
}



.sr-motion-enabled .sr-reveal-line.is-visible > span {
	transform: translateY(0);
}

.sr-media-missing {
	display: grid;
	width: 100%;
	height: 100%;
	min-height: 220px;
	place-items: center;
	background:
		linear-gradient(135deg, rgba(240, 196, 0, 0.08), rgba(6, 23, 36, 0.12)),
		var(--sr-navy-3);
	color: var(--sr-white);
}

.sr-media-missing span {
	padding: 8px 12px;
	background: rgba(6, 23, 36, 0.9);
	font-size: 0.75rem;
}

/* Tablet
--------------------------------------------------------- */
@media (max-width: 1100px) {

	.sr-business__grid {
		grid-template-columns: 1.25fr 0.9fr;
	}

	.sr-trust {
		grid-template-columns: 0.72fr 1.28fr;
	}

	.sr-trust-item {
		grid-template-columns: 46px minmax(0, 1fr) 70px 44px;
		padding-left: 24px;
	}

	.sr-factory__layout {
		grid-template-columns: 62% 38%;
	}

	.sr-factory__photo {
		left: -70px;
	}

	.sr-factory__side {
		padding-inline: 34px;
	}
	:root {
		--sr-header-height: 82px;
	}

	.sr-global-nav__list {
		gap: 16px;
	}

	.sr-global-nav a {
		font-size: 0.7rem;
	}

	.sr-header-contact {
		width: 170px;
		padding-inline: 17px;
	}

	.sr-header-contact .sr-arrow {
		width: 30px;
	}

	.sr-about__history {
		right: 40%;
	}

	.sr-site-footer__grid {
		grid-template-columns: 1fr 1fr;
	}

	.sr-site-footer__info {
		grid-column: 1 / -1;
		min-height: auto !important;
		padding-top: 34px;
		padding-left: 0 !important;
		border-top: 1px solid var(--sr-line-dark);
		border-right: 0 !important;
	}

	.sr-site-footer__info ul {
		flex-direction: row;
		flex-wrap: wrap;
		gap: 18px 34px;
	}
}

/* Mobile
--------------------------------------------------------- */
@media (max-width: 767px) {

	.sr-business {
		padding: 58px 0 0;
	}

	.sr-business__head {
		display: block;
		padding: 0 20px 32px;
	}

	.sr-business__title {
		margin-top: 22px;
		font-size: 2.25rem;
	}

	.sr-business__lead {
		margin-top: 18px;
		font-size: 0.86rem;
		line-height: 1.65;
	}

	.sr-business__grid {
		display: block;
		margin-top: 0;
	}

	.sr-business-card,
	.sr-business-card--primary {
		display: block;
		min-height: 340px;
		border-left: 0;
		border-bottom: 5px solid var(--sr-cream);
	}

	.sr-business-card--primary {
		min-height: 500px;
	}

	.sr-business-card__content,
	.sr-business-card--primary .sr-business-card__content {
		right: 20px;
		bottom: 24px;
		left: 20px;
	}

	.sr-business-card__number,
	.sr-business-card:not(.sr-business-card--primary) .sr-business-card__number {
		font-size: 3.2rem;
	}

	.sr-business-card h3 {
		margin-top: 10px;
		font-size: 1.35rem;
	}

	.sr-business-card p:not(.sr-business-card__number):not(.sr-business-card__meta) {
		max-width: 280px;
		margin-top: 8px;
		font-size: 0.75rem;
	}

	.sr-business-card__link {
		margin-top: 20px;
	}

	.sr-trust {
		display: block;
		padding: 58px 20px 0;
	}

	.sr-trust__intro {
		max-width: none;
		padding-right: 0;
	}

	.sr-trust__title {
		margin-top: 22px;
		font-size: 2.35rem;
	}

	.sr-trust__lead {
		margin-top: 24px;
		font-size: 0.86rem;
	}

	.sr-trust__list {
		margin-top: 42px;
		margin-left: 8px;
	}

	.sr-trust-item {
		grid-template-columns: 28px minmax(0, 1fr) 46px;
		min-height: 126px;
		padding: 20px 0 20px 22px;
		gap: 10px;
	}

	.sr-trust-item__marker {
		left: -8px;
		width: 14px;
		height: 28px;
	}

	.sr-trust-item__marker span {
		top: 5px;
		left: 30px;
		font-size: 0.72rem;
	}

	.sr-trust-item > div:nth-child(2) {
		grid-column: 2;
	}

	.sr-trust-item h3 {
		font-size: 1.35rem;
	}

	.sr-trust-item p {
		margin-top: 8px;
		font-size: 0.68rem;
		line-height: 1.55;
	}

	.sr-trust-item > strong {
		grid-column: 3;
		grid-row: 1;
		align-self: start;
		font-size: 0.72rem;
	}

	.sr-trust-item > .sr-arrow {
		display: none;
	}

	.sr-trust__bridge {
		grid-template-columns: 42% 58%;
		margin: 0 -20px;
	}

	.sr-trust__bridge > div {
		padding: 22px 20px;
	}

	.sr-trust__bridge > a {
		padding: 22px 18px;
		gap: 4px 12px;
	}

	.sr-trust__bridge > a strong {
		font-size: 1.2rem;
	}

	.sr-factory {
		padding-top: 22px;
	}

	.sr-factory__label {
		display: block;
		margin-bottom: 18px;
	}

	.sr-factory__label > span {
		display: block;
		margin-top: 8px;
	}

	.sr-factory__layout {
		display: block;
		min-height: 0;
	}

	.sr-factory__main {
		height: 560px;
	}

	.sr-factory__main-copy {
		right: 20px;
		bottom: 30px;
		left: 20px;
	}

	.sr-factory__main-copy h2 {
		font-size: 2.65rem;
		line-height: 1.14;
	}

	.sr-factory__main-copy p {
		max-width: 270px;
		font-size: 0.82rem;
	}

	.sr-factory__side {
		min-height: 440px;
		padding: 190px 20px 48px;
	}

	.sr-factory__photo {
		top: -46px;
		right: 20px;
		left: 36%;
	}

	.sr-factory__photo figcaption {
		min-height: 34px;
		padding-inline: 8px;
		gap: 8px;
	}

	.sr-factory__photo figcaption strong,
	.sr-factory__photo figcaption span {
		font-size: 0.58rem;
	}

	.sr-factory__side-copy {
		max-width: 280px;
	}

	.sr-factory__side-copy h3 {
		font-size: 2.05rem;
	}

	.sr-factory__side-copy > p {
		margin-top: 20px;
		font-size: 0.82rem;
	}

	.sr-text-link--dark {
		margin-top: 32px;
		padding-top: 20px;
	}

	.sr-factory__word {
		top: 20px;
		right: -18px;
		font-size: 4.4rem;
	}

	.sr-contact {
		padding: 70px 20px 0;
	}

	.sr-contact__title {
		margin-top: 22px;
		font-size: 2.35rem;
		line-height: 1.18;
	}

	.sr-contact__lead {
		margin-top: 22px;
		font-size: 0.82rem;
	}

	.sr-contact__choices {
		display: block;
		margin-top: 42px;
		border-right: 5px solid var(--sr-yellow);
		border-left: 5px solid var(--sr-yellow);
	}

	.sr-contact-card {
		min-height: 230px;
		padding: 26px 22px;
	}

	.sr-contact-card--phone {
		border-right: 0;
		border-bottom: 5px solid var(--sr-yellow);
	}

	.sr-contact-card > strong {
		margin-top: 22px;
		font-size: 2.3rem;
	}

	.sr-contact-card h3 {
		font-size: 1rem;
	}

	.sr-contact-card p {
		margin-top: 14px;
		font-size: 0.74rem;
	}
	.sr-contact-card .sr-contact-card__description {
		margin-top: 6px;
	}
	:root {
		--sr-header-height: 72px;
		--sr-gutter: 20px;
	}

	html {
		scroll-padding-top: 72px;
	}

	.sr-site-header,
	.sr-site-header.is-scrolled,
	.sr-site-header.is-menu-open {
		height: 72px;
	}

	.sr-site-header__inner {
		grid-template-columns: minmax(0, 1fr) 76px 44px;
		width: calc(100% - 32px);
		gap: 8px;
	}

	.sr-site-brand {
		gap: 8px;
	}

	.sr-site-brand__mark {
		width: 30px;
		height: 30px;
	}

	.sr-site-brand__ja {
		font-size: 0.9rem;
	}

	.sr-site-brand__en {
		display: none;
	}

	.sr-header-contact {
		width: 76px;
		min-height: 40px !important;
		padding: 0 9px;
		font-size: 0.63rem;
		letter-spacing: 0.04em;
	}

	.sr-header-contact .sr-arrow {
		display: none;
	}

	.sr-menu-toggle {
		display: block;
	}

	.sr-site-header.is-menu-open .sr-menu-toggle span:nth-child(1) {
		transform: translateY(8px) rotate(45deg);
	}

	.sr-site-header.is-menu-open .sr-menu-toggle span:nth-child(2) {
		opacity: 0;
	}

	.sr-site-header.is-menu-open .sr-menu-toggle span:nth-child(3) {
		transform: translateY(-8px) rotate(-45deg);
	}

	.sr-global-nav {
		position: fixed;
		z-index: -1;
		top: 72px;
		right: 0;
		bottom: 0;
		left: 0;
		padding: 38px 24px;
		background: var(--sr-navy);
		opacity: 0;
		overflow-y: auto;
		pointer-events: none;
		transform: translateY(-12px);
		transition: opacity 0.22s ease, transform 0.22s ease;
	}

	.sr-site-header.is-menu-open .sr-global-nav {
		opacity: 1;
		pointer-events: auto;
		transform: translateY(0);
	}

	.sr-global-nav__list {
		flex-direction: column;
		align-items: stretch;
		gap: 0;
	}

	.sr-global-nav a {
		padding: 20px 4px;
		border-bottom: 1px solid var(--sr-line-dark);
		font-size: 1rem;
	}

	.sr-hero {
		min-height: max(760px, 100svh);
	}

	.sr-hero__image,
	.sr-hero__media > img {
		object-position: 63% 48%;
	}

	.sr-hero__shade {
		background:
			linear-gradient(90deg, rgba(2, 14, 23, 0.92) 0%, rgba(2, 14, 23, 0.63) 100%),
			linear-gradient(0deg, rgba(2, 14, 23, 0.76) 0%, transparent 58%);
	}

	.sr-hero__content {
		justify-content: flex-start;
		padding-top: 168px;
		padding-bottom: 92px;
	}

	.sr-hero__title {
		font-size: clamp(1.95rem, 10vw, 3.15rem);
		line-height: 1.18;
	}

	.sr-hero__lead {
		margin-top: 54px;
		font-size: 0.91rem;
		line-height: 1.8;
	}

	.sr-hero__actions {
		display: grid;
		margin-top: 44px;
	}

	.sr-button {
		width: 100%;
		min-width: 0;
		min-height: 58px;
	}

	.sr-hero__scroll {
		right: auto;
		bottom: 20px;
		left: 20px;
		flex-direction: row;
		writing-mode: horizontal-tb;
	}

	.sr-hero__scroll i {
		width: 56px;
		height: 2px;
		background:
			linear-gradient(to right, var(--sr-yellow) 0 50%, rgba(255, 255, 255, 0.28) 50% 100%);
	}

	.sr-about {
		display: block;
		min-height: 0;
		padding-top: 350px;
	}

	.sr-about__product {
		inset: 0 0 auto;
		height: 350px;
	}

	.sr-about__product-image,
	.sr-about__product > img {
		object-position: 52% 52%;
	}

	.sr-about__surface {
		z-index: 1;
		top: 285px;
		right: 0;
		bottom: auto;
		width: 100%;
		height: 110px;
		border-top: 4px solid var(--sr-yellow);
		clip-path: polygon(0 55%, 100% 0, 100% 100%, 0 100%);
	}

	.sr-about::after {
		position: relative;
		z-index: 1;
		display: block;
		width: 100%;
		height: 260px;
		margin-top: 44px;
		clip-path: none;
	}

	.sr-about__copy {
		max-width: none;
		padding: 42px 20px 0;
	}

	.sr-about__title {
		margin-top: 28px;
		font-size: clamp(2.2rem, 9vw, 2.8rem);
		line-height: 1.24;
	}

	.sr-about__text {
		margin-top: 34px;
		font-size: 0.94rem;
		line-height: 1.9;
	}

	.sr-text-link {
		margin-top: 32px;
	}

	.sr-about__history {
		right: auto;
		bottom: 42px;
		left: 20px;
		transform: none;
	}

	.sr-about__year {
		font-size: clamp(5.6rem, 24vw, 7rem);
	}

	.sr-about__factory {
		right: 20px;
		bottom: 74px;
		width: 42vw;
		max-width: 180px;
	}

	.sr-site-footer {
		padding-top: 38px;
	}

	.sr-site-footer__top {
		display: block;
		padding-bottom: 32px;
	}

	.sr-site-footer__contact {
		margin-top: 32px;
		min-width: 0;
	}

	.sr-site-footer__grid {
		display: block;
		padding-block: 28px;
	}

	.sr-site-footer__grid > * {
		min-height: 0;
		padding: 26px 0;
		border-right: 0;
		border-bottom: 1px solid var(--sr-line-dark);
	}

	.sr-site-footer__grid > *:last-child {
		border-bottom: 0;
	}

	.sr-site-footer__brandmark {
		margin-top: 0;
		font-size: clamp(3.1rem, 16vw, 5rem);
	}

	.sr-site-footer__bottom {
		align-items: flex-start;
		padding-top: 30px;
		gap: 20px;
	}

	.sr-site-footer__bottom small {
		max-width: 220px;
		line-height: 1.7;
	}

	.sr-site-footer__bottom .sr-arrow {
		width: 28px;
	}
}

@media (max-width: 767px) and (max-height: 700px) {
	.sr-hero {
		min-height: 700px;
	}

	.sr-hero__content {
		padding-top: 125px;
	}

	.sr-hero__lead {
		margin-top: 34px;
	}

	.sr-hero__actions {
		margin-top: 28px;
	}

	.sr-button {
		min-height: 52px;
	}
}

@media (prefers-reduced-motion: reduce) {
	html {
		scroll-behavior: auto;
	}

	.sr-about__product-image,
	.sr-about__product > img {
		animation: none !important;
		transform: none !important;
	}

	.shoritsu-home *,
	.shoritsu-home *::before,
	.shoritsu-home *::after {
		scroll-behavior: auto !important;
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: 0.01ms !important;
	}
}

/* =========================================================
   Ver.0.7.2 visual correction overrides
========================================================= */

/* Hero CTA: Lightningのリンクhover色より強く固定 */
body.shoritsu-site .sr-button--primary,
body.shoritsu-site .sr-button--primary:visited,
body.shoritsu-site .sr-button--primary:hover,
body.shoritsu-site .sr-button--primary:focus-visible {
	background: var(--sr-yellow);
	color: var(--sr-ink) !important;
}

body.shoritsu-site .sr-button--primary:hover,
body.shoritsu-site .sr-button--primary:focus-visible {
	background: var(--sr-white);
	color: var(--sr-ink) !important;
}

body.shoritsu-site .sr-button--primary *,
body.shoritsu-site .sr-button--primary:hover *,
body.shoritsu-site .sr-button--primary:focus-visible * {
	color: inherit !important;
}

/* ABOUT: 指定した3行の内部では改行させない */
.sr-about__copy {
	width: 100%;
	max-width: none;
}

.sr-about__title {
	font-size: clamp(2.65rem, 3.75vw, 4.4rem);
	line-height: 1.16;
}

.sr-about__title .sr-reveal-line,
.sr-about__title .sr-reveal-line > span {
	white-space: nowrap;
	word-break: keep-all;
	overflow-wrap: normal;
}

/* BUSINESS: 写真上の見出し・本文を必ず白で表示 */
body.shoritsu-site .sr-business-card,
body.shoritsu-site .sr-business-card:visited,
body.shoritsu-site .sr-business-card:hover,
body.shoritsu-site .sr-business-card:focus-visible {
	color: var(--sr-white) !important;
}

body.shoritsu-site .sr-business-card h3,
body.shoritsu-site .sr-business-card p:not(.sr-business-card__number),
body.shoritsu-site .sr-business-card__link,
body.shoritsu-site .sr-business-card__link span {
	color: var(--sr-white) !important;
}

.sr-business-card__shade {
	background:
		linear-gradient(180deg, rgba(3, 17, 27, 0.02) 12%, rgba(3, 17, 27, 0.30) 48%, rgba(3, 17, 27, 0.96) 100%),
		linear-gradient(90deg, rgba(3, 17, 27, 0.34), transparent 62%);
}

/* TRUST: 左カラムを広げ、意図した2行だけで表示 */
.sr-trust {
	grid-template-columns: minmax(430px, 0.96fr) minmax(0, 1.54fr);
}

.sr-trust__intro {
	max-width: 520px;
	padding-right: clamp(34px, 4vw, 64px);
}

.sr-trust__title {
	font-size: clamp(2.55rem, 3.2vw, 3.8rem);
	line-height: 1.16;
}

.sr-trust__title > span,
.sr-trust__lead > span {
	display: block;
}

.sr-trust__title > span {
	white-space: nowrap;
	word-break: keep-all;
	overflow-wrap: normal;
}

.sr-trust__lead {
	max-width: 440px;
	margin-top: 34px;
	font-size: clamp(0.96rem, 1.08vw, 1.08rem);
	line-height: 1.9;
}

.sr-trust__lead > span + span {
	margin-top: 3px;
}

/* FACTORY: 本文末尾の孤立と右側見出しの過剰改行・写真重なりを解消 */
.sr-factory__layout {
	grid-template-columns: minmax(0, 64%) minmax(430px, 36%);
}

.sr-factory__main-copy {
	max-width: 660px;
}

.sr-factory__main-copy p {
	max-width: 610px;
	font-size: 0.96rem;
	line-height: 1.7;
	word-break: normal;
	overflow-wrap: normal;
}

.sr-factory__side {
	padding-top: 430px;
}

.sr-factory__photo {
	top: 58px;
	left: -78px;
}

.sr-factory__side-copy h3 {
	font-size: clamp(2.15rem, 2.65vw, 3.15rem);
	line-height: 1.2;
	word-break: keep-all;
	overflow-wrap: normal;
}

.sr-factory__side-copy h3 > span {
	display: block;
	white-space: nowrap;
}

.sr-factory__side-copy > p {
	max-width: 430px;
	font-size: 0.96rem;
	line-height: 1.75;
}

/* 1101px〜1280pxの中間幅 */
@media (min-width: 1101px) and (max-width: 1280px) {
	.sr-about__title {
		font-size: 3.45rem;
	}

	.sr-trust {
		grid-template-columns: minmax(370px, 0.92fr) minmax(0, 1.58fr);
	}

	.sr-trust__title {
		font-size: 3.05rem;
	}

	.sr-factory__layout {
		grid-template-columns: minmax(0, 62%) minmax(390px, 38%);
	}

	.sr-factory__side {
		padding-top: 390px;
		padding-inline: 34px;
	}

	.sr-factory__photo {
		left: -54px;
	}

	.sr-factory__side-copy h3 {
		font-size: 2.45rem;
	}
}

/* タブレット */
@media (min-width: 768px) and (max-width: 1100px) {
	.sr-about__title {
		font-size: clamp(2.7rem, 4.8vw, 3.45rem);
	}

	.sr-trust {
		grid-template-columns: minmax(330px, 0.9fr) minmax(0, 1.4fr);
	}

	.sr-trust__title {
		font-size: clamp(2.6rem, 4.2vw, 3.15rem);
	}

	.sr-trust__lead {
		font-size: 0.94rem;
	}

	.sr-factory__layout {
		grid-template-columns: 58% 42%;
	}

	.sr-factory__side {
		padding-top: 360px;
	}

	.sr-factory__photo {
		top: 54px;
		left: -42px;
	}

	.sr-factory__side-copy h3 {
		font-size: 2.1rem;
	}
}

/* スマートフォン */
@media (max-width: 767px) {
	.sr-about__title {
		font-size: clamp(2rem, 8.45vw, 2.55rem);
		line-height: 1.22;
	}

	.sr-about__title .sr-reveal-line,
	.sr-about__title .sr-reveal-line > span {
		white-space: nowrap;
	}

	.sr-trust__title {
		font-size: clamp(2rem, 8.5vw, 2.45rem);
		line-height: 1.2;
	}

	.sr-trust__lead {
		max-width: none;
		font-size: 0.84rem;
		line-height: 1.8;
	}

	.sr-trust__lead > span {
		display: inline;
	}

	.sr-trust__lead > span::after {
		content: " ";
	}

	.sr-factory__main-copy p {
		max-width: 310px;
		font-size: 0.78rem;
		line-height: 1.75;
	}

	.sr-factory__side {
		padding-top: 188px;
	}

	.sr-factory__photo {
		top: -42px;
		right: 20px;
		left: 38%;
	}

	.sr-factory__side-copy {
		max-width: 330px;
	}

	.sr-factory__side-copy h3 {
		font-size: clamp(1.75rem, 7vw, 2.1rem);
	}

	.sr-factory__side-copy h3 > span {
		white-space: nowrap;
	}
}

/* =========================================================
   Ver.0.7.3 mobile navigation correction
========================================================= */

@media (max-width: 767px) {
	.sr-site-header {
		overflow: visible;
	}

	.sr-global-nav {
		position: fixed;
		z-index: 1002;
		top: 72px;
		right: 0;
		bottom: 0;
		left: 0;
		display: block;
		width: 100%;
		height: calc(100dvh - 72px);
		min-height: calc(100vh - 72px);
		padding: 28px 20px 48px;
		background: var(--sr-navy);
		opacity: 0;
		visibility: hidden;
		overflow-x: hidden;
		overflow-y: auto;
		overscroll-behavior: contain;
		pointer-events: none;
		transform: translateY(-10px);
		transition:
			opacity 0.22s ease,
			transform 0.22s ease,
			visibility 0s linear 0.22s;
		-webkit-overflow-scrolling: touch;
	}

	body.admin-bar .sr-global-nav {
		top: 118px;
		height: calc(100dvh - 118px);
		min-height: calc(100vh - 118px);
	}

	.sr-site-header.is-menu-open .sr-global-nav {
		opacity: 1;
		visibility: visible;
		pointer-events: auto;
		transform: translateY(0);
		transition-delay: 0s;
	}

	.sr-global-nav__list {
		display: flex !important;
		flex-direction: column;
		align-items: stretch;
		width: 100%;
		margin: 0;
		padding: 0;
		gap: 0;
	}

	.sr-global-nav__list > li {
		display: block;
		width: 100%;
		margin: 0;
		padding: 0;
		opacity: 1 !important;
		transform: none !important;
	}

	.sr-global-nav__list > li > a {
		display: flex;
		align-items: center;
		justify-content: space-between;
		width: 100%;
		min-height: 68px;
		padding: 20px 4px;
		border-bottom: 1px solid var(--sr-line-dark);
		color: var(--sr-white) !important;
		font-size: 1rem;
		font-weight: 700;
		line-height: 1.45;
		white-space: normal;
		opacity: 1 !important;
		visibility: visible !important;
		transform: none !important;
	}

	.sr-global-nav__list > li > a::before {
		order: 2;
		width: 30px;
		height: 1px;
		margin-left: 18px;
		background: var(--sr-yellow);
		content: "";
		flex: 0 0 auto;
	}

	.sr-global-nav__list > li > a::after {
		display: none;
	}

	.sr-global-nav__list > li > a:hover,
	.sr-global-nav__list > li > a:focus-visible {
		background: rgba(255, 255, 255, 0.05);
		color: var(--sr-white) !important;
	}

	.sr-menu-toggle {
		position: relative;
		z-index: 1003;
	}

	.sr-header-contact,
	.sr-site-brand {
		position: relative;
		z-index: 1003;
	}
}

@media (max-width: 767px) and (max-height: 560px) {
	.sr-global-nav {
		padding-top: 14px;
		padding-bottom: 26px;
	}

	.sr-global-nav__list > li > a {
		min-height: 54px;
		padding-block: 14px;
	}
}

/* =========================================================
   Ver.0.7.5 TRUST link correction
========================================================= */

.sr-trust-item {
	display: block;
	min-height: 0;
	padding: 0;
}

.sr-trust-item__link {
	position: relative;
	display: grid;
	grid-template-columns: 62px minmax(0, 1fr) 100px 62px;
	align-items: center;
	min-height: 200px;
	padding: 34px 0 34px 32px;
	color: var(--sr-ink) !important;
	gap: 20px;
	transition:
		background-color 0.18s linear,
		padding-left 0.28s var(--sr-ease);
}

.sr-trust-item__link:visited {
	color: var(--sr-ink) !important;
}

.sr-trust-item__link:hover,
.sr-trust-item__link:focus-visible {
	padding-left: 42px;
	background: rgba(240, 196, 0, 0.07);
	color: var(--sr-ink) !important;
}

.sr-trust-item__link > div:nth-child(2) {
	grid-column: 2;
	grid-row: 1;
	min-width: 0;
}

.sr-trust-item__link > strong {
	grid-column: 3;
	grid-row: 1;
	justify-self: end;
	font-size: 1.2rem;
}

.sr-trust-item__link > .sr-arrow {
	grid-column: 4;
	grid-row: 1;
	justify-self: end;
	color: var(--sr-yellow);
}

.sr-trust-item__link:hover .sr-arrow,
.sr-trust-item__link:focus-visible .sr-arrow {
	transform: translateX(7px);
}

.sr-trust-item__link h3,
.sr-trust-item__link p,
.sr-trust-item__link strong {
	color: inherit !important;
}

@media (max-width: 1100px) {
	.sr-trust-item__link {
		grid-template-columns: 46px minmax(0, 1fr) 70px 44px;
		padding-left: 24px;
	}

	.sr-trust-item__link:hover,
	.sr-trust-item__link:focus-visible {
		padding-left: 30px;
	}
}

@media (max-width: 767px) {
	.sr-trust-item__link {
		grid-template-columns: 28px minmax(0, 1fr) 46px;
		min-height: 126px;
		padding: 20px 0 20px 22px;
		gap: 10px;
	}

	.sr-trust-item__link:hover,
	.sr-trust-item__link:focus-visible {
		padding-left: 26px;
	}

	.sr-trust-item__link > div:nth-child(2) {
		grid-column: 2;
	}

	.sr-trust-item__link > strong {
		grid-column: 3;
		grid-row: 1;
		align-self: start;
		font-size: 0.72rem;
	}

	.sr-trust-item__link > .sr-arrow {
		display: none;
	}
}

/* =========================================================
   Ver.0.7.6 content update adjustments
========================================================= */

.sr-business-card--primary .sr-business-card__content {
	max-width: 620px;
}

.sr-business-card p:not(.sr-business-card__number):not(.sr-business-card__meta) {
	max-width: 560px;
}

.sr-trust-item__link {
	grid-template-columns: 62px minmax(0, 1fr) 128px 62px;
}

.sr-trust-item__link > strong {
	font-size: 1rem;
	white-space: nowrap;
}

.sr-trust-item h3 {
	font-size: clamp(2.1rem, 3.5vw, 3.8rem);
}

@media (max-width: 1100px) {
	.sr-trust-item__link {
		grid-template-columns: 46px minmax(0, 1fr) 96px 44px;
	}

	.sr-trust-item__link > strong {
		font-size: 0.86rem;
	}
}

@media (max-width: 767px) {
	.sr-business-card p:not(.sr-business-card__number):not(.sr-business-card__meta) {
		max-width: 330px;
	}

	.sr-trust-item__link {
		grid-template-columns: 28px minmax(0, 1fr) 60px;
	}

	.sr-trust-item__link > strong {
		font-size: 0.66rem;
		white-space: normal;
		text-align: right;
	}

	.sr-trust-item h3 {
		font-size: 1.15rem;
	}
}

/* =========================================================
   Ver.0.7.8 header contact hover correction
========================================================= */

body.shoritsu-site .sr-header-contact,
body.shoritsu-site .sr-header-contact:visited {
	background: var(--sr-yellow);
	color: var(--sr-ink) !important;
}

body.shoritsu-site .sr-header-contact:hover,
body.shoritsu-site .sr-header-contact:focus-visible {
	background: var(--sr-white);
	color: var(--sr-ink) !important;
}

body.shoritsu-site .sr-header-contact *,
body.shoritsu-site .sr-header-contact:visited *,
body.shoritsu-site .sr-header-contact:hover *,
body.shoritsu-site .sr-header-contact:focus-visible * {
	color: inherit !important;
}

/* =========================================================
   Ver.0.8.6 shared lower-page components
========================================================= */

/* Breadcrumb */
.shoritsu-site .sr-breadcrumb {
	padding: 16px var(--sr-gutter);
	border-bottom: 1px solid #d1cabf;
	background: var(--sr-cream);
}

.shoritsu-site .sr-breadcrumb ol {
	display: flex;
	align-items: center;
	flex-wrap: nowrap;
	width: min(100%, var(--sr-container));
	margin: 0 auto;
	padding: 0;
	gap: 12px;
	list-style: none;
	color: var(--sr-text);
	font-size: 0.72rem;
	font-weight: 700;
	line-height: 1.4;
}

.shoritsu-site .sr-breadcrumb li {
	display: inline-flex;
	align-items: center;
	margin: 0;
	padding: 0;
	white-space: nowrap;
}

.shoritsu-site .sr-breadcrumb li + li::before {
	margin-right: 12px;
	color: var(--sr-yellow);
	content: "/";
}

.shoritsu-site .sr-breadcrumb a,
.shoritsu-site .sr-breadcrumb a:visited {
	color: var(--sr-text) !important;
}

/* Shared page link */
.shoritsu-site .sr-page-link {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	margin-top: 40px !important;
	gap: 30px;
	color: var(--sr-ink) !important;
	font-size: 0.92rem;
	font-weight: 800;
	line-height: 1.4;
}

.shoritsu-site .sr-page-link:visited {
	color: inherit !important;
}

.shoritsu-site .sr-page-link .sr-arrow {
	color: var(--sr-yellow);
}

.shoritsu-site .sr-page-link:hover .sr-arrow,
.shoritsu-site .sr-page-link:focus-visible .sr-arrow {
	transform: translateX(7px);
}

.shoritsu-site .sr-page-link--dark,
.shoritsu-site .sr-page-link--dark:visited {
	color: var(--sr-white) !important;
}

/* Shared lower-page contact */
.shoritsu-site .sr-subpage-contact {
	display: grid;
	grid-template-columns: 0.45fr 1.1fr 0.55fr;
	align-items: center;
	padding: 70px max(var(--sr-gutter), calc((100vw - var(--sr-container)) / 2));
	background: var(--sr-yellow);
	color: var(--sr-ink);
	gap: 40px;
}

.shoritsu-site .sr-subpage-contact h2 {
	margin: 0;
	color: var(--sr-ink);
	font-size: clamp(2.2rem, 3.8vw, 4.4rem);
	font-weight: 800;
	letter-spacing: -0.06em;
	line-height: 1.14;
}

.shoritsu-site .sr-subpage-contact > a {
	display: flex;
	align-items: center;
	justify-content: space-between;
	min-height: 90px;
	padding: 0 30px;
	background: var(--sr-navy);
	color: var(--sr-white) !important;
	font-weight: 800;
}

.shoritsu-site .sr-subpage-contact > a:visited {
	color: var(--sr-white) !important;
}

.shoritsu-site .sr-subpage-contact > a:hover,
.shoritsu-site .sr-subpage-contact > a:focus-visible {
	background: var(--sr-white);
	color: var(--sr-ink) !important;
}

.shoritsu-site .sr-subpage-contact > a:hover .sr-arrow,
.shoritsu-site .sr-subpage-contact > a:focus-visible .sr-arrow {
	transform: translateX(7px);
}

@media (max-width: 960px) {
	.shoritsu-site .sr-subpage-contact {
		grid-template-columns: 1fr 1.4fr;
	}

	.shoritsu-site .sr-subpage-contact > .sr-eyebrow {
		grid-column: 1 / -1;
	}
}

@media (max-width: 767px) {
	.shoritsu-site .sr-breadcrumb {
		padding: 14px 20px;
	}

	.shoritsu-site .sr-breadcrumb ol {
		gap: 9px;
		font-size: 0.68rem;
	}

	.shoritsu-site .sr-breadcrumb li + li::before {
		margin-right: 9px;
	}

	.shoritsu-site .sr-page-link {
		margin-top: 28px !important;
		gap: 20px;
		font-size: 0.84rem;
	}

	.shoritsu-site .sr-subpage-contact {
		display: block;
		padding: 44px 20px;
	}

	.shoritsu-site .sr-subpage-contact h2 {
		margin-top: 20px;
		font-size: clamp(1.95rem, 8.6vw, 2.3rem);
		line-height: 1.18;
	}

	.shoritsu-site .sr-subpage-contact > a {
		min-height: 68px;
		margin-top: 28px;
		padding-inline: 22px;
	}
}

/* =========================================================
   Ver.0.9.6 Watermark words and numbering system
========================================================= */

.sr-watermark-section {
	position: relative;
	overflow: hidden;
	isolation: isolate;
}

.sr-watermark-section > :not(.sr-section-watermark) {
	position: relative;
	z-index: 1;
}

.sr-section-watermark {
	position: absolute;
	z-index: 0;
	right: -0.055em;
	bottom: 0.035em;
	color: rgba(9, 27, 40, 0.035);
	font-size: clamp(6.5rem, 15vw, 15rem);
	font-weight: 800;
	letter-spacing: -0.085em;
	line-height: 0.72;
	white-space: nowrap;
	pointer-events: none;
	user-select: none;
}

.sr-card-accent {
	display: block;
	width: 42px;
	height: 4px;
	min-height: 4px;
	background: var(--sr-yellow);
	font-size: 0;
	line-height: 0;
}

@media (max-width: 767px) {
	.sr-section-watermark {
		right: -0.04em;
		bottom: 0.08em;
		font-size: clamp(4.8rem, 23vw, 7.4rem);
	}

	.sr-card-accent {
		width: 34px;
		height: 3px;
		min-height: 3px;
	}
}

/* =========================================================
   Ver.0.9.7 Final watermark refinement
========================================================= */

@media (max-width: 767px) {
	.sr-section-watermark,
	.sr-about-intro__word,
	.sr-about-future__number,
	.sr-business-feature__watermark,
	.sr-company-profile__word,
	.sr-factory__word {
		display: none !important;
	}
}

/* =========================================================
   Ver.1.0.3 reCAPTCHA disclosure
========================================================= */

/*
 * Google permits the badge to be hidden when the reCAPTCHA branding is
 * displayed visibly in the user flow. The exact current disclosure is
 * printed in the site footer only after Snow Monkey Forms has both keys.
 */
.grecaptcha-badge {
	visibility: hidden !important;
}

.sr-site-footer__recaptcha {
	position: relative;
	z-index: 2;
	width: min(calc(100% - (var(--sr-gutter) * 2)), var(--sr-container));
	margin: 26px auto 0;
	padding-top: 20px;
	border-top: 1px solid var(--sr-line-dark);
	color: #9eacb4;
	font-size: 0.68rem;
	line-height: 1.6;
	letter-spacing: 0.04em;
}

@media (max-width: 767px) {
	.sr-site-footer__recaptcha {
		width: auto;
		margin: 22px 20px 0;
		padding-top: 18px;
		font-size: 0.66rem;
	}
}



/* =========================================================
   Ver.1.0.18 TRUST Japanese label refinement
   - Keep Japanese labels on one line.
   - Make them more prominent per client request.
   - Reserve label width by content rather than a narrow fixed column.
========================================================= */

.sr-trust-item__link {
	grid-template-columns: 62px minmax(0, 1fr) max-content 62px;
}

.sr-trust-item__link > strong {
	align-self: start;
	padding-top: 0.08em;
	font-size: clamp(1.08rem, 1.35vw, 1.32rem);
	font-weight: 800;
	line-height: 1.25;
	white-space: nowrap;
	word-break: keep-all;
}

@media (max-width: 1100px) {
	.sr-trust-item__link {
		grid-template-columns: 46px minmax(0, 1fr) max-content 44px;
	}

	.sr-trust-item__link > strong {
		font-size: clamp(0.96rem, 1.65vw, 1.12rem);
	}
}

@media (max-width: 767px) {
	.sr-trust-item__link {
		grid-template-columns: 28px minmax(0, 1fr) max-content;
		gap: 10px;
	}

	.sr-trust-item__link > strong {
		grid-column: 3;
		grid-row: 1;
		align-self: start;
		padding-top: 0.08em;
		font-size: clamp(0.78rem, 3.6vw, 0.94rem);
		line-height: 1.25;
		text-align: right;
		white-space: nowrap;
		word-break: keep-all;
	}
}

/* =========================================================
   Ver.1.0.19 Client instruction alignment
   - BUSINESS lead uses semantic three-line breaks on PC/tablet.
   - TRUST headings pair English and Japanese side-by-side.
========================================================= */

.sr-business__lead > span {
	display: block;
}

@media (min-width: 1101px) {
	.sr-business__lead > span {
		white-space: nowrap;
	}
}

.sr-trust-item__link {
	grid-template-columns: 62px minmax(0, 1fr) 62px;
}

.sr-trust-item__content {
	grid-column: 2;
	grid-row: 1;
	min-width: 0;
}

.sr-trust-item__heading {
	display: flex;
	align-items: baseline;
	gap: clamp(14px, 1.5vw, 26px);
	min-width: 0;
}

.sr-trust-item__heading h3 {
	flex: 0 1 auto;
	min-width: 0;
	white-space: nowrap;
	word-break: keep-all;
}

.sr-trust-item__heading strong {
	flex: 0 0 auto;
	color: var(--sr-ink);
	font-size: clamp(1.1rem, 1.5vw, 1.48rem);
	font-weight: 800;
	line-height: 1.25;
	white-space: nowrap;
	word-break: keep-all;
}

.sr-trust-item__link > .sr-arrow {
	grid-column: 3;
}

@media (max-width: 1100px) {
	.sr-trust-item__link {
		grid-template-columns: 46px minmax(0, 1fr) 44px;
	}

	.sr-trust-item__heading {
		gap: clamp(12px, 1.6vw, 20px);
	}

	.sr-trust-item__heading h3 {
		font-size: clamp(1.1rem, 2.2vw, 1.55rem);
	}

	.sr-trust-item__heading strong {
		font-size: clamp(0.9rem, 1.45vw, 1.08rem);
	}
}

@media (max-width: 767px) {
	.sr-business__lead > span {
		display: block;
	}

	.sr-trust-item__link {
		grid-template-columns: 28px minmax(0, 1fr);
	}

	.sr-trust-item__heading {
		gap: 10px;
	}

	.sr-trust-item__heading h3 {
		font-size: clamp(1.08rem, 5vw, 1.35rem);
	}

	.sr-trust-item__heading strong {
		font-size: clamp(0.78rem, 3.5vw, 0.94rem);
	}
}



/* =========================================================
   Standalone RC6.4 wide desktop stabilization
   Scope: >=1600px only. Preserve approved 1440px and SP layouts.
========================================================= */
@media (min-width: 1600px) {
	/* ABOUT milestone: keep the 1942 block and factory photo from converging
	   on wide desktops. The photo remains aligned to the centered container;
	   only the milestone anchor is shifted slightly left. */
	.sr-about__history {
		right: 42%;
	}

	/* TRUST bridge: do not let viewport-derived container gutters collapse
	   the fixed 360px FOUNDATION panel. */
	.sr-trust__bridge > div {
		padding: 34px 42px;
	}

	.sr-trust__bridge > div span,
	.sr-trust__bridge > a > span,
	.sr-trust__bridge > a > strong {
		white-space: nowrap;
		word-break: keep-all;
	}

	.sr-trust__bridge > a {
		min-width: 0;
		padding-inline: 52px;
	}

	/* FACTORY: keep the side card at approximately the approved desktop
	   physical size instead of scaling it with the entire viewport. */
	.sr-factory__layout {
		grid-template-columns: minmax(0, 1fr) 520px;
	}

	.sr-factory__main-copy h2 {
		font-size: 5.3rem;
	}

	.sr-factory__side {
		padding-right: 42px;
		padding-left: 42px;
	}

	.sr-factory__photo {
		right: 42px;
		left: -78px;
	}
}
