:root{
	--bg:#ffffff;
	--text:#0b1328;
	--muted:#667085;
	--dark:#091329;
	--dark2:#0d1a35;
	--gray:#f3f6fb;
	--line:#dfe7f2;
	--blue:#2478ff;
	--cyan:#32d6ff;
	--green:#31d78f;
	--radius:28px;
	--shadow:0 18px 60px rgba(15,35,74,.14);
	--container:1180px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
	margin:0;
	font-family:Arial, Helvetica, sans-serif;
	color:var(--text);
	background:var(--bg);
	line-height:1.55;
}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%;height:auto}
button,input,textarea{font:inherit}
.container{width:min(calc(100% - 40px), var(--container));margin:0 auto}
.header{
	position:fixed;
	top:0;left:0;right:0;
	z-index:20;
	padding:18px 0;
	transition:.25s ease;
}
.header.is_scrolled{
	padding:10px 0;
	background:rgba(9,19,41,.88);
	backdrop-filter:blur(16px);
	box-shadow:0 10px 40px rgba(0,0,0,.18);
}
.header__inner{display:flex;align-items:center;justify-content:space-between;gap:30px}
.logo{display:flex;align-items:center;gap:12px;color:#fff;font-weight:800;letter-spacing:.02em}
.logo__mark{
	width:42px;height:42px;border-radius:12px;
	display:grid;place-items:center;
	background:linear-gradient(135deg,var(--cyan),var(--blue));
	font-size:14px;
}
.logo__text{font-size:15px}
.nav{display:flex;align-items:center;gap:28px;color:#dce8fb;font-size:14px}
.nav a{opacity:.86;transition:.2s ease}
.nav a:hover{opacity:1;color:#fff}
.menu_btn{display:none;width:44px;height:44px;border:0;background:rgba(255,255,255,.1);border-radius:12px;padding:11px;cursor:pointer}
.menu_btn span{display:block;height:2px;background:#fff;border-radius:10px;margin:5px 0}
.section{padding:96px 0}
.section_dark{background:var(--dark);color:#fff;position:relative;overflow:hidden}
.section_dark:before{
	content:"";position:absolute;inset:-40% -20% auto auto;width:560px;height:560px;border-radius:50%;
	background:radial-gradient(circle,rgba(50,214,255,.22),rgba(36,120,255,0) 68%);
	pointer-events:none;
}
.section_gray{background:var(--gray)}
.eyebrow{font-weight:800;font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--blue);margin-bottom:14px}
.section_dark .eyebrow,.hero .eyebrow{color:var(--cyan)}
h1,h2,h3,p{margin-top:0}
h1{font-size:clamp(42px,6vw,78px);line-height:.96;margin-bottom:24px;letter-spacing:-.055em}
h2{font-size:clamp(32px,4.3vw,54px);line-height:1.04;margin-bottom:22px;letter-spacing:-.04em}
h3{font-size:22px;line-height:1.18;margin-bottom:12px;letter-spacing:-.02em}
p{color:var(--muted);font-size:17px}
.section_dark p{color:#b9cae4}
.lead{font-size:20px;color:#d8e7fb;max-width:690px}
.hero{min-height:760px;padding:142px 0 80px;display:flex;align-items:center}
.hero__grid{display:grid;grid-template-columns:1.02fr .98fr;gap:48px;align-items:center;position:relative;z-index:1}
.hero__content{min-width:0}
.hero__actions{display:flex;gap:14px;flex-wrap:wrap;margin:34px 0 34px}
.btn{
	display:inline-flex;align-items:center;justify-content:center;
	min-height:52px;padding:0 24px;border-radius:999px;
	font-weight:800;border:1px solid transparent;cursor:pointer;transition:.2s ease;
}
.btn_primary{background:linear-gradient(135deg,var(--cyan),var(--blue));color:#fff;box-shadow:0 12px 30px rgba(36,120,255,.26)}
.btn_primary:hover{transform:translateY(-2px);box-shadow:0 18px 40px rgba(36,120,255,.34)}
.btn_light{background:rgba(255,255,255,.08);color:#fff;border-color:rgba(255,255,255,.18)}
.btn_light:hover{background:rgba(255,255,255,.14)}
.btn_full{width:100%}
.hero__stats{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;max-width:560px}
.hero__stats div{
	padding:18px;border:1px solid rgba(255,255,255,.12);border-radius:20px;background:rgba(255,255,255,.06);
}
.hero__stats b{display:block;font-size:28px;line-height:1;color:#fff;margin-bottom:8px}
.hero__stats span{font-size:14px;color:#adc1dd}
.hero__visual{filter:drop-shadow(0 30px 80px rgba(0,0,0,.28))}
.about__grid,.clients__grid,.req__grid,.contacts__grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:58px;align-items:start}
.about__text p{font-size:19px}
.section_head{max-width:760px}
.section_head_center{text-align:center;margin:0 auto 54px}
.section_head_center p{margin-left:auto;margin-right:auto;max-width:740px}
.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
.solution_card{
	background:#fff;border:1px solid var(--line);border-radius:var(--radius);
	padding:18px 18px 24px;box-shadow:var(--shadow);min-height:100%;
}
.solution_card img{border-radius:22px;margin-bottom:24px;background:#0b1328}
.solution_card p{font-size:15px;margin-bottom:0}
.controller__grid{display:grid;grid-template-columns:1.15fr .85fr;gap:42px;align-items:start}
.controller__content>p{font-size:19px;max-width:800px}
.feature_list{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;margin-top:32px}
.feature_list div{border:1px solid var(--line);border-radius:22px;padding:22px;background:#fff}
.feature_list span{display:inline-flex;color:var(--blue);font-weight:900;margin-bottom:12px}
.feature_list b{display:block;font-size:19px;margin-bottom:6px}
.feature_list p{font-size:15px;margin-bottom:0}
.spec_card{position:sticky;top:110px;background:var(--dark);color:#fff;border-radius:var(--radius);padding:30px;box-shadow:var(--shadow)}
.spec_card h3{font-size:30px;margin-bottom:24px}
.spec_card ul{list-style:none;padding:0;margin:0 0 28px}
.spec_card li{display:flex;justify-content:space-between;gap:20px;border-bottom:1px solid rgba(255,255,255,.12);padding:16px 0}
.spec_card li span{color:#aebfd8}.spec_card li b{text-align:right}
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;position:relative;z-index:1}
.step{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);border-radius:var(--radius);padding:28px}
.step span{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:linear-gradient(135deg,var(--cyan),var(--blue));font-weight:900;margin-bottom:26px}
.step h3{color:#fff}.step p{font-size:15px;margin-bottom:0}
.client_grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
.client_grid div{background:#fff;border:1px solid var(--line);border-radius:22px;padding:24px;box-shadow:var(--shadow)}
.client_grid b{display:block;font-size:19px;margin-bottom:8px}.client_grid span{color:var(--muted)}
.req_card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:28px}
.req_card div{display:grid;grid-template-columns:190px 1fr;gap:20px;border-bottom:1px solid var(--line);padding:16px 0}
.req_card div:first-child{padding-top:0}.req_card div:last-child{border-bottom:0;padding-bottom:0}
.req_card span{color:var(--muted)}.req_card b{font-weight:800}
.contacts{background:#fff}
.contact_links{display:grid;gap:12px;margin-top:28px}
.contact_links a,.contact_links span{display:block;padding:14px 0;border-bottom:1px solid var(--line);font-weight:800}
.form{background:var(--dark);color:#fff;border-radius:var(--radius);padding:30px;box-shadow:var(--shadow)}
.form label{display:block;margin-bottom:18px;color:#dbe8fa;font-weight:700}
.form input,.form textarea{
	width:100%;margin-top:8px;border:1px solid rgba(255,255,255,.14);border-radius:16px;
	background:rgba(255,255,255,.08);color:#fff;padding:15px 16px;outline:none;
}
.form textarea{resize:vertical;min-height:130px}
.form input:focus,.form textarea:focus{border-color:var(--cyan);box-shadow:0 0 0 3px rgba(50,214,255,.12)}
.form input::placeholder,.form textarea::placeholder{color:#8da0bd}
.form__status{min-height:24px;margin-top:14px;color:#31d78f;font-weight:700}
.form__status.error{color:#ff6b7d}
.footer{background:#061024;color:#c8d6eb;padding:32px 0}
.footer__inner{display:flex;align-items:center;justify-content:space-between;gap:20px}
.footer b{display:block;color:#fff}.footer span{font-size:14px;color:#91a4c2}.footer a{font-weight:800;color:#fff}
.reveal{opacity:0;transform:translateY(24px);transition:opacity .65s ease, transform .65s ease}
.reveal.is_visible{opacity:1;transform:translateY(0)}
.reveal_delay{transition-delay:.12s}
@media (max-width:1050px){
	.cards,.steps{grid-template-columns:repeat(2,1fr)}
	.hero__grid,.controller__grid,.about__grid,.clients__grid,.req__grid,.contacts__grid{grid-template-columns:1fr}
	.hero{padding-top:130px}
	.hero__visual{max-width:720px;margin:0 auto}.spec_card{position:static}
}
@media (max-width:780px){
	.container{width:min(calc(100% - 28px), var(--container))}
	.header{padding:12px 0}.nav{
		position:fixed;left:14px;right:14px;top:72px;display:none;flex-direction:column;align-items:flex-start;gap:0;
		background:rgba(9,19,41,.96);border:1px solid rgba(255,255,255,.12);border-radius:22px;padding:12px;box-shadow:0 18px 55px rgba(0,0,0,.25);
	}
	.nav.is_open{display:flex}.nav a{width:100%;padding:13px 12px}
	.menu_btn{display:block}.logo__text{font-size:13px}
	.section{padding:70px 0}.hero{min-height:auto;padding:118px 0 64px}
	.hero__stats{grid-template-columns:1fr}
	.cards,.steps,.feature_list,.client_grid{grid-template-columns:1fr}
	.req_card div{grid-template-columns:1fr;gap:6px}
}
@media (max-width:460px){
	h1{font-size:40px}.lead{font-size:18px}.hero__actions .btn{width:100%}
	.solution_card,.step,.req_card,.form{border-radius:22px}
}
