:root {
	--blue:#0969ef;
	--ink:#172136;
	--muted:#77849b;
	--orange:#ff9526;
	--pale:#f4f8ff
}
* {
	box-sizing:border-box
}
html {
	scroll-behavior:smooth;
	overflow-x:hidden
}
body {
	margin:0;
	color:var(--ink);
	font:14px/1.65,"Microsoft YaHei",Arial,sans-serif;
	background:#fff
}
a {
	text-decoration:none;
	color:inherit
}
.container {
	max-width:1420px;
	margin:auto;
	padding:0 40px
}
.site-header {
	height:72px;
	background:#fff;
	box-shadow:0 2px 10px #0c3c7620;
	position:sticky;
	top:0;
	z-index:20
}
.nav-wrap {
	height:100%;
	display:flex;
	align-items:center;
	gap:36px
}
.brand img {
	width:123px;
	display:block
}
.main-nav {
	display:flex;
	justify-content:center;
	gap:39px;
	flex:1;
	height:100%
}
.main-nav a {
	height:100%;
	display:flex;
	align-items:center;
	position:relative;
	font-size:13px;
	color:#3e495d
}
.main-nav a.active:after {
	content:"";
	height:2px;
	left:0;
	right:0;
	bottom:10px;
	background:var(--blue);
	position:absolute
}
.nav-contact {
	display:flex;
	align-items:center;
	gap:9px;
	font-weight:600;
	font-size:13px
}
.nav-contact>span {
	font-size:19px;
	color:#193450
}
.btn {
	display:inline-flex;
	align-items:center;
	justify-content:center;
	min-height:48px;
	border-radius:6px;
	padding:0 27px;
	font-weight:700;
	transition:.2s
}
.btn:hover {
	transform:translateY(-2px);
	filter:brightness(1.04)
}
.btn-small {
	min-height:40px;
	padding:0 16px;
	margin-left:15px
}
.btn-blue {
	color:#fff;
	background:var(--blue)
}
.btn-orange {
	color:#fff;
	background:linear-gradient(100deg,#ffad32,#ff7f1f);
	box-shadow:0 9px 18px #ff8b2838
}
.btn-outline {
	color:#fff;
	border:1px solid #b7ccec;
	background:#ffffff10;
	margin-left:16px
}
.menu-toggle {
	display:none;
	background:transparent;
	border:0;
	font-size:24px
}
.hero {
	height:590px;
	position:relative;
	color:white;
	overflow:hidden;
	background:#061a39
}
.hero-bg {
	position:absolute;
	inset:0;
	background:radial-gradient(circle at 46% 40%,#5e7cae80,transparent 22%),radial-gradient(circle at 96% 4%,#126fe399,transparent 29%),linear-gradient(105deg,#08224c 0%,#0c2f69 50%,#021630 100%)
}
.hero-bg:after {
	content:"";
	position:absolute;
	inset:0;
	background:linear-gradient(90deg,#031b3c00 40%,#091c3f33)
}
.hero-inner {
	height:100%;
	display:flex;
	align-items:center;
	position:relative
}
.hero-copy {
	width:55%;
	padding-left:5px;
	z-index:1
}
.eyebrow {
	margin:0 0 17px;
	font-size:18px;
	color:#b7c8e2;
	letter-spacing:1px
}
.hero h1 {
	font-size:54px;
	line-height:1.26;
	margin:0 0 27px;
	letter-spacing:1px
}
.hero h1 span {
	color:var(--orange);
	margin-left:4px
}
.hero-tags {
	display:flex;
	gap:40px;
	margin:14px 0 34px
}
.hero-tags span {
	display:grid;
	gap:5px;
	text-align:center;
	font-size:23px;
	color:#d9e9ff
}
.hero-tags b {
	font-size:14px;
	font-weight:400;
	color:#e2e9f6
}
.hero-visual {
	position:absolute;
	right:-10px;
	bottom:14px;
	width:58%;
	z-index:1
}
.hero-visual img {
	width:100%;
	display:block
}
.stats {
	background:linear-gradient(100deg,#f7faff,#eef6ff);
	padding:21px 0
}
.stats-grid {
	display:grid;
	grid-template-columns:repeat(4,1fr);
	max-width:1130px
}
.stats-grid>div {
	display:grid;
	grid-template-columns:50px auto;
	grid-template-rows:25px 22px;
	align-items:center
}
.stats i {
	grid-row:1/3;
	width:43px;
	height:43px;
	border-radius:50%;
	background:#e6f1ff;
	color:#0872ff;
	display:grid;
	place-items:center;
	font-style:normal;
	font-size:20px
}
.stats strong {
	font-size:22px
}
.stats span {
	font-size:12px;
	color:var(--muted)
}
.section {
	padding:53px 0
}
.section-title {
	text-align:center;
	margin-bottom:35px
}
.section-title h2 {
	font-size:30px;
	line-height:1.2;
	margin:0 0 8px
}
.section-title p {
	margin:0;
	color:var(--muted);
	font-size:14px
}
.section-title em {
	display:block;
	width:25px;
	height:2px;
	background:var(--blue);
	margin:14px auto 0
}
.service-grid {
	display:grid;
	grid-template-columns:repeat(5,1fr);
	gap:22px
}
.service-card {
	min-height:246px;
	border-radius:5px;
	background:#fff;
	padding:22px 27px;
	box-shadow:0 9px 30px #17284a12;
	transition:.25s
}
.service-card:hover {
	transform:translateY(-7px);
	box-shadow:0 16px 34px #1556a526
}
.service-icon {
	width:55px;
	height:55px;
	border-radius:50%;
	display:grid;
	place-items:center;
	background:#edf5ff;
	color:#0872ff;
	font-size:23px;
	font-weight:bold
}
.service-icon.green {
	color:#09b989;
	background:#e5fbf5
}
.service-card h3 {
	margin:16px 0 8px;
	font-size:17px
}
.service-card p {
	color:var(--muted);
	font-size:13px;
	min-height:45px;
	margin:0 0 12px
}
.service-card a {
	color:var(--blue);
	font-weight:700;
	font-size:12px
}
.solutions {
	height:360px;
	display:grid;
	grid-template-columns:30% 31% 39%;
	margin-top:5px;
	background:#07172e;
	color:#fff
}
.solution-image {
	overflow:hidden
}
.solution-image img {
	width:100%;
	height:100%;
	object-fit:cover
}
.solution-copy {
	padding:58px 42px;
	color:#0c1a2c;
	background:linear-gradient(110deg,#e2f0ff,#fcfdff)
}
.solution-copy h2 {
	font-size:26px;
	line-height:1.35;
	margin:0 0 17px
}
.solution-copy p {
	font-size:13px;
	color:#657188;
	line-height:1.8;
	margin:0 0 17px
}
.btn-light {
	color:var(--blue);
	border:1px solid #6ea7ff;
	min-height:40px;
	padding:0 20px
}
.solution-points {
	display:grid;
	grid-template-columns:repeat(2,1fr);
	gap:28px 42px;
	padding:57px 65px;
	background:radial-gradient(circle at 10% 10%,#173967,#08162c 60%)
}
.solution-points div {
	position:relative;
	padding-left:0
}
.solution-points i {
	color:#ff9b35;
	font-style:normal;
	font-size:25px;
	display:block;
	margin-bottom:6px
}
.solution-points b {
	font-size:16px
}
.solution-points p {
	font-size:12px;
	color:#bac8dc;
	margin:2px 0
}
.title-with-link {
	display:flex;
	justify-content:center;
	position:relative
}
.title-with-link a {
	position:absolute;
	right:25px;
	top:22px;
	color:var(--blue);
	font-weight:bold;
	font-size:13px
}
.case-row {
	display:flex;
	align-items:center;
	gap:16px
}
.case-grid {
	display:grid;
	grid-template-columns:repeat(4,1fr);
	gap:22px;
	flex:1
}
.case-card {
	border-radius:6px;
	overflow:hidden;
	background:#fff;
	box-shadow:0 8px 26px #14284d10;
	padding-bottom:18px
}
.case-card img {
	width:100%;
	display:block
}
.case-card span {
	display:inline-block;
	background:#e7f1ff;
	color:var(--blue);
	font-size:12px;
	border-radius:3px;
	padding:2px 8px;
	margin:11px 16px 3px
}
.case-card h3 {
	font-size:16px;
	margin:1px 16px;
	color:#25314a
}
.case-card p {
	font-size:13px;
	color:var(--muted);
	margin:2px 16px
}
.slider-btn {
	border:1px solid #e2e9f4;
	color:#40506a;
	background:#fff;
	border-radius:50%;
	width:46px;
	height:46px;
	font-size:34px;
	line-height:35px;
	cursor:pointer
}
.reasons {
	background:radial-gradient(circle at 50% 45%,#fff,#edf6ff)
}
.reason-grid {
	display:grid;
	grid-template-columns:repeat(4,1fr);
	gap:22px
}
.reason-grid article {
	display:flex;
	gap:16px;
	background:#fff;
	border-radius:14px;
	padding:20px;
	min-height:105px
}
.reason-grid i {
	min-width:50px;
	height:50px;
	border-radius:50%;
	background:#e6f1ff;
	color:var(--blue);
	font-size:24px;
	display:grid;
	place-items:center;
	font-style:normal
}
.reason-grid i.orange {
	color:#ff941d;
	background:#fff3e5
}
.reason-grid h3 {
	margin:0 0 2px;
	font-size:17px
}
.reason-grid p {
	margin:0;
	font-size:12px;
	color:var(--muted)
}
.cta {
	height:275px;
	background:#0c2d5c;
	position:relative;
	color:white;
	overflow:hidden
}
.cta>img {
	position:absolute;
	inset:0;
	width:100%;
	height:100%;
	object-fit:cover;
	opacity:.85
}
.cta:after {
	content:"";
	position:absolute;
	inset:0;
	background:linear-gradient(90deg,#041b3fcc 0%,#082a57a0 47%,#06224d16 100%)
}
.cta-content {
	position:relative;
	z-index:1;
	padding-top:43px
}
.cta p {
	font-size:13px;
	color:#c8d7ed;
	margin:0 0 8px
}
.cta h2 {
	font-size:31px;
	margin:0 0 5px
}
.cta span {
	color:#b9cbe3
}
.cta-content>div {
	margin-top:20px
}
footer {
	background:#111b2a;
	color:#b8c2d2;
	padding-top:39px
}
.footer-grid {
	display:grid;
	grid-template-columns:2.2fr 1fr 1.1fr 1.7fr .9fr;
	gap:30px
}
.footer-logo {
	width:122px
}
.footer-grid h4 {
	color:#fff;
	margin:3px 0 13px;
	font-size:15px
}
.footer-grid p,.footer-grid a {
	display:block;
	margin:4px 0;
	color:#b8c2d2;
	font-size:12px
}
.social {
	font-size:18px;
	color:#e7eef9;
	margin-top:15px
}
.qr {
	text-align:center
}
.qr img {
	width:103px;
	background:#fff;
	padding:4px;
	display:block;
	margin:auto
}
.qr span {
	display:block;
	font-size:12px;
	margin-top:5px
}
.footer-bottom {
	margin-top:34px;
	border-top:1px solid #293443;
	padding:17px 0;
	font-size:11px
}
.footer-bottom .container {
	display:flex;
	justify-content:space-between
}
.footer-bottom span:last-child {
	color:#9da8b8
}
@media(max-width:1000px) {
	.main-nav {
	gap:15px
}
.nav-contact {
	display:none
}
.hero h1 {
	font-size:40px
}
.service-grid {
	grid-template-columns:repeat(3,1fr)
}
.solution-points {
	padding:35px
}
.footer-grid {
	grid-template-columns:repeat(3,1fr)
}
.qr {
	display:none
}
}@media(max-width:700px) {
	.container {
	padding:0 20px
}
.site-header {
	height:60px
}
.main-nav {
	display:none
}
.menu-toggle {
	display:block;
	margin-left:auto
}
.main-nav.open {
	position:absolute;
	display:flex;
	flex-direction:column;
	align-items:flex-start;
	gap:0;
	height:auto;
	top:60px;
	left:0;
	right:0;
	padding:14px 20px;
	background:#fff;
	box-shadow:0 10px 15px #0002
}
.main-nav.open a {
	height:35px
}
.hero {
	height:660px
}
.hero-inner {
	align-items:flex-start;
	padding-top:65px
}
.hero-copy {
	width:100%
}
.eyebrow {
	font-size:14px
}
.hero h1 {
	font-size:34px
}
.hero-tags {
	gap:14px
}
.hero-tags span {
	font-size:16px
}
.hero-tags b {
	font-size:11px
}
.hero-visual {
	width:105%;
	right:-10%;
	bottom:20px
}
.stats-grid {
	grid-template-columns:repeat(2,1fr);
	gap:16px
}
.section {
	padding:42px 0
}
.service-grid {
	grid-template-columns:1fr 1fr;
	gap:12px
}
.service-card {
	padding:18px;
	min-height:220px
}
.solution-copy {
	padding:40px 24px
}
.solutions {
	height:auto;
	grid-template-columns:1fr
}
.solution-image {
	height:240px
}
.solution-points {
	grid-template-columns:1fr 1fr;
	padding:35px 24px
}
.case-grid {
	grid-template-columns:1fr 1fr
}
.case-card:nth-child(n+3) {
	display:none
}
.slider-btn {
	display:none
}
.reason-grid {
	grid-template-columns:1fr 1fr;
	gap:12px
}
.reason-grid article {
	padding:14px;
	gap:10px
}
.reason-grid i {
	min-width:40px;
	height:40px
}
.cta h2 {
	font-size:25px
}
.footer-grid {
	grid-template-columns:1fr 1fr
}
.footer-grid>div:first-child {
	grid-column:1/3
}
.footer-bottom .container {
	gap:7px;
	flex-direction:column
}
.title-with-link a {
	position:static;
	align-self:flex-end;
	margin-left:10px;
	white-space:nowrap
}
}.brand img {
	width:auto;
	max-width:160px;
	height:60px;
	object-fit:contain
}
.case-card img {
	object-fit:cover;
	background:#e8f1fb
}
.case-card h3 a,.case-card p a {
	color:inherit
}
.news-grid {
	display:grid;
	grid-template-columns:repeat(4,1fr);
	gap:22px
}
.news-grid .case-card p {
	display:-webkit-box;
	-webkit-line-clamp:2;
	-webkit-box-orient:vertical;
	overflow:hidden;
	min-height:36px
}
.footer-logo {
	height:36px;
	width:auto;
	max-width:160px;
	object-fit:contain
}
.footer-grid a[href^="tel"],.footer-grid a[href^="mailto"] {
	display:inline
}
@media(max-width:700px) {
	.news-grid {
	grid-template-columns:1fr 1fr
}
.news-grid .case-card:nth-child(n+3) {
	display:none
}
}.page-banner {
	background:linear-gradient(105deg,#08224c 0%,#0c2f69 52%,#021630 100%);
	color:#fff;
	padding:48px 0 42px
}
.page-banner h1 {
	margin:8px 0 6px;
	font-size:32px
}
.page-banner p {
	margin:0;
	color:#c5d4ea;
	max-width:720px
}
.crumb {
	font-size:13px;
	color:#9fb4d2
}
.crumb a {
	color:#d5e4f8
}
.crumb a:hover {
	color:#fff
}
.subnav {
	display:flex;
	flex-wrap:wrap;
	gap:10px;
	margin-bottom:28px
}
.subnav a {
	display:inline-flex;
	align-items:center;
	min-height:34px;
	padding:0 14px;
	border-radius:4px;
	background:#f2f6fb;
	color:#4b5b73;
	font-size:13px
}
.subnav a.active,.subnav a:hover {
	background:var(--blue);
	color:#fff
}
.page-article {
	background:#fff;
	border-radius:8px;
	box-shadow:0 8px 26px #14284d10;
	padding:36px 40px;
	line-height:1.9;
	color:#314259
}
.page-article img {
	max-width:100%;
	height:auto
}
.page-article h2,.page-article h3 {
	color:#172136
}
.inner-list .case-grid {
	grid-template-columns:repeat(4,1fr)
}
.inner-list .case-card:nth-child(n+3) {
	display:block
}
.inner-list .case-card img {
	height:150px
}
.inner-list .case-card {
	transition:.2s
}
.inner-list .case-card:hover {
	transform:translateY(-6px)
}
.news-layout {
	display:grid;
	grid-template-columns:minmax(0,1fr) 300px;
	gap:28px;
	align-items:start
}
.article-list {
	display:grid;
	gap:18px
}
.article-row {
	display:grid;
	grid-template-columns:220px 1fr;
	gap:18px;
	background:#fff;
	border-radius:8px;
	box-shadow:0 8px 26px #14284d10;
	overflow:hidden
}
.article-row img {
	width:100%;
	height:140px;
	object-fit:cover;
	background:#e8f1fb;
	display:block
}
.article-row h3 {
	margin:16px 16px 8px;
	font-size:18px
}
.article-row p {
	margin:0 16px 10px;
	color:var(--muted);
	display:-webkit-box;
	-webkit-line-clamp:2;
	-webkit-box-orient:vertical;
	overflow:hidden
}
.article-row .meta {
	margin:0 16px 16px;
	color:#90a0b5;
	font-size:12px
}
.side-card {
	background:#fff;
	border-radius:8px;
	box-shadow:0 8px 26px #14284d10;
	padding:18px 20px;
	margin-bottom:18px
}
.side-card h3 {
	margin:0 0 12px;
	font-size:16px
}
.side-card a {
	display:flex;
	justify-content:space-between;
	padding:8px 0;
	border-bottom:1px solid #eef2f7;
	color:#314259;
	font-size:13px
}
.side-card a:last-child {
	border-bottom:0
}
.side-cta {
	background:linear-gradient(120deg,#0b4dad,#0969ef);
	color:#fff
}
.side-cta h3,.side-cta p,.side-cta a {
	color:#fff
}
.detail-wrap {
	display:grid;
	grid-template-columns:minmax(0,1fr) 300px;
	gap:28px;
	align-items:start
}
.detail-main {
	background:#fff;
	border-radius:8px;
	box-shadow:0 8px 26px #14284d10;
	padding:36px 40px
}
.detail-main h1 {
	margin:0 0 12px;
	font-size:28px
}
.detail-meta {
	color:#90a0b5;
	font-size:13px;
	margin-bottom:22px
}
.detail-body {
	line-height:1.9;
	color:#314259
}
.detail-body img {
	max-width:100%;
	height:auto
}
.detail-pager {
	display:flex;
	justify-content:space-between;
	gap:12px;
	margin-top:28px;
	padding-top:18px;
	border-top:1px solid #eef2f7;
	font-size:13px
}
.detail-pager a {
	color:var(--blue)
}
.cover-img {
	width:100%;
	height:320px;
	object-fit:cover;
	border-radius:8px;
	background:#e8f1fb;
	margin-bottom:22px
}
.contact-grid {
	display:grid;
	grid-template-columns:repeat(4,1fr);
	gap:18px;
	margin-bottom:28px
}
.contact-item {
	background:#fff;
	border-radius:8px;
	box-shadow:0 8px 26px #14284d10;
	padding:22px
}
.contact-item b {
	display:block;
	margin:8px 0 4px;
	font-size:16px
}
.contact-item span {
	color:var(--muted);
	font-size:12px
}
.contact-form {
	background:#fff;
	border-radius:8px;
	box-shadow:0 8px 26px #14284d10;
	padding:28px 32px;
	max-width:760px
}
.contact-form h2 {
	margin:0 0 8px
}
.contact-form p {
	margin:0 0 18px;
	color:var(--muted)
}
.contact-form .row {
	display:grid;
	grid-template-columns:1fr 1fr;
	gap:12px
}
.contact-form input,.contact-form textarea {
	width:100%;
	border:1px solid #dbe4f0;
	border-radius:6px;
	padding:12px 14px;
	margin-bottom:12px;
	font:inherit
}
.contact-form textarea {
	min-height:140px;
	resize:vertical
}
.pager {
	display:flex;
	justify-content:center;
	margin-top:28px
}
.pager ul,
.pager .pagination,
ul.pagination {
	display:flex;
	justify-content:center;
	align-items:center;
	flex-wrap:wrap;
	gap:8px;
	list-style:none;
	margin:0;
	padding:0
}
.pager li,
.pagination li {
	list-style:none;
	display:inline-flex;
	margin:0;
	padding:0
}
.pager a,
.pager span,
.pagination a,
.pagination span,
.page-link {
	min-width:36px;
	height:36px;
	display:inline-flex;
	align-items:center;
	justify-content:center;
	border-radius:4px;
	background:#f2f6fb;
	color:#40506a;
	padding:0 10px;
	line-height:1;
	text-decoration:none
}
.pager .active span,
.pager .active a,
.pagination .active span,
.pager a:hover,
.pagination a:hover {
	background:var(--blue);
	color:#fff
}
.pager .disabled span,
.pagination .disabled span {
	opacity:.55;
	cursor:default
}
.empty-tip {
	text-align:center;
	color:var(--muted);
	padding:40px 0
}
.btn-line {
	color:var(--blue);
	border:1px solid #6ea7ff;
	background:#fff;
	margin-left:0
}
@media(max-width:1000px) {
	.news-layout,.detail-wrap,.contact-grid {
	grid-template-columns:1fr
}
.article-row {
	grid-template-columns:160px 1fr
}
.inner-list .case-grid {
	grid-template-columns:repeat(2,1fr)
}
}@media(max-width:700px) {
	.page-banner {
	padding:32px 0
}
.page-banner h1 {
	font-size:24px
}
.page-article,.detail-main,.contact-form {
	padding:22px 18px
}
.article-row {
	grid-template-columns:1fr
}
.article-row img {
	height:180px
}
.contact-form .row {
	grid-template-columns:1fr
}
.inner-list .case-grid {
	grid-template-columns:1fr
}
.inner-list .case-card:nth-child(n+3) {
	display:block
}
}body {
	font-size:16px;
	line-height:1.75
}
.site-header {
	height:82px
}
.main-nav a {
	font-size:16px
}
.nav-contact {
	font-size:16px
}
.nav-contact>span {
	font-size:20px
}
.btn {
	font-size:16px
}
.eyebrow {
	font-size:20px
}
.hero h1 {
	font-size:56px
}
.hero-tags span {
	font-size:24px
}
.hero-tags b {
	font-size:16px
}
.stats strong {
	font-size:24px
}
.stats span {
	font-size:14px
}
.section-title h2 {
	font-size:36px
}
.section-title p {
	font-size:16px
}
.service-card h3 {
	font-size:20px
}
.service-card p {
	font-size:16px;
	min-height:52px
}
.service-card a {
	font-size:15px
}
.solution-copy h2 {
	font-size:30px
}
.solution-copy p {
	font-size:16px
}
.solution-points b {
	font-size:18px
}
.solution-points p {
	font-size:14px
}
.title-with-link a {
	font-size:16px
}
.case-card span {
	font-size:14px
}
.case-card h3 {
	font-size:18px
}
.case-card p {
	font-size:15px
}
.reason-grid h3 {
	font-size:20px
}
.reason-grid p {
	font-size:15px
}
.cta p {
	font-size:16px
}
.cta h2 {
	font-size:36px
}
.cta span {
	font-size:16px
}
.footer-grid h4 {
	font-size:18px
}
.footer-grid p,.footer-grid a {
	font-size:15px
}
.qr span {
	font-size:14px
}
.footer-bottom {
	font-size:14px
}
.page-banner h1 {
	font-size:36px
}
.page-banner p {
	font-size:16px
}
.crumb {
	font-size:15px
}
.subnav a {
	font-size:16px;
	min-height:38px
}
.article-row h3 {
	font-size:20px
}
.article-row p {
	font-size:16px
}
.article-row .meta {
	font-size:14px
}
.side-card h3 {
	font-size:18px
}
.side-card a {
	font-size:15px
}
.detail-main h1 {
	font-size:32px
}
.detail-meta {
	font-size:15px
}
.detail-body {
	font-size:16px
}
.detail-pager {
	font-size:15px
}
.contact-item b {
	font-size:18px
}
.contact-item span {
	font-size:14px
}
.contact-form h2 {
	font-size:24px
}
.contact-form p,.contact-form input,.contact-form textarea {
	font-size:16px
}
.pager a,.pager span,.pagination a,.pagination span,.page-link {
	font-size:15px;
	min-width:40px;
	height:40px
}
.page-article {
	font-size:16px
}
@media(max-width:1000px) {
	.hero h1 {
	font-size:42px
}
}@media(max-width:700px) {
	.site-header {
	height:66px
}
.main-nav.open {
	top:66px
}
.main-nav.open a {
	height:42px;
	font-size:16px
}
.hero h1 {
	font-size:36px
}
.eyebrow {
	font-size:16px
}
.section-title h2 {
	font-size:28px
}
.cta h2 {
	font-size:28px
}
.page-banner h1 {
	font-size:28px
}
}
@keyframes reveal-up {
	from {
	opacity:0;
	transform:translate3d(0,40px,0)
}
to {
	opacity:1;
	transform:none
}
}
@keyframes reveal-left {
	from {
	opacity:0;
	transform:translate3d(-56px,0,0)
}
to {
	opacity:1;
	transform:none
}
}
@keyframes reveal-right {
	from {
	opacity:0;
	transform:translate3d(56px,0,0)
}
to {
	opacity:1;
	transform:none
}
}
.hero-copy {
	animation:reveal-left .85s cubic-bezier(.22,.61,.36,1) both
}
.hero-visual {
	animation:reveal-right .95s .12s cubic-bezier(.22,.61,.36,1) both
}
.page-banner .container {
	animation:reveal-up .7s cubic-bezier(.22,.61,.36,1) both
}
.reveal {
	opacity:0;
	transition:opacity .75s cubic-bezier(.22,.61,.36,1),transform .75s cubic-bezier(.22,.61,.36,1);
	transition-delay:var(--reveal-delay,0ms)
}
.reveal-up {
	transform:translate3d(0,48px,0)
}
.reveal-left {
	transform:translate3d(-56px,0,0)
}
.reveal-right {
	transform:translate3d(56px,0,0)
}
.reveal-zoom {
	transform:scale(.94)
}
.reveal.is-inview {
	opacity:1;
	transform:none
}
@media(max-width:700px) {
	.reveal-up,.reveal-left,.reveal-right {
	transform:translate3d(0,28px,0)
}
@keyframes reveal-left {
	from {
	opacity:0;
	transform:translate3d(0,28px,0)
}
to {
	opacity:1;
	transform:none
}
}
@keyframes reveal-right {
	from {
	opacity:0;
	transform:translate3d(0,28px,0)
}
to {
	opacity:1;
	transform:none
}
}
}
@media(prefers-reduced-motion:reduce) {
	.hero-copy,.hero-visual,.page-banner .container,.reveal,.reveal-up,.reveal-left,.reveal-right,.reveal-zoom,.reveal.is-inview {
	opacity:1;
	transform:none;
	animation:none;
	transition:none
}
}
.cases .case-viewport {
	overflow:hidden;
	flex:1;
	min-width:0
}
.cases .case-grid {
	display:flex;
	gap:22px;
	will-change:transform
}
.cases .case-card {
	flex:0 0 auto;
	min-width:0;
	display:block
}
.cases .case-card img {
	height:150px;
	width:100%;
	object-fit:cover
}
.cases .slider-btn {
	display:inline-flex;
	align-items:center;
	justify-content:center;
	flex-shrink:0;
	transition:transform .2s,box-shadow .2s,color .2s,border-color .2s
}
.cases .slider-btn:hover {
	color:var(--blue);
	border-color:#8bb6f0;
	box-shadow:0 6px 16px #1556a220;
	transform:scale(1.06)
}
@media(max-width:700px) {
	.cases .case-card:nth-child(n+3) {
	display:block
}
.cases .slider-btn {
	display:inline-flex;
	width:36px;
	height:36px;
	font-size:26px;
	line-height:1
}
.cases .case-card img {
	height:120px
}
}