/* AI-generated concept visuals are deliberately limited to service atmosphere. */
.mst-product-grid__image {
	overflow: hidden;
	background: #fff;
}

.mst-product-grid__image > img {
	width: 100%;
	height: 100% !important;
	object-fit: contain;
}

.mst-service-rail > a.mst-service-card {
	position: relative;
	background-color: #091012;
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	isolation: isolate;
}

.mst-service-rail > a.mst-service-card::before {
	position: absolute;
	z-index: -1;
	inset: 0;
	content: "";
	background: linear-gradient(180deg, rgba(4, 7, 8, 0.18), rgba(4, 7, 8, 0.9) 72%);
}

.mst-service-rail > a.mst-service-card:hover::before {
	background: linear-gradient(180deg, rgba(4, 7, 8, 0.05), rgba(4, 16, 20, 0.78) 72%);
}

.mst-service-card--sound-design,
.mst-service-card--sound-design:hover {
	background-image: url("../images/service-sound-design-v1.jpg") !important;
	background-position: 56% center;
}

.mst-service-card--car-security,
.mst-service-card--car-security:hover {
	background-image: url("../images/service-car-security-v1.jpg") !important;
	background-position: 52% 42%;
}

.mst-service-card--customization,
.mst-service-card--customization:hover {
	background-image: url("../images/service-customization-v1.jpg") !important;
	background-position: 52% center;
}

.mst-service-card--complete-car,
.mst-service-card--complete-car:hover {
	background-image: url("../images/service-complete-car-v1.jpg") !important;
	background-position: 54% 42%;
}

.mst-vehicle--land-cruiser {
	position: relative;
	background-color: #0d1516;
	background-image: linear-gradient(90deg, rgba(7, 12, 13, 0.93) 0%, rgba(7, 12, 13, 0.76) 42%, rgba(7, 12, 13, 0.24) 100%), url("../images/service-car-security-v1.jpg");
	background-position: center 45%;
	background-repeat: no-repeat;
	background-size: cover;
}

.mst-vehicle--land-cruiser .mst-vehicle__links {
	background: rgba(9, 16, 17, 0.72);
	backdrop-filter: blur(8px);
}

/* Instagram Feed Pro is visually integrated as a quiet editorial gallery. */
.mst-instagram-section__heading {
	align-items: end;
}

.mst-instagram-section__heading > p {
	margin: 0;
	color: var(--mst-muted);
	font-size: 12px;
	line-height: 1.85;
	text-align: right;
}

.mst-instagram-feed #sb_instagram,
.mst-instagram-feed .sbi,
.mst-instagram-feed .sbi_images {
	width: 100% !important;
	max-width: none !important;
	padding: 0 !important;
	background: transparent !important;
}

.mst-instagram-feed .sbi_header,
.mst-instagram-feed .sbi-header,
.mst-instagram-feed .sbi_feedtheme_header,
.mst-instagram-feed .sbi_feedtheme_header h3,
.mst-instagram-feed h3,
.mst-instagram-feed .sbi_load_btn,
.mst-instagram-feed .sbi_follow_btn,
.mst-instagram-feed .sbi_load_btn_wrap,
.mst-instagram-feed .sbi_follow_btn_wrap,
.mst-instagram-feed .sbi_footer {
	display: none !important;
}

.mst-instagram-feed .sbi_item {
	overflow: hidden !important;
	background: #11191a !important;
}

.mst-instagram-feed #sbi_images {
	display: grid !important;
	grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
	gap: 12px !important;
	width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
}

.mst-instagram-feed #sbi_images .sbi_item {
	width: auto !important;
	height: auto !important;
	aspect-ratio: 1 / 1;
	margin: 0 !important;
	padding: 0 !important;
}

.mst-instagram-feed #sbi_images .sbi_inner_wrap,
.mst-instagram-feed #sbi_images .sbi_photo_wrap,
.mst-instagram-feed #sbi_images .sbi_link,
.mst-instagram-feed #sbi_images .sbi_photo {
	width: 100% !important;
	height: 100% !important;
	min-height: 0 !important;
	padding: 0 !important;
	margin: 0 !important;
}

.mst-instagram-feed #sbi_images .sbi_inner_wrap,
.mst-instagram-feed #sbi_images .sbi_photo_wrap {
	position: relative !important;
	overflow: hidden !important;
}

.mst-instagram-feed--home-sound #sbi_images,
.mst-instagram-feed--home-security #sbi_images {
	grid-template-columns: repeat(8, minmax(0, 1fr)) !important;
}

.mst-instagram-feed--home-sound .sbi_item:nth-child(n + 9),
.mst-instagram-feed--home-security .sbi_item:nth-child(n + 9) {
	display: none !important;
}

.mst-instagram-feed--service .sbi_item:nth-child(n + 16) {
	display: none !important;
}

.mst-instagram-feed .sbi_photo_wrap,
.mst-instagram-feed .sbi_photo {
	background-color: #11191a !important;
}

.mst-instagram-feed .sbi_link {
	background: rgba(4, 10, 11, 0.22) !important;
	transition: background 420ms ease !important;
}

.mst-instagram-feed .sbi_hover_top,
.mst-instagram-feed .sbi_hover_bottom,
.mst-instagram-feed .sbi_hover_caption_wrap {
	display: none !important;
}

.mst-instagram-feed .sbi_photo {
	position: relative;
	background-position: center !important;
	background-size: cover !important;
	filter: grayscale(1) saturate(0.45) brightness(0.6) contrast(1.1) !important;
	transform: scale(1.001);
	transition: filter 420ms ease, transform 650ms cubic-bezier(.2,.7,.2,1) !important;
}

.mst-instagram-feed .sbi_photo::after {
	position: absolute;
	inset: 0;
	content: "";
	background: rgba(4, 10, 11, 0.22);
	transition: background 420ms ease;
	pointer-events: none;
}

.mst-instagram-feed .sbi_item:hover .sbi_photo,
.mst-instagram-feed .sbi_item:focus-within .sbi_photo {
	filter: grayscale(0) saturate(1) brightness(0.96) contrast(1.02) !important;
	transform: scale(1.055);
}

.mst-instagram-feed .sbi_item:hover .sbi_photo::after,
.mst-instagram-feed .sbi_item:focus-within .sbi_photo::after {
	background: rgba(4, 10, 11, 0);
}

.mst-instagram-feed .sbi_item:hover .sbi_link,
.mst-instagram-feed .sbi_item:focus-within .sbi_link {
	background: transparent !important;
}

.mst-instagram-index {
	border-top: 1px solid var(--mst-line);
}

.mst-instagram-index__group {
	padding: 30px 0 36px;
	border-bottom: 1px solid var(--mst-line);
}

.mst-instagram-index__heading {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 24px;
	margin-bottom: 22px;
}

.mst-instagram-index__heading h3 {
	margin: 11px 0 0;
	font: 300 clamp(20px, 2.1vw, 31px) / 1.25 "Noto Sans JP", sans-serif;
	letter-spacing: -.045em;
}

/* Company profile and legal information use the same editorial rhythm as the home page. */
.mst-company__content,
.mst-legal__content {
	padding-bottom: clamp(76px, 11vw, 160px);
}

.mst-page-hero--company {
	position: relative;
	display: flex;
	min-height: clamp(430px, 41vw, 590px);
	align-items: stretch;
	padding: 0;
	overflow: hidden;
	background-image: linear-gradient(90deg, rgba(7, 12, 13, .96) 0%, rgba(7, 12, 13, .78) 36%, rgba(7, 12, 13, .34) 72%, rgba(7, 12, 13, .18) 100%), linear-gradient(0deg, rgba(7, 12, 13, .9) 0%, rgba(7, 12, 13, .16) 58%, rgba(7, 12, 13, .28) 100%), url("../images/company-exterior-2026-v2.jpg");
	background-position: center, center, center 52%;
	background-repeat: no-repeat;
	background-size: cover;
	isolation: isolate;
}

