.loc-page {
	background: #f5f9ff;
	color: #163055;
}

.loc-page a {
	text-decoration: none;
}

.loc-page .hy-shell {
	width: min(1368px, calc(100% - 64px));
	margin: 0 auto;
}

.loc-page > .loc-header {
	display: none;
}

.loc-page .hy-header .hy-shell {
	width: min(1200px, calc(100% - 48px));
}

.loc-header {
	position: sticky;
	top: 0;
	z-index: 50;
	background: rgba(255, 255, 255, 0.95);
	backdrop-filter: blur(14px);
	border-bottom: 1px solid rgba(218, 229, 247, 0.9);
	box-shadow: none;
}

.loc-header-inner {
	height: 66px;
	display: grid;
	grid-template-columns: 300px minmax(0, 1fr) 190px;
	align-items: center;
	gap: 18px;
}

.loc-brand {
	display: inline-flex;
	align-items: center;
	gap: 12px;
	color: inherit;
}

.loc-brand-mark {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 32px;
	height: 32px;
	border-radius: 6px;
	background: linear-gradient(180deg, #1e79ff, #2f5fed);
	color: #fff;
	font-size: 20px;
	font-weight: 900;
	box-shadow: 0 10px 18px rgba(35, 97, 222, 0.2);
}

.loc-brand-text {
	display: flex;
	align-items: center;
	gap: 12px;
}

.loc-brand-text strong::after {
	content: "";
	display: inline-block;
	width: 1px;
	height: 16px;
	margin-left: 12px;
	background: #27364f;
	vertical-align: -2px;
}

.loc-brand-text strong {
	font-size: 15px;
	line-height: 1.1;
	color: #203456;
}

.loc-brand-text em {
	color: #1d2b43;
	font-size: 16px;
	font-weight: 800;
	font-style: normal;
}

.loc-nav {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 28px;
	min-width: 0;
}

.loc-nav a {
	position: relative;
	padding: 10px 4px;
	color: #23334f;
	font-size: 14px;
	font-weight: 700;
	white-space: nowrap;
}

.loc-nav a.active {
	color: #1f69f1;
}

.loc-nav a.active::after {
	content: "";
	position: absolute;
	left: 50%;
	bottom: 2px;
	width: 30px;
	height: 3px;
	border-radius: 999px;
	background: linear-gradient(90deg, #1d6eff, #3b7fff);
	transform: translateX(-50%);
}

.loc-actions {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 10px;
}

.loc-login,
.loc-primary,
.loc-secondary {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 34px;
	padding: 0 16px;
	border-radius: 8px;
	font-size: 14px;
	font-weight: 800;
	transition: transform .2s ease, box-shadow .2s ease, background .2s ease;
}

.loc-login {
	border: 1px solid #bcd0f8;
	background: #fff;
	color: #2b5fd8;
}

.loc-primary {
	border: 1px solid #2f6ef1;
	background: linear-gradient(180deg, #2f6ef1, #2263ea);
	color: #fff;
	box-shadow: 0 12px 22px rgba(38, 100, 229, 0.18);
}

.loc-secondary {
	border: 1px solid #bcd0f8;
	background: #fff;
	color: #2b5fd8;
}

.loc-login:hover,
.loc-primary:hover,
.loc-secondary:hover {
	transform: translateY(-1px);
}

.loc-main {
	padding-bottom: 26px;
}

.loc-hero {
	position: relative;
	overflow: hidden;
	padding: 46px 0 44px;
	background:
		linear-gradient(105deg, rgba(255,255,255,0.96) 0 33%, rgba(230,242,255,0.92) 55%, rgba(210,232,255,0.94) 100%);
}

.loc-hero::before {
	content: "";
	position: absolute;
	inset: 0;
	background:
		linear-gradient(rgba(45,110,240,.055) 1px, transparent 1px),
		linear-gradient(90deg, rgba(45,110,240,.045) 1px, transparent 1px),
		radial-gradient(circle at 66% 42%, rgba(45, 110, 240, .14), transparent 30%);
	background-size: 44px 44px, 44px 44px, auto;
	pointer-events: none;
}

.loc-hero-inner {
	position: relative;
	z-index: 1;
	display: grid;
	grid-template-columns: 545px minmax(0, 1fr);
	gap: 24px;
	align-items: center;
}

.loc-copy {
	padding: 12px 0 0;
}

.loc-copy h1 {
	margin: 0 0 16px;
	font-size: clamp(30px, 3.05vw, 40px);
	line-height: 1.06;
	letter-spacing: 0;
	color: #0f2347;
	font-weight: 900;
}

.loc-copy > p {
	max-width: 540px;
	margin: 0;
	color: #5d6a7f;
	font-size: 15px;
	line-height: 1.9;
}

.loc-search {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 54px;
	align-items: center;
	height: 44px;
	max-width: 486px;
	margin-top: 22px;
	padding: 0 8px 0 16px;
	border-radius: 9px;
	background: rgba(255,255,255,0.98);
	border: 1px solid #c7d7f4;
	box-shadow: 0 10px 20px rgba(36, 95, 196, 0.08);
}

.loc-search input {
	width: 100%;
	height: 100%;
	border: 0;
	outline: none;
	background: transparent;
	color: #23344f;
	font-size: 14px;
}

.loc-search input::placeholder {
	color: #a0afc3;
}

.loc-search button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	border: 0;
	border-radius: 8px;
	background: linear-gradient(180deg, #2b78ff, #1f62ef);
	color: #fff;
	font-size: 15px;
	cursor: pointer;
}

.loc-tags {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin-top: 14px;
}

.loc-tags a {
	display: inline-flex;
	align-items: center;
	height: 28px;
	padding: 0 12px;
	border-radius: 8px;
	border: 1px solid rgba(42, 112, 241, 0.22);
	background: rgba(42, 112, 241, 0.06);
	color: #2b61d9;
	font-size: 13px;
	font-weight: 800;
}

.loc-cta {
	display: flex;
	gap: 14px;
	margin-top: 36px;
}

.loc-primary.big,
.loc-secondary.big {
	min-width: 160px;
	height: 54px;
	border-radius: 8px;
	font-size: 15px;
}

.loc-secondary.big {
	background: #fff;
}

.loc-visual {
	position: relative;
	display: block;
	min-height: 360px;
}

.loc-badges {
	position: absolute;
	left: 0;
	top: 46px;
	z-index: 4;
	display: grid;
	gap: 14px;
}

.loc-badges span {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 84px;
	min-height: 42px;
	padding: 0 12px;
	border-radius: 10px;
	border: 1px solid rgba(42, 112, 241, 0.16);
	background: rgba(255,255,255,0.9);
	color: #2c69f1;
	font-size: 13px;
	font-weight: 800;
	box-shadow: 0 10px 16px rgba(40, 97, 206, 0.06);
}

.loc-illustration {
	position: relative;
	width: 520px;
	height: 360px;
	margin: 0 auto;
	border-radius: 0;
	background:
		radial-gradient(circle at 56% 44%, rgba(95, 159, 255, 0.24), transparent 35%),
		linear-gradient(180deg, rgba(247,251,255,0.16), rgba(229,239,255,0.08));
	box-shadow: none;
}

.loc-illustration::before {
	content: "";
	position: absolute;
	inset: 20px 24px 22px 26px;
	border-radius: 22px;
	background:
		radial-gradient(circle at 50% 52%, rgba(255,255,255,0.9) 0 28%, rgba(218,233,255,0.26) 60%, transparent 80%);
	pointer-events: none;
}

.loc-server {
	position: absolute;
	left: 86px;
	top: 32px;
	width: 120px;
	height: 200px;
	border-radius: 16px;
	background:
		linear-gradient(180deg, #fdfefe, #bcd1ff 6%, #fbfdff 6%, #fbfdff 18%, #dce8ff 18%, #dce8ff 20%, #fdfefe 20%, #fdfefe 33%, #dce8ff 33%, #dce8ff 35%, #fdfefe 35%),
		linear-gradient(180deg, #f7fbff, #d3e0ff);
	border: 1px solid rgba(127, 158, 235, 0.28);
	box-shadow: 0 16px 28px rgba(61, 98, 190, 0.14);
}

.loc-server::before {
	content: "";
	position: absolute;
	left: 16px;
	right: 16px;
	top: 14px;
	height: 34px;
	border-radius: 10px;
	background: linear-gradient(180deg, rgba(51, 122, 255, 0.12), rgba(51, 122, 255, 0.04));
	box-shadow: inset 0 0 0 1px rgba(51, 122, 255, 0.08);
}

.loc-server::after {
	content: "";
	position: absolute;
	left: 20px;
	right: 20px;
	bottom: 16px;
	height: 12px;
	border-radius: 999px;
	background: linear-gradient(180deg, #e8efff, #d7e4ff);
}

.loc-screen {
	position: absolute;
	right: 34px;
	top: 58px;
	width: 168px;
	height: 128px;
	border-radius: 14px;
	background:
		linear-gradient(180deg, rgba(245,249,255,0.98), rgba(222,235,255,0.92));
	border: 1px solid rgba(110, 145, 235, 0.28);
	box-shadow: 0 18px 26px rgba(63, 95, 187, 0.14);
	overflow: hidden;
}

.loc-screen-bar {
	height: 18px;
	background: linear-gradient(180deg, #2947a9, #1d2f74);
}

.loc-screen-chart {
	position: absolute;
	left: 16px;
	top: 38px;
	width: 50px;
	height: 68px;
	border-radius: 10px;
	background:
		linear-gradient(180deg, rgba(47, 116, 255, 0.18), rgba(47, 116, 255, 0.04));
	box-shadow: inset 0 0 0 1px rgba(47, 116, 255, 0.1);
}

.loc-screen-chart::before,
.loc-screen-chart::after {
	content: "";
	position: absolute;
	left: 10px;
	right: 10px;
	border-radius: 999px;
	background: rgba(47, 116, 255, 0.35);
}

.loc-screen-chart::before {
	top: 16px;
	height: 14px;
	box-shadow: 0 18px 0 rgba(47, 116, 255, 0.2), 0 36px 0 rgba(47, 116, 255, 0.32);
}

.loc-screen-chart.is-donut {
	left: auto;
	right: 12px;
	width: 66px;
	height: 68px;
	border-radius: 50%;
	background:
		radial-gradient(circle at 50% 50%, rgba(255,255,255,0.96) 0 22%, transparent 23%),
		conic-gradient(#2c73ff 0 34%, #62d0ff 34% 52%, #8d63ff 52% 72%, #d7e4ff 72% 100%);
}

.loc-screen-chart.is-donut::before,
.loc-screen-chart.is-donut::after {
	display: none;
}

.loc-chip {
	position: absolute;
	left: 92px;
	bottom: 24px;
	display: inline-flex;
	align-items: center;
	height: 38px;
	padding: 0 18px;
	border-radius: 10px;
	background: linear-gradient(180deg, #2f6ef1, #2460e2);
	color: #fff;
	font-size: 13px;
	font-weight: 900;
	box-shadow: 0 12px 22px rgba(34, 90, 200, 0.22);
}

.loc-shield {
	position: absolute;
	left: 138px;
	top: 72px;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 66px;
	height: 80px;
	background: linear-gradient(180deg, #6ea2ff, #2d6df2);
	clip-path: polygon(50% 0, 92% 16%, 92% 54%, 50% 100%, 8% 54%, 8% 16%);
	box-shadow: 0 16px 30px rgba(41, 93, 206, 0.24);
}

.loc-shield i {
	color: #fff;
	font-size: 28px;
}

.loc-cloud {
	position: absolute;
	border-radius: 50%;
	background: rgba(255,255,255,0.84);
	filter: blur(0.2px);
}

.loc-cloud::before,
.loc-cloud::after {
	content: "";
	position: absolute;
	border-radius: 50%;
	background: inherit;
}

.loc-cloud-a {
	right: 28px;
	top: 22px;
	width: 54px;
	height: 30px;
}

.loc-cloud-a::before {
	left: 8px;
	top: -10px;
	width: 28px;
	height: 28px;
}

.loc-cloud-a::after {
	left: 24px;
	top: -16px;
	width: 24px;
	height: 24px;
}

.loc-cloud-b {
	right: 18px;
	bottom: 30px;
	width: 38px;
	height: 20px;
}

.loc-cloud-b::before {
	left: 4px;
	top: -8px;
	width: 18px;
	height: 18px;
}

.loc-cloud-b::after {
	left: 16px;
	top: -10px;
	width: 14px;
	height: 14px;
}

.loc-sidecard {
	position: absolute;
	right: 0;
	top: 50px;
	z-index: 5;
	width: 168px;
	padding: 18px 16px;
	border-radius: 16px;
	background: rgba(255,255,255,0.92);
	border: 1px solid rgba(214, 228, 248, 0.96);
	box-shadow: 0 18px 34px rgba(57, 91, 155, 0.11);
}

.loc-sidecard h3 {
	margin: 0 0 16px;
	color: #18325c;
	font-size: 18px;
	font-weight: 900;
}

.loc-sidecard ul {
	display: grid;
	gap: 12px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.loc-sidecard li {
	display: grid;
	grid-template-columns: 28px minmax(0, 1fr);
	gap: 10px;
	align-items: center;
	color: #3e557c;
	font-size: 14px;
	font-weight: 700;
}

.loc-sidecard i {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 28px;
	height: 28px;
	border-radius: 8px;
	background: rgba(45, 110, 240, 0.12);
	color: #2d6ef0;
	font-size: 13px;
}

.loc-section {
	padding: 24px 0 0;
}

.loc-section > .hy-shell {
	padding: 20px 22px 22px;
	border-radius: 18px;
	background: rgba(255,255,255,0.97);
	border: 1px solid #e3edfb;
	box-shadow: 0 14px 36px rgba(44, 86, 150, 0.08);
}

.loc-section-head {
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 18px;
}

.loc-section-head.center h2 {
	position: relative;
	padding: 0 18px;
	font-size: 24px;
	line-height: 1.2;
	color: #12264a;
	font-weight: 900;
}

.loc-section-head.center h2::before,
.loc-section-head.center h2::after {
	content: "•";
	position: absolute;
	top: 50%;
	color: #2d6ef0;
	font-size: 24px;
	line-height: 1;
	transform: translateY(-50%);
}

.loc-section-head.center h2::before {
	left: -2px;
}

.loc-section-head.center h2::after {
	right: -2px;
}

.loc-value-section .loc-section-head {
	margin-bottom: 10px;
}

.loc-value-grid {
	display: grid;
	grid-template-columns: repeat(6, minmax(0, 1fr));
	gap: 14px;
}

.loc-value-card,
.loc-core-card,
.loc-preview-card,
.loc-scene-card,
.loc-faq-item {
	background: rgba(255,255,255,0.96);
	border: 1px solid #d9e6fb;
	box-shadow: 0 12px 28px rgba(57, 91, 155, 0.08);
}

.loc-value-card {
	min-height: 170px;
	padding: 20px 18px 18px;
	border-radius: 12px;
	text-align: center;
}

.loc-value-card i {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 38px;
	height: 38px;
	border-radius: 12px;
	background: linear-gradient(180deg, #3f84ff, #2a63ea);
	color: #fff;
	font-size: 18px;
	box-shadow: 0 12px 20px rgba(42, 99, 234, 0.18);
}

.loc-value-card h3 {
	margin: 12px 0 8px;
	color: #12264a;
	font-size: 16px;
	line-height: 1.4;
	font-weight: 900;
}

.loc-value-card p {
	margin: 0;
	color: #627389;
	font-size: 13px;
	line-height: 1.75;
}

.loc-core-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 14px;
}

.loc-core-card {
	padding: 18px 18px 16px;
	border-radius: 12px;
}

.loc-core-title h3 {
	margin: 0 0 2px;
	color: #1661e6;
	font-size: 18px;
	font-weight: 900;
}

.loc-core-title span {
	color: #71839c;
	font-size: 13px;
}

.loc-logo-row,
.loc-tags-sm {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-top: 14px;
}

.loc-logo-row em,
.loc-tags-sm span {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 34px;
	padding: 0 12px;
	border-radius: 10px;
	background: #fff;
	border: 1px solid #dbe7fb;
	color: #4b5d7a;
	font-size: 13px;
	font-style: normal;
	font-weight: 700;
}

.loc-arch-section .loc-section-head {
	margin-bottom: 12px;
}

.loc-arch-grid {
	display: grid;
	grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr);
	gap: 16px;
}

.loc-arch-panel,
.loc-process-panel {
	padding: 16px;
	border-radius: 16px;
	background: rgba(255,255,255,0.96);
	border: 1px solid #d9e6fb;
	box-shadow: 0 12px 28px rgba(57, 91, 155, 0.08);
}

.loc-arch-row {
	display: grid;
	grid-template-columns: 110px minmax(0, 1fr);
	gap: 10px;
	align-items: center;
	margin-bottom: 10px;
}

.loc-arch-row span {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 34px;
	padding: 0 10px;
	border-radius: 10px;
	background: #1f69f1;
	color: #fff;
	font-size: 13px;
	font-weight: 900;
}

.loc-arch-bar {
	display: flex;
	align-items: center;
	min-height: 34px;
	padding: 8px 14px;
	border-radius: 10px;
	background: #f5f9ff;
	border: 1px solid #dbe7fb;
	color: #4b5d7a;
	font-size: 13px;
	font-weight: 700;
}

.loc-arch-chips,
.loc-arch-tags {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.loc-arch-chips b,
.loc-arch-tags span {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 32px;
	padding: 0 10px;
	border-radius: 10px;
	border: 1px solid #d7e4f8;
	background: #fff;
	color: #4b5d7a;
	font-size: 12px;
	font-weight: 700;
}

.loc-arch-tags {
	margin-top: 6px;
}

.loc-process-title {
	color: #12264a;
	font-size: 18px;
	font-weight: 900;
	text-align: center;
	margin-bottom: 8px;
}

.loc-process-line {
	display: grid;
	grid-template-columns: repeat(7, 1fr);
	gap: 8px;
	margin: 14px 0 16px;
}

.loc-process-line span {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 28px;
	height: 28px;
	margin: 0 auto;
	border-radius: 50%;
	background: linear-gradient(180deg, #fff, #f1f6ff);
	border: 1px solid #d7e4f8;
	color: #2b6ef0;
	font-weight: 900;
	box-shadow: 0 8px 14px rgba(57, 91, 155, 0.08);
}

.loc-process-list {
	display: grid;
	grid-template-columns: repeat(7, minmax(0, 1fr));
	gap: 8px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.loc-process-list li {
	text-align: center;
	padding-top: 6px;
}

.loc-process-list strong {
	display: block;
	margin-bottom: 6px;
	color: #12264a;
	font-size: 13px;
	font-weight: 900;
}

.loc-process-list em {
	display: block;
	color: #6a7b95;
	font-size: 12px;
	font-style: normal;
	line-height: 1.65;
}

.loc-preview-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 16px;
}

.loc-preview-card {
	padding: 14px;
	border-radius: 14px;
}

.loc-preview-card h3 {
	margin: 0 0 10px;
	color: #16325d;
	font-size: 15px;
	font-weight: 900;
}

.loc-preview-mock {
	display: grid;
	grid-template-columns: 46px minmax(0, 1fr);
	gap: 10px;
	height: 138px;
	padding: 10px;
	border-radius: 12px;
	background: linear-gradient(180deg, #f8fbff, #edf4ff);
	border: 1px solid #d9e6fb;
}

.loc-preview-mock .sidebar {
	border-radius: 10px;
	background:
		linear-gradient(180deg, #153c7e, #0f2a57);
	position: relative;
}

.loc-preview-mock .sidebar::before,
.loc-preview-mock .sidebar::after {
	content: "";
	position: absolute;
	left: 9px;
	right: 9px;
	height: 8px;
	border-radius: 999px;
	background: rgba(255,255,255,0.86);
}

.loc-preview-mock .sidebar::before {
	top: 12px;
}

.loc-preview-mock .sidebar::after {
	top: 34px;
	box-shadow: 0 22px 0 rgba(255,255,255,0.86), 0 44px 0 rgba(255,255,255,0.86);
}

.loc-preview-mock .sidebar.narrow::after {
	box-shadow: 0 18px 0 rgba(255,255,255,0.86), 0 36px 0 rgba(255,255,255,0.86);
}

.loc-preview-mock .content {
	display: grid;
	gap: 10px;
}

.loc-preview-mock .topbar {
	height: 18px;
	border-radius: 8px;
	background: linear-gradient(180deg, #d8e6ff, #eff5ff);
}

.loc-preview-mock .chart {
	flex: 1;
	border-radius: 10px;
	background:
		radial-gradient(circle at 72% 28%, rgba(44, 111, 241, 0.18), transparent 11%),
		linear-gradient(180deg, #fff, #f5f9ff);
	border: 1px solid #dce7fb;
	position: relative;
	overflow: hidden;
}

.loc-preview-mock .chart::before {
	content: "";
	position: absolute;
	left: 14px;
	bottom: 14px;
	width: 34px;
	height: 68px;
	border-radius: 8px 8px 0 0;
	background: linear-gradient(180deg, rgba(44,111,241,0.8), rgba(44,111,241,0.15));
	box-shadow: 48px 14px 0 0 rgba(68, 184, 255, 0.8), 98px -6px 0 0 rgba(90, 117, 255, 0.45);
}

.loc-preview-mock .chart.line::before {
	left: 18px;
	right: 18px;
	top: auto;
	width: auto;
	height: 2px;
	border-radius: 999px;
	background: linear-gradient(90deg, #2d6ef0, #42c3ff, #7c5cff);
	box-shadow: none;
	bottom: 24px;
}

.loc-preview-mock .chart.line::after {
	content: "";
	position: absolute;
	left: 18px;
	right: 18px;
	bottom: 20px;
	height: 1px;
	background: linear-gradient(90deg, #d7e4fb, #d7e4fb);
	box-shadow: 0 -26px 0 #d7e4fb, 0 -52px 0 #d7e4fb, 0 -78px 0 #d7e4fb;
}

.loc-preview-mock .table {
	flex: 1;
	border-radius: 10px;
	background:
		linear-gradient(180deg, #fff, #f7fbff);
	border: 1px solid #dce7fb;
	position: relative;
}

.loc-preview-mock .table::before,
.loc-preview-mock .table::after {
	content: "";
	position: absolute;
	left: 12px;
	right: 12px;
	height: 8px;
	border-radius: 999px;
	background: linear-gradient(90deg, #2d6ef0, #d4e2fb);
}

.loc-preview-mock .table::before {
	top: 14px;
	box-shadow: 0 18px 0 #dbe7fb, 0 36px 0 #dbe7fb;
}

.loc-preview-mock .table::after {
	display: none;
}

.loc-preview-mock .table.compact::before {
	box-shadow: 0 16px 0 #dbe7fb, 0 32px 0 #dbe7fb, 0 48px 0 #dbe7fb;
}

.loc-scene-grid {
	display: grid;
	grid-template-columns: repeat(6, minmax(0, 1fr));
	gap: 16px;
}

.loc-scene-card {
	padding: 10px 10px 12px;
	border-radius: 12px;
}

.loc-scene-photo {
	height: 102px;
	border-radius: 10px;
	background-size: cover;
	background-position: center;
}

.loc-scene-photo.is-government {
	background-image: url("../images/localization-scene-government.png");
}

.loc-scene-photo.is-state {
	background-image: url("../images/localization-scene-state.png");
}

.loc-scene-photo.is-power {
	background-image: url("../images/localization-scene-power.png");
}

.loc-scene-photo.is-hospital {
	background-image: url("../images/localization-scene-hospital.png");
}

.loc-scene-photo.is-education {
	background-image: url("../images/localization-scene-education.png");
}

.loc-scene-photo.is-enterprise {
	background-image: url("../images/localization-scene-enterprise.png");
}

.loc-scene-card h3 {
	margin: 10px 0 6px;
	color: #16325d;
	font-size: 15px;
	font-weight: 900;
}

.loc-scene-card p {
	margin: 0;
	color: #6c7c93;
	font-size: 12px;
	line-height: 1.7;
}

.loc-faq-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 10px;
}

.loc-faq-item {
	overflow: hidden;
	border-radius: 12px;
}

.loc-faq-item summary {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	min-height: 38px;
	padding: 0 14px;
	list-style: none;
	color: #394d70;
	font-size: 13px;
	font-weight: 800;
	cursor: pointer;
}

.loc-faq-item summary::-webkit-details-marker {
	display: none;
}

.loc-faq-item summary::before {
	content: "";
	width: 10px;
	height: 10px;
	margin-right: 10px;
	border-radius: 50%;
	background: linear-gradient(180deg, #2d6ef0, #4bc0ff);
	box-shadow: 0 0 0 4px rgba(45, 110, 240, 0.08);
	flex: 0 0 auto;
}

.loc-faq-item summary::after {
	content: "\f078";
	font-family: "Font Awesome 6 Free";
	font-weight: 900;
	color: #7f8faa;
	font-size: 12px;
	margin-left: auto;
}

.loc-faq-item[open] summary::after {
	content: "\f077";
}

.loc-faq-item div {
	padding: 0 14px 14px 34px;
	color: #64748c;
	font-size: 13px;
	line-height: 1.75;
}

.loc-cta {
	padding: 28px 0 0;
}

.loc-cta-inner {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 320px auto;
	gap: 18px;
	align-items: center;
	min-height: 116px;
	padding: 22px 34px;
	border-radius: 16px;
	background: linear-gradient(90deg, #225ddd 0%, #2467e9 48%, #174cbe 100%);
	box-shadow: 0 18px 36px rgba(27, 85, 202, 0.24);
	color: #fff;
}

.loc-cta-copy h2 {
	margin: 0 0 8px;
	font-size: 21px;
	line-height: 1.25;
	font-weight: 900;
}

.loc-cta-copy p {
	margin: 0;
	color: rgba(255,255,255,0.9);
	font-size: 13px;
	line-height: 1.8;
}

.loc-cta-points {
	display: flex;
	justify-content: center;
	gap: 18px;
	flex-wrap: wrap;
}

.loc-cta-points span {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-size: 13px;
	font-weight: 800;
	color: rgba(255,255,255,0.96);
}

.loc-cta-points i {
	font-size: 20px;
}

.loc-cta-actions {
	display: flex;
	gap: 12px;
	justify-content: flex-end;
}

.loc-cta-actions .loc-primary,
.loc-cta-actions .loc-secondary {
	min-width: 120px;
	height: 40px;
}

.loc-cta-actions .loc-secondary {
	background: rgba(255,255,255,0.1);
	color: #fff;
	border-color: rgba(255,255,255,0.22);
}

.loc-footer {
	display: none;
	padding: 18px 0 28px;
	background: #0f2450;
	color: rgba(255,255,255,0.9);
}

.loc-footer-inner {
	display: grid;
	grid-template-columns: 1.4fr .8fr .8fr .8fr;
	gap: 18px;
	padding-top: 8px;
}

.loc-footer-brand {
	display: flex;
	align-items: center;
	gap: 10px;
	margin-bottom: 10px;
}

.loc-footer-brand .loc-brand-mark {
	width: 34px;
	height: 34px;
	border-radius: 8px;
}

.loc-footer-brand strong {
	display: block;
	font-size: 18px;
	color: #fff;
}

.loc-footer-brand em {
	display: block;
	font-size: 12px;
	font-style: normal;
	color: rgba(255,255,255,0.72);
}

.loc-footer p {
	margin: 0;
	font-size: 13px;
	line-height: 1.9;
	color: rgba(255,255,255,0.78);
}

.loc-footer h3 {
	margin: 0 0 12px;
	font-size: 16px;
	color: #fff;
}

.loc-footer a,
.loc-footer span {
	display: block;
	margin-bottom: 8px;
	color: rgba(255,255,255,0.82);
	font-size: 13px;
	line-height: 1.7;
}

.loc-footer-bottom {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding-top: 14px;
	margin-top: 12px;
	border-top: 1px solid rgba(255,255,255,0.12);
	font-size: 12px;
	color: rgba(255,255,255,0.72);
}

@media (min-width: 1181px) {
	.loc-main {
		padding-bottom: 0;
	}

	.loc-hero {
		padding: 38px 0 34px;
		background:
			linear-gradient(90deg, rgba(248,252,255,0.96) 0%, rgba(231,241,255,0.88) 48%, rgba(214,231,255,0.94) 100%),
			radial-gradient(circle at 73% 35%, rgba(76, 143, 255, 0.2), transparent 32%),
			linear-gradient(135deg, rgba(77, 140, 255, 0.12) 1px, transparent 1px);
		background-size: auto, auto, 44px 44px;
	}

	.loc-hero::before {
		opacity: 0.68;
		background-size: 52px 52px, 52px 52px, auto;
	}

	.loc-hero-inner {
		grid-template-columns: 525px minmax(0, 1fr);
		min-height: 352px;
		align-items: center;
	}

	.loc-copy h1 {
		margin-bottom: 18px;
		font-size: clamp(30px, 3.05vw, 40px);
		letter-spacing: -1px;
	}

	.loc-copy p {
		width: 510px;
		margin-bottom: 28px;
		font-size: 15px;
		line-height: 1.9;
	}

	.loc-search {
		width: 492px;
		height: 46px;
	}

	.loc-tags {
		width: 520px;
		gap: 10px;
	}

	.loc-tags a {
		height: 30px;
		padding: 0 15px;
		background: rgba(255, 255, 255, 0.72);
	}

	.loc-cta {
		margin-top: 34px;
		gap: 22px;
	}

	.loc-primary.big,
	.loc-secondary.big {
		width: 164px;
		height: 54px;
		border-radius: 8px;
		font-size: 16px;
	}

	.loc-visual {
		min-height: 352px;
		background: url("../images/localization-hero-visual.png") center right / contain no-repeat;
	}

	.loc-visual > .loc-badges,
	.loc-visual > .loc-illustration,
	.loc-visual > .loc-sidecard {
		visibility: hidden;
	}

	.loc-badges {
		left: 10px;
		top: 38px;
		gap: 14px;
	}

	.loc-badges span {
		min-width: 82px;
		height: 40px;
		min-height: 40px;
		border-radius: 9px;
		background: rgba(255,255,255,0.9);
		box-shadow: 0 12px 22px rgba(47, 105, 210, 0.1);
	}

	.loc-badges span:nth-child(2),
	.loc-badges span:nth-child(4),
	.loc-badges span:nth-child(6) {
		transform: translateX(24px);
	}

	.loc-illustration {
		width: 570px;
		height: 352px;
		margin-left: 70px;
		margin-right: 150px;
	}

	.loc-illustration::before {
		inset: 6px 10px 6px 4px;
		background:
			radial-gradient(circle at 50% 54%, rgba(255,255,255,0.86) 0 24%, rgba(210,229,255,0.3) 56%, transparent 78%);
	}

	.loc-illustration::after {
		content: "G";
		position: absolute;
		right: 12px;
		bottom: 78px;
		z-index: 5;
		display: flex;
		align-items: center;
		justify-content: center;
		width: 54px;
		height: 54px;
		border-radius: 10px;
		background: rgba(255,255,255,0.94);
		color: #d9362f;
		font-size: 30px;
		font-weight: 900;
		box-shadow: 0 14px 24px rgba(54, 102, 192, 0.13);
	}

	.loc-server {
		left: 126px;
		top: 16px;
		width: 138px;
		height: 220px;
		border-radius: 18px;
	}

	.loc-screen {
		right: 72px;
		top: 62px;
		width: 198px;
		height: 148px;
		border-radius: 16px;
	}

	.loc-chip {
		left: 188px;
		bottom: 20px;
		height: 48px;
		padding: 0 30px;
		border-radius: 12px;
		font-size: 16px;
	}

	.loc-shield {
		left: 226px;
		top: 88px;
		z-index: 4;
		width: 92px;
		height: 112px;
	}

	.loc-shield i {
		font-size: 42px;
	}

	.loc-cloud-a {
		right: 106px;
		top: 28px;
	}

	.loc-cloud-b {
		right: 124px;
		bottom: 22px;
	}

	.loc-sidecard {
		right: 0;
		top: 38px;
		width: 174px;
		padding: 22px 18px;
		border-radius: 16px;
	}

	.loc-sidecard ul {
		gap: 14px;
	}

	.loc-section {
		padding-top: 30px;
	}

	.loc-section > .hy-shell {
		padding: 16px 20px 18px;
		border-radius: 18px;
		box-shadow: 0 12px 30px rgba(44, 86, 150, 0.07);
	}

	.loc-section-head.center h2::before,
	.loc-section-head.center h2::after {
		content: "" !important;
		width: 5px;
		height: 5px;
		border-radius: 50%;
		background: #2d6ef0;
		color: transparent;
		box-shadow: -12px 0 0 rgba(45,110,240,0.18), 12px 0 0 rgba(45,110,240,0.18);
	}

	.loc-section-head.center h2::before {
		left: -10px;
	}

	.loc-section-head.center h2::after {
		right: -10px;
	}

	.loc-value-grid {
		gap: 12px;
	}

	.loc-value-card {
		min-height: 140px;
		padding: 16px 15px 14px;
		border-radius: 10px;
	}

	.loc-value-card i {
		width: 36px;
		height: 36px;
		border-radius: 10px;
	}

	.loc-value-card h3 {
		margin-top: 10px;
		margin-bottom: 7px;
		font-size: 15px;
	}

	.loc-value-card p {
		font-size: 12px;
		line-height: 1.68;
	}

	.loc-core-grid {
		display: grid;
		grid-template-columns: repeat(3, minmax(0, 1fr));
		width: auto;
		max-width: none;
		height: auto;
		margin: 0 auto;
		background: none;
		gap: 12px 16px;
	}

	.loc-core-card {
		display: block;
		min-height: 126px;
		padding: 14px 20px 12px;
		text-align: center;
		border-radius: 10px;
		background: rgba(255,255,255,0.98);
		border: 1px solid #dfe8f5;
		box-shadow: 0 8px 18px rgba(52, 89, 152, 0.045);
	}

	.loc-core-title h3 {
		font-size: 17px;
		line-height: 1.25;
		color: #1764e8;
		text-shadow: none;
	}

	.loc-core-title span {
		display: block;
		margin-top: 3px;
		font-size: 12px;
		color: #7b8898;
	}

	.loc-logo-row,
	.loc-tags-sm {
		justify-content: space-around;
		gap: 8px;
		margin-top: 14px;
	}

	.loc-logo-row em,
	.loc-tags-sm span {
		min-height: 34px;
		padding: 0 12px;
		border-radius: 8px;
		font-size: 12px;
		line-height: 1.25;
	}

	.loc-logo-row em {
		position: relative;
		gap: 7px;
		border-color: transparent;
		background: transparent;
		color: #263a5d;
		font-weight: 800;
	}

	.loc-logo-row em::before {
		content: "";
		width: 24px;
		height: 24px;
		flex: 0 0 24px;
		border-radius: 50%;
		background: linear-gradient(135deg, #0d72ff, #5bc7ff);
		box-shadow: inset -5px -5px 0 rgba(255,255,255,0.25);
	}

	.loc-logo-row em:nth-child(2)::before {
		background: linear-gradient(135deg, #1f6aff, #62d06f);
	}

	.loc-logo-row em:nth-child(3)::before {
		background: linear-gradient(135deg, #f04438, #ffb54c);
	}

	.loc-core-card:nth-child(2) .loc-logo-row em:nth-child(1)::before {
		background: linear-gradient(135deg, #ff4d36, #1b6fff);
	}

	.loc-core-card:nth-child(2) .loc-logo-row em:nth-child(2)::before {
		border-radius: 6px;
		background: linear-gradient(135deg, #2d7eff, #1fb58a);
	}

	.loc-core-card:nth-child(2) .loc-logo-row em:nth-child(3)::before {
		border-radius: 4px;
		background: linear-gradient(135deg, #1e72ff 0 45%, #ffcd38 45% 65%, #27b76f 65%);
	}

	.loc-core-card:nth-child(3) .loc-logo-row em:nth-child(1)::before {
		background: linear-gradient(135deg, #d71920, #ff8b59);
	}

	.loc-core-card:nth-child(3) .loc-logo-row em:nth-child(2)::before {
		background:
			radial-gradient(circle at 30% 28%, #1677ff 0 19%, transparent 21%),
			radial-gradient(circle at 72% 30%, #38c172 0 18%, transparent 20%),
			radial-gradient(circle at 32% 72%, #12b6d8 0 18%, transparent 20%),
			radial-gradient(circle at 72% 72%, #4c6fff 0 18%, transparent 20%);
	}

	.loc-core-card:nth-child(3) .loc-logo-row em:nth-child(3)::before {
		background: linear-gradient(135deg, #1677ff, #46c8ff);
	}

	.loc-core-card:nth-child(4) .loc-logo-row em:nth-child(1)::before {
		background: conic-gradient(from 40deg, #1a73ff, #18c5ff, #1a73ff);
	}

	.loc-core-card:nth-child(4) .loc-logo-row em:nth-child(2)::before {
		background: linear-gradient(135deg, #19c75f, #9ee647);
	}

	.loc-core-card:nth-child(4) .loc-logo-row em:nth-child(3)::before {
		background: linear-gradient(135deg, #f04438, #e11d24);
	}

	.loc-tags-sm span {
		min-width: 108px;
		background: #fff;
		border-color: #dce7f7;
		color: #3c4f70;
	}

	.loc-arch-grid {
		grid-template-columns: minmax(0, 0.88fr) minmax(0, 1.12fr);
		gap: 14px;
	}

	.loc-arch-panel,
	.loc-process-panel {
		position: relative;
		min-height: 300px;
		padding: 60px 18px 18px;
		border-radius: 14px;
		background: #fff;
		border: 1px solid #e3ebf7;
		box-shadow: 0 8px 20px rgba(52, 89, 152, 0.06);
	}

	.loc-arch-section .loc-section-head {
		display: none;
	}

	.loc-arch-panel::before {
		content: "\56FD\4EA7\5316\9002\914D\67B6\6784\793A\610F";
		position: absolute;
		top: 18px;
		left: 0;
		right: 0;
		color: #112345;
		font-size: 24px;
		line-height: 1;
		font-weight: 900;
		text-align: center;
	}

	.loc-arch-row {
		grid-template-columns: 86px minmax(0, 1fr);
		gap: 10px;
		margin-bottom: 9px;
	}

	.loc-arch-row span {
		position: relative;
		min-height: 36px;
		border-radius: 7px;
		background: linear-gradient(180deg, #2677ff, #1461df);
		font-size: 13px;
		box-shadow: 0 8px 16px rgba(31, 105, 241, 0.18);
	}

	.loc-arch-row span::after {
		content: "";
		position: absolute;
		right: -10px;
		top: 50%;
		width: 10px;
		height: 2px;
		background: #9dc0f7;
		transform: translateY(-50%);
	}

	.loc-arch-bar {
		min-height: 36px;
		justify-content: center;
		border-radius: 8px;
		background: linear-gradient(180deg, #f4f8ff, #edf4ff);
		border-color: #dbe6f5;
		color: #40516d;
		font-size: 13px;
	}

	.loc-arch-chips {
		display: grid;
		grid-template-columns: repeat(5, minmax(0, 1fr));
		gap: 8px;
	}

	.loc-arch-chips b,
	.loc-arch-tags span {
		min-height: 34px;
		border-radius: 7px;
		background: #fff;
		border-color: #dbe6f5;
		color: #334864;
		box-shadow: 0 4px 10px rgba(42, 94, 165, 0.035);
	}

	.loc-arch-chips b::before {
		content: "";
		width: 16px;
		height: 12px;
		margin-right: 6px;
		border: 2px solid #6b86aa;
		border-radius: 2px;
		box-sizing: border-box;
	}

	.loc-arch-tags {
		display: grid;
		grid-template-columns: repeat(6, minmax(0, 1fr));
		gap: 8px;
		margin-top: 10px;
	}

	.loc-arch-tags span {
		color: #2368e8;
		font-weight: 900;
		background: linear-gradient(180deg, #fff, #f5f9ff);
	}

	.loc-process-title {
		position: absolute;
		top: 18px;
		left: 0;
		right: 0;
		font-size: 24px;
		line-height: 1;
	}

	.loc-process-title::before,
	.loc-process-title::after {
		content: "";
		display: inline-block;
		width: 5px;
		height: 5px;
		margin: 0 12px;
		border-radius: 50%;
		background: #2d6ef0;
		vertical-align: 5px;
		box-shadow: -12px 0 0 rgba(45,110,240,0.18), 12px 0 0 rgba(45,110,240,0.18);
	}

	.loc-process-line {
		position: relative;
		z-index: 2;
		margin: 2px 0 8px;
	}

	.loc-process-line span {
		width: 36px;
		height: 36px;
		border-width: 2px;
		font-size: 18px;
		background: #fff;
	}

	.loc-process-line span:nth-child(3),
	.loc-process-line span:nth-child(4) {
		color: #23b981;
		border-color: rgba(35,185,129,0.35);
	}

	.loc-process-line span:nth-child(5),
	.loc-process-line span:nth-child(6) {
		color: #f39824;
		border-color: rgba(243,152,36,0.35);
	}

	.loc-process-line span:nth-child(7) {
		color: #7b55e7;
		border-color: rgba(123,85,231,0.35);
	}

	.loc-process-list {
		position: relative;
		counter-reset: loc-process-step;
		padding-top: 66px;
		gap: 8px;
	}

	.loc-process-list::before {
		content: "";
		position: absolute;
		left: 16px;
		right: 16px;
		top: 35px;
		height: 3px;
		border-radius: 999px;
		background: linear-gradient(90deg, #286df0 0 29%, #25bd83 29% 58%, #f59a22 58% 86%, #7957e8 86% 100%);
	}

	.loc-process-list li {
		position: relative;
		counter-increment: loc-process-step;
		padding-top: 0;
	}

	.loc-process-list li::before {
		content: "";
		position: absolute;
		left: 50%;
		top: -58px;
		width: 34px;
		height: 34px;
		border-radius: 8px;
		background: linear-gradient(135deg, #2e7bff, #79b7ff);
		box-shadow: 0 10px 16px rgba(43, 110, 240, 0.15);
		transform: translateX(-50%);
	}

	.loc-process-list li::after {
		content: counter(loc-process-step);
		position: absolute;
		left: 50%;
		top: -20px;
		display: flex;
		align-items: center;
		justify-content: center;
		width: 18px;
		height: 18px;
		border-radius: 50%;
		background: #1f69f1;
		color: #fff;
		font-size: 11px;
		font-weight: 900;
		transform: translateX(-50%);
	}

	.loc-process-list li:nth-child(3)::before,
	.loc-process-list li:nth-child(4)::before {
		background: linear-gradient(135deg, #22bb83, #72dfbf);
	}

	.loc-process-list li:nth-child(3)::after,
	.loc-process-list li:nth-child(4)::after {
		background: #22bb83;
	}

	.loc-process-list li:nth-child(5)::before,
	.loc-process-list li:nth-child(6)::before {
		background: linear-gradient(135deg, #f38f22, #ffc169);
	}

	.loc-process-list li:nth-child(5)::after,
	.loc-process-list li:nth-child(6)::after {
		background: #f38f22;
	}

	.loc-process-list li:nth-child(7)::before {
		background: linear-gradient(135deg, #7857e8, #a989ff);
	}

	.loc-process-list li:nth-child(7)::after {
		background: #7857e8;
	}

	.loc-process-list strong {
		font-size: 13px;
	}

	.loc-process-list em {
		font-size: 12px;
		line-height: 1.55;
	}

	.loc-preview-grid {
		gap: 14px;
	}

	.loc-preview-card {
		padding: 14px 14px 12px;
		border-radius: 10px;
		background: #fff;
		border-color: #dfe8f6;
		box-shadow: 0 8px 20px rgba(52, 89, 152, 0.05);
	}

	.loc-preview-card h3 {
		margin: 0 0 2px;
		color: #1764e8;
		font-size: 15px;
		line-height: 1.2;
	}

	.loc-preview-card h3::after {
		content: "\7EC4\7EC7\4FBF\6377\3001\8BFE\7A0B\7BA1\7406\3001\8003\8BD5\7BA1\7406\7B49\4E00\4F53\5316";
		display: block;
		margin-top: 5px;
		color: #6e7f98;
		font-size: 12px;
		font-weight: 700;
	}

	.loc-preview-card:nth-child(2) h3::after {
		content: "\7A33\5B9A\6D41\7545\7684\5728\7EBF\8003\8BD5\4F53\9A8C\FF0C\9632\4F5C\5F0A\4FDD\969C";
	}

	.loc-preview-card:nth-child(3) h3::after {
		content: "\591A\7EF4\5EA6\6570\636E\5206\6790\FF0C\8F85\52A9\51B3\7B56\4E0E\7BA1\7406";
	}

	.loc-preview-card:nth-child(4) h3::after {
		content: "\7EC6\7C92\5EA6\6743\9650\63A7\5236\FF0C\4FDD\969C\6570\636E\5B89\5168\53EF\63A7";
	}

	.loc-preview-mock {
		display: block;
		height: 138px;
		margin-top: 10px;
		padding: 0;
		overflow: hidden;
		background: #fff;
		border-radius: 8px;
		border: 1px solid #cbdcf5;
	}

	.loc-preview-mock img {
		display: block;
		width: 100%;
		height: 100%;
		object-fit: cover;
	}

	.loc-scene-grid {
		gap: 16px;
	}

	.loc-scene-card {
		padding: 10px 10px 12px;
		border-radius: 12px;
		overflow: hidden;
		background: #fff;
		border-color: #dfe8f6;
		box-shadow: 0 8px 20px rgba(52, 89, 152, 0.05);
	}

	.loc-scene-photo {
		height: 116px;
		border-radius: 9px;
		background-size: cover;
		background-position: center;
	}

	.loc-scene-card h3 {
		margin: 10px 0 5px;
		color: #1764e8;
		font-size: 15px;
		line-height: 1.2;
		text-align: center;
	}

	.loc-scene-card p {
		color: #41536d;
		font-size: 12px;
		line-height: 1.65;
		text-align: left;
	}

	.loc-faq-grid {
		gap: 12px 18px;
	}

	.loc-faq-item summary {
		min-height: 48px;
	}
}

@media (max-width: 1180px) {
	.loc-header-inner {
		grid-template-columns: 1fr;
		height: auto;
		padding: 16px 0;
	}

	.loc-nav {
		justify-content: flex-start;
		flex-wrap: wrap;
	}

	.loc-actions {
		justify-content: flex-start;
	}

	.loc-hero-inner,
	.loc-visual {
		grid-template-columns: 1fr;
	}

	.loc-value-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

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

	.loc-arch-grid,
	.loc-preview-grid,
	.loc-scene-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.loc-faq-grid {
		grid-template-columns: 1fr;
	}

	.loc-cta-inner {
		grid-template-columns: 1fr;
	}

	.loc-footer-inner {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 900px) {
	.loc-copy h1 {
		font-size: clamp(30px, 3.05vw, 40px);
	}

	.loc-value-grid,
	.loc-core-grid,
	.loc-arch-grid,
	.loc-preview-grid,
	.loc-scene-grid {
		grid-template-columns: 1fr;
	}

	.loc-process-line,
	.loc-process-list {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}

	.loc-arch-row {
		grid-template-columns: 88px minmax(0, 1fr);
	}

	.loc-cta-points {
		justify-content: flex-start;
	}
}

@media (max-width: 640px) {
	.loc-copy h1 {
		font-size: clamp(30px, 3.05vw, 40px);
	}

	.loc-hero {
		padding-top: 18px;
	}

	.loc-search {
		max-width: none;
	}

	.loc-cta {
		flex-direction: column;
	}

	.loc-cta-actions {
		flex-direction: column;
		justify-content: flex-start;
	}

	.loc-cta-actions .loc-primary,
	.loc-cta-actions .loc-secondary {
		width: 100%;
	}

	.loc-footer-inner,
	.loc-process-line,
	.loc-process-list {
		grid-template-columns: 1fr;
	}

	.loc-footer-bottom {
		flex-direction: column;
		align-items: flex-start;
	}
}
