/* ==========================================================================
   АппОптима — main stylesheet
   Макет: 1440 (контейнер 1320) и 375 (контейнер 345)
   ========================================================================== */

:root {
	--ao-brand: #0767F8;
	--ao-brand-d: #0556d1;
	--ao-ink: #080D41;
	--ao-gray: #70749D;
	--ao-red: #FE3539;
	--ao-sky: #E3EEFE;
	--ao-navy: #13163A;
	--ao-card-sky: linear-gradient(180deg, #E8F1FF 0%, #DDEAFE 100%);
	--ao-glass: linear-gradient(180deg, rgba(255, 255, 255, .9) 0%, rgba(244, 249, 255, .9) 100%);
	--ao-shadow: 0 4px 25px rgba(36, 46, 77, .15);
	--ao-r: 30px;
	--ao-gut: 60px;
	--ao-sec-pt: 100px;
	--ao-sec-pb: 160px;
	--ao-ov: 60px;
	--ao-block-gap: 100px;
	--ao-dark-bg: url(../img/bg-dark.jpg);
	--ao-ico-arrow-ur: url(../icons/arrow-up-right.svg);
	--ao-ico-arrow-down-w: url(../icons/arrow-down-white.svg);
	--ao-ico-arrow-up: url(../icons/arrow-up.svg);
	--ao-ico-arrow-left: url(../icons/arrow-left.svg);
	--ao-ico-arrow-right-w: url(../icons/arrow-right-white.svg);
	--ao-ico-close: url(../icons/close.svg);
	--ao-ico-play: url(../icons/play-white.svg);
	--ao-ico-profile-w: url(../icons/profile-white.svg);
	--ao-ico-tg: url(../icons/telegram.svg);
	--ao-ico-up-w: url(../icons/arrow-up-white.svg);
	--ao-ico-chevron: url(../icons/arrow-right-white.svg);
	--ao-ico-back: url(../icons/arrow-left-white.svg);
}

@media (max-width: 1199px) {
	:root { --ao-gut: 30px; --ao-block-gap: 80px; }
}

@media (max-width: 767px) {
	:root {
		--ao-gut: 15px;
		--ao-r: 20px;
		--ao-sec-pt: 50px;
		--ao-sec-pb: 80px;
		--ao-ov: 30px;
		--ao-block-gap: 60px;
	}
}

/* ---------- base ---------- */
html { box-sizing: border-box; }
*, *::before, *::after { box-sizing: inherit; }
html { scroll-behavior: smooth; scroll-padding-top: 90px; }
body { -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }
.ao-main, .ao-ftr { overflow-x: clip; }
body.ao-lock { overflow: hidden; }
.wp-site-blocks { padding: 0 !important; }
.ao-main :where(h1, h2, h3, h4, h5, h6, p, ul, ol, figure),
.ao-header :where(p, ul, figure),
.ao-footer :where(p, ul, figure),
.ao-modal :where(h2, p, figure),
.ao-cookie :where(p) { margin: 0; }
.ao-main img, .ao-footer img, .ao-header img { max-width: 100%; height: auto; }
.ao-main figure.wp-block-image { margin: 0; }
mark.has-inline-color { background: none; }
a { transition: color .2s; }
.screen-reader-text:focus { z-index: 999; }
:focus-visible { outline: 2px solid var(--ao-brand); outline-offset: 2px; }

.ao-wrap { width: min(1320px, 100% - 2 * var(--ao-gut)); margin-inline: auto; position: relative; }
.ao-wrap--narrow { width: min(990px, 100% - 2 * var(--ao-gut)); }

/* ---------- sections ---------- */
.ao-sec { position: relative; padding: var(--ao-sec-pt) 0 var(--ao-sec-pb); }
.ao-main > .ao-sec + .ao-sec,
.ao-main > .ao-sec ~ .ao-sec { margin-top: calc(-1 * var(--ao-ov)); border-radius: var(--ao-ov) var(--ao-ov) 0 0; }
.ao-sec--light, .ao-sec--page { background: linear-gradient(180deg, #FDFDFD 0%, #EEF0FA 100%); }
.ao-sec--sky { background: linear-gradient(180deg, #FFFFFF 0%, #DEEBFE 100%); }
.ao-sec--dark, .ao-sec--hero, .ao-footer {
	background: #BDD1F1 var(--ao-dark-bg) center top / max(100%, 1440px) auto no-repeat;
}
.ao-sec--dark::before, .ao-sec--hero::before, .ao-footer::before {
	content: ""; position: absolute; inset: 0; border-radius: inherit; pointer-events: none;
	background: repeating-linear-gradient(90deg, transparent 0 120px, rgba(255, 255, 255, .06) 120px 121px);
	background-position: calc(50% - 6px) 0;
	-webkit-mask-image: linear-gradient(180deg, #000 0%, rgba(0, 0, 0, .6) 60%, transparent 100%);
	mask-image: linear-gradient(180deg, #000 0%, rgba(0, 0, 0, .6) 60%, transparent 100%);
}
.ao-block + .ao-block { margin-top: var(--ao-block-gap); }

/* ---------- typography ---------- */
.ao-h1 { font-size: var(--wp--preset--font-size--h-1); font-weight: 600; line-height: 1; letter-spacing: 0; }
.ao-h2 { font-size: var(--wp--preset--font-size--h-2); font-weight: 600; line-height: 1; }
.ao-h3 { font-size: var(--wp--preset--font-size--h-3); font-weight: 600; line-height: 1; }
.ao-h4, .ao-h5 { font-size: var(--wp--preset--font-size--h-4); font-weight: 600; line-height: 1.1; }
.ao-text { font-size: var(--wp--preset--font-size--base); line-height: 1.35; }
.ao-lead { font-size: var(--wp--preset--font-size--base); line-height: 1.4; }

.ao-badge {
	display: inline-flex; align-items: center; justify-content: center; align-self: flex-start;
	min-width: 89px; height: 30px; padding: 0 18px; border-radius: 15px;
	background: var(--ao-glass), var(--ao-brand); color: var(--ao-ink);
	font-size: 16px; font-weight: 600; line-height: 1;
}
.ao-badge::before { content: "/"; color: var(--ao-brand); margin-right: .3em; }

.ao-head { display: flex; flex-direction: column; gap: 20px; margin-bottom: 30px; }
.ao-head .ao-badge + .ao-h2 { margin-top: -10px; }
.ao-head--c { align-items: center; text-align: center; }
.ao-head--c .ao-badge { align-self: center; }
.ao-head--c .ao-h2, .ao-head--c .ao-lead { max-width: 874px; }
.ao-sec--dark .ao-head, .ao-sec--hero .ao-head, .ao-sec--dark .ao-split__main { color: #fff; }

/* ---------- buttons ---------- */
.ao-btns { display: flex; flex-wrap: wrap; gap: 10px; }
.ao-btns:has(.ao-btn--center) { justify-content: center; }
.ao-btn .wp-block-button__link {
	position: relative; display: inline-flex; align-items: center; justify-content: center;
	min-height: 50px; padding: 13px 30px; border-radius: 100px; border: 0;
	background: var(--ao-brand); color: #fff; font-size: 16px; font-weight: 600; line-height: 1.4;
	text-decoration: none; transition: background-color .2s, box-shadow .2s, transform .2s;
}
.ao-btn .wp-block-button__link:hover { background: var(--ao-brand-d); color: #fff; }
.ao-btn--arrow .wp-block-button__link { padding-left: 55px; }
.ao-btn--arrow .wp-block-button__link::before {
	content: ""; position: absolute; left: 5px; top: 50%; translate: 0 -50%; width: 40px; height: 40px; border-radius: 50%;
	background: #fff var(--ao-ico-arrow-ur) center / 20px no-repeat; transition: transform .25s;
}
.ao-btn--arrow .wp-block-button__link:hover::before { transform: rotate(45deg); }
.ao-btn--glass .wp-block-button__link {
	background: rgba(255, 255, 255, .1); box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .7);
	-webkit-backdrop-filter: blur(25px); backdrop-filter: blur(25px);
}
.ao-btn--glass .wp-block-button__link:hover { background: rgba(255, 255, 255, .2); }

/* ---------- cards / tiles / icons ---------- */
.ao-card { position: relative; border-radius: var(--ao-r); background-color: #fff; padding: 30px; }
.ao-lines {
	background-image: repeating-linear-gradient(90deg, transparent 0 52px, rgba(123, 176, 244, .08) 52px 53px);
	background-position: -1px 0;
}
.ao-card--sky { background: var(--ao-card-sky); box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .5); }
.ao-card__body { display: flex; flex-direction: column; gap: 8px; }
.ao-tile {
	flex: none; display: grid; place-items: center; width: 60px; height: 60px; border-radius: 15px;
	background: linear-gradient(180deg, #E9F1FE 0%, #DDE9FD 100%);
}
.ao-ico img { display: block; width: 30px; height: 30px; }
.ao-ico--png img { width: auto; height: auto; }
.ao-grid { display: grid; gap: 20px; }
.ao-grid--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.ao-grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.ao-grid--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }

.ao-list { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 7px; }
.ao-list li { position: relative; padding-left: 28px; line-height: 1.35; }
.ao-list li::before {
	content: ""; position: absolute; left: 3px; top: .4em; width: 10px; height: 10px; border-radius: 50%;
	background: var(--ao-brand); box-shadow: 0 0 0 3px rgba(7, 103, 248, .22);
}

.ao-alert { display: flex; align-items: center; gap: 10px; font-size: 14px; }
.ao-alert::before {
	content: "!"; flex: none; display: grid; place-items: center; width: 20px; height: 20px; border-radius: 50%;
	background: var(--ao-red); color: #fff; font-size: 14px; font-weight: 700; line-height: 1;
}

.ao-split { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
.ao-split__main { display: flex; flex-direction: column; }
.ao-split__main .ao-head { margin-bottom: 20px; }
.ao-split--center { align-items: center; }

.ao-num {
	display: grid; place-items: center; width: 60px; height: 60px; border-radius: 50%;
	background: var(--ao-brand); color: #fff; font-size: 20px; font-weight: 600; line-height: 1;
}
.ao-num--sm { width: 35px; height: 35px; font-size: 16px; }

/* ==========================================================================
   Header
   ========================================================================== */
.ao-hdr { position: relative; z-index: 100; }
.ao-header {
	position: fixed; z-index: 100; left: 0; right: 0; top: var(--wp-admin--admin-bar--height, 0px);
	padding: 20px 0; transition: background-color .3s, padding .3s, box-shadow .3s;
}
.ao-header.is-scrolled {
	padding: 10px 0; background: rgba(19, 22, 58, .82);
	-webkit-backdrop-filter: blur(20px); backdrop-filter: blur(20px);
}
.ao-hdr--light .ao-header.is-scrolled { background: rgba(253, 253, 253, .9); box-shadow: 0 4px 25px rgba(36, 46, 77, .08); }
.ao-header__inner { display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.ao-logo { flex: none; }
.ao-logo img { display: block; width: 223px; height: auto; }
.ao-logo--dark, .ao-hdr--light .ao-logo--light { display: none; }
.ao-hdr--light .ao-logo--dark { display: block; }

nav.ao-nav.wp-block-navigation {
	height: 50px; padding: 0 30px; border-radius: 100px;
	background: rgba(255, 255, 255, .1); box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .55);
	-webkit-backdrop-filter: blur(25px); backdrop-filter: blur(25px);
	font-size: 16px; font-weight: 600; color: #fff;
}
.ao-nav .wp-block-navigation__container { gap: 40px; padding: 0; margin: 0; background: none; box-shadow: none; height: auto; }
.ao-nav .wp-block-navigation-item__content { color: inherit; padding: 13px 0; line-height: 1.4; }
.ao-nav > .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content:hover,
.ao-nav .has-child:hover > .wp-block-navigation-item__content { color: var(--ao-brand); }
.ao-hdr--light nav.ao-nav.wp-block-navigation { color: var(--ao-ink); background: rgba(255, 255, 255, .7); box-shadow: inset 0 0 0 1px rgba(8, 13, 65, .12); }
.ao-header.is-scrolled nav.ao-nav.wp-block-navigation { -webkit-backdrop-filter: none; backdrop-filter: none; }

/* dropdown */
.ao-nav .has-child { position: relative; }
.ao-nav .has-child::after { content: ""; position: absolute; left: -30px; right: -30px; top: 100%; height: 12px; }
.ao-nav .wp-block-navigation__submenu-container.wp-block-navigation__submenu-container {
	left: -30px; top: calc(100% + 10px); min-width: 370px !important; padding: 35px 30px; gap: 12px; display: flex; flex-direction: column;
	border: 0 !important; border-radius: 30px; background: #fff !important; color: var(--ao-ink) !important; box-shadow: var(--ao-shadow);
	font-weight: 400;
}
.ao-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content { padding: 0 !important; line-height: 1.2; white-space: normal; }
.ao-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover { color: var(--ao-brand); }
.ao-nav .wp-block-navigation__submenu-container .wp-block-navigation-item { width: 100%; }

.ao-header__btns .ao-btn .wp-block-button__link { padding-inline: 30px; }
.ao-burger { display: none; }

@media (max-width: 1239px) {
	nav.ao-nav.wp-block-navigation, .ao-header .ao-header__btns { display: none; }
	.ao-burger {
		display: grid; place-items: center; width: 40px; height: 40px; padding: 0; border: 0; border-radius: 50%;
		background: var(--ao-brand); cursor: pointer;
	}
	.ao-burger span, .ao-burger span::before { display: block; width: 18px; height: 2px; border-radius: 2px; background: #fff; position: relative; }
	.ao-burger span { top: -3px; }
	.ao-burger span::before { content: ""; top: 6px; width: 14px; margin-left: 4px; }
}
@media (max-width: 767px) {
	.ao-header { padding: 15px 0; }
	.ao-logo img { width: 167px; }
}

/* mobile menu (built by main.js) */
.ao-mmenu {
	position: fixed; inset: 0; z-index: 300; display: flex; flex-direction: column; padding: 15px var(--ao-gut) 15px;
	background: var(--ao-navy) var(--ao-dark-bg) center top / cover no-repeat; color: #fff;
	opacity: 0; visibility: hidden; transition: opacity .25s, visibility .25s;
}
.ao-mmenu.is-open { opacity: 1; visibility: visible; }
.ao-mmenu__top { display: flex; align-items: center; justify-content: space-between; min-height: 40px; }
.ao-mmenu__top img { width: 167px; height: auto; display: block; }
.ao-mmenu__close { width: 40px; height: 40px; border: 0; border-radius: 50%; background: #fff var(--ao-ico-close) center / 18px no-repeat; cursor: pointer; }
.ao-mmenu__body { position: relative; flex: 1; overflow: auto; margin-top: 30px; }
.ao-mmenu__list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 25px; }
.ao-mmenu__list a, .ao-mmenu__list button {
	display: flex; width: 100%; align-items: center; justify-content: space-between; padding: 0; border: 0; background: none;
	color: #fff; font: inherit; font-size: 16px; font-weight: 600; text-decoration: none; text-align: left; cursor: pointer;
}
.ao-mmenu__list button::after { content: ""; width: 16px; height: 16px; background: var(--ao-ico-chevron) center / contain no-repeat; }
.ao-mmenu__sub { display: none; }
.ao-mmenu__sub.is-open { display: block; }
.ao-mmenu__back { display: flex; align-items: center; gap: 10px; padding: 0; margin-bottom: 25px; border: 0; background: none; color: #fff; font: inherit; font-weight: 600; cursor: pointer; }
.ao-mmenu__back::before { content: ""; width: 16px; height: 16px; background: var(--ao-ico-back) center / contain no-repeat; }
.ao-mmenu__sub ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 14px; }
.ao-mmenu__sub a { color: #fff; text-decoration: none; font-size: 16px; line-height: 1.3; }
.ao-mmenu.is-sub .ao-mmenu__list { display: none; }
.ao-mmenu__cta { display: flex; align-items: center; justify-content: center; height: 45px; margin-top: 20px; border-radius: 100px; background: var(--ao-brand); color: #fff; font-weight: 600; text-decoration: none; }

/* registry badge */
.ao-regbadge {
	position: fixed; z-index: 90; right: 0; top: 305px; width: 25px; padding: 12px 0;
	writing-mode: vertical-rl; transform: rotate(180deg); text-align: center;
	border-radius: 0 10px 10px 0; background: var(--ao-navy); box-shadow: 0 22px 0 var(--ao-brand);
	color: #fff; font-size: 12px; font-weight: 500; line-height: 25px; text-decoration: none; white-space: nowrap;
}
.ao-regbadge:hover { color: #fff; background: #1d2156; }
@media (max-width: 1023px) { .ao-regbadge { display: none; } }

/* ==========================================================================
   Hero
   ========================================================================== */
.ao-sec--hero { padding: 147px 0 155px; overflow: hidden; }
.ao-hero__inner { display: flex; flex-direction: column; align-items: center; text-align: center; color: #fff; }
.ao-hero__inner .ao-h1 { max-width: 1096px; }
.ao-hero__lead { max-width: 874px; margin-top: 20px !important; font-size: var(--wp--preset--font-size--base); line-height: 1.4; }
.ao-hero__btns { justify-content: center; margin-top: 30px; }

.ao-hv { position: relative; width: 100%; height: 345px; margin-top: 65px; text-align: left; color: var(--ao-ink); }
.ao-hv__lines { position: absolute; inset: 0; width: 100%; height: 100%; }
.ao-hv__tile {
	position: absolute; display: grid; place-items: center; width: 70px; height: 70px; border-radius: 15px; background: var(--ao-glass);
	box-shadow: 0 10px 30px rgba(8, 13, 65, .06);
}
.ao-hv__tile i { display: block; width: 30px; height: 30px; background: var(--i) center / contain no-repeat; }
.ao-hv__tile img { position: relative; z-index: 1; width: 40px; height: 40px; }
.ao-hv__tile--big { width: 100px; height: 100px; border-radius: 25px; background: rgba(255, 255, 255, .22); box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .45); }
.ao-hv__tile--big::before { content: ""; position: absolute; inset: 15px; border-radius: 15px; background: var(--ao-glass); }
.ao-hv__tile--big i { position: relative; z-index: 1; }
.ao-hv__x { position: relative; z-index: 1; width: 40px; height: 40px; border-radius: 50%; background: var(--ao-brand) url(../icons/close-white.svg) center / 18px no-repeat; }

.ao-hv__chart { position: absolute; left: 50%; top: 0; width: 650px; height: 265px; margin-left: -325px; }
.ao-hv__panel {
	position: absolute; left: 0; right: 0; top: 50px; height: 215px; padding: 15px; border-radius: 30px;
	background: rgba(255, 255, 255, .3); box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .6);
	-webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px);
}
.ao-hv__panel::before {
	content: ""; position: absolute; inset: 15px; border-radius: 20px;
	background: linear-gradient(180deg, rgba(232, 240, 253, .95) 0 46%, #fff 46% 100%);
}
.ao-hv__wave { position: absolute; left: 15px; right: 15px; top: 24px; width: calc(100% - 30px); height: 85px; }
.ao-hv__peak {
	position: absolute; left: calc(15px + 472px - 8px); top: calc(24px + 18px - 8px); width: 16px; height: 16px; border-radius: 50%;
	background: #fff; box-shadow: inset 0 0 0 4px var(--ao-red), 0 0 0 3px rgba(254, 53, 57, .2);
}
.ao-hv__peak::after { content: ""; position: absolute; left: 7px; top: 16px; height: 77px; border-left: 2px dashed var(--ao-red); }
.ao-hv__steps {
	position: absolute; left: 45px; right: 45px; top: 117px; display: grid; grid-template-columns: repeat(4, 145px);
	font-size: 14px; line-height: 1.4;
}
.ao-hv__steps::before {
	content: ""; position: absolute; left: 8px; right: 0; top: 7px; height: 3px; border-radius: 3px;
	background: linear-gradient(90deg, #B9D3F8 0 60%, var(--ao-red) 78% 100%);
}
.ao-hv__steps div { position: relative; display: flex; flex-direction: column; }
.ao-hv__steps b { width: 16px; height: 16px; margin-bottom: 9px; border-radius: 50%; background: #fff; box-shadow: inset 0 0 0 4px var(--ao-brand); }
.ao-hv__steps strong { font-size: 16px; font-weight: 600; }
.ao-hv__steps .is-bad { color: var(--ao-red); }
.ao-hv__steps .is-bad span { font-weight: 700; }
.ao-hv__steps .is-bad b { box-shadow: inset 0 0 0 4px var(--ao-red), 0 0 0 3px rgba(254, 53, 57, .2); }
.ao-hv__tip { position: absolute; display: flex; align-items: center; gap: 15px; border-radius: 15px; background: #fff; box-shadow: var(--ao-shadow); font-size: 14px; line-height: 1.4; }
.ao-hv__tip strong { display: block; font-weight: 600; }
.ao-hv__tip--user { left: 45px; top: 33px; padding: 15px 18px 15px 15px; color: var(--ao-gray); }
.ao-hv__tip--user strong { color: var(--ao-ink); }
.ao-hv__tip--user i { width: 32px; height: 32px; border-radius: 50%; background: var(--ao-brand) var(--ao-ico-profile-w) center / 20px no-repeat; }
.ao-hv__tip--alert { left: 377px; top: 0; width: 221px; padding: 12px 15px 13px; justify-content: space-between; }
.ao-hv__tip--alert::after { content: ""; position: absolute; left: 102px; bottom: -8px; border: 8px solid transparent; border-bottom: 0; border-top-color: #fff; }
.ao-hv__tip--alert em { font-style: normal; font-size: 20px; font-weight: 600; color: var(--ao-red); }
.ao-hv__tip--alert i {
	display: grid; place-items: center; width: 25px; height: 25px; border-radius: 50%; background: var(--ao-red);
	color: #fff; font-style: normal; font-size: 18px; font-weight: 700;
}
.ao-hv__flow { position: absolute; left: 50%; top: 280px; width: 620px; margin-left: -310px; display: grid; grid-template-columns: repeat(4, 1fr); gap: 15px; }
.ao-hv__flow div {
	position: relative; display: flex; align-items: center; gap: 8px; height: 60px; padding: 0 15px; border-radius: 15px;
	background: rgba(255, 255, 255, .78); font-size: 14px; font-weight: 600; line-height: 1.3;
}
.ao-hv__flow div:not(:last-child)::after { content: ""; position: absolute; right: -15px; top: 50%; width: 15px; height: 1px; background: rgba(7, 103, 248, .35); }
.ao-hv__flow div:nth-child(2)::after, .ao-hv__flow .is-bad::after { background: var(--ao-red); }
.ao-hv__flow .is-bad { background: #FDDCDD; box-shadow: inset 0 0 0 1px var(--ao-red); }
.ao-hv__flow i { flex: none; width: 30px; height: 30px; background: var(--i) center / contain no-repeat; }
.ao-hv__flow .ao-hv__err { border-radius: 50%; background: var(--ao-red) var(--ao-ico-profile-w) center / 20px no-repeat; }

@media (max-width: 1319px) {
	.ao-hv__tile, .ao-hv__lines { display: none; }
}
@media (max-width: 767px) {
	.ao-sec--hero { padding: 85px 0 80px; }
	.ao-hero__btns { flex-direction: column; align-items: stretch; width: 100%; }
	.ao-hero__btns .wp-block-button__link { width: 100%; }
	.ao-hv { height: auto; margin-top: 30px; }
	.ao-hv__chart { position: relative; left: auto; margin: 0 auto; zoom: .53; }
	.ao-hv__flow { display: none; }
}
@media (min-width: 420px) and (max-width: 767px) { .ao-hv__chart { zoom: .6; } }

/* ==========================================================================
   01–02
   ========================================================================== */
.ao-feat { display: flex; flex-direction: column; gap: 18px; min-height: 250px; }
.ao-industries {
	display: flex; align-items: center; gap: 30px; margin-top: 20px; padding: 30px; border-radius: var(--ao-r);
	background: linear-gradient(90deg, #E9F1FE 0%, #E2EEFF 100%);
}
.ao-industries .ao-h3 { flex: none; width: 230px; }
.ao-industries__list { flex: 1; display: flex; justify-content: flex-end; flex-wrap: wrap; gap: 15px; }
@media (min-width: 1320px) { .ao-industries__list { flex-wrap: nowrap; } }
.ao-chip {
	position: relative; display: flex; align-items: center; gap: 8px; height: 60px; padding: 0 15px; border-radius: 15px;
	background: rgba(255, 255, 255, .7); font-size: 14px; font-weight: 600; line-height: 1.3;
}
.ao-chip:not(:last-child)::after { content: ""; position: absolute; right: -12px; top: 50%; width: 9px; height: 1px; background: rgba(7, 103, 248, .3); }

.ao-split--top .ao-split__side { margin-top: 50px; }
.ao-text--lead { line-height: 1.4; }
.ao-hl { display: flex; align-items: center; gap: 25px; margin-top: 30px; }
.ao-hl .ao-tile { width: 70px; height: 70px; background: rgba(255, 255, 255, .8); }
.ao-card--media { display: flex; flex-direction: column; padding: 0; }
.ao-card__media { height: 144px; border-radius: var(--ao-r); background: var(--ao-card-sky); overflow: hidden; }
.ao-card__media img { width: 100%; height: 100%; object-fit: contain; }
.ao-card--media .ao-card__body { padding: 30px; gap: 12px; }

/* ==========================================================================
   03
   ========================================================================== */
.ao-video {
	position: relative; display: grid; place-items: center; height: 500px; margin-bottom: 20px; border-radius: var(--ao-r); overflow: hidden;
	background: linear-gradient(180deg, rgba(232, 241, 255, .96) 0%, rgba(221, 234, 254, .96) 100%);
}
.ao-video__play {
	width: 60px; height: 60px; padding: 0; border: 0; border-radius: 50%; cursor: pointer;
	background: var(--ao-brand) var(--ao-ico-play) 55% 50% / 30px no-repeat; transition: transform .2s, box-shadow .2s;
	box-shadow: 0 0 0 0 rgba(7, 103, 248, .35);
}
.ao-video__play:hover { transform: scale(1.06); box-shadow: 0 0 0 12px rgba(7, 103, 248, .15); }
.ao-video iframe, .ao-video video { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.ao-prob { display: flex; justify-content: space-between; gap: 30px; min-height: 185px; }
.ao-prob .ao-card__body { gap: 12px; }

/* ==========================================================================
   04 iceberg
   ========================================================================== */
.ao-ice { position: relative; height: 715px; }
.ao-ice__img { position: absolute; left: calc(50% - 319px); top: 0; width: 637px; }
.ao-ice__img img { width: 100%; }
.ao-bubble {
	position: absolute; z-index: 2; display: flex; align-items: center; gap: 15px; padding: 15px 20px 15px 15px; border-radius: 15px;
	background: rgba(255, 255, 255, .92); box-shadow: var(--ao-shadow); font-size: 16px; line-height: 1.2;
}
.ao-bubble::before {
	content: "?"; flex: none; display: grid; place-items: center; width: 40px; height: 40px; border-radius: 50%;
	background: var(--ao-brand); color: #fff; font-size: 26px; font-weight: 600;
}
.ao-bubble::after { content: ""; position: absolute; left: 50%; bottom: -10px; margin-left: -10px; border: 10px solid transparent; border-bottom: 0; border-top-color: rgba(255, 255, 255, .92); }
.ao-bubble--1 { left: calc(50% - 437px); top: 80px; }
.ao-bubble--2 { left: calc(50% + 10px); top: 160px; }
.ao-bubble--3 { left: calc(50% + 142px); top: 0; max-width: 295px; }
.ao-ice__card { position: absolute; z-index: 2; -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); background: linear-gradient(180deg, rgba(232, 241, 255, .9), rgba(221, 234, 254, .9)); }
.ao-ice__card .ao-text { margin-top: 10px; }
.ao-ice__card--1 { left: 0; top: 310px; width: 315px; min-height: 162px; }
.ao-ice__card--2 { right: 0; top: 310px; width: 315px; min-height: 162px; }
.ao-ice__card--3 { left: calc(50% - 437px); top: 492px; width: 427px; min-height: 121px; }
.ao-ice__card--4 { left: calc(50% + 10px); top: 492px; width: 427px; min-height: 121px; }

/* ==========================================================================
   05 / FAQ accordions
   ========================================================================== */
.ao-acc-list, .ao-faq { display: flex; flex-direction: column; }
.ao-acc {
	position: relative; border-radius: var(--ao-r); padding: 0 30px 20px;
	background: linear-gradient(180deg, #fff 55%, #F6F7FC 100%); box-shadow: 0 -6px 24px rgba(8, 13, 65, .035);
}
.ao-acc + .ao-acc { margin-top: -20px; }
.ao-acc > summary {
	position: relative; display: block; list-style: none; padding: 35px max(70px, calc(100% - 955px)) 35px 0; cursor: pointer;
	font-size: var(--wp--preset--font-size--h-3); font-weight: 600; line-height: 1;
}
.ao-acc > summary::-webkit-details-marker { display: none; }
.ao-acc > summary::after {
	content: ""; position: absolute; right: 0; top: 28px; width: 40px; height: 40px; border-radius: 50%;
	background: var(--ao-brand) var(--ao-ico-arrow-down-w) center / 20px no-repeat; transition: background-color .2s;
}
.ao-acc[open] > summary::after { background: var(--ao-sky) var(--ao-ico-arrow-up) center / 20px no-repeat; }
.ao-acc[open] > summary { padding-bottom: 20px; }
.ao-acc > :not(summary) { max-width: 955px; }
.ao-acc[open] { padding-bottom: 40px; }
.ao-acc > p + p, .ao-acc > p + ul, .ao-acc > ul + p { margin-top: 12px; }
.ao-acc > ul.ao-list, .ao-acc > ul { margin-top: 15px; }
.ao-faq .ao-acc > p, .ao-faq .ao-acc li { font-size: var(--wp--preset--font-size--base); line-height: 1.4; }
.ao-faq .ao-acc > ul { list-style: none; padding: 0; display: flex; flex-direction: column; gap: 7px; }
.ao-faq .ao-acc > ul li { position: relative; padding-left: 28px; }
.ao-faq .ao-acc > ul li::before { content: ""; position: absolute; left: 3px; top: .4em; width: 10px; height: 10px; border-radius: 50%; background: var(--ao-brand); box-shadow: 0 0 0 3px rgba(7, 103, 248, .22); }

.ao-acc--feature > summary { padding-bottom: 35px; }
.ao-acc--feature[open] > summary { padding-bottom: 25px; }
.ao-acc__cols { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; margin-top: 30px; max-width: none !important; }
.ao-acc__cols--1 { grid-template-columns: minmax(0, 1fr); max-width: 620px !important; }
.ao-acc__col .ao-h3 { margin-bottom: 30px; }
.ao-benefits { min-height: 340px; padding: 35px 30px; }
.ao-benefits .ao-list { gap: 9px; }
.ao-acc__cols--1 .ao-benefits { min-height: 0; }
.ao-shot img { display: block; width: 100%; border-radius: 10px; box-shadow: 0 0 0 1px #CFDFFC; }
.ao-acc .ao-btns { margin-top: 20px; max-width: none; }

.ao-faq__more { display: none; }

/* ==========================================================================
   06
   ========================================================================== */
.ao-flowcard { padding: 30px; text-align: center; }
.ao-flowcard__title { font-size: 18px; font-weight: 600; line-height: 1.1; }
.ao-flow { display: grid; grid-template-columns: auto auto 1fr auto; gap: 15px; margin-top: 25px; text-align: left; }
.ao-node {
	position: relative; display: flex; align-items: center; gap: 10px; height: 60px; padding: 0 20px; border-radius: 15px;
	background: rgba(255, 255, 255, .85); font-size: 14px; font-weight: 600; line-height: 1.3;
}
.ao-node:not(:last-child)::after { content: ""; position: absolute; right: -15px; top: 50%; width: 15px; height: 1px; background: rgba(7, 103, 248, .3); }
.ao-node:nth-child(2)::after, .ao-node--err::after { background: var(--ao-red) !important; }
.ao-node--err { background: #FDDCDD; box-shadow: inset 0 0 0 1px var(--ao-red); }
.ao-node--err .ao-ico { display: grid; place-items: center; width: 30px; height: 30px; border-radius: 50%; background: var(--ao-red); }
.ao-node--err .ao-ico img { width: 22px; height: 22px; }
.ao-node .ao-ico img { width: 30px; height: 30px; }
.ao-flowcard .ao-alert { justify-content: center; margin-top: 15px; }
.ao-sec--dark .ao-split--center + .ao-grid { margin-top: 60px; }
.ao-e2e { display: flex; flex-direction: column; min-height: 275px; }
.ao-e2e .ao-h3 { margin-top: 43px; }
.ao-e2e .ao-text { margin-top: 18px; }

/* ==========================================================================
   07–08
   ========================================================================== */
.ao-stepcard { min-height: 343px; }
.ao-stepcard .ao-num { margin-bottom: 28px; }
.ao-stepcard .ao-list { margin-top: 6px; }
.ao-ai { display: grid; grid-template-columns: 315px minmax(0, 1fr) 315px; align-items: center; gap: 20px; }
.ao-ai__col { display: flex; flex-direction: column; gap: 20px; }
.ao-ai__img { justify-self: center; max-width: 538px; }
.ao-ai__img--wide { max-width: 650px; }
.ao-aicard { padding: 30px; }
.ao-aicard .ao-text { margin-top: 10px; }
.ao-ai + .ao-btns { margin-top: 48px; }

/* ==========================================================================
   09 MCP
   ========================================================================== */
.ao-split--mcp { grid-template-columns: minmax(0, 650px) minmax(0, 538px); justify-content: space-between; }
.ao-split--mcp .ao-btns { margin-top: 30px; }
.ao-chat { position: relative; display: flex; flex-direction: column; gap: 10px; margin-top: 50px; }
.ao-chat::before {
	content: ""; position: absolute; left: -22px; top: 73px; bottom: 77px; width: 22px;
	border: 1px solid rgba(7, 103, 248, .2); border-right: 0; border-radius: 12px 0 0 12px;
}
.ao-chat__card { padding: 30px; }
.ao-chat__card .ao-list { margin-top: 15px; }
.ao-ask { position: relative; display: flex; align-items: center; min-height: 40px; margin-top: 15px !important; padding-left: 55px; line-height: 1.35; }
.ao-ask::before {
	content: "?"; position: absolute; left: 0; top: 50%; translate: 0 -50%; display: grid; place-items: center; width: 40px; height: 40px;
	border-radius: 50%; background: var(--ao-brand); color: #fff; font-size: 26px; font-weight: 600;
}

/* ==========================================================================
   10
   ========================================================================== */
.ao-alt { display: grid; grid-template-columns: minmax(0, 874px) 131px 315px; align-items: center; }
.ao-alt__chips { min-width: 0; }
.ao-alt__row:nth-child(2) .ao-pchip:first-child { flex-grow: 1.45; }
.ao-alt__chips { display: flex; flex-direction: column; gap: 15px; }
.ao-alt__row { display: flex; gap: 16px; }
.ao-pchip {
	position: relative; flex: 1 1 0; min-width: 0; display: flex; align-items: center; height: 60px; padding: 0 20px 0 41px; border-radius: 15px;
	background: linear-gradient(90deg, rgba(232, 236, 251, .9) 0%, rgba(206, 213, 242, .85) 100%);
	-webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px);
	color: var(--ao-ink); font-size: 14px; font-weight: 600; line-height: 1.3; white-space: nowrap;
}
.ao-pchip::before { content: ""; position: absolute; left: 22px; top: 50%; width: 10px; height: 10px; margin-top: -5px; border-radius: 50%; background: var(--ao-brand); }
.ao-alt__lines { display: block; width: 131px; height: 210px; }
.ao-alt__pill {
	display: grid; place-items: center; width: 315px; height: 210px; padding: 0 30px; border-radius: 105px; text-align: center;
	background: var(--ao-brand); color: #fff; font-size: 16px; font-weight: 600; line-height: 1.2;
}
.ao-registry { display: flex; align-items: center; justify-content: space-between; gap: 30px; margin-top: 15px; }
.ao-registry__main { max-width: 508px; display: flex; flex-direction: column; gap: 15px; }
.ao-registry__items { display: grid; grid-template-columns: repeat(4, 155px); gap: 30px; }
.ao-reg { display: flex; flex-direction: column; gap: 4px; }
.ao-reg__t { font-size: 16px; font-weight: 600; line-height: 1.2; }

/* ==========================================================================
   11–12
   ========================================================================== */
.ao-psteps { position: relative; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 30px; padding-top: 56px; }
.ao-psteps::before, .ao-psteps::after { content: ""; position: absolute; top: 20px; height: 1px; left: calc(50% - 50vw); }
.ao-psteps::before { width: 100vw; background: rgba(123, 176, 244, .5); }
.ao-psteps::after { width: calc(50vw - 50% + 140px); background: var(--ao-brand); }
.ao-pstep { position: relative; display: flex; flex-direction: column; }
.ao-pstep::before {
	content: ""; position: absolute; left: 10px; top: -46px; width: 20px; height: 20px; border-radius: 50%;
	background: var(--ao-brand); box-shadow: 0 0 0 4px rgba(7, 103, 248, .18);
}
.ao-pstep.is-active::before { left: 0; top: -56px; width: 40px; height: 40px; box-shadow: 0 0 0 5px rgba(7, 103, 248, .22); }
.ao-pstep .ao-text { margin-top: 10px; }
.ao-pill {
	align-self: flex-start; margin-top: auto !important; padding: 0 15px; height: 30px; border-radius: 15px;
	background: var(--ao-brand); color: #fff; font-size: 16px; font-weight: 600; line-height: 30px;
}
.ao-pstep .ao-text { margin-bottom: 20px; }

.ao-roles { display: grid; grid-template-columns: 427px minmax(0, 1fr); gap: 131px; }
.ao-roles__intro { display: flex; flex-direction: column; }
.ao-roles__intro .ao-h2 { margin-top: 10px; }
.ao-roles__intro .ao-text { margin-top: 20px; }
.ao-arrows { display: flex; gap: 10px; margin-top: auto; padding-top: 30px; }
.ao-arrow { width: 50px; height: 50px; padding: 0; border: 0; border-radius: 50%; cursor: pointer; transition: background-color .2s, opacity .2s; }
.ao-arrow--prev { background: var(--ao-sky) var(--ao-ico-arrow-left) center / 22px no-repeat; }
.ao-arrow--next { background: var(--ao-brand) var(--ao-ico-arrow-right-w) center / 22px no-repeat; }
.ao-arrow:disabled { opacity: .45; cursor: default; }
.ao-roles__track {
	display: flex; gap: 20px; margin-right: calc((100vw - min(1320px, 100vw - 2 * var(--ao-gut))) / -2); padding-right: var(--ao-gut);
	overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; -ms-overflow-style: none;
}
.ao-roles__track::-webkit-scrollbar { display: none; }
.ao-role { flex: 0 0 315px; min-height: 387px; scroll-snap-align: start; }
.ao-role .ao-card__body { padding-top: 30px; }

/* ==========================================================================
   13
   ========================================================================== */
.ao-tabs { display: none; }
.ao-rescard { padding: 0 0 40px; }
.ao-rescard__h {
	display: flex; align-items: center; height: 50px; padding: 0 30px; border-radius: var(--ao-r);
	background: linear-gradient(90deg, #E5EFFF 0%, #DCE9FE 100%);
	font-size: var(--wp--preset--font-size--h-3); font-weight: 600; line-height: 1;
}
.ao-list--res { padding: 30px 30px 0 !important; gap: 24px; }
.ao-list--res br { display: none; }
.ao-list--res strong { display: block; margin-bottom: 8px; font-size: 18px; font-weight: 600; line-height: 1.1; }
.ao-list--res li::before { top: .25em; }

/* ==========================================================================
   14 case
   ========================================================================== */
.ao-case__head { margin-top: 5px; text-align: center; color: #fff; }
.ao-case__title { font-size: var(--wp--preset--font-size--h-3); font-weight: 600; line-height: 1; }
.ao-case__meta { margin-top: 15px !important; color: rgba(255, 255, 255, .9); }
.ao-case__meta mark { margin: 0 .35em; }
.ao-case { display: grid; grid-template-columns: minmax(0, 762px) minmax(0, 1fr); gap: 20px; margin-top: 35px; }
.ao-case__res { grid-column: 1 / -1; }
.ao-case .ao-card { padding: 30px; }
.ao-case .ao-h3 + .ao-text { margin-top: 20px; }
.ao-case__prob .ao-list { margin: 8px 0 10px; }
.ao-case__chips { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 15px; margin-top: 20px; }
.ao-cchip {
	position: relative; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 8px; min-height: 95px; padding: 10px;
	border-radius: 15px; background: rgba(255, 255, 255, .85); text-align: center; font-size: 14px; font-weight: 600; line-height: 1.1;
}
.ao-cchip:not(:last-child)::after { content: ""; position: absolute; right: -15px; top: 50%; width: 15px; height: 1px; background: rgba(7, 103, 248, .3); }
.ao-stats { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 15px; margin-top: 25px; }
.ao-stat { padding: 30px; border-radius: 15px; background: rgba(255, 255, 255, .85); }
.ao-stat__num { font-size: var(--wp--preset--font-size--h-2); font-weight: 600; line-height: 1; }
.ao-stat .ao-text { margin-top: 20px; }
.ao-alert--row { margin-top: 15px !important; min-height: 60px; padding: 15px 30px; border-radius: 15px; background: rgba(255, 255, 255, .85); font-size: 16px; }
.ao-alert--row::before { width: 25px; height: 25px; font-size: 18px; }

/* ==========================================================================
   15 marquee
   ========================================================================== */
.ao-marquee { margin: 40px calc(50% - 50vw) 0; overflow: hidden; }
.ao-marquee__track { display: flex; gap: 20px; width: max-content; animation: ao-marquee 40s linear infinite; }
.ao-marquee:hover .ao-marquee__track { animation-play-state: paused; }
.ao-logo-tile {
	flex: none; display: grid !important; place-items: center; width: 203px; height: 203px; border-radius: var(--ao-r);
	background: linear-gradient(180deg, #EBF3FE 0%, #E1EDFE 100%);
}
.ao-logo-tile img { width: auto; height: auto; max-width: 100px; max-height: 90px; }
@keyframes ao-marquee { to { transform: translateX(-50%); } }
@media (prefers-reduced-motion: reduce) { .ao-marquee__track { animation: none; } .ao-marquee { overflow-x: auto; } }

/* ==========================================================================
   16 form
   ========================================================================== */
.ao-split--form { grid-template-columns: minmax(0, 650px) minmax(0, 538px); justify-content: space-between; align-items: start; }
.ao-formwrap { margin-top: 50px; }

.ao-form { --ao-f-bg: rgba(255, 255, 255, .1); --ao-f-bd: rgba(255, 255, 255, .35); --ao-f-tx: #fff; --ao-f-ph: rgba(255, 255, 255, .6); --ao-f-small: rgba(255, 255, 255, .6); }
.ao-form--light { --ao-f-bg: #fff; --ao-f-bd: #9CC2FA; --ao-f-tx: var(--ao-ink); --ao-f-ph: var(--ao-gray); --ao-f-small: var(--ao-gray); }
.ao-form form { margin: 0; }
.ao-form__fields { display: flex; flex-direction: column; gap: 10px; }
.ao-form__fields .wpcf7-form-control-wrap { display: block; }
.ao-form input[type=text], .ao-form input[type=tel], .ao-form input[type=email] {
	display: block; width: 100%; height: 50px; padding: 0 19px; border-radius: 100px; border: 1px solid var(--ao-f-bd);
	background: var(--ao-f-bg); color: var(--ao-f-tx); font: inherit; font-size: 16px; outline: none; transition: border-color .2s, background-color .2s;
	-webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px);
}
.ao-form input::placeholder { color: var(--ao-f-ph); opacity: 1; }
.ao-form input:focus { border-color: var(--ao-brand); }
.ao-form__submit { position: relative; margin-top: 10px; }
.ao-form__submit::before {
	content: ""; position: absolute; z-index: 1; left: 5px; top: 5px; width: 40px; height: 40px; border-radius: 50%; pointer-events: none;
	background: #fff var(--ao-ico-arrow-ur) center / 20px no-repeat;
}
.ao-form input[type=submit] {
	display: block; width: 100%; height: 50px; border: 0; border-radius: 100px; background: var(--ao-brand); color: #fff;
	font: inherit; font-size: 16px; font-weight: 600; cursor: pointer; transition: background-color .2s, opacity .2s;
}
.ao-form input[type=submit]:hover { background: var(--ao-brand-d); }
.ao-form input[type=submit]:disabled { opacity: .8; cursor: not-allowed; }
.ao-form .wpcf7-spinner { position: absolute; right: 15px; top: 13px; margin: 0; }
.ao-form__consent { margin-top: 20px; font-size: 12px; line-height: 1.4; color: var(--ao-f-small); }
.ao-form__consent label { display: flex; align-items: flex-start; gap: 15px; cursor: pointer; }
.ao-form__consent .wpcf7-list-item { margin: 0; }
.ao-form__consent a { color: inherit; text-decoration: underline; }
.ao-form__consent input[type=checkbox] {
	flex: none; appearance: none; -webkit-appearance: none; width: 20px; height: 20px; margin: 0; border-radius: 5px; cursor: pointer;
	border: 1px solid var(--ao-f-bd); background: var(--ao-f-bg);
}
.ao-form__consent input[type=checkbox]:checked {
	border-color: var(--ao-brand);
	background: var(--ao-brand) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 10.5l3.2 3L15 7'/%3E%3C/svg%3E") center / 16px no-repeat;
}
.ao-form .wpcf7-not-valid-tip { margin: 4px 19px 0; font-size: 12px; color: #FF9EA0; }
.ao-form--light .wpcf7-not-valid-tip { color: var(--ao-red); }
.ao-form .wpcf7 form .wpcf7-response-output { margin: 15px 0 0; padding: 10px 15px; border-radius: 15px; font-size: 14px; color: var(--ao-f-tx); }
.ao-form__msg { margin-top: 15px !important; padding: 10px 15px; border-radius: 15px; font-size: 14px; background: rgba(255, 255, 255, .15); color: var(--ao-f-tx); }
.ao-form__msg.is-error { background: rgba(254, 53, 57, .15); }
.ao-hp { position: absolute !important; left: -9999px; }

/* ==========================================================================
   Modal / cookie
   ========================================================================== */
.ao-modal {
	position: fixed; inset: 0; z-index: 400; display: none; align-items: center; justify-content: center; padding: 20px;
	background: rgba(15, 18, 52, .55); -webkit-backdrop-filter: blur(3px); backdrop-filter: blur(3px);
}
.ao-modal.is-open { display: flex; animation: ao-fade .2s ease-out; }
.ao-modal__dialog { position: relative; width: 538px; max-width: 100%; max-height: calc(100vh - 40px); overflow: auto; padding: 50px; border-radius: var(--ao-r); background: #fff; color: var(--ao-ink); }
.ao-modal__dialog > .ao-text { max-width: 390px; margin-top: 20px; }
.ao-modal__dialog > .ao-form, .ao-modal__dialog > .wp-block-shortcode, .ao-modal__dialog .ao-form { margin-top: 25px; }
.ao-close { position: absolute; right: 10px; top: 10px; width: 40px; height: 40px; padding: 0; border: 0; border-radius: 50%; cursor: pointer; background: var(--ao-sky) var(--ao-ico-close) center / 18px no-repeat; }
@keyframes ao-fade { from { opacity: 0; } }

.ao-cookie {
	position: fixed; z-index: 350; left: var(--ao-gut); right: var(--ao-gut); bottom: 20px; max-width: 1320px; margin-inline: auto;
	display: none; align-items: center; gap: 30px; padding: 30px 265px 30px 30px; border-radius: var(--ao-r); background: #fff; box-shadow: var(--ao-shadow);
}
.ao-cookie.is-visible { display: flex; animation: ao-fade .3s ease-out; }
.ao-cookie__body { flex: 1; display: flex; flex-direction: column; gap: 12px; }
.ao-cookie__t { font-size: 18px; font-weight: 600; line-height: 1.1; }
.ao-cookie .ao-btn .wp-block-button__link { padding-inline: 30px; }

/* ==========================================================================
   Footer
   ========================================================================== */
.ao-ftr { position: relative; margin-top: calc(-1 * var(--ao-ov)); }
.ao-footer { position: relative; overflow: hidden; padding: 70px 0 20px; border-radius: var(--ao-ov) var(--ao-ov) 0 0; color: #fff; }
.ao-footer a { color: #fff; text-decoration: none; }
.ao-footer a:hover { color: #9CC2FA; }
.ao-footer__cols { display: grid; grid-template-columns: 370px 310px 305px minmax(0, 1fr); }
.ao-footer__h { margin-bottom: 30px !important; font-size: 18px; font-weight: 600; line-height: 1.1; }
.ao-footer__h--gap { margin-top: 100px !important; }
.ao-flinks { list-style: none; padding: 0 !important; display: flex; flex-direction: column; gap: 12px; font-size: 16px; line-height: 1.2; }
.ao-flinks li { max-width: 270px; }
.ao-flinks + .ao-flinks { margin-top: 12px; }
.ao-flinks--tight li { max-width: 215px; }
.ao-footer__col--contacts { display: flex; flex-direction: column; }
.ao-footer__c { font-size: 16px; line-height: 1.2; }
.ao-footer__c + .ao-footer__c { margin-top: 12px !important; }
.ao-footer__actions { display: flex; align-items: center; gap: 10px; margin-top: 40px; }
.ao-tg { display: block; width: 50px; height: 50px; border-radius: 50%; background: rgba(255, 255, 255, .9) var(--ao-ico-tg) 45% 55% / 26px no-repeat; }
.ao-footer__legal { display: grid; grid-template-columns: 370px minmax(0, 1fr); margin-top: 60px; padding: 29px 0; border-top: 1px solid rgba(255, 255, 255, .2); }
.ao-footer__small { font-size: 12px; line-height: 1.4; color: rgba(255, 255, 255, .85); }
.ao-footer__docs a { text-decoration: underline; }
.ao-footer__bottom { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding-top: 10px; border-top: 1px solid rgba(255, 255, 255, .2); }
.ao-totop { width: 40px; height: 40px; padding: 0; border: 0; border-radius: 50%; cursor: pointer; background: var(--ao-brand) var(--ao-ico-up-w) center / 20px no-repeat; }

/* ==========================================================================
   Inner pages
   ========================================================================== */
.ao-sec--page { padding-top: 130px; }
.ao-main--page { min-height: 70vh; }
.ao-crumbs { display: flex; justify-content: center; flex-wrap: wrap; gap: 10px; align-items: center; font-size: 14px; color: var(--ao-ink); }
.ao-crumbs a { color: var(--ao-gray); text-decoration: none; }
.ao-crumbs a:hover { color: var(--ao-brand); }
.ao-crumbs__sep { width: 6px; height: 6px; border-radius: 50%; background: var(--ao-brand); }
.ao-page__title { margin: 20px 0 30px !important; text-align: center; }
.ao-page__date { margin: -15px 0 25px; text-align: center; color: var(--ao-gray); font-size: 14px; }
.ao-content { font-size: var(--wp--preset--font-size--base); line-height: 1.4; }
.ao-content > * + * { margin-top: 15px; }
.ao-content > .ao-legal + .ao-legal { margin-top: 10px; }
.ao-content h2:not(.ao-legal__h) { margin-top: 40px; font-size: var(--wp--preset--font-size--h-3); }
.ao-content h3 { margin-top: 30px; font-size: var(--wp--preset--font-size--h-4); }
.ao-content a { color: var(--ao-brand); }
.ao-content :where(ul):not(.ao-list), .ao-legal ul { list-style: none; padding: 0; display: flex; flex-direction: column; gap: 7px; }
.ao-content :where(ul):not(.ao-list) > li, .ao-legal ul > li { position: relative; padding-left: 28px; }
.ao-content :where(ul):not(.ao-list) > li::before, .ao-legal ul > li::before {
	content: ""; position: absolute; left: 3px; top: .4em; width: 10px; height: 10px; border-radius: 50%; background: var(--ao-brand); box-shadow: 0 0 0 3px rgba(7, 103, 248, .22);
}
.ao-legal { padding: 30px; }
.ao-legal > * + * { margin-top: 10px !important; }
.ao-legal__h { margin-bottom: 15px !important; font-size: 18px !important; line-height: 1.3 !important; }
.ao-posts__list { list-style: none; padding: 0; display: flex; flex-direction: column; gap: 10px; }
.ao-post .ao-h3 a { color: inherit; text-decoration: none; }
.ao-post .ao-h3 a:hover { color: var(--ao-brand); }
.ao-post__date { font-size: 14px; color: var(--ao-gray); margin-bottom: 10px; }
.ao-post .ao-text { margin-top: 10px; }
.ao-pagination { margin-top: 30px; justify-content: center; gap: 10px; }

/* 404 */
.ao-404 { min-height: 900px; padding-bottom: 0; overflow: hidden; }
.ao-404__inner { display: flex; flex-direction: column; align-items: center; text-align: center; color: #fff; }
.ao-404__code { margin-top: 15px !important; font-size: clamp(110px, 16vw, 200px); font-weight: 700; line-height: .78; letter-spacing: -.02em; }
.ao-404__text { max-width: 430px; margin-top: 40px !important; }
.ao-404__btns { justify-content: center; margin-top: 30px; }
.ao-404__ice { width: 637px; max-width: 90%; margin-top: 0 !important; margin-bottom: -60px !important; }
.ao-404 .ao-hv--404 { position: absolute; left: 50%; top: 363px; width: 1320px; height: 345px; margin: 0 0 0 -660px; }

/* ==========================================================================
   Responsive
   ========================================================================== */
@media (max-width: 1319px) {
	.ao-alt { grid-template-columns: minmax(0, 1fr) 315px; gap: 40px; }
	.ao-alt__lines { display: none; }
	.ao-registry { flex-direction: column; align-items: flex-start; }
	.ao-registry__items { grid-template-columns: repeat(4, minmax(0, 1fr)); width: 100%; }
}

@media (max-width: 1199px) {
	.ao-grid--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.ao-split, .ao-split--mcp, .ao-split--form { grid-template-columns: minmax(0, 1fr); gap: 30px; }
	.ao-split--top .ao-split__side { margin-top: 0; }
	.ao-industries { flex-direction: column; align-items: flex-start; }
	.ao-industries .ao-h3 { width: auto; }
	.ao-industries__list { justify-content: flex-start; }
	.ao-ai { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.ao-ai__img { grid-column: 1 / -1; grid-row: 1; }
	.ao-chat { margin-top: 0; }
	.ao-chat::before { display: none; }
	.ao-formwrap { margin-top: 0; }
	.ao-psteps { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; padding-bottom: 5px; margin-right: calc(-1 * var(--ao-gut)); padding-right: var(--ao-gut); }
	.ao-psteps::-webkit-scrollbar { display: none; }
	.ao-psteps::after { width: calc(50vw - 50% + 40px); }
	.ao-pstep { flex: 0 0 240px; scroll-snap-align: start; }
	.ao-roles { grid-template-columns: minmax(0, 1fr); gap: 30px; }
	.ao-roles__track { margin-right: calc(-1 * var(--ao-gut)); }
	.ao-case { grid-template-columns: minmax(0, 1fr); }
	.ao-acc__cols { grid-template-columns: minmax(0, 1fr); }
	.ao-benefits { min-height: 0; }
	.ao-footer__cols { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: 50px; }
	.ao-footer__legal { grid-template-columns: minmax(0, 1fr); gap: 20px; }
	.ao-cookie { flex-direction: column; align-items: flex-start; padding-right: 70px; }
}

@media (max-width: 1023px) {
	.ao-grid--3 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.ao-ice { height: auto; display: flex; flex-direction: column; gap: 10px; }
	.ao-ice__img { position: relative; left: auto; width: min(637px, 100%); margin: 0 auto 10px; }
	.ao-ice__card { position: static; width: auto !important; min-height: 0 !important; }
	.ao-bubble--1 { left: 0; top: 30px; }
	.ao-bubble--2 { left: auto; right: 0; top: 140px; }
	.ao-bubble--3 { left: auto; right: 0; top: 0; }
	.ao-alt { grid-template-columns: minmax(0, 1fr); }
	.ao-alt__pill { width: 100%; height: auto; padding: 30px; border-radius: var(--ao-r); }
	.ao-alt__row { flex-wrap: wrap; }
	.ao-flow { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.ao-node::after { display: none; }
}

@media (max-width: 767px) {
	.ao-card { padding: 20px 15px; }
	.ao-head { gap: 15px; margin-bottom: 25px; }
	.ao-head .ao-badge + .ao-h2 { margin-top: -5px; }
	.ao-badge { height: 26px; min-width: 75px; font-size: 14px; }
	.ao-text, .ao-lead { font-size: 14px; line-height: 1.3; }
	.ao-grid--2, .ao-grid--3, .ao-grid--4 { grid-template-columns: minmax(0, 1fr); gap: 10px; }
	.ao-btns .ao-btn, .ao-btns .ao-btn .wp-block-button__link { width: 100%; }
	.ao-btn .wp-block-button__link { min-height: 45px; padding-block: 10px; font-size: 14px; }
	.ao-btn--arrow .wp-block-button__link::before { width: 35px; height: 35px; left: 5px; }

	/* horizontal sliders */
	.ao-slider-m, .ao-roles__track {
		display: flex; gap: 10px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none;
		margin-right: calc(-1 * var(--ao-gut)); padding-right: var(--ao-gut);
	}
	.ao-slider-m::-webkit-scrollbar { display: none; }
	.ao-slider-m > * { flex: 0 0 300px; scroll-snap-align: start; }
	.ao-dots { display: flex; gap: 6px; margin-top: 15px; }
	.ao-dots button { width: 8px; height: 8px; padding: 0; border: 0; border-radius: 50%; background: rgba(7, 103, 248, .25); cursor: pointer; }
	.ao-dots button.is-active { background: var(--ao-brand); }
	.ao-sec--dark .ao-dots button { background: rgba(255, 255, 255, .5); }
	.ao-sec--dark .ao-dots button.is-active { background: var(--ao-brand); }

	/* 01 */
	.ao-feat { flex-direction: row; align-items: flex-start; gap: 15px; min-height: 0; }
	.ao-feat .ao-tile { width: 50px; height: 50px; }
	.ao-feat .ao-card__body { gap: 6px; }
	.ao-tile { width: 50px; height: 50px; border-radius: 12px; }
	.ao-industries { align-items: stretch; gap: 20px; padding: 20px 15px; }
	.ao-industries .ao-h3 { text-align: center; }
	.ao-industries__list { flex-direction: column; gap: 10px; }
	.ao-chip { justify-content: center; height: 50px; }
	.ao-chip .ao-ico { position: absolute; left: 15px; }
	.ao-chip:not(:last-child)::after { right: auto; left: 50%; top: 100%; width: 1px; height: 10px; }
	.ao-hl { gap: 15px; margin-top: 20px; padding: 15px; }
	.ao-hl .ao-tile { width: 50px; height: 50px; }
	.ao-card--media .ao-card__body { padding: 20px 15px; }

	/* 03 */
	.ao-video { height: 200px; margin-bottom: 10px; }
	.ao-prob { min-height: 0; gap: 15px; }
	.ao-prob .ao-tile { order: 0; }

	/* 04 */
	.ao-bubble { gap: 8px; padding: 8px 12px 8px 8px; font-size: 14px; }
	.ao-bubble::before { width: 30px; height: 30px; font-size: 20px; }
	.ao-bubble--3 { max-width: 180px; }
	.ao-bubble--2 { top: 75px; }
	.ao-bubble--1 { top: 25px; }

	/* 05 / FAQ */
	.ao-acc { padding: 0 15px 20px; }
	.ao-acc > summary { padding: 20px 50px 20px 0; font-size: 16px; line-height: 1.25; }
	.ao-acc > summary::after { width: 35px; height: 35px; top: 15px; background-size: 18px; }
	.ao-acc[open] > summary { padding-bottom: 12px; }
	.ao-acc[open] { padding-bottom: 30px; }
	.ao-acc__col .ao-h3 { margin-bottom: 15px; }
	.ao-benefits { padding: 20px 15px; }
	.ao-faq.is-collapsed .ao-acc:nth-child(n+7) { display: none; }
	.ao-faq__more {
		display: inline-block; margin-top: 25px; padding: 0; border: 0; background: none; cursor: pointer;
		color: var(--ao-brand); font: inherit; font-size: 16px; font-weight: 600; text-decoration: underline; text-underline-offset: 3px;
	}
	.ao-faq__more[hidden] { display: none; }

	/* 06 */
	.ao-flowcard { padding: 20px 15px; }
	.ao-flow { grid-template-columns: minmax(0, 1fr); gap: 10px; }
	.ao-node { justify-content: center; }
	.ao-node .ao-ico { position: absolute; left: 15px; }
	.ao-sec--dark .ao-split--center + .ao-grid { margin-top: 30px; }
	.ao-e2e { min-height: 0; }
	.ao-e2e .ao-h3 { margin-top: 20px; }
	.ao-e2e .ao-text { margin-top: 10px; }

	/* 07–08 */
	.ao-stepcard { display: flex; gap: 15px; min-height: 0; }
	.ao-stepcard .ao-num { flex: none; width: 50px; height: 50px; margin: 0; font-size: 18px; }
	.ao-ai { grid-template-columns: minmax(0, 1fr); gap: 10px; }
	.ao-ai__col { gap: 10px; }
	.ao-aicard { padding: 20px 15px; }
	.ao-ai + .ao-btns { margin-top: 20px; }

	/* 09 */
	.ao-chat__card { padding: 20px 15px; }

	/* 10 */
	.ao-alt__chips { flex-direction: row; overflow-x: auto; scrollbar-width: none; margin-inline: calc(-1 * var(--ao-gut)); padding-inline: var(--ao-gut); gap: 10px; }
	.ao-alt__chips::-webkit-scrollbar { display: none; }
	.ao-alt__row { display: contents; }
	.ao-pchip { flex: none; height: 50px; }
	.ao-alt { gap: 20px; }
	.ao-alt__pill { font-size: 14px; padding: 25px 30px; border-radius: 60px; }
	.ao-registry { gap: 20px; }
	.ao-registry__items { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
	.ao-reg__t { font-size: 14px; }

	/* 11–12 */
	.ao-pstep { flex-basis: 250px; }
	.ao-arrows { display: none; }
	.ao-role { flex-basis: 300px; min-height: 0; }

	/* 13 */
	.ao-tabs { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-bottom: 15px; }
	.ao-tabs button { height: 35px; border: 0; border-radius: 100px; background: var(--ao-sky); color: var(--ao-ink); font: inherit; font-size: 14px; font-weight: 600; cursor: pointer; }
	.ao-tabs button.is-active { background: var(--ao-brand); color: #fff; }
	.ao-results.has-tabs .ao-rescard:not(.is-active) { display: none; }
	.ao-results.has-tabs .ao-rescard__h { display: none; }
	.ao-rescard { padding-bottom: 25px; }
	.ao-list--res { padding: 25px 15px 0 !important; gap: 18px; }
	.ao-list--res strong { font-size: 16px; }

	/* 14 */
	.ao-case { gap: 10px; margin-top: 25px; }
	.ao-case .ao-card { padding: 20px 15px; }
	.ao-case__chips { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
	.ao-cchip::after { display: none; }
	.ao-stats { grid-template-columns: minmax(0, 1fr); gap: 10px; margin-top: 20px; }
	.ao-stat { padding: 15px; }
	.ao-stat__num { font-size: 22px; }
	.ao-stat__num br { display: none; }
	.ao-stat .ao-text { margin-top: 8px; }
	.ao-alert--row { padding: 15px; font-size: 14px; align-items: flex-start; }

	/* 15 */
	.ao-marquee { margin-top: 25px; }
	.ao-marquee__track { gap: 10px; }
	.ao-logo-tile { width: 109px; height: 109px; border-radius: 20px; }
	.ao-logo-tile img { max-width: 55px; max-height: 50px; }

	/* 16 */
	.ao-sec--demo .ao-split__main { text-align: center; align-items: center; }
	.ao-sec--demo .ao-head { align-items: center; }
	.ao-sec--demo .ao-badge { align-self: center; }
	.ao-form input[type=text], .ao-form input[type=tel], .ao-form input[type=email] { height: 45px; font-size: 14px; }
	.ao-form input[type=submit] { height: 45px; font-size: 14px; }
	.ao-form__submit::before { width: 35px; height: 35px; }

	/* modal / cookie */
	.ao-modal { padding: 15px; }
	.ao-modal__dialog { padding: 50px 15px 25px; }
	.ao-cookie { left: 15px; right: 15px; bottom: 15px; padding: 20px 15px; gap: 15px; }
	.ao-cookie .ao-btns { width: 100%; }

	/* footer */
	.ao-footer { padding-top: 40px; }
	.ao-footer__cols { grid-template-columns: minmax(0, 1fr); }
	.ao-footer__col:not(.ao-footer__col--contacts) { display: none; }
	.ao-footer__col--contacts .ao-footer__h { display: none; }
	.ao-footer__actions { margin-top: 25px; }
	.ao-footer__actions .ao-btns { width: auto; }
	.ao-footer__legal { margin-top: 30px; padding: 20px 0; }
	.ao-footer__bottom { padding-top: 20px; }

	/* inner pages */
	.ao-sec--page { padding-top: 90px; }
	.ao-legal { padding: 20px 15px; }
	.ao-legal__h { font-size: 16px !important; }
	.ao-404 { min-height: 650px; }
	.ao-404 .ao-hv--404 { display: none; }
	.ao-404__text { margin-top: 30px !important; }
}

/* ==========================================================================
   v2 — product pages, new home sections, animations
   ========================================================================== */
.ao-sec--hero .ao-crumbs { color: #fff; }
.ao-sec--hero .ao-crumbs a { color: rgba(255, 255, 255, .55); }
.ao-sec--hero .ao-crumbs a:hover { color: #fff; }

/* nav: current section */
.ao-nav .wp-block-navigation__container > .is-current > .wp-block-navigation-item__content { position: relative; }
.ao-nav .wp-block-navigation__container > .is-current > .wp-block-navigation-item__content::after {
	content: ""; position: absolute; left: 0; right: 0; bottom: 6px; height: 3px; border-radius: 3px; background: var(--ao-brand);
}

/* ---------- product hero ---------- */
.ao-phero { padding-top: 120px; }
.ao-phero__inner .ao-h1 { max-width: 900px; margin-top: 15px; }
.ao-phero__inner .ao-btns { margin-top: 30px; }
.ao-phero__visual { position: relative; width: 100%; height: 370px; margin-top: 95px; }
.ao-hv--product { position: absolute; left: 0; top: 25px; height: 345px; margin: 0; }
.ao-phero__shot {
	position: relative; z-index: 2; width: 650px; max-width: 100%; margin: 0 auto !important; padding: 15px; border-radius: 30px;
	background: rgba(255, 255, 255, .3); box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .6);
	-webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px);
}
.ao-phero__shot img { display: block; width: 100%; border-radius: 15px; }

/* ---------- generic product cards ---------- */
.ao-pcard { display: flex; flex-direction: column; }
.ao-pcard .ao-card__body { gap: 8px; }
.ao-pcard .ao-tile { margin-bottom: 20px; }
.ao-pcard .ao-h4 { line-height: 1.15; }
.ao-pcard--big .ao-h4 { font-size: var(--wp--preset--font-size--h-3); line-height: 1; margin-bottom: 8px; }
.ao-pcard--big .ao-tile { margin-bottom: 30px; }
.ao-pcard--sm .ao-tile { margin-bottom: 18px; }
.ao-pcard--sm .ao-h4 { font-size: 16px; }
.ao-card__foot { margin-top: auto !important; padding-top: 20px; border-top: 1px solid #DCE8FD; font-size: 16px; line-height: 1.35; }
.ao-card__body + .ao-card__foot { margin-top: 30px !important; }
.ao-card--media.ao-pcard .ao-card__body { padding: 30px 30px 0; }
.ao-card--media.ao-pcard .ao-card__foot { margin: 30px 30px 30px !important; }
.ao-card--media.ao-pcard:not(:has(.ao-card__foot)) .ao-card__body { padding-bottom: 30px; }
.ao-task .ao-card__media { height: 168px; }
.ao-task .ao-card__media img { object-fit: cover; }
.ao-task .ao-h4 { font-size: var(--wp--preset--font-size--h-3); line-height: 1; margin-bottom: 8px; }
.ao-tile--w { background: #fff; }
.ao-pimg { border-radius: var(--ao-r); overflow: hidden; background: linear-gradient(180deg, #E8F1FF 0%, #DDEAFE 100%); }
.ao-pimg img { display: block; width: 100%; height: auto; }

/* carousel with side / top arrows */
.ao-carousel { position: relative; }
.ao-carousel__track {
	display: flex; gap: 20px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; -ms-overflow-style: none;
}
.ao-carousel__track::-webkit-scrollbar { display: none; }
.ao-carousel__track > * { flex: 0 0 calc((100% - 40px) / 3); scroll-snap-align: start; }
.ao-carousel__track--4 > * { flex-basis: calc((100% - 60px) / 4); }
.ao-arrows--side { position: absolute; inset: 50% -35px auto; display: flex; justify-content: space-between; margin: 0; padding: 0; pointer-events: none; translate: 0 -50%; }
.ao-arrows--side .ao-arrow { pointer-events: auto; }
.ao-arrows--top { position: absolute; right: 0; top: -80px; margin: 0; padding: 0; }
.ao-arrows .ao-arrow:disabled { opacity: 1; background-color: var(--ao-sky); background-image: var(--ao-ico-arrow-left); }
.ao-arrows .ao-arrow--next:disabled { background-image: url(../icons/arrow-right.svg); }
.ao-arrows .ao-arrow--prev:not(:disabled) { background: var(--ao-brand) var(--ao-ico-back) center / 22px no-repeat; }

/* split with numbered questions */
.ao-split--q { align-items: stretch; }
.ao-split--q .ao-split__main > .ao-text + .ao-text { margin-top: 12px; }
.ao-qlist { display: flex; flex-direction: column; gap: 10px; margin-top: 30px; }
.ao-qitem { display: flex; align-items: center; gap: 40px; padding: 30px; }
.ao-qitem .ao-num { flex: none; width: 50px; height: 50px; font-size: 20px; }
.ao-qitem__body { display: flex; flex-direction: column; gap: 5px; }
.ao-pimg--tall { align-self: stretch; display: flex !important; align-items: flex-end; margin-top: 50px !important; }
.ao-split .ao-split__main > .ao-text + .ao-text { margin-top: 12px; }
.ao-qrow { margin-top: 30px; }
.ao-qrow .ao-qitem { flex-direction: column; align-items: flex-start; gap: 25px; }
.ao-split--center .ao-pimg { align-self: center; }

/* dark showcase */
.ao-showcase { display: grid; grid-template-columns: minmax(0, 650px) minmax(0, 1fr); gap: 20px; }
.ao-showcase__shot { border-radius: var(--ao-r); overflow: hidden; background: #fff; }
.ao-showcase__shot img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: left top; }
.ao-showcase__side { display: flex; flex-direction: column; gap: 20px; }
.ao-scard { flex: 1; display: flex; justify-content: space-between; gap: 30px; padding: 40px 30px 30px; }
.ao-scard .ao-card__body { gap: 15px; }
.ao-showcase__cards { margin-top: 20px; }
.ao-c4 { display: flex; flex-direction: column; min-height: 350px; padding: 30px; }
.ao-c4 .ao-h3 { margin-top: 35px; margin-bottom: 15px; }

/* business flow chips */
.ao-fchips {
	display: flex; flex-wrap: wrap; gap: 15px; padding: 30px; border-radius: var(--ao-r);
	background: linear-gradient(180deg, #E8F1FF 0%, #DDEAFE 100%);
}
.ao-fchip {
	position: relative; flex: 1 1 calc((100% - 30px) / 3); display: flex; align-items: center; gap: 10px; min-height: 60px; padding: 10px 15px;
	border-radius: 15px; background: rgba(255, 255, 255, .85); font-size: 14px; line-height: 1.3;
}
.ao-fchip:nth-child(n+4) { flex-basis: calc((100% - 15px) / 2); }
.ao-fchip .ao-ico img { width: 30px; height: 30px; }
.ao-fchip strong { font-weight: 600; }
.ao-fchip.is-bad { background: #FDDCDD; box-shadow: inset 0 0 0 1px var(--ao-red); }
.ao-fchips--grid { display: grid; grid-template-columns: 1fr 1fr; padding: 0; background: none; gap: 10px 10px; }
.ao-fchips--grid .ao-fchip { align-items: flex-start; padding: 15px 20px; min-height: 0; background: linear-gradient(180deg, #E8F1FF 0%, #DDEAFE 100%); }
.ao-fchips--grid .ao-fchip p { line-height: 1.3; }
.ao-fchips--grid .ao-fchip strong { display: inline-block; font-size: 16px; margin-bottom: 2px; }
.ao-fchips--grid .ao-fchip:last-child:nth-child(odd) { grid-column: 1 / -1; }

/* step list */
.ao-ssteps { position: relative; display: flex; flex-direction: column; gap: 10px; padding-left: 0; }
.ao-ssteps::before { content: ""; position: absolute; left: -12px; top: 25px; bottom: 25px; width: 12px; border: 1px solid #C9DCFA; border-right: 0; border-radius: 12px 0 0 12px; }
.ao-sstep {
	position: relative; display: flex; align-items: center; gap: 15px; min-height: 50px; padding: 10px 20px; border-radius: 15px;
	background: linear-gradient(90deg, #E5EFFF 0%, #DCE9FE 100%); font-size: 16px; font-weight: 600; line-height: 1.3;
}
.ao-sstep::before { content: ""; flex: none; width: 10px; height: 10px; margin: 0 5px; border-radius: 50%; background: var(--ao-brand); box-shadow: 0 0 0 3px rgba(7, 103, 248, .22); }
.ao-sstep.is-bad::before {
	content: "!"; width: 20px; height: 20px; margin: 0; display: grid; place-items: center; background: var(--ao-red); box-shadow: none;
	color: #fff; font-size: 14px; font-weight: 700; line-height: 1;
}

/* mind map */
.ao-mind { position: relative; display: grid; grid-template-columns: 315px minmax(0, 1fr) 315px; align-items: center; gap: 20px; }
.ao-mind__lines { position: absolute; inset: 0; width: 100%; height: 100%; pointer-events: none; }
.ao-mind__col { position: relative; display: flex; flex-direction: column; gap: 20px; }
.ao-mcard { padding: 30px; min-height: 168px; }
.ao-mcard .ao-text { margin-top: 12px; }
.ao-mind__center {
	position: relative; justify-self: center; display: grid; place-items: center; width: min(425px, 100%); height: 237px; padding: 0 40px; border-radius: 120px;
	background: var(--ao-brand); color: #fff; text-align: center; font-size: 32px; font-weight: 600; line-height: 1;
}

/* numbered dark cards */
.ao-ncard { min-height: 230px; padding: 30px; }
.ao-ncard .ao-num { margin-bottom: 25px; }
.ao-ncard .ao-text { margin-top: 8px; }
.ao-ncards-2 { margin-top: 20px; }

/* video + 3/3 cards */
.ao-vgrid { display: grid; grid-template-columns: 315px minmax(0, 1fr) 315px; align-items: center; gap: 20px; }
.ao-vgrid__col { display: flex; flex-direction: column; gap: 20px; }
.ao-vcard { padding: 30px; }
.ao-vcard .ao-text { margin-top: 12px; }
.ao-video--sm { height: 420px; margin: 0; }

/* other products */
.ao-head--row { flex-direction: row; flex-wrap: wrap; align-items: flex-end; gap: 0 20px; }
.ao-head--row .ao-badge { flex-basis: 100%; flex-grow: 0; max-width: max-content; margin-bottom: 10px; }
.ao-others .ao-head { margin-bottom: 30px; }
.ao-other {
	display: flex; align-items: center; min-height: 115px; padding: 25px 30px; border-radius: var(--ao-r);
	border: 1px dashed var(--ao-brand); background: rgba(255, 255, 255, .35); transition: background-color .2s;
}
.ao-other:hover { background: #fff; }
.ao-other__t { font-size: 16px; line-height: 1.35; }
.ao-other__t a { color: var(--ao-ink); text-decoration: none; }
.ao-other__t a::after { content: ""; position: absolute; inset: 0; }
.ao-other { position: relative; }
.ao-sec--others { padding-top: 40px; }
.ao-sec--others .ao-carousel__track > * { flex-basis: calc((100% - 40px) / 3); }
.ao-others__grid { margin-top: 30px; }
.ao-sec--page-index { padding-top: 150px; }

/* ---------- home 13: effects table ---------- */
.ao-etable { margin: 30px 0 0; border-radius: var(--ao-r); background: #fff; overflow: hidden; }
.ao-etable table { width: 100%; border-collapse: collapse; font-size: 16px; line-height: 1.35; }
.ao-etable thead th {
	padding: 12px 30px; text-align: left; font-size: var(--wp--preset--font-size--h-3); font-weight: 600; line-height: 1;
	background: linear-gradient(90deg, #E5EFFF 0%, #DCE9FE 100%);
}
.ao-etable thead th:first-child { border-radius: var(--ao-r) 0 0 var(--ao-r); }
.ao-etable thead th:last-child { border-radius: 0 var(--ao-r) var(--ao-r) 0; }
.ao-etable td, .ao-etable tbody th { padding: 30px 30px 20px; vertical-align: top; text-align: left; border-bottom: 1px solid #D5E4FC; }
.ao-etable tbody tr:last-child > * { border-bottom: 0; padding-bottom: 30px; }
.ao-etable tbody th { position: relative; padding-left: 61px; font-weight: 600; width: 32%; }
.ao-etable tbody th::before {
	content: ""; position: absolute; left: 33px; top: 34px; width: 10px; height: 10px; border-radius: 50%;
	background: var(--ao-brand); box-shadow: 0 0 0 3px rgba(7, 103, 248, .22);
}
.ao-etable td { width: 34%; }
.ao-sec--sky .ao-head--c .ao-lead + .ao-lead { margin-top: 0; }

/* ---------- home 16: price ---------- */
.ao-price { margin-top: 100px; }
.ao-price .ao-h2 { max-width: 640px; }
.ao-price .ao-btns { margin-top: 30px; }

/* ==========================================================================
   Animations (only when JS is available and motion is allowed)
   ========================================================================== */
@keyframes ao-up { from { opacity: 0; transform: translateY(24px); } to { opacity: 1; transform: none; } }
@keyframes ao-pop { 0% { opacity: 0; transform: translateY(10px) scale(.9); } 70% { opacity: 1; transform: translateY(-2px) scale(1.02); } 100% { opacity: 1; transform: none; } }
@keyframes ao-in { from { opacity: 0; } to { opacity: 1; } }
@keyframes ao-draw { to { stroke-dashoffset: 0; } }
@keyframes ao-ice { from { opacity: 0; filter: blur(14px); transform: translateY(30px) scale(.92); } to { opacity: 1; filter: none; transform: none; } }
@keyframes ao-slide { from { opacity: 0; transform: translateX(-14px); } to { opacity: 1; transform: none; } }
@keyframes ao-line { from { transform: scaleX(0); } to { transform: scaleX(1); } }
@keyframes ao-pulse { 0%, 100% { box-shadow: inset 0 0 0 1px var(--ao-red), 0 0 0 0 rgba(254, 53, 57, .35); } 50% { box-shadow: inset 0 0 0 1px var(--ao-red), 0 0 0 8px rgba(254, 53, 57, 0); } }

@media (prefers-reduced-motion: no-preference) {
	/* 1. hero dashboard (home) */
	.ao-js .ao-hv__panel { opacity: 0; animation: ao-up .7s .25s cubic-bezier(.2, .7, .2, 1) forwards; }
	.ao-js .ao-hv__tip--user { opacity: 0; animation: ao-pop .5s .75s forwards; }
	.ao-js .ao-hv__wave path { stroke-dasharray: 1400; stroke-dashoffset: 1400; animation: ao-draw 1.5s 1s ease-in-out forwards; }
	.ao-js .ao-hv__wave path[fill^="url"] { stroke-dasharray: none; stroke-dashoffset: 0; opacity: 0; animation: ao-in .8s 1.9s forwards; }
	.ao-js .ao-hv__steps > div { opacity: 0; animation: ao-up .5s forwards; }
	.ao-js .ao-hv__steps > div:nth-child(1) { animation-delay: 1.05s; }
	.ao-js .ao-hv__steps > div:nth-child(2) { animation-delay: 1.35s; }
	.ao-js .ao-hv__steps > div:nth-child(3) { animation-delay: 1.65s; }
	.ao-js .ao-hv__steps > div:nth-child(4) { animation-delay: 2.1s; }
	.ao-js .ao-hv__steps::before { transform-origin: left; transform: scaleX(0); animation: ao-line 1.3s 1s ease-in-out forwards; }
	.ao-js .ao-hv__peak { opacity: 0; animation: ao-pop .5s 2.4s forwards; }
	.ao-js .ao-hv__tip--alert { opacity: 0; animation: ao-pop .55s 2.55s forwards; }
	.ao-js .ao-hv__tile, .ao-js .ao-hv__lines { opacity: 0; animation: ao-pop .55s forwards; }
	.ao-js .ao-hv__lines { animation-name: ao-in; animation-delay: 2.9s; }
	.ao-js .ao-hv__tile:nth-of-type(1) { animation-delay: 2.9s; }
	.ao-js .ao-hv__tile:nth-of-type(2) { animation-delay: 3.05s; }
	.ao-js .ao-hv__tile:nth-of-type(3) { animation-delay: 3.2s; }
	.ao-js .ao-hv__tile:nth-of-type(4) { animation-delay: 2.95s; }
	.ao-js .ao-hv__tile:nth-of-type(5) { animation-delay: 3.1s; }
	.ao-js .ao-hv__tile:nth-of-type(6) { animation-delay: 3.25s; }
	.ao-js .ao-hv__flow > div { opacity: 0; animation: ao-up .5s forwards; }
	.ao-js .ao-hv__flow > div:nth-child(1) { animation-delay: 3.3s; }
	.ao-js .ao-hv__flow > div:nth-child(2) { animation-delay: 3.45s; }
	.ao-js .ao-hv__flow > div:nth-child(3) { animation-delay: 3.6s; }
	.ao-js .ao-hv__flow > div:nth-child(4) { animation-delay: 3.75s; }
	.ao-js .ao-hv__flow .is-bad { animation: ao-up .5s 3.6s forwards, ao-pulse 2s 4.2s 3; }

	/* product hero: screenshot first, tiles after */
	.ao-js .ao-phero__shot { opacity: 0; animation: ao-up .8s .25s cubic-bezier(.2, .7, .2, 1) forwards; }
	.ao-js .ao-hv--product .ao-hv__lines { animation-delay: .9s; }
	.ao-js .ao-hv--product .ao-hv__tile:nth-of-type(1) { animation-delay: .9s; }
	.ao-js .ao-hv--product .ao-hv__tile:nth-of-type(2) { animation-delay: 1.05s; }
	.ao-js .ao-hv--product .ao-hv__tile:nth-of-type(3) { animation-delay: 1.2s; }
	.ao-js .ao-hv--product .ao-hv__tile:nth-of-type(4) { animation-delay: .95s; }
	.ao-js .ao-hv--product .ao-hv__tile:nth-of-type(5) { animation-delay: 1.1s; }
	.ao-js .ao-hv--product .ao-hv__tile:nth-of-type(6) { animation-delay: 1.25s; }
	.ao-js .ao-hv--404 .ao-hv__lines, .ao-js .ao-hv--404 .ao-hv__tile { animation-delay: .4s; }

	/* 2. iceberg: emerges, then questions pop one by one */
	.ao-js .ao-ice .ao-ice__img, .ao-js .ao-ice .ao-bubble { opacity: 0; }
	.ao-js .ao-ice.is-inview .ao-ice__img { animation: ao-ice 1.2s cubic-bezier(.2, .7, .2, 1) forwards; }
	.ao-js .ao-ice.is-inview .ao-bubble { animation: ao-pop .55s forwards; }
	.ao-js .ao-ice.is-inview .ao-bubble--1 { animation-delay: 1.1s; }
	.ao-js .ao-ice.is-inview .ao-bubble--2 { animation-delay: 1.6s; }
	.ao-js .ao-ice.is-inview .ao-bubble--3 { animation-delay: 2.1s; }

	/* 3. request flow (06): nodes appear one after another */
	.ao-js .ao-flow .ao-node { opacity: 0; }
	.ao-js .ao-flow .ao-node::after { transform-origin: left; transform: scaleX(0); }
	.ao-js .ao-flow.is-inview .ao-node { animation: ao-slide .5s forwards; animation-delay: calc(var(--i, 0) * .45s + .2s); }
	.ao-js .ao-flow.is-inview .ao-node::after { animation: ao-line .35s forwards; animation-delay: calc(var(--i, 0) * .45s + .55s); }
	.ao-js .ao-flow.is-inview .ao-node--err { animation: ao-slide .5s calc(var(--i, 0) * .45s + .2s) forwards, ao-pulse 2s 1.8s 3; }

	/* generic sequence (product chips, step lists) */
	.ao-js .ao-anim-seq > * { opacity: 0; }
	.ao-js .ao-anim-seq.is-inview > * { animation: ao-up .5s forwards; animation-delay: calc(var(--i, 0) * .18s); }

	/* 4. implementation steps: active dot travels, progress line follows */
	.ao-psteps::after { transition: width .6s ease-in-out; }
	.ao-pstep::before { transition: left .4s, top .4s, width .4s, height .4s, box-shadow .4s; }
	.ao-psteps.is-playing::after { width: calc(50vw - 50% + var(--ao-p, 20px)); }
}

/* ==========================================================================
   v3 — remaining product pages, solutions, technology, company, blog
   ========================================================================== */
.ao-phero__shot--plain { padding: 0; background: none; box-shadow: none; -webkit-backdrop-filter: none; backdrop-filter: none; width: auto; max-width: min(100%, 900px); }
.ao-phero__shot--plain img { border-radius: 0; max-height: 370px; width: auto; margin: 0 auto; }

.ao-note { margin-top: 30px !important; padding: 25px 30px; }
.ao-note .ao-text { flex: 1; }

/* 6-step grid */
.ao-gsteps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.ao-gstep {
	position: relative; display: flex; align-items: flex-end; min-height: 150px; padding: 50px 20px 20px; border-radius: 20px;
	background: #fff; box-shadow: 0 4px 25px rgba(36, 46, 77, .06); font-size: 16px; font-weight: 600; line-height: 1.2;
}
.ao-gstep::before { content: ""; position: absolute; left: 20px; top: 20px; width: 12px; height: 12px; border-radius: 50%; background: var(--ao-brand); box-shadow: 0 0 0 4px rgba(7, 103, 248, .2); }
.ao-gstep.is-bad { background: var(--ao-brand); color: #fff; }
.ao-gstep.is-bad::before { content: "!"; width: 22px; height: 22px; display: grid; place-items: center; background: var(--ao-red); box-shadow: none; color: #fff; font-size: 14px; font-weight: 700; left: 18px; top: 18px; }

/* dark mind map */
.ao-mind--dark .ao-mcard { min-height: 0; }
.ao-mind--dark .ao-mind__col { gap: 15px; }

/* media centre grid */
.ao-vgrid__img { border-radius: var(--ao-r); overflow: hidden; }
.ao-vgrid__img img { display: block; width: 100%; height: auto; }

/* AI with image */
.ao-aiimg { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 650px); gap: 20px; align-items: stretch; }
.ao-aiimg .ao-grid { gap: 20px; }
.ao-aiimg .ao-pimg { display: flex !important; align-items: center; }

.ao-list--plain { padding: 30px 30px 0 !important; gap: 22px; }
.ao-pad { padding: 25px 30px 0; }

.ao-ncard--sm { min-height: 0; }
.ao-ncard--sm .ao-num { margin-bottom: 20px; }
.ao-onec-measure { margin-top: 30px; }

/* virtualization platforms */
.ao-plat__sub { margin: -10px 0 30px !important; text-align: center; color: var(--ao-brand); font-size: 22px; font-weight: 600; line-height: 1.15; }
.ao-plat { position: relative; padding-top: 55px; }
.ao-plat__src { position: absolute; right: 15px; top: 15px; }
.ao-plat__src a { display: inline-flex; align-items: center; gap: 6px; padding: 4px 12px; border-radius: 100px; background: #fff; color: var(--ao-brand); font-size: 13px; font-weight: 600; text-decoration: none; }
.ao-plat__src a::after { content: "↗"; font-size: 12px; }
.ao-plat .ao-text { margin-top: 10px; }
.ao-plat__pills { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; margin-top: 25px; }
.ao-plat__pill { padding: 5px 15px; border-radius: 100px; border: 1px solid var(--ao-brand); color: var(--ao-brand); font-size: 14px; font-weight: 600; }

/* 1C + infrastructure chips */
.ao-ochipbox { padding: 30px; }
.ao-ochips { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; margin-bottom: 20px; }
.ao-ochip { display: grid; place-items: center; min-height: 60px; padding: 10px; border-radius: 15px; background: #fff; font-size: 14px; text-align: center; }
.ao-ochip.is-main { background: var(--ao-brand); color: #fff; font-size: 20px; }

/* dark two columns */
.ao-dcol { display: flex; flex-direction: column; gap: 15px; }
.ao-dcol__h { color: #fff; margin-bottom: 10px !important; }

/* resources carousel (servers) */
.ao-roles--carousel .ao-role, .ao-res { flex: 0 0 315px; scroll-snap-align: start; }
.ao-res--noimg { justify-content: flex-start; padding: 30px; }
.ao-res--noimg .ao-card__body { padding: 0 !important; }
.ao-arrows--inline { position: static; margin-top: 30px; translate: none; }

/* use cases scenarios */
.ao-sc__sub { margin-bottom: 15px !important; font-size: 20px; line-height: 1.2; }
.ao-sc__top { display: grid; grid-template-columns: minmax(0, 1fr) 544px; gap: 40px; align-items: start; max-width: none !important; }
.ao-sc__top:not(:has(.ao-sc__img)) { grid-template-columns: minmax(0, 955px); }
.ao-sc__main .ao-text + .ao-text { margin-top: 12px; }
.ao-sc__img { border-radius: 15px; overflow: hidden; box-shadow: 0 0 0 1px #DCE8FD; }
.ao-sc__img img { display: block; width: 100%; }
.ao-sc__cols { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 40px; margin-top: 35px; max-width: none !important; align-items: start; }
.ao-sc__col .ao-h3 { margin-bottom: 20px; }
.ao-sc__col--r .ao-h3 { text-align: center; }
.ao-sc__list { padding: 25px 30px; }
.ao-sc__result { display: flex; align-items: center; gap: 25px; min-height: 160px; padding: 30px 50px; border-radius: 100px; background: var(--ao-brand); color: #fff; font-size: 14px; font-weight: 600; line-height: 1.35; }
.ao-sc__result .ao-tile { flex: none; background: rgba(255, 255, 255, .85); }
.ao-scsteps { margin-top: 10px; }
.ao-scstep { display: flex; align-items: center; gap: 20px; padding: 25px 30px; }
.ao-scstep .ao-num { flex: none; }
.ao-sec--dark .ao-alert--row { margin-top: 15px !important; }

/* industries */
.ao-itasks__h { margin: 30px 0 20px !important; }
.ao-itasks { max-width: none !important; gap: 15px; }
.ao-itask { display: flex; gap: 15px; padding: 20px; }
.ao-itask .ao-num { flex: none; width: 40px; height: 40px; font-size: 14px; }
.ao-itask .ao-h5 { font-size: 16px; line-height: 1.15; margin-bottom: 6px; }
.ao-itask .ao-text { font-size: 14px; }
.ao-ires { display: flex; align-items: center; gap: 25px; min-height: 120px; padding: 20px 40px; border-radius: 100px; border: 1px dashed var(--ao-brand); font-size: 14px; line-height: 1.35; }
.ao-ires .ao-tile { flex: none; }
.ao-linkcard .ao-h3 a { color: inherit; text-decoration: none; }
.ao-linkcard .ao-h3 a::after { content: ""; position: absolute; inset: 0; }
.ao-linkcard:hover .ao-h3 a { color: var(--ao-brand); }

/* roles */
.ao-rolecard .ao-card__media { height: 166px; }

/* wide illustration */
.ao-wideimg { margin-top: 10px !important; text-align: center; }
.ao-wideimg img { display: inline-block; max-width: 100%; height: auto; }
.ao-wideimg--shot img { border-radius: var(--ao-r); }
.ao-pimg--shot { background: #fff; padding: 0; }

/* AI tech page */
.ao-aiitems { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 15px; }
.ao-aiitem { display: flex; flex-direction: column; gap: 15px; padding: 25px; }
.ao-aiitem .ao-card__body { gap: 8px; }
.ao-obs { margin-top: 15px !important; padding: 25px 30px; }
.ao-obs .ao-text { margin: 8px 0 12px; }
.ao-obs .ao-list { gap: 4px; }

/* MCP */
.ao-stages { margin-top: 10px; }
.ao-stage { padding: 30px; }
.ao-stage__k { margin-bottom: 15px !important; color: var(--ao-brand); font-size: 14px; font-weight: 600; text-transform: uppercase; letter-spacing: .04em; }
.ao-stage .ao-text { margin-top: 10px; }
.ao-stage.is-main { background: var(--ao-brand); color: #fff; }
.ao-stage.is-main .ao-stage__k { color: rgba(255, 255, 255, .75); }
.ao-mcp-cols { margin-top: 20px; }
.ao-qcards { gap: 15px; }
.ao-qcard { padding: 25px; }
.ao-q { margin: 10px 0 !important; color: var(--ao-brand); font-weight: 600; line-height: 1.3; }
.ao-q em { font-style: normal; }
.ao-ctx { padding: 30px; }
.ao-ctx .ao-text + .ao-text { margin-top: 12px; }

/* about */
.ao-about-card { padding: 30px; }
.ao-about-card .ao-text { margin-top: 12px; }
.ao-about-lead { max-width: 874px; margin: 40px auto 0 !important; text-align: center; font-size: 20px !important; line-height: 1.35 !important; }
.ao-about-product { padding: 40px; }
.ao-about-product .ao-text + .ao-text { margin-top: 12px; }
.ao-about-product .ao-btns { margin-top: 25px; }
.ao-aq { display: flex; align-items: center; gap: 15px; padding: 25px 30px; font-size: 18px; line-height: 1.25; }
.ao-sec--dark .ao-grid + .ao-btns { margin-top: 40px; }

/* contacts */
.ao-contacts { padding-bottom: 40px; }
.ao-ci { padding: 30px; }
.ao-ci__k { margin-bottom: 15px !important; color: var(--ao-gray); font-size: 14px; }
.ao-ci__v { font-size: 20px; font-weight: 600; line-height: 1.3; }
.ao-ci__v a { color: var(--ao-ink); text-decoration: none; }
.ao-ci__v a:hover { color: var(--ao-brand); }
.ao-contact-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 650px); gap: 20px; margin-top: 20px; }
.ao-req { padding: 30px; }
.ao-req .ao-text { margin-top: 15px; line-height: 1.6; }
.ao-cform { padding: 40px; }
.ao-cform .ao-form { margin-top: 25px; }

/* index pages */
.ao-index { padding-bottom: 40px; }
.ao-index__lead { text-align: center; margin: -10px auto 30px !important; max-width: 760px; }
.ao-sec--page .ao-wrap .ao-page__title + .ao-content { margin-top: 0; }

/* ---------- blog ---------- */
.ao-meta { display: flex; flex-wrap: wrap; gap: 20px; color: var(--ao-gray); font-size: 14px; }
.ao-meta--center { justify-content: center; margin: -15px 0 35px; }
.ao-meta span { display: inline-flex; align-items: center; gap: 6px; }
.ao-meta span::before { content: ""; width: 14px; height: 14px; border-radius: 50%; border: 1.5px solid currentColor; box-sizing: border-box; }
.ao-posts-grid { row-gap: 30px; }
.ao-post-card { display: flex; flex-direction: column; gap: 15px; }
.ao-post-card__img { display: block; border-radius: var(--ao-r); overflow: hidden; aspect-ratio: 427 / 250; background: var(--ao-sky); }
.ao-post-card__img img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .4s; }
.ao-post-card:hover .ao-post-card__img img { transform: scale(1.04); }
.ao-post-card .ao-h4 { font-size: 18px; line-height: 1.25; }
.ao-post-card .ao-h4 a { color: var(--ao-ink); text-decoration: none; }
.ao-post-card .ao-h4 a:hover { color: var(--ao-brand); }
.ao-pagination { display: flex; justify-content: center; margin-top: 40px; }
.ao-pagination ul { display: flex; gap: 8px; list-style: none; margin: 0; padding: 0; }
.ao-pagination a, .ao-pagination span { display: grid; place-items: center; min-width: 40px; height: 40px; padding: 0 12px; border-radius: 20px; background: #fff; color: var(--ao-ink); text-decoration: none; font-weight: 600; }
.ao-pagination .current { background: var(--ao-brand); color: #fff; }

.ao-sec--article .ao-article__title { max-width: 990px; margin-inline: auto !important; }
.ao-article { display: grid; grid-template-columns: minmax(0, 1fr) 315px; gap: 60px; align-items: start; }
.ao-article__cover { margin: 0 0 30px !important; border-radius: var(--ao-r); overflow: hidden; }
.ao-article__cover img { display: block; width: 100%; max-height: 440px; object-fit: cover; }
.ao-article__content > h2 { font-size: var(--wp--preset--font-size--h-3) !important; margin-top: 45px !important; }
.ao-article__content > h2:first-child { margin-top: 0 !important; }
.ao-article__content figure img { border-radius: 20px; }
.ao-article__aside { position: sticky; top: 100px; display: flex; flex-direction: column; gap: 20px; }
.ao-author { display: flex; align-items: center; gap: 15px; padding: 20px; border-radius: 20px; background: #fff; }
.ao-author__ava { width: 56px; height: 56px; border-radius: 50%; }
.ao-author__name { font-weight: 600; }
.ao-author__role { margin-top: 3px !important; color: var(--ao-gray); font-size: 14px; }
.ao-toc:empty { display: none; }
.ao-toc { padding: 25px; border-radius: 20px; background: var(--ao-card-sky); }
.ao-toc__t { margin-bottom: 15px !important; font-weight: 600; font-size: 18px; }
.ao-toc ol { margin: 0; padding-left: 20px; display: flex; flex-direction: column; gap: 10px; font-size: 14px; line-height: 1.3; }
.ao-toc a { color: var(--ao-ink); text-decoration: none; }
.ao-toc a:hover, .ao-toc a.is-active { color: var(--ao-brand); }
.ao-share { display: flex; align-items: center; flex-wrap: wrap; gap: 12px; margin-top: 40px; padding-top: 25px; border-top: 1px solid #DCE8FD; }
.ao-back { margin-right: auto; display: inline-flex; align-items: center; gap: 8px; color: var(--ao-brand); font-weight: 600; text-decoration: none; }
.ao-back::before { content: "←"; }
.ao-share__l { color: var(--ao-gray); font-size: 14px; }
.ao-share__i { width: 40px; height: 40px; padding: 0; border: 0; border-radius: 50%; cursor: pointer; background: var(--ao-sky) center / 20px no-repeat; }
.ao-share__i--tg { background-image: var(--ao-ico-tg); }
.ao-share__i--vk::before { content: "VK"; display: grid; place-items: center; height: 100%; color: var(--ao-brand); font-size: 12px; font-weight: 700; }
.ao-share__i--vk { text-decoration: none; }
.ao-share__i--copy { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230767F8' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M10 14a4 4 0 0 0 5.7 0l3-3a4 4 0 0 0-5.7-5.7l-1 1'/%3E%3Cpath d='M14 10a4 4 0 0 0-5.7 0l-3 3a4 4 0 0 0 5.7 5.7l1-1'/%3E%3C/svg%3E"); }
.ao-share__i--copy.is-done { background-color: #D7F5DF; }
.ao-related { margin-top: 100px; }
.ao-related .ao-head { align-items: flex-start; }

/* ---------- responsive for v3 ---------- */
@media (max-width: 1199px) {
	.ao-aiimg, .ao-sc__top, .ao-sc__cols, .ao-contact-grid, .ao-article { grid-template-columns: minmax(0, 1fr); }
	.ao-article__aside { position: static; order: -1; }
	.ao-showcase, .ao-mind, .ao-vgrid { grid-template-columns: minmax(0, 1fr); }
	.ao-mind__lines { display: none; }
	.ao-mind__center { order: -1; height: 130px; font-size: 24px; }
	.ao-carousel__track > *, .ao-sec--others .ao-carousel__track > * { flex-basis: calc((100% - 20px) / 2); }
	.ao-arrows--side { inset: auto; position: static; translate: none; justify-content: center; gap: 10px; margin-top: 20px; }
	.ao-arrows--top { position: static; margin-top: 20px; }
	.ao-split--q .ao-pimg--tall { margin-top: 0 !important; }
}
@media (max-width: 767px) {
	.ao-phero { padding-top: 85px; }
	.ao-phero__visual { height: auto; margin-top: 40px; }
	.ao-hv--product { display: none; }
	.ao-phero__shot { padding: 8px; border-radius: 20px; }
	.ao-gsteps, .ao-ochips, .ao-aiitems, .ao-qcards { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
	.ao-gstep { min-height: 110px; padding: 45px 15px 15px; font-size: 14px; }
	.ao-qitem { gap: 15px; padding: 20px 15px; }
	.ao-qitem .ao-num { width: 40px; height: 40px; font-size: 16px; }
	.ao-scard { padding: 20px 15px; }
	.ao-c4, .ao-mcard, .ao-vcard, .ao-ncard, .ao-stage, .ao-aq, .ao-ci, .ao-req, .ao-cform, .ao-about-card, .ao-about-product, .ao-ochipbox, .ao-ctx, .ao-qcard, .ao-aiitem { padding: 20px 15px; }
	.ao-c4 { min-height: 0; }
	.ao-c4 .ao-h3 { margin-top: 20px; }
	.ao-fchips { padding: 15px; }
	.ao-fchip, .ao-fchip:nth-child(n+4) { flex-basis: 100%; }
	.ao-fchips--grid { grid-template-columns: minmax(0, 1fr); padding: 0; }
	.ao-carousel__track > *, .ao-sec--others .ao-carousel__track > * { flex-basis: 85%; }
	.ao-arrows--side, .ao-arrows--top, .ao-arrows--inline { display: none; }
	.ao-video--sm { height: 200px; }
	.ao-sc__sub { font-size: 16px; }
	.ao-sc__result, .ao-ires { padding: 20px; border-radius: 30px; min-height: 0; }
	.ao-sc__cols { gap: 25px; margin-top: 25px; }
	.ao-plat__sub { font-size: 16px; }
	.ao-mind__center { height: 90px; font-size: 18px; border-radius: 60px; }
	.ao-about-lead { font-size: 16px !important; }
	.ao-ci__v { font-size: 16px; }
	.ao-etable thead { display: none; }
	.ao-etable, .ao-etable table, .ao-etable tbody, .ao-etable tr, .ao-etable td, .ao-etable tbody th { display: block; width: 100% !important; }
	.ao-etable { background: none; }
	.ao-etable tr { margin-bottom: 10px; padding: 20px 15px; border-radius: 20px; background: #fff; }
	.ao-etable td, .ao-etable tbody th { padding: 0 !important; border: 0 !important; }
	.ao-etable tbody th { padding-left: 25px !important; margin-bottom: 12px; font-size: 16px; }
	.ao-etable tbody th::before { left: 3px; top: 6px; }
	.ao-etable td + td { margin-top: 10px; }
	.ao-etable td:nth-of-type(1)::before { content: "Эффект для бизнеса"; }
	.ao-etable td:nth-of-type(2)::before { content: "Эффект для ИТ"; }
	.ao-etable td::before { display: block; margin-bottom: 3px; color: var(--ao-brand); font-size: 13px; font-weight: 600; }
	.ao-etable td { font-size: 14px; }
	.ao-price { margin-top: 60px; }
	.ao-share { gap: 8px; }
	.ao-back { flex-basis: 100%; margin-bottom: 10px; }
	.ao-related { margin-top: 60px; }
}