.mst-page-hero--company::after {
	position: absolute;
	z-index: 0;
	right: 0;
	bottom: -1px;
	left: 0;
	height: clamp(64px, 8vw, 118px);
	content: "";
	background: linear-gradient(0deg, #14191e 0%, rgba(20, 25, 30, .62) 38%, transparent 100%);
	pointer-events: none;
}

.mst-page-hero--company .mst-page-hero__inner {
	position: relative;
	z-index: 1;
	display: flex;
	min-height: inherit;
	flex-direction: column;
	justify-content: flex-end;
	padding-top: clamp(158px, 18vw, 218px);
	padding-bottom: clamp(68px, 6.4vw, 94px);
}

.mst-page-hero--company h1 {
	margin-top: 18px;
	letter-spacing: -.045em;
}

.mst-page-hero--company .mst-page-hero__inner > p:not(.mst-eyebrow) {
	max-width: 640px;
	margin: 22px 0 0;
	color: #d1d6d6;
	font-size: 13px;
	line-height: 1.9;
	letter-spacing: .035em;
}

.mst-company__intro {
	max-width: 880px;
	padding: clamp(82px, 9.5vw, 140px) 0 clamp(78px, 8.5vw, 122px);
}

.mst-company__intro h2,
.mst-company__section h2,
.mst-legal__section h2 {
	margin: 16px 0 24px;
	font: 300 clamp(28px, 3.7vw, 52px) / 1.28 "Noto Sans JP", sans-serif;
	letter-spacing: -.042em;
	text-wrap: balance;
}

.mst-company__intro > p:not(.mst-eyebrow) {
	max-width: 620px;
	margin: 0;
	color: #c4cbcb;
	font-size: 13px;
	line-height: 2.15;
}

.mst-company__section,
.mst-legal__section {
	padding: clamp(56px, 6.5vw, 92px) 0;
	border-top: 1px solid var(--mst-line);
}

.mst-company__brand,
.mst-company__access {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(260px, .7fr);
	gap: clamp(38px, 8vw, 130px);
	align-items: end;
}

.mst-company__brand h2 {
	font-family: "DM Sans", sans-serif;
	letter-spacing: -.055em;
}

.mst-company__brand > p,
.mst-company__achievements-copy > p:not(.mst-eyebrow),
.mst-company__facility-copy p,
.mst-company__access > div > p {
	margin: 0;
	color: #c4cbcb;
	font-size: 13px;
	line-height: 2;
}

.mst-company__achievements {
	display: grid;
	grid-template-columns: minmax(0, .9fr) minmax(420px, 1.1fr);
	gap: clamp(40px, 7vw, 112px);
	align-items: center;
}

.mst-company__achievements-copy h2 {
	max-width: 640px;
}

.mst-company__achievements-copy > p:not(.mst-eyebrow) {
	max-width: 510px;
	margin: 0;
}

.mst-company__achievements-figure {
	position: relative;
	margin: 0;
	overflow: hidden;
}

.mst-company__achievements-figure img {
	display: block;
	width: 100%;
	height: clamp(300px, 31vw, 455px);
	object-fit: cover;
	object-position: 55% 54%;
	filter: saturate(.68) brightness(.77) contrast(1.05);
}

.mst-company__achievements-figure::after {
	position: absolute;
	inset: 0;
	content: "";
	background: linear-gradient(90deg, var(--mst-page-bg, #14191e), transparent 18%, transparent 85%, var(--mst-page-bg, #14191e)), linear-gradient(0deg, rgba(20, 25, 30, .62), transparent 28%);
	pointer-events: none;
}

.mst-company__achievements-figure figcaption {
	position: absolute;
	z-index: 1;
	right: 6%;
	bottom: 7%;
	color: rgba(241, 243, 244, .62);
	font: 500 8px / 1 "DM Sans", sans-serif;
	letter-spacing: .18em;
}

.mst-profile-list,
.mst-legal-list {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	margin: 42px 0 0;
	border-top: 1px solid var(--mst-line);
}

.mst-profile-list > div,
.mst-legal-list > div {
	display: grid;
	grid-template-columns: minmax(105px, .38fr) 1fr;
	gap: 20px;
	padding: 20px 25px 20px 0;
	border-bottom: 1px solid var(--mst-line);
}

.mst-profile-list > div:nth-child(odd),
.mst-legal-list > div:nth-child(odd) {
	margin-right: 32px;
}

.mst-profile-list dt,
.mst-legal-list dt {
	color: var(--mst-muted);
	font: 500 10px / 1.7 "DM Sans", sans-serif;
	letter-spacing: .12em;
}

.mst-profile-list dd,
.mst-legal-list dd {
	margin: 0;
	font-size: 13px;
	line-height: 1.85;
}

.mst-profile-list a,
.mst-legal-list a {
	border-bottom: 1px solid rgba(255, 255, 255, .45);
}

.mst-company__note {
	margin: 22px 0 0;
	color: var(--mst-muted);
	font-size: 11px;
	line-height: 1.9;
}

.mst-company__profile {
	display: grid;
	grid-template-columns: minmax(250px, .72fr) minmax(520px, 1.28fr);
	gap: clamp(42px, 7vw, 112px);
	align-items: stretch;
}

.mst-company__profile-heading {
	align-self: center;
}

.mst-company__profile-heading > p:not(.mst-eyebrow) {
	max-width: 360px;
	margin: 28px 0 0;
	color: #aeb8ba;
	font-size: 12px;
	line-height: 2;
}

.mst-company__business-card {
	position: relative;
	display: grid;
	grid-template-columns: minmax(150px, .65fr) minmax(0, 1.35fr);
	gap: clamp(28px, 4vw, 64px);
	align-items: center;
	min-height: 238px;
	padding: clamp(30px, 4vw, 52px);
	overflow: hidden;
	border: 1px solid rgba(100, 202, 250, .2);
	background: radial-gradient(circle at 84% 0%, rgba(100, 202, 250, .14), transparent 42%), linear-gradient(135deg, #0d171a, #101719 62%);
	box-shadow: 0 30px 80px rgba(0, 0, 0, .18);
}

.mst-company__business-card::before {
	position: absolute;
	top: 0;
	left: clamp(30px, 4vw, 52px);
	width: 72px;
	height: 2px;
	content: "";
	background: var(--mst-cyan);
	box-shadow: 0 0 18px rgba(100, 202, 250, .4);
}

.mst-company__business-card-title {
	display: flex;
	flex-direction: column;
	gap: 14px;
}

.mst-company__business-card-title span,
.mst-company__business-card dt {
	color: var(--mst-cyan);
	font: 500 8px / 1 "DM Sans", sans-serif;
	letter-spacing: .18em;
}

.mst-company__business-card-title strong {
	color: var(--mst-paper);
	font: 300 clamp(22px, 2.4vw, 34px) / 1.2 "Noto Sans JP", sans-serif;
	letter-spacing: -.05em;
}

.mst-company__business-card dl {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 30px;
	margin: 0;
}

.mst-company__business-card dl > div {
	padding-left: 20px;
	border-left: 1px solid rgba(255, 255, 255, .13);
}

.mst-company__business-card dd {
	margin: 15px 0 0;
	color: var(--mst-paper);
	font: 300 clamp(22px, 2.6vw, 36px) / 1.25 "DM Sans", "Noto Sans JP", sans-serif;
	letter-spacing: -.035em;
}

.mst-company__business-card dl > div:first-child dd {
	font-size: clamp(23px, 2.35vw, 32px);
	white-space: nowrap;
}

.mst-company__business-card dl > div:last-child dd {
	font-family: "Noto Sans JP", sans-serif;
	font-size: clamp(14px, 1.6vw, 20px);
	line-height: 1.65;
}

.mst-company__profile .mst-profile-list,
.mst-company__profile .mst-company__note {
	grid-column: 1 / -1;
}

.mst-company__profile .mst-profile-list {
	margin-top: clamp(12px, 2vw, 28px);
}

.mst-company__profile .mst-profile-list > div {
	padding-top: 23px;
	padding-bottom: 23px;
}

.mst-company__section-heading {
	max-width: 720px;
}

.mst-company__trust-list {
	--mst-trust-gap: clamp(34px, 3vw, 52px);
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: var(--mst-trust-gap);
	margin-top: 44px;
	border-top: 1px solid var(--mst-line);
	border-bottom: 1px solid var(--mst-line);
}

.mst-company__trust-list article {
	position: relative;
	min-height: 300px;
	padding: 34px 0 38px;
}

.mst-company__trust-list article + article::before {
	position: absolute;
	top: 0;
	bottom: 0;
	left: calc(var(--mst-trust-gap) / -2);
	width: 1px;
	content: "";
	background: var(--mst-line);
}

.mst-company__trust-list h3 span {
	display: block;
}

.mst-company__trust-list h3,
.mst-company__equipment-grid h3 {
	margin: 18px 0 15px;
	font: 300 clamp(20px, 2vw, 29px) / 1.45 "Noto Sans JP", sans-serif;
	letter-spacing: -.045em;
}

.mst-company__trust-list article > p:not(.mst-eyebrow),
.mst-company__equipment-grid article > p:not(.mst-eyebrow) {
	margin: 0;
	color: #c4cbcb;
	font-size: 12px;
	line-height: 2;
}

.mst-company__facility {
	position: relative;
	display: grid;
	grid-template-columns: minmax(300px, .78fr) minmax(500px, 1.22fr);
	gap: clamp(42px, 7vw, 104px);
	align-items: center;
	padding-right: 0;
	padding-bottom: clamp(48px, 6vw, 86px);
}

.mst-company__facility-heading h2 {
	position: relative;
	z-index: 1;
	max-width: 610px;
	font-size: clamp(30px, 3.2vw, 46px);
	line-height: 1.34;
}

.mst-company__facility-copy {
	position: relative;
	z-index: 1;
	max-width: 500px;
	margin-top: 34px;
}

.mst-company__facility-figure {
	position: relative;
	margin: 0;
	overflow: hidden;
	border: 1px solid rgba(255, 255, 255, .08);
	background: #101719;
	box-shadow: 0 32px 90px rgba(0, 0, 0, .24);
}

.mst-company__facility-figure img {
	display: block;
	width: 100%;
	height: clamp(400px, 36vw, 520px) !important;
	object-fit: cover;
	object-position: 51% 55%;
	filter: saturate(.72) brightness(.79) contrast(1.04);
}

.mst-company__facility-figure::before {
	position: absolute;
	z-index: 2;
	top: 0;
	left: 0;
	width: 92px;
	height: 2px;
	content: "";
	background: var(--mst-cyan);
	pointer-events: none;
}

.mst-company__facility-figure::after {
	position: absolute;
	inset: 0;
	content: "";
	background: linear-gradient(0deg, rgba(10, 16, 18, .58), transparent 46%);
	pointer-events: none;
}

.mst-company__facility-figure figcaption {
	position: absolute;
	z-index: 1;
	right: 5%;
	bottom: 7%;
	color: rgba(241, 243, 244, .68);
	font: 500 8px / 1 "DM Sans", sans-serif;
	letter-spacing: .18em;
}

.mst-company__facility-facts {
	position: relative;
	z-index: 1;
	grid-column: 1 / -1;
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 1px;
	width: 100%;
	margin-top: clamp(54px, 6vw, 82px);
	border: 1px solid var(--mst-line);
	background: var(--mst-line);
}

.mst-company__facility-facts > div {
	display: flex;
	min-height: 154px;
	flex-direction: column;
	justify-content: flex-end;
	padding: 22px;
	background: #101719;
}

.mst-company__facility-facts strong {
	color: var(--mst-paper);
	font: 300 clamp(35px, 4.2vw, 58px) / .9 "DM Sans", sans-serif;
	letter-spacing: -.07em;
}

.mst-company__facility-facts span {
	margin-top: 12px;
	color: var(--mst-cyan);
	font: 500 8px / 1 "DM Sans", sans-serif;
	letter-spacing: .14em;
}

.mst-company__facility-facts em {
	margin-top: 8px;
	color: #c4cbcb;
	font-size: 10px;
	font-style: normal;
	line-height: 1.65;
}

.mst-company__equipment-grid {
	position: relative;
	z-index: 1;
	grid-column: 1 / -1;
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0 clamp(36px, 6vw, 94px);
	max-width: 1060px;
	margin-top: clamp(54px, 7vw, 94px);
	border-top: 1px solid var(--mst-line);
	border-bottom: 1px solid var(--mst-line);
}

.mst-company__equipment-grid article {
	padding: 30px 0;
	border-top: 1px solid var(--mst-line);
}

.mst-company__equipment-grid article:nth-child(-n + 2) {
	border-top: 0;
}

.mst-company__facility > * {
	position: relative;
	z-index: 1;
}

.mst-company__environment {
	position: relative;
	display: grid;
	grid-template-columns: minmax(0, 1.02fr) minmax(320px, .72fr);
	gap: clamp(46px, 7vw, 112px);
	align-items: end;
	min-height: clamp(620px, 52vw, 720px);
	margin: clamp(36px, 5vw, 72px) 0;
	padding: clamp(62px, 7vw, 94px) clamp(34px, 6vw, 88px) clamp(70px, 7.5vw, 104px);
	overflow: hidden;
	border: 1px solid rgba(255, 255, 255, .08);
	background: #0c1215;
	box-shadow: 0 34px 110px rgba(0, 0, 0, .24);
	isolation: isolate;
}

.mst-company__environment-visual {
	position: absolute;
	z-index: 0;
	inset: 0;
	margin: 0;
}

.mst-company__environment-visual img {
	display: block;
	width: 100%;
	height: 100% !important;
	object-fit: cover;
	object-position: center center;
	filter: saturate(.72) brightness(.72) contrast(1.06);
}

.mst-company__environment-visual::after {
	position: absolute;
	inset: 0;
	content: "";
	background: linear-gradient(90deg, rgba(7, 12, 14, .98) 0%, rgba(7, 12, 14, .95) 35%, rgba(7, 12, 14, .72) 58%, rgba(7, 12, 14, .18) 100%), linear-gradient(0deg, rgba(7, 12, 14, .92) 0%, transparent 48%, rgba(7, 12, 14, .24) 100%);
	pointer-events: none;
}

.mst-company__environment-visual figcaption {
	position: absolute;
	z-index: 1;
	right: clamp(24px, 3vw, 42px);
	bottom: 22px;
	color: rgba(241, 243, 244, .5);
	font: 500 7px / 1 "DM Sans", sans-serif;
	letter-spacing: .18em;
}

.mst-company__environment-copy,
.mst-company__environment-points {
	position: relative;
	z-index: 1;
}

.mst-company__environment-copy {
	max-width: 620px;
}

.mst-company__environment-copy h2 {
	max-width: 610px;
	margin-bottom: 28px;
	font-size: clamp(30px, 3.25vw, 47px);
	line-height: 1.38;
}

.mst-company__environment-text p,
.mst-company__environment-closing {
	max-width: 575px;
	margin: 0;
	color: #c8cecf;
	font-size: 12.5px;
	line-height: 2.05;
}

.mst-company__environment-text p + p {
	margin-top: 15px;
}

.mst-company__environment-statement {
	margin: 28px 0 22px;
	padding-left: 20px;
	border-left: 2px solid var(--mst-cyan);
	color: var(--mst-paper);
	font: 300 clamp(18px, 1.8vw, 24px) / 1.65 "Noto Sans JP", sans-serif;
	letter-spacing: -.035em;
}

.mst-company__environment-points {
	margin: 0 0 28px;
	padding: 0;
	list-style: none;
	border-top: 1px solid rgba(255, 255, 255, .18);
	border-bottom: 1px solid rgba(255, 255, 255, .18);
	background: rgba(8, 14, 16, .32);
	backdrop-filter: blur(10px);
}

.mst-company__environment-points li {
	display: grid;
	grid-template-columns: 34px 1fr;
	gap: 16px;
	align-items: center;
	padding: 18px 4px;
}

.mst-company__environment-points li + li {
	border-top: 1px solid rgba(255, 255, 255, .12);
}

.mst-company__environment-points span,
.mst-company__environment-points strong {
	color: var(--mst-cyan);
	font: 500 8px / 1 "DM Sans", sans-serif;
	letter-spacing: .15em;
}

.mst-company__environment-points div {
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.mst-company__environment-points em {
	color: #e1e5e5;
	font-size: 11px;
	font-style: normal;
	line-height: 1.5;
}

.mst-company__access {
	align-items: center;
	border-bottom: 1px solid var(--mst-line);
}

.mst-company__access h2 {
	font-size: clamp(24px, 3vw, 40px);
}

.mst-company__access-figure {
	position: relative;
	grid-column: 2;
	grid-row: 1;
	margin: 0;
	overflow: hidden;
	background: #101719;
}

.mst-company__access-figure img {
	display: block;
	width: 100%;
	height: clamp(230px, 23vw, 330px) !important;
	object-fit: cover;
	object-position: 50% 54%;
	filter: saturate(.62) brightness(.71) contrast(1.06);
}

.mst-company__access-figure::after {
	position: absolute;
	inset: 0;
	content: "";
	background: linear-gradient(90deg, rgba(20, 25, 30, .35), transparent 22%, transparent 82%, rgba(20, 25, 30, .3)), linear-gradient(0deg, rgba(20, 25, 30, .38), transparent 48%);
	pointer-events: none;
}

.mst-company__access-links {
	grid-column: 1 / -1;
	display: flex;
	align-items: center;
	gap: 28px;
	justify-self: start;
	margin-top: 10px;
}

.mst-company__access-links .mst-header__cta {
	min-height: 48px;
}

.mst-header__actions {
	display: flex;
	align-items: center;
	gap: clamp(11px, 1.2vw, 18px);
}

.mst-header__access {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	min-height: 42px;
	padding: 0 2px 0 15px;
	border-left: 1px solid rgba(255, 255, 255, .24);
	color: var(--mst-paper);
	font-size: 10px;
	font-weight: 500;
	letter-spacing: .07em;
	white-space: nowrap;
	transition: color .2s, border-color .2s;
}

.mst-header__access span {
	color: var(--mst-cyan);
	font: 500 8px / 1 "DM Sans", sans-serif;
	letter-spacing: .15em;
}

.mst-header__access:hover {
	border-color: var(--mst-cyan);
	color: var(--mst-cyan);
}

.mst-mobile-menu__actions {
	display: grid;
	gap: 22px;
}

.mst-mobile-menu__access {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	padding: 21px 0;
	border-top: 1px solid var(--mst-line);
	border-bottom: 1px solid var(--mst-line);
}

.mst-mobile-menu__access span {
	display: flex;
	flex-direction: column;
	gap: 9px;
}

.mst-mobile-menu__access small {
	color: var(--mst-cyan);
	font: 500 8px / 1 "DM Sans", sans-serif;
	letter-spacing: .16em;
}

.mst-mobile-menu__access strong {
	font: 300 17px / 1.4 "Noto Sans JP", sans-serif;
	letter-spacing: -.025em;
}

/* The dedicated access page combines the company editorial style with a practical map-first layout. */
.mst-access-page__content {
	padding-bottom: clamp(76px, 11vw, 160px);
}

.mst-page-hero--access {
	position: relative;
	display: flex;
	min-height: clamp(430px, 41vw, 590px);
	align-items: stretch;
	padding: 0;
	overflow: hidden;
	background-image: linear-gradient(90deg, rgba(7, 12, 13, .96) 0%, rgba(7, 12, 13, .76) 40%, rgba(7, 12, 13, .28) 76%, rgba(7, 12, 13, .18) 100%), linear-gradient(0deg, rgba(7, 12, 13, .92) 0%, rgba(7, 12, 13, .18) 60%, rgba(7, 12, 13, .28) 100%), url("../images/company-facility-yard-2026.jpg");
	background-position: center, center, center 54%;
	background-repeat: no-repeat;
	background-size: cover;
	isolation: isolate;
}

.mst-page-hero--access::after {
	position: absolute;
	z-index: 0;
	right: 0;
	bottom: -1px;
	left: 0;
	height: clamp(64px, 8vw, 118px);
	content: "";
	background: linear-gradient(0deg, #14191e 0%, rgba(20, 25, 30, .62) 38%, transparent 100%);
	pointer-events: none;
}

.mst-page-hero--access .mst-page-hero__inner {
	position: relative;
	z-index: 1;
	display: flex;
	min-height: inherit;
	flex-direction: column;
	justify-content: flex-end;
	padding-top: clamp(158px, 18vw, 218px);
	padding-bottom: clamp(68px, 6.4vw, 94px);
}

.mst-page-hero--access h1 {
	margin-top: 18px;
	letter-spacing: -.045em;
}

.mst-page-hero--access .mst-page-hero__inner > p:not(.mst-eyebrow) {
	max-width: 640px;
	margin: 22px 0 0;
	color: #d1d6d6;
	font-size: 13px;
	line-height: 1.9;
	letter-spacing: .035em;
}

.mst-access-page__intro {
	display: grid;
	grid-template-columns: minmax(0, .82fr) minmax(360px, 1.18fr);
	gap: clamp(42px, 8vw, 128px);
	align-items: end;
	padding-top: clamp(82px, 9.5vw, 140px);
	padding-bottom: clamp(78px, 8.5vw, 122px);
}

.mst-access-page__intro h2,
.mst-access-page__routes h2,
.mst-access-page__arrival h2,
.mst-access-page__contact h2 {
	margin: 16px 0 0;
	font: 300 clamp(28px, 3.7vw, 52px) / 1.28 "Noto Sans JP", sans-serif;
	letter-spacing: -.042em;
	text-wrap: balance;
}

.mst-access-page__intro-copy {
	max-width: 620px;
}

.mst-access-page__intro-copy p,
.mst-access-page__arrival > div > p:not(.mst-eyebrow),
.mst-access-page__contact p:not(.mst-eyebrow) {
	margin: 0;
	color: #c4cbcb;
	font-size: 13px;
	line-height: 2.15;
}

.mst-access-page__intro-copy p + p {
	margin-top: 18px;
}

.mst-access-page__map-section {
	display: grid;
	grid-template-columns: minmax(0, 1.38fr) minmax(330px, .62fr);
	min-height: 600px;
	border: 1px solid var(--mst-line);
	background: #101719;
	box-shadow: 0 34px 90px rgba(0, 0, 0, .2);
}

.mst-access-page__map-frame {
	position: relative;
	min-height: 600px;
	overflow: hidden;
	background: #e8e7e1;
}

.mst-access-page__map-frame::after {
	position: absolute;
	z-index: 1;
	top: 0;
	left: 0;
	width: 94px;
	height: 3px;
	content: "";
	background: var(--mst-cyan);
	box-shadow: 0 0 22px rgba(100, 202, 250, .48);
	pointer-events: none;
}

.mst-access-page__map-frame iframe {
	display: block;
	width: 100%;
	height: 100%;
	min-height: 600px;
	border: 0;
}

.mst-access-page__map-details {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	padding: clamp(34px, 4.2vw, 58px);
}

.mst-access-page__map-details h2 {
	margin: 15px 0 0;
	font: 300 clamp(24px, 2.7vw, 38px) / 1.3 "Noto Sans JP", sans-serif;
	letter-spacing: -.04em;
}

.mst-access-page__map-details dl {
	margin: 42px 0;
}

.mst-access-page__map-details dl > div {
	display: grid;
	grid-template-columns: 76px 1fr;
	gap: 18px;
	padding: 18px 0;
	border-top: 1px solid var(--mst-line);
}

.mst-access-page__map-details dl > div:last-child {
	border-bottom: 1px solid var(--mst-line);
}

.mst-access-page__map-details dt {
	color: var(--mst-cyan);
	font: 500 8px / 1.8 "DM Sans", sans-serif;
	letter-spacing: .16em;
}

.mst-access-page__map-details dd {
	margin: 0;
	color: #d8dddd;
	font-size: 12px;
	line-height: 1.9;
}

.mst-access-page__map-details dd a {
	border-bottom: 1px solid rgba(255, 255, 255, .4);
}

.mst-access-page__map-actions,
.mst-access-page__contact-actions {
	display: flex;
	align-items: center;
	gap: 25px;
	flex-wrap: wrap;
}

.mst-access-page__map-actions .mst-header__cta,
.mst-access-page__contact-actions .mst-header__cta {
	min-height: 48px;
}

.mst-access-page__routes {
	padding-top: clamp(90px, 10vw, 145px);
	padding-bottom: clamp(84px, 9vw, 130px);
}

.mst-access-page__section-heading {
	max-width: 680px;
}

.mst-access-page__route-grid {
	--mst-access-gap: clamp(30px, 4vw, 62px);
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: var(--mst-access-gap);
	margin-top: 48px;
	border-top: 1px solid var(--mst-line);
	border-bottom: 1px solid var(--mst-line);
}

.mst-access-page__route-grid article {
	position: relative;
	min-height: 390px;
	padding: 31px 0 38px;
}

.mst-access-page__route-grid article + article::before {
	position: absolute;
	top: 0;
	bottom: 0;
	left: calc(var(--mst-access-gap) / -2);
	width: 1px;
	content: "";
	background: var(--mst-line);
}

.mst-access-page__route-grid article > span {
	display: block;
	margin-bottom: 58px;
	color: rgba(241, 243, 244, .28);
	font: 300 38px / 1 "DM Sans", sans-serif;
	letter-spacing: -.06em;
}

.mst-access-page__route-grid h3 {
	margin: 16px 0 24px;
	font: 300 clamp(22px, 2.3vw, 32px) / 1.42 "Noto Sans JP", sans-serif;
	letter-spacing: -.045em;
}

.mst-access-page__route-grid strong {
	display: block;
	color: var(--mst-paper);
	font: 300 clamp(22px, 2.5vw, 34px) / 1 "DM Sans", "Noto Sans JP", sans-serif;
	letter-spacing: -.04em;
}

.mst-access-page__route-grid article > p:last-child {
	max-width: 330px;
	margin: 24px 0 0;
	color: #aeb8ba;
	font-size: 11px;
	line-height: 2;
}

.mst-access-page__regional {
	padding-top: clamp(76px, 8vw, 116px);
	padding-bottom: clamp(82px, 9vw, 130px);
	border-top: 1px solid var(--mst-line);
}

.mst-access-page__regional-heading {
	display: grid;
	grid-template-columns: minmax(500px, 1.1fr) minmax(340px, .9fr);
	gap: clamp(38px, 6vw, 88px);
	align-items: end;
}

.mst-access-page__regional-heading h2 {
	margin: 16px 0 0;
	font: 300 clamp(28px, 3.7vw, 52px) / 1.28 "Noto Sans JP", sans-serif;
	letter-spacing: -.042em;
}

.mst-access-page__regional-heading > p {
	max-width: 650px;
	margin: 0;
	color: #c4cbcb;
	font-size: 13px;
	line-height: 2.15;
}

.mst-access-page__regional-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1px;
	margin-top: clamp(48px, 6vw, 78px);
	border: 1px solid var(--mst-line);
	background: var(--mst-line);
}

.mst-access-page__regional-grid article {
	position: relative;
	overflow: hidden;
	min-height: 258px;
	padding: clamp(24px, 3vw, 34px);
	background: #101719;
}

.mst-access-page__regional-grid article::before {
	position: absolute;
	top: 0;
	left: clamp(24px, 3vw, 34px);
	z-index: 3;
	width: 58px;
	height: 2px;
	content: "";
	background: var(--mst-cyan);
}

.mst-access-page__regional-grid article::after {
	position: absolute;
	inset: 0;
	z-index: 1;
	content: "";
	background:
		linear-gradient(90deg, rgba(9, 15, 17, .97) 0%, rgba(9, 15, 17, .88) 48%, rgba(9, 15, 17, .62) 100%),
		linear-gradient(0deg, rgba(9, 15, 17, .76), rgba(9, 15, 17, .18));
}

.mst-access-page__regional-image {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	opacity: .62;
	filter: saturate(.72) contrast(.96);
	transform: scale(1.01);
}

.mst-access-page__regional-grid article > :not(.mst-access-page__regional-image) {
	position: relative;
	z-index: 2;
}

.mst-access-page__regional-meta {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
}

.mst-access-page__regional-meta span {
	color: var(--mst-muted);
	font: 500 9px / 1 "DM Sans", sans-serif;
	letter-spacing: .1em;
}

.mst-access-page__regional-grid h3 {
	max-width: 72%;
	margin: 27px 0 9px;
	font: 300 clamp(20px, 2.15vw, 30px) / 1.3 "Noto Sans JP", sans-serif;
	letter-spacing: -.045em;
}

.mst-access-page__regional-grid strong {
	color: var(--mst-paper);
	font: 300 clamp(31px, 3.5vw, 46px) / 1 "DM Sans", "Noto Sans JP", sans-serif;
	letter-spacing: -.055em;
}

.mst-access-page__regional-grid article > p {
	margin: 14px 0 15px;
	color: #c3cbcc;
	font-size: 11px;
	line-height: 1.72;
	text-shadow: 0 1px 12px rgba(0, 0, 0, .42);
}

.mst-access-page__regional-note {
	max-width: 820px;
	margin: 24px 0 0;
	color: var(--mst-muted);
	font-size: 10px;
	line-height: 1.9;
}

.mst-access-page__arrival {
	display: grid;
	grid-template-columns: minmax(460px, 1.12fr) minmax(300px, .88fr);
	gap: clamp(46px, 7vw, 112px);
	align-items: center;
	padding-top: clamp(72px, 8vw, 112px);
	padding-bottom: clamp(72px, 8vw, 112px);
	border-top: 1px solid var(--mst-line);
}

.mst-access-page__arrival figure {
	position: relative;
	margin: 0;
	overflow: hidden;
	background: #101719;
}

.mst-access-page__arrival figure::after {
	position: absolute;
	inset: 0;
	content: "";
	background: linear-gradient(0deg, rgba(10, 16, 18, .54), transparent 46%);
	pointer-events: none;
}

.mst-access-page__arrival img {
	display: block;
	width: 100%;
	height: clamp(390px, 37vw, 530px);
	object-fit: cover;
	object-position: 50% 55%;
	filter: saturate(.72) brightness(.82) contrast(1.04);
}

.mst-access-page__arrival figcaption {
	position: absolute;
	z-index: 1;
	right: 5%;
	bottom: 6%;
	color: rgba(241, 243, 244, .68);
	font: 500 8px / 1 "DM Sans", sans-serif;
	letter-spacing: .18em;
}

.mst-access-page__arrival h2 {
	margin-bottom: 28px;
	font-size: clamp(28px, 3.3vw, 46px);
}

.mst-access-page__arrival-note {
	margin-top: 22px !important;
	color: var(--mst-muted) !important;
	font-size: 10px !important;
}

.mst-access-page__contact {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 42px;
	margin-top: clamp(48px, 7vw, 94px);
	padding: clamp(37px, 5vw, 68px);
	border: 1px solid var(--mst-line);
	background: radial-gradient(circle at 85% 0%, rgba(100, 202, 250, .12), transparent 38%), linear-gradient(115deg, #10191b, #111718);
}

.mst-access-page__contact h2 {
	margin-bottom: 10px;
	font-size: clamp(24px, 3vw, 42px);
}

.mst-access-page__contact p:not(.mst-eyebrow) {
	max-width: 620px;
	font-size: 12px;
	line-height: 1.9;
}

@media (max-width: 1080px) {
	.mst-access-page__map-section {
		grid-template-columns: minmax(0, 1.2fr) minmax(300px, .8fr);
	}

	.mst-access-page__arrival {
		grid-template-columns: 1fr;
	}

	.mst-access-page__arrival figure {
		order: 2;
	}
}

@media (max-width: 1180px) and (min-width: 981px) {
	.mst-header__inner {
		grid-template-columns: 1fr auto;
	}

	.mst-nav--desktop,
	.mst-header__actions {
		display: none;
	}

	.mst-menu-button {
		display: block;
	}

	.mst-mobile-menu {
		position: fixed;
		z-index: 25;
		inset: 0;
		display: flex;
		flex-direction: column;
		justify-content: space-between;
		padding: 110px 28px 28px;
		background: #0b1011;
	}

	.mst-mobile-menu[hidden] {
		display: none;
	}

	.mst-mobile-menu .mst-menu {
		display: grid;
		justify-content: start;
		gap: 22px;
	}

	.mst-mobile-menu .mst-menu a {
		font: 300 clamp(25px, 4vw, 38px) / 1.1 "DM Sans", sans-serif;
		letter-spacing: 0;
		text-transform: none;
	}
}

@media (max-width: 980px) {
	.mst-header__actions {
		display: none;
	}
}

@media (max-width: 820px) {
	.mst-company__access-links {
		grid-column: auto;
		grid-row: auto;
		margin-top: 0;
	}

	.mst-access-page__intro,
	.mst-access-page__map-section,
	.mst-access-page__regional-heading {
		grid-template-columns: 1fr;
	}

	.mst-access-page__map-frame,
	.mst-access-page__map-frame iframe {
		min-height: 480px;
	}

	.mst-access-page__route-grid {
		grid-template-columns: 1fr;
	}

	.mst-access-page__route-grid article {
		min-height: 0;
	}

	.mst-access-page__route-grid article + article::before {
		display: none;
	}

	.mst-access-page__route-grid article + article {
		border-top: 1px solid var(--mst-line);
	}

	.mst-access-page__route-grid article > span {
		margin-bottom: 34px;
	}

	.mst-access-page__contact {
		align-items: flex-start;
		flex-direction: column;
	}
}

@media (max-width: 680px) {
	.mst-company__access-links,
	.mst-access-page__map-actions,
	.mst-access-page__contact-actions {
		align-items: flex-start;
		flex-direction: column;
		gap: 19px;
	}

	.mst-page-hero--access {
		min-height: 440px;
		background-image: linear-gradient(90deg, rgba(7, 12, 13, .94) 0%, rgba(7, 12, 13, .66) 60%, rgba(7, 12, 13, .38) 100%), linear-gradient(0deg, rgba(7, 12, 13, .94) 0%, rgba(7, 12, 13, .2) 64%, rgba(7, 12, 13, .3) 100%), url("../images/company-facility-yard-2026.jpg");
		background-position: center, center, 50% 50%;
	}

	.mst-page-hero--access .mst-page-hero__inner {
		padding-top: 132px;
		padding-bottom: 56px;
	}

	.mst-page-hero--access h1 {
		font-size: clamp(43px, 13vw, 54px);
		line-height: 1.05;
		letter-spacing: -.04em;
	}

	.mst-page-hero--access .mst-page-hero__inner > p:not(.mst-eyebrow) {
		max-width: 310px;
		margin-top: 18px;
		font-size: 11px;
		line-height: 1.9;
	}

	.mst-access-page__intro {
		gap: 30px;
		padding-top: 78px;
		padding-bottom: 76px;
	}

	.mst-access-page__intro h2,
	.mst-access-page__routes h2,
	.mst-access-page__arrival h2,
	.mst-access-page__regional-heading h2 {
		font-size: 29px;
		line-height: 1.36;
		letter-spacing: -.03em;
	}

	.mst-access-page__map-frame,
	.mst-access-page__map-frame iframe {
		min-height: 390px;
	}

	.mst-access-page__map-details {
		padding: 34px 26px;
	}

	.mst-access-page__routes {
		padding-top: 78px;
		padding-bottom: 76px;
	}

	.mst-access-page__route-grid {
		margin-top: 34px;
	}

	.mst-access-page__route-grid article {
		padding: 28px 0 32px;
	}

	.mst-access-page__regional {
		padding-top: 64px;
		padding-bottom: 72px;
	}

	.mst-access-page__regional-heading {
		gap: 30px;
	}

	.mst-access-page__regional-grid {
		grid-template-columns: 1fr;
		margin-top: 38px;
	}

	.mst-access-page__regional-grid article {
		min-height: 0;
		padding: 27px 26px 30px;
	}

	.mst-access-page__regional-grid article::before {
		left: 26px;
	}

	.mst-access-page__regional-grid h3 {
		max-width: 85%;
		margin-top: 28px;
	}

	.mst-access-page__arrival {
		gap: 34px;
		padding-top: 64px;
		padding-bottom: 64px;
	}

	.mst-access-page__arrival img {
		height: 330px;
	}

	.mst-access-page__contact {
		padding: 34px 26px;
	}
}
.mst-company__contact {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 35px;
	margin-top: clamp(65px, 10vw, 130px);
	padding: clamp(37px, 5vw, 68px);
	border: 1px solid var(--mst-line);
	background: linear-gradient(115deg, #10191b, #111718);
}

.mst-company__contact h2 {
	margin: 14px 0 8px;
	font: 300 clamp(24px, 3vw, 42px) / 1.2 "Noto Sans JP", sans-serif;
	letter-spacing: -.042em;
}

.mst-company__contact p:not(.mst-eyebrow) {
	margin: 0;
	color: #c4cbcb;
	font-size: 12px;
	line-height: 1.9;
}

.mst-legal__content {
	max-width: 970px;
}

.mst-legal__notice {
	max-width: 740px;
	margin: clamp(70px, 9vw, 120px) 0 0;
	padding: 20px 0 20px 22px;
	border-left: 1px solid var(--mst-cyan);
	color: #d2d8d8;
	font-size: 14px;
	line-height: 2;
}

.mst-legal__section:first-of-type {
	margin-top: clamp(46px, 6vw, 82px);
}

.mst-legal-list {
	grid-template-columns: 1fr;
}

.mst-legal-list > div,
.mst-legal-list > div:nth-child(odd) {
	grid-template-columns: minmax(185px, .38fr) 1fr;
	margin-right: 0;
	padding-right: 0;
}

.mst-legal__contact {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 30px;
	padding-top: 35px;
	border-top: 1px solid var(--mst-line);
}

.mst-legal__contact p {
	margin: 0;
	color: #c4cbcb;
	font-size: 13px;
	line-height: 1.9;
}

.mst-footer__inner {
	grid-template-columns: auto minmax(190px, .75fr) minmax(470px, 1.4fr) auto;
	gap: clamp(20px, 3vw, 48px);
	align-items: start;
}

.mst-footer__company {
	display: grid;
	gap: 8px;
	color: var(--mst-muted);
	font-size: 9px;
	letter-spacing: .045em;
	line-height: 1.7;
}

.mst-footer__name {
	color: var(--mst-paper);
	font-size: 10px;
	letter-spacing: .1em;
}

.mst-footer__company a,
.mst-footer__link-group a {
	transition: color .2s ease;
}

.mst-footer__company a:hover,
.mst-footer__link-group a:hover {
	color: var(--mst-cyan);
}

.mst-footer__social {
	display: flex;
	flex-wrap: wrap;
	gap: 7px;
	margin-top: 10px;
}

.mst-footer__social a {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	min-height: 32px;
	padding: 6px 9px;
	border: 1px solid rgba(255, 255, 255, .14);
	border-radius: 999px;
	color: var(--mst-paper);
	font-size: 9px;
	line-height: 1;
	letter-spacing: .035em;
	transition: border-color .2s ease, color .2s ease, background-color .2s ease;
}

.mst-footer__social a:hover,
.mst-footer__social a:focus-visible {
	border-color: rgba(73, 185, 232, .65);
	background: rgba(73, 185, 232, .08);
	color: var(--mst-cyan);
}

.mst-footer__social i {
	font-size: 15px;
}

.mst-footer__navigation {
	display: grid;
	grid-template-columns: repeat(3, minmax(120px, 1fr));
	gap: clamp(20px, 3vw, 42px);
}

.mst-footer__link-group {
	display: grid;
	align-content: start;
	gap: 9px;
	font-size: 9px;
	line-height: 1.6;
}

.mst-footer__link-group p {
	margin: 0 0 4px;
	color: var(--mst-muted);
	font-size: 8px;
	letter-spacing: .2em;
}

.mst-footer__link-group a {
	color: var(--mst-paper);
}

.mst-footer__copyright {
	white-space: nowrap;
}

.mst-main {
	position: relative;
}

.mst-breadcrumb {
	position: absolute;
	z-index: 25;
	top: calc(108px + env(safe-area-inset-top, 0px));
	left: 0;
	width: 100%;
	color: rgba(239, 242, 241, .62);
	pointer-events: none;
}

.mst-breadcrumb ol {
	display: flex;
	align-items: center;
	gap: 8px;
	min-width: 0;
	margin: 0 auto;
	padding-top: 0;
	padding-bottom: 0;
	overflow: hidden;
	list-style: none;
	font-size: 9px;
	line-height: 1.4;
	letter-spacing: .08em;
}

.mst-breadcrumb li {
	display: flex;
	align-items: center;
	gap: 8px;
	min-width: 0;
	white-space: nowrap;
}

.mst-breadcrumb a {
	color: inherit;
	pointer-events: auto;
	transition: color .2s ease;
}

.mst-breadcrumb a:hover {
	color: var(--mst-cyan);
}

.mst-breadcrumb [aria-current="page"] {
	overflow: hidden;
	color: rgba(239, 242, 241, .86);
	text-overflow: ellipsis;
	white-space: nowrap;
}

.mst-service-page__security-guide {
	display: grid;
	grid-template-columns: minmax(0, .95fr) minmax(300px, .75fr);
	gap: clamp(38px, 8vw, 120px);
	align-items: end;
	margin-top: clamp(70px, 9vw, 140px);
	margin-bottom: clamp(20px, 4vw, 60px);
	padding-top: clamp(38px, 5vw, 72px);
	padding-bottom: clamp(38px, 5vw, 72px);
	border-top: 1px solid var(--mst-line);
	border-bottom: 1px solid var(--mst-line);
}

.mst-service-page__security-guide h2 {
	margin: 18px 0 0;
	font: 300 clamp(31px, 4vw, 58px) / 1.2 "Noto Sans JP", sans-serif;
	letter-spacing: -.055em;
}

.mst-service-page__security-guide h2 span {
	display: block;
}

.mst-service-page__security-guide > div:last-child > p {
	margin: 0;
	color: #c4cbcb;
	font-size: 12px;
	line-height: 2;
}

.mst-service-page__security-guide .mst-underline-link {
	margin-top: 28px;
}

/* Sound Design and selected-equipment pages. */
.mst-sound-design__hero {
	position: relative;
	min-height: min(860px, 100svh);
	display: flex;
	align-items: center;
	overflow: hidden;
	background: #0c1011 url("../images/service-sound-design-v1.jpg") 56% center / cover no-repeat;
}

.mst-sound-design__hero::before {
	position: absolute;
	inset: 0;
	content: "";
	background: linear-gradient(90deg, rgba(4, 7, 8, .94) 0%, rgba(4, 7, 8, .77) 43%, rgba(4, 7, 8, .16) 100%), linear-gradient(0deg, rgba(4, 7, 8, .72), transparent 48%);
}

.mst-sound-design__hero-copy {
	position: relative;
	z-index: 1;
	padding: 160px 0 135px;
}

.mst-sound-design__hero h1 {
	max-width: 750px;
	margin: 22px 0;
	font: 300 clamp(52px, 7vw, 104px) / .98 "Noto Sans JP", sans-serif;
	letter-spacing: -.075em;
}

.mst-sound-design__hero-copy > p:not(.mst-eyebrow) {
	max-width: 510px;
	margin: 0;
	font-size: 13px;
	line-height: 2;
	letter-spacing: .04em;
}

.mst-sound-design__hero-copy .mst-underline-link {
	margin-top: 39px;
}

.mst-sound-design__hero-index {
	position: absolute;
	z-index: 1;
	right: clamp(24px, 5vw, 76px);
	bottom: 34px;
	display: flex;
	gap: 23px;
	color: var(--mst-muted);
	font: 500 9px / 1 "DM Sans", sans-serif;
	letter-spacing: .14em;
}

.mst-sound-design__hero-index a:hover {
	color: var(--mst-cyan);
}

.mst-sound-design__intro {
	max-width: 1050px;
	padding-top: clamp(85px, 12vw, 170px);
	padding-bottom: clamp(85px, 11vw, 150px);
}

.mst-sound-design__intro h2 {
	margin: 17px 0 29px;
	font: 300 clamp(30px, 4.4vw, 62px) / 1.2 "Noto Sans JP", sans-serif;
	letter-spacing: -.07em;
}

.mst-sound-design__intro > p:not(.mst-eyebrow) {
	max-width: 670px;
	margin: 0;
	color: #c7cece;
	font-size: 14px;
	line-height: 2.2;
}

.mst-sound-design__principles,
.mst-sound-design__works {
	padding: clamp(80px, 10vw, 145px) 0;
	border-top: 1px solid var(--mst-line);
}

.mst-sound-design__principle-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	border-top: 1px solid var(--mst-line);
	border-bottom: 1px solid var(--mst-line);
}

.mst-sound-design__principle-grid article {
	min-height: 285px;
	padding: 27px clamp(24px, 3vw, 47px) 35px 0;
	border-left: 1px solid var(--mst-line);
}

.mst-sound-design__principle-grid article:first-child {
	border-left: 0;
}

.mst-sound-design__principle-grid span {
	color: var(--mst-cyan);
	font: 500 10px / 1 "DM Sans", sans-serif;
	letter-spacing: .13em;
}

.mst-sound-design__principle-grid h3 {
	margin: 78px 0 13px;
	font: 300 clamp(22px, 2.2vw, 32px) / 1 "DM Sans", sans-serif;
	letter-spacing: -.05em;
}

.mst-sound-design__principle-grid p {
	max-width: 310px;
	margin: 0;
	color: #c5cccc;
	font-size: 12px;
	line-height: 2;
}

.mst-sound-design__equipment {
	padding-top: clamp(82px, 11vw, 150px);
	padding-bottom: clamp(82px, 11vw, 150px);
}

.mst-sound-design__equipment-grid,
.mst-equipment-archive__grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(260px, 365px));
	justify-content: start;
	gap: clamp(25px, 3.5vw, 48px);
}

.mst-sound-design__equipment-grid article,
.mst-equipment-archive__grid article {
	display: flex;
	flex-direction: column;
}

.mst-sound-design__equipment-image,
.mst-equipment-archive__image {
	display: block;
	min-height: 280px;
	margin-bottom: 22px;
	background: #fff;
}

.mst-sound-design__equipment-image img,
.mst-equipment-archive__image img {
	width: 100%;
	height: 100%;
	min-height: 280px;
	object-fit: contain;
	padding: 34px;
	transition: transform .45s ease;
}

.mst-sound-design__equipment-image:hover img,
.mst-equipment-archive__image:hover img {
	transform: scale(1.035);
}

.mst-sound-design__equipment-grid h3,
.mst-equipment-archive__grid h2 {
	margin: 11px 0;
	font: 300 25px / 1.15 "DM Sans", sans-serif;
	letter-spacing: -.055em;
}

.mst-sound-design__equipment-grid > article > p:not(.mst-eyebrow),
.mst-equipment-archive__grid > article > p:not(.mst-eyebrow) {
	min-height: 43px;
	margin: 0 0 24px;
	color: #c5cccc;
	font-size: 12px;
	line-height: 1.85;
}

.mst-sound-design__equipment-grid .mst-arrow-link,
.mst-equipment-archive__grid .mst-arrow-link {
	align-self: flex-start;
	margin-top: auto;
}

.mst-sound-design__works {
	background: #0d1314;
}

.mst-sound-design__works-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 12px;
}

.mst-sound-design__works-grid a,
.mst-equipment__works-grid a {
	position: relative;
	display: flex;
	align-items: flex-end;
	min-height: 330px;
	overflow: hidden;
	padding: 17px;
	background: #161d1e center / cover no-repeat;
}

.mst-sound-design__works-grid a:hover,
.mst-equipment__works-grid a:hover {
	filter: brightness(1.18);
}

.mst-sound-design__works-grid span,
.mst-equipment__works-grid span {
	position: relative;
	z-index: 1;
	max-width: 87%;
	font-size: 11px;
	line-height: 1.7;
}

.mst-sound-design__works-grid i,
.mst-equipment__works-grid i {
	position: absolute;
	right: 16px;
	top: 16px;
	color: var(--mst-cyan);
	font-size: 18px;
	font-style: normal;
}

.mst-sound-design__instagram {
	padding-top: clamp(82px, 11vw, 150px);
	padding-bottom: clamp(82px, 11vw, 150px);
}

.mst-sound-design__instagram .mst-section-heading > p {
	margin: 0;
	color: var(--mst-muted);
	font-size: 12px;
	line-height: 1.9;
	text-align: right;
}

.mst-sound-design__consultation,
.mst-equipment__consultation {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 42px;
	margin-bottom: clamp(66px, 8vw, 118px);
	padding: clamp(42px, 6vw, 78px);
	border: 1px solid var(--mst-line);
	background: linear-gradient(115deg, #10191b, #111718);
}

.mst-sound-design__consultation h2,
.mst-equipment__consultation h2 {
	margin: 15px 0;
	font: 300 clamp(29px, 3.9vw, 53px) / 1.17 "Noto Sans JP", sans-serif;
	letter-spacing: -.065em;
}

.mst-sound-design__consultation p:not(.mst-eyebrow),
.mst-equipment__consultation p:not(.mst-eyebrow) {
	max-width: 590px;
	margin: 0;
	color: #c7cece;
	font-size: 12px;
	line-height: 2;
}

.mst-equipment__hero {
	display: grid;
	grid-template-columns: minmax(0, .91fr) minmax(430px, 1.09fr);
	min-height: min(870px, 100svh);
	padding-top: 130px;
	padding-bottom: 70px;
	align-items: center;
	gap: clamp(42px, 7vw, 120px);
}

.mst-equipment__hero-copy {
	padding: 40px 0;
}

.mst-equipment__brand {
	margin: 18px 0 8px;
	color: var(--mst-muted);
	font: 400 clamp(17px, 2vw, 27px) / 1.15 "DM Sans", sans-serif;
	letter-spacing: -.035em;
}

.mst-equipment__hero h1 {
	margin: 0 0 22px;
	font: 300 clamp(43px, 5.5vw, 78px) / .98 "DM Sans", sans-serif;
	letter-spacing: -.07em;
}

.mst-equipment__lead {
	max-width: 500px;
	margin: 0 0 30px;
	color: #c8cece;
	font-size: 14px;
	line-height: 2;
}

.mst-equipment__features {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 0 0 31px;
}

.mst-equipment__features span {
	padding: 7px 10px;
	border: 1px solid var(--mst-line);
	color: var(--mst-muted);
	font-size: 9px;
	letter-spacing: .06em;
}

.mst-equipment__visual {
	min-height: clamp(410px, 54vw, 685px);
	display: grid;
	place-items: center;
	background: #fff;
}

.mst-equipment__visual img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	padding: clamp(35px, 6vw, 94px);
}

.mst-equipment--dark-visual .mst-equipment__visual {
	background:
		radial-gradient(circle at 52% 48%, rgba(137, 154, 168, .14), transparent 62%),
		linear-gradient(145deg, #151a1e, #050607 78%);
}

.mst-equipment--dark-visual .mst-equipment__visual img {
	padding: clamp(18px, 2.8vw, 44px);
}

.mst-equipment__visual-placeholder {
	width: 45%;
	aspect-ratio: 1;
	border: 1px solid #202728;
}

.mst-equipment__content {
	padding-bottom: clamp(74px, 10vw, 150px);
}

.mst-equipment__story {
	display: grid;
	grid-template-columns: minmax(0, 1.08fr) minmax(340px, .92fr);
	gap: clamp(42px, 7vw, 110px);
	align-items: center;
	padding: clamp(82px, 10vw, 142px) 0;
	border-top: 1px solid var(--mst-line);
}

.mst-equipment__story:not(.has-image) {
	grid-template-columns: minmax(0, .9fr) minmax(340px, .72fr);
}

.mst-equipment__story figure {
	margin: 0;
	aspect-ratio: 3 / 2;
	overflow: hidden;
	background: #0b0e10;
}

.mst-equipment__story figure img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.mst-equipment__story-copy h2 {
	margin: 15px 0 30px;
	font: 300 clamp(30px, 4vw, 54px) / 1.18 "Noto Sans JP", sans-serif;
	letter-spacing: -.07em;
}

.mst-equipment__story-prose {
	color: #c8cece;
	font-size: 13px;
	line-height: 2.12;
}

.mst-equipment__story-prose h2,
.mst-equipment__story-prose h3 {
	margin: 34px 0 12px;
	color: var(--mst-paper);
	font: 400 15px / 1.65 "Noto Sans JP", sans-serif;
	letter-spacing: .01em;
}

.mst-equipment__story-prose p {
	margin: 0 0 20px;
}

.mst-equipment__story-prose > *:last-child {
	margin-bottom: 0;
}

.mst-equipment__selection {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(280px, .72fr);
	gap: clamp(45px, 10vw, 160px);
	padding: clamp(74px, 10vw, 145px) 0;
	border-top: 1px solid var(--mst-line);
}

.mst-equipment__selection h2,
.mst-equipment__specification h2 {
	margin: 15px 0 0;
	font: 300 clamp(29px, 4vw, 54px) / 1.18 "Noto Sans JP", sans-serif;
	letter-spacing: -.07em;
}

.mst-equipment__selection-copy > p {
	margin: 0 0 30px;
	color: #c8cece;
	font-size: 13px;
	line-height: 2.1;
}

.mst-equipment__selection-copy dl,
.mst-equipment__specification dl {
	margin: 0;
	border-top: 1px solid var(--mst-line);
}

.mst-equipment__selection-copy dl > div,
.mst-equipment__specification dl > div {
	display: grid;
	grid-template-columns: minmax(155px, .44fr) 1fr;
	gap: 22px;
	padding: 15px 0;
	border-bottom: 1px solid var(--mst-line);
}

.mst-equipment__selection-copy dt,
.mst-equipment__specification dt {
	color: var(--mst-muted);
	font: 500 9px / 1.8 "DM Sans", sans-serif;
	letter-spacing: .12em;
}

.mst-equipment__selection-copy dd,
.mst-equipment__specification dd {
	margin: 0;
	font-size: 12px;
	line-height: 1.8;
}

.mst-equipment__specification {
	padding: clamp(64px, 8vw, 110px) 0;
	border-top: 1px solid var(--mst-line);
}

.mst-equipment__specification dl {
	max-width: 850px;
	margin-top: 38px;
}

.mst-equipment__works {
	padding: clamp(70px, 9vw, 125px) 0;
	border-top: 1px solid var(--mst-line);
}

.mst-equipment__works-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 12px;
}

.mst-equipment__works-grid a {
	min-height: 285px;
}

.mst-equipment__consultation-links {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 21px;
}

.mst-equipment-archive__grid {
	padding-bottom: clamp(82px, 12vw, 170px);
}

@media (max-width: 1080px) {
	.mst-equipment__story {
		grid-template-columns: 1fr;
	}

	.mst-equipment__story-copy {
		max-width: 720px;
	}

	.mst-company__achievements,
	.mst-company__profile,
	.mst-company__facility,
	.mst-company__environment {
		grid-template-columns: 1fr;
	}

	.mst-company__achievements,
	.mst-company__facility {
		gap: clamp(34px, 6vw, 58px);
	}

	.mst-company__achievements-copy > p:not(.mst-eyebrow),
	.mst-company__facility-copy {
		max-width: 680px;
	}

	.mst-company__achievements-figure {
		margin-right: 0;
	}

	.mst-company__achievements-figure img {
		height: clamp(360px, 52vw, 500px);
	}

	.mst-company__profile {
		gap: 40px;
	}

	.mst-company__profile-heading {
		display: block;
	}

	.mst-company__profile-heading > p:not(.mst-eyebrow) {
		margin-top: 20px;
	}

	.mst-company__business-card {
		min-height: 220px;
	}

	.mst-company__facility-figure img {
		height: clamp(390px, 54vw, 520px) !important;
	}

	.mst-company__facility-facts,
	.mst-company__equipment-grid {
		margin-top: clamp(42px, 6vw, 66px);
	}

	.mst-company__environment {
		min-height: 0;
	}

	.mst-company__environment-copy {
		max-width: 680px;
	}

	.mst-company__environment-points {
		width: min(100%, 540px);
		margin-bottom: 12px;
	}

	.mst-company__trust-list {
		grid-template-columns: 1fr;
	}

	.mst-company__trust-list article,
	.mst-company__trust-list article:first-child {
		min-height: 0;
		padding: 32px 0 34px;
		border-top: 1px solid var(--mst-line);
		border-left: 0;
	}

	.mst-company__trust-list article + article::before {
		display: none;
	}

	.mst-company__trust-list article:first-child {
		border-top: 0;
	}
}

@media (max-width: 820px) {
	.mst-company__brand,
	.mst-company__access {
		grid-template-columns: 1fr;
		gap: 34px;
	}

	.mst-company__access-figure,
	.mst-company__access > .mst-underline-link {
		grid-column: auto;
		grid-row: auto;
	}

	.mst-company__access > .mst-underline-link {
		margin-top: 0;
	}

}

@media (max-width: 680px) {
	.mst-service-rail > a.mst-service-card {
		background-position: center 42%;
	}

	.mst-vehicle--land-cruiser {
		background-image: linear-gradient(180deg, rgba(7, 12, 13, 0.92) 0%, rgba(7, 12, 13, 0.62) 100%), url("../images/service-car-security-v1.jpg");
		background-position: 54% center;
	}

	.mst-instagram-section__heading {
		align-items: flex-start;
	}

	.mst-instagram-section__heading > p {
		text-align: left;
	}

	.mst-instagram-feed #sbi_images {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		gap: 7px !important;
	}

	.mst-instagram-feed--home-sound #sbi_images,
	.mst-instagram-feed--home-security #sbi_images {
		grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
	}

	.mst-instagram-index__heading {
		align-items: flex-start;
		flex-direction: column;
		gap: 17px;
	}

	.mst-company__brand,
	.mst-company__achievements,
	.mst-company__access,
	.mst-company__facility,
	.mst-company__environment {
		grid-template-columns: 1fr;
		gap: 28px;
	}

	.mst-company__facility {
		min-height: 0;
		padding-right: 0;
	}

	.mst-company__environment {
		min-height: 0;
		margin: 28px 0;
		padding: 52px 24px 72px;
	}

	.mst-company__environment-visual img {
		object-position: 68% center;
		filter: saturate(.65) brightness(.66) contrast(1.05);
	}

	.mst-company__environment-visual::after {
		background: linear-gradient(90deg, rgba(7, 12, 14, .98) 0%, rgba(7, 12, 14, .93) 66%, rgba(7, 12, 14, .54) 100%), linear-gradient(0deg, rgba(7, 12, 14, .95) 0%, rgba(7, 12, 14, .32) 52%, rgba(7, 12, 14, .4) 100%);
	}

	.mst-company__environment-copy h2 {
		font-size: 29px;
		line-height: 1.42;
	}

	.mst-company__environment-text p,
	.mst-company__environment-closing {
		font-size: 12px;
		line-height: 2;
	}

	.mst-company__environment-statement {
		font-size: 17px;
	}

	.mst-company__environment-points {
		width: 100%;
		margin-bottom: 0;
		background: rgba(8, 14, 16, .52);
	}

	.mst-company__environment-visual figcaption {
		right: 20px;
		bottom: 20px;
	}

	.mst-company__profile {
		grid-template-columns: 1fr;
		gap: 32px;
	}

	.mst-company__profile-heading > p:not(.mst-eyebrow) {
		margin-top: 20px;
	}

	.mst-company__business-card {
		grid-template-columns: 1fr;
		gap: 32px;
		min-height: 0;
		padding: 32px 26px;
	}

	.mst-company__business-card::before {
		left: 26px;
	}

	.mst-company__business-card dl {
		grid-template-columns: 1fr;
		gap: 0;
	}

	.mst-company__business-card dl > div {
		padding: 20px 0 0;
		border-top: 1px solid rgba(255, 255, 255, .13);
		border-left: 0;
	}

	.mst-company__business-card dl > div + div {
		margin-top: 22px;
	}

	.mst-page-hero--company {
		min-height: 440px;
		padding: 0;
		background-image: linear-gradient(90deg, rgba(7, 12, 13, .94) 0%, rgba(7, 12, 13, .68) 58%, rgba(7, 12, 13, .38) 100%), linear-gradient(0deg, rgba(7, 12, 13, .94) 0%, rgba(7, 12, 13, .2) 64%, rgba(7, 12, 13, .3) 100%), url("../images/company-exterior-2026-v2.jpg");
		background-position: center, center, 50% 48%;
	}

	.mst-page-hero--company .mst-page-hero__inner {
		padding-top: 132px;
		padding-bottom: 56px;
	}

	.mst-page-hero--company h1 {
		font-size: clamp(43px, 13vw, 54px);
		line-height: 1.05;
		letter-spacing: -.04em;
	}

	.mst-page-hero--company .mst-page-hero__inner > p:not(.mst-eyebrow) {
		max-width: 290px;
		margin-top: 18px;
		font-size: 12px;
		line-height: 1.85;
	}

	.mst-company__intro {
		padding: 78px 0 76px;
	}

	.mst-company__intro h2,
	.mst-company__section h2 {
		font-size: 29px;
		line-height: 1.36;
		letter-spacing: -.03em;
	}

	.mst-company__intro h2 span {
		display: block;
	}

	.mst-company__section {
		padding: 58px 0;
	}

	.mst-company__facility-figure {
		margin-right: 0;
	}

	.mst-company__facility-figure img {
		height: 350px !important;
	}

	.mst-company__access-figure {
		grid-column: auto;
		grid-row: auto;
	}

	.mst-company__access > .mst-underline-link {
		grid-column: auto;
		margin-top: 0;
	}

	.mst-company__achievements-figure {
		margin: 0;
	}

	.mst-company__trust-list {
		grid-template-columns: 1fr;
	}

	.mst-company__trust-list article,
	.mst-company__trust-list article:first-child {
		min-height: 0;
		padding: 28px 0;
		border-top: 1px solid var(--mst-line);
		border-left: 0;
	}

	.mst-company__trust-list article:first-child {
		border-top: 0;
	}

	.mst-company__facility-facts {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.mst-company__facility-facts > div {
		min-height: 142px;
		padding: 20px 18px;
	}

	.mst-company__facility-facts strong {
		font-size: 38px;
	}

	.mst-company__equipment-grid {
		grid-template-columns: 1fr;
	}

	.mst-company__equipment-grid article,
	.mst-company__equipment-grid article:nth-child(-n + 2) {
		border-top: 1px solid var(--mst-line);
	}

	.mst-company__equipment-grid article:first-child {
		border-top: 0;
	}

	.mst-profile-list {
		grid-template-columns: 1fr;
	}

	.mst-profile-list > div,
	.mst-profile-list > div:nth-child(odd),
	.mst-legal-list > div,
	.mst-legal-list > div:nth-child(odd) {
		grid-template-columns: 94px 1fr;
		margin-right: 0;
		padding-right: 0;
	}

	.mst-company__contact,
	.mst-legal__contact {
		align-items: flex-start;
		flex-direction: column;
	}

	.mst-company__contact {
		padding: 34px 26px;
	}

	.mst-footer__inner {
		grid-template-columns: 1fr;
		gap: 15px;
	}

	.mst-footer__navigation {
		grid-template-columns: repeat(3, minmax(120px, 1fr));
		margin: 12px 0;
	}
}

@media (max-width: 980px) {
	.mst-sound-design__works-grid {
		grid-template-columns: repeat(2, 1fr);
	}

	.mst-equipment__hero,
	.mst-equipment__selection {
		grid-template-columns: 1fr;
	}

	.mst-equipment__hero {
		min-height: 0;
		padding-top: 145px;
	}

	.mst-equipment__visual {
		min-height: 510px;
	}
}

@media (max-width: 680px) {
	.mst-breadcrumb {
		top: calc(88px + env(safe-area-inset-top, 0px));
	}

	.mst-breadcrumb ol {
		gap: 6px;
		font-size: 8px;
		letter-spacing: .04em;
	}

	.mst-breadcrumb li {
		gap: 6px;
	}

	.mst-footer__navigation {
		grid-template-columns: repeat(2, minmax(110px, 1fr));
		gap: 24px 28px;
	}

	.mst-service-page__security-guide {
		grid-template-columns: 1fr;
		gap: 26px;
	}

	.mst-sound-design__hero {
		min-height: 690px;
		align-items: flex-end;
		background-position: 61% center;
	}

	.mst-sound-design__hero::before {
		background: linear-gradient(90deg, rgba(4, 7, 8, .91), rgba(4, 7, 8, .35)), linear-gradient(0deg, rgba(4, 7, 8, .94), rgba(4, 7, 8, .22) 70%);
	}

	.mst-sound-design__hero-copy {
		padding: 150px 0 104px;
	}

	.mst-sound-design__hero h1 {
		font-size: 50px;
	}

	.mst-sound-design__hero-copy > p:not(.mst-eyebrow) {
		font-size: 11px;
	}

	.mst-sound-design__hero-index {
		left: 20px;
		right: auto;
		bottom: 34px;
		gap: 17px;
	}

	.mst-sound-design__intro h2 {
		font-size: 29px;
	}

	.mst-sound-design__intro > p:not(.mst-eyebrow) {
		font-size: 12px;
	}

	.mst-sound-design__principle-grid,
	.mst-sound-design__works-grid,
	.mst-equipment__works-grid {
		grid-template-columns: 1fr;
	}

	.mst-sound-design__principle-grid article,
	.mst-sound-design__principle-grid article:first-child {
		min-height: 0;
		padding: 25px 0 35px;
		border-left: 0;
		border-top: 1px solid var(--mst-line);
	}

	.mst-sound-design__principle-grid article:first-child {
		border-top: 0;
	}

	.mst-sound-design__principle-grid h3 {
		margin-top: 48px;
	}

	.mst-sound-design__equipment-grid,
	.mst-equipment-archive__grid {
		grid-template-columns: 1fr;
	}

	.mst-sound-design__equipment-image,
	.mst-equipment-archive__image,
	.mst-sound-design__equipment-image img,
	.mst-equipment-archive__image img {
		min-height: 250px;
	}

	.mst-sound-design__works-grid a,
	.mst-equipment__works-grid a {
		min-height: 255px;
	}

	.mst-sound-design__instagram .mst-section-heading > p {
		text-align: left;
	}

	.mst-sound-design__consultation,
	.mst-equipment__consultation {
		align-items: flex-start;
		flex-direction: column;
	}

	.mst-equipment__hero {
		padding-top: 120px;
		padding-bottom: 48px;
	}

	.mst-equipment__hero h1 {
		font-size: 43px;
	}

	.mst-equipment__visual {
		min-height: 340px;
	}

	.mst-equipment__selection h2,
	.mst-equipment__specification h2 {
		font-size: 29px;
	}

	.mst-equipment__selection-copy dl > div,
	.mst-equipment__specification dl > div {
		grid-template-columns: 1fr;
		gap: 5px;
	}

	.mst-equipment__works .mst-section-heading {
		gap: 17px;
	}
}
.mst-skip-link {
	position: fixed;
	z-index: 10000;
	top: 12px;
	left: 12px;
	padding: 12px 18px;
	background: #f1f2ed;
	color: #071012;
	font-size: 14px;
	font-weight: 700;
	transform: translateY(-160%);
	transition: transform .18s ease;
}

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

.mst-site :is(a, button, input, select, textarea):focus-visible {
	outline: 2px solid #64cafa;
	outline-offset: 4px;
}

/* The Instagram embed ships a more specific outline:none rule. Restore the
   same visible keyboard focus treatment inside that third-party surface. */
.mst-site #sb_instagram :is(a, button):focus-visible {
	outline: 2px solid #64cafa !important;
	outline-offset: 4px !important;
}
