/* ===========================================================================
   Arti Golden — бренд-стиль (поверх Kadence)
   Акцент #fd9408 · тёмный #363636 · Montserrat
   =========================================================================== */

:root {
	--global-palette1: #fd9408 !important; /* акцент */
	--global-palette2: #e98500 !important; /* акцент:hover */
	--global-palette3: #363636 !important; /* заголовки / тёмный */
	--global-palette4: #3d3d3d !important;
	--global-palette5: #525252 !important; /* текст */
	--global-palette6: #d8d8d8 !important; /* границы */
	--global-palette7: #f0f0f0 !important;
	--global-palette8: #f6f6f6 !important; /* светлый фон */
	--global-palette9: #ffffff !important;

	--global-palette-highlight: #fd9408 !important;
	--global-palette-highlight-alt: #e98500 !important;
}

/* Типографика */
body,
button,
input,
select,
textarea,
.entry-content {
	font-family: 'Montserrat', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}

h1, h2, h3, h4, h5, h6,
.entry-title,
.site-title {
	font-family: 'Montserrat', sans-serif;
	font-weight: 700;
	color: var(--global-palette3);
	letter-spacing: -0.01em;
}

/* Ссылки и акценты */
a { color: var(--global-palette1); }
a:hover { color: var(--global-palette2); }

/* Кнопки */
.wp-block-button__link,
.button,
button.button,
input[type="submit"] {
	background-color: var(--global-palette1);
	border-color: var(--global-palette1);
	color: #ffffff;
	border-radius: 6px;
	font-weight: 700;
	transition: background-color .2s ease;
}
.wp-block-button__link:hover,
.button:hover,
input[type="submit"]:hover {
	background-color: var(--global-palette2);
	border-color: var(--global-palette2);
	color: #ffffff;
}

/* Outline-вариант кнопки */
.is-style-outline .wp-block-button__link {
	background: transparent;
	color: var(--global-palette1);
	border: 2px solid var(--global-palette1);
}
.is-style-outline .wp-block-button__link:hover {
	background: var(--global-palette1);
	color: #fff;
}

/* Шапка / навигация */
.site-header-row .site-header-item .header-navigation .menu > .menu-item > a:hover,
.header-navigation .menu-item.current-menu-item > a {
	color: var(--global-palette1);
}

/* Лого в шапке: показываем ТОЛЬКО щит (обрезаем невидимую белую надпись справа),
   текстовый заголовок «Arti Golden» ставим вплотную → аккуратный lockup. */
.site-branding a.brand img.custom-logo,
.site-branding a.brand img.svg-logo-image {
	width: 46px !important;
	height: 46px !important;
	max-width: 46px !important;
	object-fit: cover;
	object-position: left center;
}
.site-branding a.brand { gap: 10px; align-items: center; }
.site-branding .site-title-wrap { margin-left: 0; }
.site-branding .site-title { font-size: 24px; color: var(--global-palette3); }

/* ===== Переключатель языков (выпадающее меню) ===== */
.ag-lang-switcher { position: relative; display: flex; align-items: center; }
.ag-lang-flag { display: inline-block; width: 18px; height: auto; border-radius: 2px; vertical-align: middle; }

.ag-lang-toggle {
	display: inline-flex; align-items: center; gap: 7px;
	padding: 6px 10px; border-radius: 6px; line-height: 1;
	font-weight: 700; color: var(--global-palette3); cursor: pointer;
	user-select: none;
}
.ag-lang-toggle:hover { color: var(--global-palette1); }
.ag-lang-name { font-size: 14px; letter-spacing: .02em; }
.ag-lang-fullname { display: none; } /* по умолчанию (десктоп) показываем короткий код */
.ag-lang-caret {
	width: 0; height: 0; margin-left: 1px;
	border-left: 4px solid transparent; border-right: 4px solid transparent;
	border-top: 5px solid currentColor; transition: transform .2s ease;
}
.ag-lang-switcher.is-open .ag-lang-caret { transform: rotate(180deg); }

.ag-lang-sub {
	display: none !important; /* только клик (.is-open) открывает — без hover */
	position: absolute; top: 100%; right: 0; z-index: 120;
	min-width: 168px; margin: 8px 0 0; padding: 6px 0; list-style: none;
	overflow: hidden; /* подсветка пунктов не вылезает за скругление */
	background: #fff; border: 1px solid var(--global-palette6); border-radius: 10px;
	box-shadow: 0 14px 32px rgba(0,0,0,.13);
}
/* !important — чтобы перебить CSS аккордеона Kadence для .sub-menu в мобильном drawer */
.ag-lang-switcher.is-open > .ag-lang-sub { display: block !important; }
.ag-lang-sub li { margin: 0; }
.ag-lang-sub a {
	display: flex; align-items: center; gap: 10px; padding: 10px 18px;
	color: var(--global-palette3); text-decoration: none; font-weight: 600; white-space: nowrap;
}
.ag-lang-sub a:hover { background: var(--global-palette8); color: var(--global-palette1); }

/* ===== Мобильное меню (drawer) — полировка ===== */
/* Пункты меню: hover/active — акцент */
.drawer-menu-container .menu .menu-item > a:hover,
.drawer-menu-container .menu .current-menu-item > a { color: #fd9408; }
.drawer-menu-container .sub-menu .menu-item > a { color: rgba( 255, 255, 255, .72 ); }
.drawer-menu-container .sub-menu .menu-item > a:hover { color: #fd9408; }
/* Аккордеон-стрелка: убрать вертикальный разделитель-«коробку» */
.drawer-sub-toggle { color: #fff; border-left: 0 !important; }
.drawer-sub-toggle:hover { color: #fd9408; }

/* Переключатель языков в drawer: ровно как пункт меню (14px/400/белый), без лишних разделителей */
.mobile-navigation .ag-lang-switcher,
.drawer-navigation .ag-lang-switcher { display: block; }
.mobile-navigation .ag-lang-toggle,
.drawer-navigation .ag-lang-toggle { color: #fff; padding: 14px 0; width: 100%; gap: 9px; }
.mobile-navigation .ag-lang-toggle .ag-lang-name,
.drawer-navigation .ag-lang-toggle .ag-lang-name { font-size: 14px; font-weight: 400; color: #fff; }
.mobile-navigation .ag-lang-flag,
.drawer-navigation .ag-lang-flag { width: 20px; }
.mobile-navigation .ag-lang-caret,
.drawer-navigation .ag-lang-caret { border-top-color: #fff; margin-left: auto; }
.mobile-navigation .ag-lang-sub,
.drawer-navigation .ag-lang-sub {
	position: static; margin: 0 0 6px; padding-left: 30px;
	border: none; box-shadow: none; min-width: 0; background: transparent;
}
.mobile-navigation .ag-lang-sub a,
.drawer-navigation .ag-lang-sub a { color: rgba( 255, 255, 255, .72 ); font-size: 14px; font-weight: 400; padding: 11px 0; }
.mobile-navigation .ag-lang-sub a:hover,
.drawer-navigation .ag-lang-sub a:hover { color: #fd9408; background: transparent; }
.mobile-navigation .ag-lang-code,
.drawer-navigation .ag-lang-code { display: none; }
.mobile-navigation .ag-lang-fullname,
.drawer-navigation .ag-lang-fullname { display: inline; }

/* ===== Обычное выпадающее меню (под-услуги) — в стиле свитчера языков =====
   Открытие оставляем по hover (поведение Kadence), меняем только вид. */
.header-navigation .header-menu-container ul ul.sub-menu {
	background: #ffffff !important;
	border: 1px solid var(--global-palette6) !important;
	border-radius: 10px !important;
	box-shadow: 0 14px 32px rgba( 0, 0, 0, .13 ) !important;
	overflow: hidden;          /* подсветка пунктов не вылезает за скругление */
	padding: 6px 0 !important;
}
.header-navigation .header-menu-container ul ul.sub-menu li,
.header-navigation .header-menu-container ul ul.sub-menu li.menu-item { border: 0 !important; }
.header-navigation .header-menu-container ul ul.sub-menu li.menu-item > a {
	color: var(--global-palette3) !important;
	background: transparent !important;
	border: 0 !important;
	padding: 11px 20px !important;
	font-weight: 600;
}
.header-navigation .header-menu-container ul ul.sub-menu li.menu-item > a:hover,
.header-navigation .header-menu-container ul ul.sub-menu li.menu-item.current-menu-item > a {
	color: var(--global-palette1) !important;
	background: var(--global-palette8) !important;
	border-radius: 0 !important;
}

/* Секции */
.ag-section { padding: 80px 0; }
.ag-section--dark {
	background: #15110c;
	color: #e8e2d6;
}
.ag-section--dark h1, .ag-section--dark h2, .ag-section--dark h3 { color: #fff; }

/* Карточки услуг */
.ag-card {
	background: #fff;
	border: 1px solid var(--global-palette6);
	border-radius: 10px;
	padding: 28px;
	height: 100%;
	transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.ag-card:hover {
	transform: translateY(-4px);
	box-shadow: 0 12px 30px rgba(0,0,0,.08);
	border-color: var(--global-palette1);
}
.ag-card h3 { margin-top: 0; }
.ag-card a { text-decoration: none; }

/* ===== Адаптивность / запрет горизонтального переполнения ===== */
html, body { overflow-x: hidden; max-width: 100%; }
.entry-content h1,
.entry-content h2,
.entry-content h3 { overflow-wrap: break-word; word-break: break-word; }
.wp-block-buttons { flex-wrap: wrap; }

@media (max-width: 781px) {
	/* герой H1 (инлайн 46px) и заголовки секций — делаем флюидными */
	.single-content h1[style] { font-size: clamp(26px, 7.5vw, 40px) !important; line-height: 1.15 !important; }
	.single-content h2[style] { font-size: clamp(22px, 6vw, 30px) !important; }
	.single-content p[style*="font-size:19px"],
	.single-content p[style*="font-size:18px"] { font-size: 16px !important; }
	/* секции: меньше вертикального паддинга на мобиле */
	.single-content .wp-block-group.has-background { padding-left: 18px !important; padding-right: 18px !important; }
}

/* ===== Кастомный футер Arti Golden ===== */
.ag-footer { background: #15110c; color: #cdc8bf; }
.ag-footer-inner { max-width: 1160px; margin: 0 auto; padding: 0 24px; }
.ag-footer-grid {
	display: grid; grid-template-columns: 1.5fr 1fr 1fr 1.3fr; gap: 44px;
	padding: 66px 0 50px;
}
.ag-footer-logo { width: 180px; height: auto; margin-bottom: 20px; display: block; }
.ag-footer-tagline { font-size: 14px; line-height: 1.6; color: #a39d93; margin: 0 0 22px; max-width: 280px; }
.ag-footer-title {
	color: #fff; font-size: 14px; font-weight: 700; margin: 0 0 18px;
	text-transform: uppercase; letter-spacing: .06em;
}
.ag-footer-links { list-style: none; margin: 0; padding: 0; }
.ag-footer-links li { margin-bottom: 11px; }
.ag-footer-links a { color: #cdc8bf; text-decoration: none; font-size: 15px; transition: color .15s ease; }
.ag-footer-links a:hover { color: #fd9408; }

.ag-footer-phone { display: inline-block; color: #fff; font-size: 21px; font-weight: 800; text-decoration: none; margin-bottom: 8px; }
.ag-footer-phone:hover { color: #fd9408; }
.ag-footer-addr { font-size: 14px; line-height: 1.5; color: #a39d93; margin: 0 0 20px; }
.ag-footer-tg {
	display: inline-flex; align-items: center; gap: 8px;
	background: #fd9408; color: #15110c; font-weight: 700; font-size: 15px;
	padding: 11px 22px; border-radius: 6px; text-decoration: none; transition: background .2s ease;
}
.ag-footer-tg:hover { background: #e98500; color: #15110c; }

.ag-socials { display: flex; gap: 11px; }
.ag-social {
	display: inline-flex; align-items: center; justify-content: center;
	width: 38px; height: 38px; border-radius: 50%;
	background: rgba(255,255,255,.08); color: #cdc8bf;
	transition: background .2s ease, color .2s ease, transform .2s ease;
}
.ag-social svg { width: 19px; height: 19px; }
.ag-social:hover { background: #fd9408; color: #15110c; transform: translateY(-2px); }

.ag-footer-bottom { border-top: 1px solid rgba(255,255,255,.09); }
.ag-footer-bottom .ag-footer-inner {
	display: flex; justify-content: space-between; align-items: center;
	padding-top: 22px; padding-bottom: 22px; flex-wrap: wrap; gap: 8px;
}
.ag-footer-bottom span { font-size: 13px; color: #847e74; }

@media (max-width: 900px) {
	.ag-footer-grid { grid-template-columns: 1fr 1fr; gap: 34px; padding: 50px 0 38px; }
}
@media (max-width: 560px) {
	.ag-footer-grid { grid-template-columns: 1fr; gap: 30px; }
	.ag-footer-bottom .ag-footer-inner { flex-direction: column; align-items: flex-start; }
}

/* ===== Страница «О нас»: секции ===== */
/* Почему мы — карточки */
.ag-why-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px; }
.ag-why-card { background: #fff; border: 1px solid var(--global-palette6); border-radius: 12px; padding: 28px 24px; }
.ag-why-num { display: inline-flex; align-items: center; justify-content: center; width: 40px; height: 40px; border-radius: 10px; background: #fff4e6; color: #fd9408; font-weight: 800; font-size: 18px; margin-bottom: 16px; }
.ag-why-card h3 { margin: 0 0 8px; font-size: 18px; color: var(--global-palette3); }
.ag-why-card p { margin: 0; font-size: 15px; color: #6b655c; line-height: 1.55; }

/* Контакты — карточки */
.ag-contacts-list { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.ag-contact-item { display: flex; align-items: center; gap: 14px; background: #fff; border: 1px solid var(--global-palette6); border-radius: 12px; padding: 20px 22px; text-decoration: none; transition: border-color .2s ease, transform .2s ease, box-shadow .2s ease; }
.ag-contact-item:hover { border-color: #fd9408; transform: translateY(-2px); box-shadow: 0 12px 26px rgba(0,0,0,.07); }
.ag-ci-ic { display: inline-flex; align-items: center; justify-content: center; width: 46px; height: 46px; border-radius: 50%; background: #fff4e6; color: #fd9408; flex: 0 0 auto; }
.ag-ci-ic svg { width: 22px; height: 22px; }
.ag-ci-tx { display: flex; flex-direction: column; line-height: 1.3; }
.ag-ci-l { font-size: 13px; color: #847e74; }
.ag-ci-v { font-size: 17px; font-weight: 700; color: var(--global-palette3); word-break: break-word; }

/* Форма обратного звонка (CF7) */
.wpcf7 .ag-field { margin: 0 0 14px; }
.wpcf7 input[type="text"], .wpcf7 input[type="tel"], .wpcf7 input[type="email"], .wpcf7 textarea {
	width: 100%; padding: 13px 16px; border: 1px solid var(--global-palette6); border-radius: 8px;
	font-size: 16px; font-family: inherit; background: #fff; color: var(--global-palette3); box-sizing: border-box;
}
.wpcf7 input:focus, .wpcf7 textarea:focus { outline: none; border-color: #fd9408; box-shadow: 0 0 0 3px rgba(253,148,8,.15); }
.wpcf7 .ag-submit { margin: 6px 0 0; }
.wpcf7 input[type="submit"] { width: 100%; background: #fd9408; color: #15110c; font-weight: 700; font-size: 16px; border: 0; border-radius: 8px; padding: 14px 34px; cursor: pointer; transition: background .2s ease; }
.wpcf7 input[type="submit"]:hover { background: #e98500; }
.wpcf7 .wpcf7-not-valid-tip { color: #d33; font-size: 13px; margin-top: 4px; }
.wpcf7-response-output { border-radius: 8px; margin: 14px 0 0 !important; font-size: 14px; }

/* Карта + адрес + маршрут (внутри секции «Контакты») */
.ag-map { position: relative; width: 100%; margin: 38px auto 0; }
.ag-map-frame { line-height: 0; border-radius: 14px; overflow: hidden; }
.ag-map-frame iframe { display: block; width: 100%; height: 460px; border: 0; }
.ag-map-card { position: absolute; top: 30px; left: 30px; z-index: 2; background: #15110c; color: #e8e2d6; border-radius: 14px; padding: 28px 30px; max-width: 340px; box-shadow: 0 18px 40px rgba(0,0,0,.25); }
.ag-map-card h3 { margin: 0 0 14px; color: #fd9408; font-size: 22px; }
.ag-map-addr { display: flex; align-items: center; gap: 10px; font-size: 16px; font-weight: 600; margin: 0 0 20px; color: #fff; }
.ag-map-addr .ag-ci-ic { width: 34px; height: 34px; background: rgba(253,148,8,.15); }
.ag-map-addr .ag-ci-ic svg { width: 18px; height: 18px; }
.ag-map-route { display: inline-flex; background: #fd9408; color: #15110c; font-weight: 700; padding: 11px 22px; border-radius: 6px; text-decoration: none; transition: background .2s ease; }
.ag-map-route:hover { background: #e98500; color: #15110c; }

@media (max-width: 900px) {
	.ag-why-grid { grid-template-columns: repeat(2, 1fr); }
	.ag-contacts-list { grid-template-columns: 1fr; max-width: 460px; margin: 0 auto; }
}
@media (max-width: 600px) {
	.ag-why-grid { grid-template-columns: 1fr; }
	/* Карточка «Как нас найти» + карта = единый блок: скруглён верх карточки и низ карты */
	.ag-map-card { position: static; max-width: none; border-radius: 14px 14px 0 0; }
	.ag-map-frame { border-radius: 0 0 14px 14px; }
}

/* ===== Hero с фоновым видео (главная) ===== */
.ag-hero {
	position: relative;
	width: 100vw;
	margin-left: calc(50% - 50vw);
	min-height: 78vh;
	display: flex;
	align-items: center;
	justify-content: center;
	overflow: hidden;
	background: #15110c;
	padding: 90px 20px;
	box-sizing: border-box;
}
.ag-hero-media { position: absolute; inset: 0; z-index: 0; }
.ag-hero-poster,
.ag-hero-video {
	position: absolute; inset: 0; width: 100%; height: 100%;
	object-fit: cover; object-position: center;
}
.ag-hero-video { opacity: 0; transition: opacity .8s ease; }
.ag-hero-video.is-playing { opacity: 1; }
.ag-hero-overlay {
	position: absolute; inset: 0; z-index: 1;
	background: linear-gradient( to bottom, rgba(21,17,12,.70), rgba(21,17,12,.80) );
}
.ag-hero-content { position: relative; z-index: 2; max-width: 820px; text-align: center; color: #fff; }
.ag-hero-title { color: #fff; font-size: clamp(30px, 6vw, 48px); font-weight: 800; line-height: 1.12; margin: 0; }
.ag-hero-sub { color: #e8e2d6; font-size: clamp(16px, 2.4vw, 19px); line-height: 1.55; margin: 22px auto 0; max-width: 680px; }
.ag-hero-actions { display: flex; flex-wrap: wrap; gap: 14px; justify-content: center; margin-top: 34px; }
.ag-btn { display: inline-flex; align-items: center; justify-content: center; padding: 14px 30px; border-radius: 6px; font-weight: 700; font-size: 16px; text-decoration: none; transition: background .2s ease, color .2s ease, border-color .2s ease; }
.ag-btn--primary { background: #fd9408; color: #15110c; }
.ag-btn--primary:hover { background: #e98500; color: #15110c; }
.ag-btn--ghost { background: transparent; color: #fff; border: 2px solid rgba(255,255,255,.55); }
.ag-btn--ghost:hover { border-color: #fd9408; color: #fd9408; }

@media (max-width: 600px) {
	.ag-hero { min-height: 68vh; padding: 66px 18px; }
	.ag-hero-actions { width: 100%; }
	.ag-hero-actions .ag-btn { width: 100%; }
}

/* ===== Страница «Обучение» ===== */
/* Hero внутренней страницы (картинка-постер + оверлей, без видео) */
.ag-hero--page { min-height: 52vh; background-image: url( '../img/hero-poster.jpg' ); background-size: cover; background-position: center; }

/* Универсальные секции (wp:html) */
.ag-section { width: 100vw; margin-left: calc( 50% - 50vw ); padding: 80px 20px; box-sizing: border-box; }
.ag-section--dark { background: #15110c; color: #e8e2d6; }
.ag-section-inner { max-width: 1080px; margin: 0 auto; }
.ag-section-inner--narrow { max-width: 720px; }
.ag-section-inner--form { max-width: 560px; }
.ag-section-title { text-align: center; font-size: clamp( 26px, 5vw, 34px ); font-weight: 700; margin: 0 0 36px; color: var(--global-palette3); }
.ag-section-title--light { color: #fff; }
.ag-center { text-align: center; }
.ag-lead { font-size: 18px; line-height: 1.6; color: #525252; margin: 0 auto 26px; max-width: 640px; }
.ag-lead--muted { color: #6b655c; }
.ag-section--dark .ag-lead { color: #cdc8bf; }

/* Программа — нумерованные модули */
.ag-program { max-width: 820px; margin: 0 auto; display: flex; flex-direction: column; gap: 16px; }
.ag-program-item { display: flex; gap: 22px; align-items: flex-start; background: #fff; border: 1px solid var(--global-palette6); border-radius: 12px; padding: 24px 28px; }
.ag-program-num { flex: 0 0 auto; width: 46px; height: 46px; border-radius: 10px; background: #fff4e6; color: #fd9408; font-weight: 800; font-size: 20px; display: flex; align-items: center; justify-content: center; }
.ag-program-text h3 { margin: 0 0 6px; font-size: 19px; color: var(--global-palette3); }
.ag-program-text p { margin: 0; color: #6b655c; font-size: 15px; line-height: 1.55; }

/* Что получите — чек-лист */
.ag-results { list-style: none; margin: 6px auto 0; padding: 0; max-width: 600px; display: flex; flex-direction: column; gap: 16px; }
.ag-result-item { display: flex; gap: 14px; align-items: center; font-size: 17px; color: #f0ece4; }
.ag-result-check { flex: 0 0 auto; width: 30px; height: 30px; border-radius: 50%; background: #fd9408; color: #15110c; display: flex; align-items: center; justify-content: center; }
.ag-result-check svg { width: 18px; height: 18px; }

/* Работы студентов — плейсхолдеры */
.ag-students-grid { display: grid; grid-template-columns: repeat( 3, 1fr ); gap: 18px; margin-top: 34px; }
.ag-student-card { aspect-ratio: 4 / 3; border-radius: 12px; background: #ece7de; border: 1px dashed #cfc8ba; display: flex; align-items: center; justify-content: center; color: #b0a899; font-weight: 600; font-size: 15px; }

/* Ghost-кнопка на светлом фоне */
.ag-btn--ghost-dark { background: transparent; color: var(--global-palette3); border: 2px solid #d8d2c6; }
.ag-btn--ghost-dark:hover { border-color: #fd9408; color: #fd9408; }

@media (max-width: 900px) {
	.ag-students-grid { grid-template-columns: repeat( 2, 1fr ); }
}
@media (max-width: 600px) {
	.ag-section { padding: 56px 18px; }
	.ag-students-grid { grid-template-columns: 1fr; }
	.ag-program-item { padding: 20px; gap: 16px; }
}

/* ===== Карточные блоки → слайдер на мобильных (без JS, scroll-snap) ===== */
@media (max-width: 768px) {
	.ag-why-grid,
	.ag-students-grid,
	.ag-program {
		display: flex;
		flex-direction: row;
		grid-template-columns: none;
		flex-wrap: nowrap;
		overflow-x: auto;
		scroll-snap-type: x mandatory;
		gap: 14px;
		/* лёгкий full-bleed: карточки доходят до края экрана, первая выровнена по контенту */
		margin-left: -18px;
		margin-right: -18px;
		padding: 4px 18px 14px;
		scrollbar-width: none;
		-webkit-overflow-scrolling: touch;
	}
	.ag-why-grid::-webkit-scrollbar,
	.ag-students-grid::-webkit-scrollbar,
	.ag-program::-webkit-scrollbar { display: none; }
	.ag-why-grid > *,
	.ag-students-grid > *,
	.ag-program > * {
		flex: 0 0 80%;
		scroll-snap-align: start;
	}
	.ag-students-grid > * { flex-basis: 72%; }
	.ag-program > * { flex-basis: 86%; }
}

/* ===== «Обучение»: Кому подойдёт (иконки) + Как проходит (сетка 2×2) ===== */
/* Кому подойдёт — карточки с иконками (слайдер на мобиле) */
.ag-who-grid { display: grid; grid-template-columns: repeat( 4, 1fr ); gap: 18px; }
.ag-who-card { background: #fff; border: 1px solid var(--global-palette6); border-radius: 14px; padding: 28px 24px; }
.ag-who-ic { display: inline-flex; align-items: center; justify-content: center; width: 52px; height: 52px; border-radius: 14px; background: #fff4e6; color: #fd9408; margin-bottom: 16px; }
.ag-who-ic svg { width: 26px; height: 26px; }
.ag-who-card h3 { margin: 0 0 8px; font-size: 18px; color: var(--global-palette3); }
.ag-who-card p { margin: 0; font-size: 15px; color: #6b655c; line-height: 1.55; }

/* Как проходит — сетка с центрированными иконками (НЕ слайдер) */
.ag-feat-grid { display: grid; grid-template-columns: repeat( 4, 1fr ); gap: 22px; }
.ag-feat-item { text-align: center; padding: 6px; }
.ag-feat-ic { display: inline-flex; align-items: center; justify-content: center; width: 64px; height: 64px; border-radius: 50%; background: #fff4e6; color: #fd9408; margin-bottom: 16px; }
.ag-feat-ic svg { width: 30px; height: 30px; }
.ag-feat-item h4 { margin: 0 0 8px; font-size: 17px; color: var(--global-palette3); }
.ag-feat-item p { margin: 0; font-size: 14px; color: #6b655c; line-height: 1.5; }

@media (max-width: 900px) {
	.ag-who-grid { grid-template-columns: repeat( 2, 1fr ); }
	.ag-feat-grid { grid-template-columns: repeat( 2, 1fr ); }
}
@media (max-width: 480px) {
	.ag-feat-ic { width: 56px; height: 56px; }
}

/* Кому подойдёт — компактнее в узких 2×2 на мобиле (чтобы заголовки помещались) */
@media (max-width: 560px) {
	.ag-who-card { padding: 18px 15px; }
	.ag-who-ic { width: 46px; height: 46px; margin-bottom: 12px; }
	.ag-who-card h3 { font-size: 16px; }
}

/* ===== Хлебные крошки (под hero, прозрачный фон — нативно в теле страницы) ===== */
.ag-breadcrumbs { background: transparent; }
.ag-breadcrumbs-inner { max-width: 1160px; margin: 0 auto; padding: 24px 24px 0; font-size: 14px; color: #b3ab9e; }
.ag-breadcrumbs a { color: #847e74; text-decoration: none; }
.ag-breadcrumbs a:hover { color: #fd9408; }
.ag-breadcrumbs .breadcrumb_last { color: var(--global-palette3); font-weight: 600; }
@media (max-width: 600px) {
	.ag-breadcrumbs-inner { white-space: nowrap; overflow-x: auto; scrollbar-width: none; padding: 18px 18px 0; }
	.ag-breadcrumbs-inner::-webkit-scrollbar { display: none; }
}

/* ===== Хаб услуг ===== */
/* Карточки услуг (ссылки) */
.ag-svc-grid { display: grid; grid-template-columns: repeat( 3, 1fr ); gap: 20px; }
.ag-svc-card { display: flex; flex-direction: column; background: #fff; border: 1px solid var(--global-palette6); border-radius: 14px; padding: 28px 26px; text-decoration: none; transition: border-color .2s, transform .2s, box-shadow .2s; }
.ag-svc-card:hover { border-color: #fd9408; transform: translateY( -3px ); box-shadow: 0 12px 28px rgba( 0,0,0,.07 ); }
.ag-svc-ic { display: inline-flex; align-items: center; justify-content: center; width: 54px; height: 54px; border-radius: 14px; background: #fff4e6; color: #fd9408; margin-bottom: 16px; }
.ag-svc-ic svg { width: 28px; height: 28px; }
.ag-svc-card h3 { margin: 0 0 8px; font-size: 19px; color: var(--global-palette3); }
.ag-svc-card p { margin: 0 0 16px; font-size: 15px; color: #6b655c; line-height: 1.55; flex: 1; }
.ag-svc-more { color: #fd9408; font-weight: 700; font-size: 15px; }

/* Процесс — шаги (на тёмном) */
.ag-steps { display: grid; grid-template-columns: repeat( 5, 1fr ); gap: 22px; margin-top: 8px; }
.ag-step { text-align: center; }
.ag-step-num { display: flex; align-items: center; justify-content: center; width: 50px; height: 50px; margin: 0 auto 14px; border: 2px solid #fd9408; border-radius: 50%; color: #fd9408; font-weight: 800; font-size: 20px; }
.ag-step h4 { margin: 0 0 6px; font-size: 16px; color: #fff; }
.ag-step p { margin: 0; font-size: 13px; color: #cdc8bf; line-height: 1.5; }

/* До / После — заглушки */
.ag-ba-grid { display: grid; grid-template-columns: repeat( 3, 1fr ); gap: 18px; margin-top: 34px; }
.ag-ba-card { display: flex; aspect-ratio: 4 / 3; border-radius: 12px; overflow: hidden; border: 1px solid #e2ddd3; }
.ag-ba-half { flex: 1; display: flex; align-items: center; justify-content: center; font-size: 12px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.ag-ba-before { background: #dcd6ca; color: #8a8275; }
.ag-ba-after { background: #f0ece3; color: #b3a98f; }

/* CTA — кнопки рядом с формой */
.ag-cta-actions { margin-top: 28px; text-align: center; }
.ag-cta-or { display: block; color: #8a8275; font-size: 14px; margin-bottom: 14px; }
.ag-cta-btns { display: flex; gap: 12px; justify-content: center; flex-wrap: wrap; }
.ag-cta-btns .ag-btn { display: inline-flex; align-items: center; gap: 8px; }
.ag-cta-btns .ag-btn svg { width: 18px; height: 18px; }
.ag-btn--tg { background: #2aabee; color: #fff; }
.ag-btn--tg:hover { background: #2391c9; color: #fff; }

@media (max-width: 900px) {
	.ag-svc-grid { grid-template-columns: repeat( 2, 1fr ); }
	.ag-steps { grid-template-columns: repeat( 3, 1fr ); row-gap: 30px; }
	.ag-ba-grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 560px) {
	.ag-steps { grid-template-columns: repeat( 2, 1fr ); }
	.ag-ba-grid { grid-template-columns: 1fr; }
}

/* ===== Страница услуги ===== */
/* Что входит — чек-лист */
.ag-inc-h { text-align: center; font-weight: 700; color: var(--global-palette3); margin: 32px 0 0; font-size: 17px; }
.ag-inc-list { list-style: none; margin: 18px auto 0; padding: 0; max-width: 640px; display: grid; grid-template-columns: repeat( 2, 1fr ); gap: 14px 28px; }
.ag-inc-item { display: flex; gap: 11px; align-items: center; font-size: 15px; color: #3d3d3d; }
.ag-inc-check { flex: 0 0 auto; width: 22px; height: 22px; border-radius: 50%; background: #fff4e6; color: #fd9408; display: inline-flex; align-items: center; justify-content: center; }
.ag-inc-check svg { width: 13px; height: 13px; }

/* Кросс-ссылки «Другие услуги» — 4 в ряд */
.ag-svc-grid--4 { grid-template-columns: repeat( 4, 1fr ); }

@media (max-width: 900px) {
	.ag-svc-grid--4 { grid-template-columns: repeat( 2, 1fr ); }
}
@media (max-width: 560px) {
	.ag-inc-list { grid-template-columns: 1fr; max-width: 320px; }
}

/* ===== Главная: цифры, промо, отзывы ===== */
/* Цифры */
.ag-stats { display: grid; grid-template-columns: repeat( 4, 1fr ); gap: 24px; text-align: center; }
.ag-stat { display: flex; flex-direction: column; gap: 6px; }
.ag-stat-num { font-size: clamp( 32px, 5vw, 44px ); font-weight: 800; color: #fd9408; line-height: 1; }
.ag-stat-label { font-size: 14px; color: #cdc8bf; }

/* Промо обучения (баннер с постером) */
.ag-promo { position: relative; width: 100vw; margin-left: calc( 50% - 50vw ); background-size: cover; background-position: center; padding: 84px 20px; }
.ag-promo-overlay { position: absolute; inset: 0; background: linear-gradient( rgba(21,17,12,.86), rgba(21,17,12,.8) ); }
.ag-promo-content { position: relative; z-index: 1; max-width: 640px; margin: 0 auto; text-align: center; }
.ag-promo-content h2 { color: #fff; font-size: clamp( 26px, 5vw, 34px ); margin: 0 0 14px; }
.ag-promo-content p { color: #e8e2d6; font-size: 17px; line-height: 1.6; margin: 0 0 26px; }

/* Отзывы */
.ag-reviews { display: grid; grid-template-columns: repeat( 3, 1fr ); gap: 22px; margin-top: 36px; text-align: left; }
.ag-review { background: #fff; border: 1px solid var(--global-palette6); border-radius: 14px; padding: 28px 26px; }
.ag-review-stars { display: flex; gap: 3px; color: #fd9408; margin-bottom: 14px; }
.ag-review-stars svg { width: 18px; height: 18px; }
.ag-review-text { margin: 0 0 16px; color: #3d3d3d; font-size: 15px; line-height: 1.6; }
.ag-review-name { font-weight: 700; color: var(--global-palette3); font-size: 15px; }

@media (max-width: 900px) {
	.ag-stats { grid-template-columns: repeat( 2, 1fr ); gap: 30px 24px; }
	.ag-reviews { grid-template-columns: 1fr; max-width: 520px; margin-left: auto; margin-right: auto; }
}

/* ===== Галерея работ ===== */
.ag-gw-empty { text-align: center; color: #8a8275; padding: 40px 0; }
.ag-gw-filters { display: flex; flex-wrap: wrap; gap: 10px; justify-content: center; margin-bottom: 34px; }
.ag-gw-filter { background: #f0ece3; border: 0; color: #3d3d3d; font-weight: 600; font-size: 14px; padding: 9px 18px; border-radius: 30px; cursor: pointer; transition: background .2s, color .2s; font-family: inherit; }
.ag-gw-filter:hover { background: #e6e0d4; }
.ag-gw-filter.is-active { background: #fd9408; color: #15110c; }

.ag-gw-grid { columns: 3; column-gap: 16px; }
.ag-gw-item { break-inside: avoid; margin: 0 0 16px; }
.ag-gw-item.is-hidden { display: none; }
.ag-gw-link { display: block; position: relative; border-radius: 12px; overflow: hidden; }
.ag-gw-link img { width: 100%; height: auto; display: block; transition: transform .4s ease; }
.ag-gw-link:hover img { transform: scale( 1.04 ); }
.ag-gw-zoom { position: absolute; inset: 0; background: rgba( 21,17,12,0 ); transition: background .25s; }
.ag-gw-link:hover .ag-gw-zoom { background: rgba( 21,17,12,.18 ); }
.ag-gw-zoom::after { content: ''; position: absolute; top: 50%; left: 50%; width: 46px; height: 46px; transform: translate(-50%,-50%) scale(.8); opacity: 0; transition: opacity .25s, transform .25s; background: rgba(255,255,255,.92) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2315110c' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='m21 21-4.3-4.3'/%3E%3C/svg%3E") center / 22px no-repeat; border-radius: 50%; }
.ag-gw-link:hover .ag-gw-zoom::after { opacity: 1; transform: translate(-50%,-50%) scale(1); }

@media (max-width: 900px) { .ag-gw-grid { columns: 2; } }
@media (max-width: 560px) { .ag-gw-grid { columns: 1; } }

/* Лайтбокс */
.ag-lb { position: fixed; inset: 0; z-index: 9999; background: rgba(10,8,5,.92); display: none; align-items: center; justify-content: center; padding: 40px; }
.ag-lb.is-open { display: flex; }
.ag-lb-fig { margin: 0; max-width: 92vw; max-height: 90vh; display: flex; flex-direction: column; align-items: center; gap: 12px; }
.ag-lb-img { max-width: 92vw; max-height: 82vh; border-radius: 8px; box-shadow: 0 20px 60px rgba(0,0,0,.5); }
.ag-lb-cap { color: #e8e2d6; font-size: 14px; text-align: center; }
.ag-lb-close { position: absolute; top: 18px; right: 24px; background: none; border: 0; color: #fff; font-size: 40px; line-height: 1; cursor: pointer; opacity: .85; }
.ag-lb-close:hover { opacity: 1; }
.ag-lb-nav { position: absolute; top: 50%; transform: translateY(-50%); background: rgba(255,255,255,.12); border: 0; color: #fff; width: 52px; height: 52px; border-radius: 50%; font-size: 30px; line-height: 1; cursor: pointer; transition: background .2s; }
.ag-lb-nav:hover { background: rgba(255,255,255,.25); }
.ag-lb-prev { left: 18px; } .ag-lb-next { right: 18px; }
@media (max-width: 600px) { .ag-lb-nav { width: 42px; height: 42px; font-size: 24px; } .ag-lb { padding: 16px; } .ag-lb-close { top: 10px; right: 14px; } }

/* ===== Блог: листинг ===== */
.ag-posts { display: grid; grid-template-columns: repeat( 3, 1fr ); gap: 26px; }
.ag-post-card { display: flex; flex-direction: column; background: #fff; border: 1px solid var(--global-palette6); border-radius: 14px; overflow: hidden; transition: box-shadow .2s, transform .2s; }
.ag-post-card:hover { transform: translateY( -3px ); box-shadow: 0 14px 30px rgba(0,0,0,.08); }
.ag-post-thumb { display: block; aspect-ratio: 16 / 10; overflow: hidden; background: #ece7de; }
.ag-post-thumb img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .4s; }
.ag-post-card:hover .ag-post-thumb img { transform: scale( 1.04 ); }
.ag-post-noimg { display: block; width: 100%; height: 100%; background: linear-gradient( 135deg, #2a2118, #15110c ); }
.ag-post-body { padding: 22px 24px 24px; display: flex; flex-direction: column; flex: 1; }
.ag-post-date { font-size: 13px; color: #a39d93; margin-bottom: 8px; }
.ag-post-title { margin: 0 0 10px; font-size: 19px; line-height: 1.3; }
.ag-post-title a { color: var(--global-palette3); text-decoration: none; }
.ag-post-title a:hover { color: #fd9408; }
.ag-post-excerpt { margin: 0 0 16px; font-size: 15px; color: #6b655c; line-height: 1.55; flex: 1; }
.ag-post-more { color: #fd9408; font-weight: 700; font-size: 15px; text-decoration: none; }

@media (max-width: 900px) { .ag-posts { grid-template-columns: repeat( 2, 1fr ); } }
@media (max-width: 600px) { .ag-posts { grid-template-columns: 1fr; max-width: 440px; margin: 0 auto; } }

/* ===== Статья (single post) ===== */
.single-post .entry-content { max-width: 760px; margin-left: auto; margin-right: auto; font-size: 17px; line-height: 1.7; color: #3d3d3d; }
.single-post .entry-content h2 { font-size: clamp( 22px, 3.5vw, 28px ); margin: 1.6em 0 .5em; }
.single-post .entry-content p { margin: 0 0 1.1em; }
.single-post .entry-content a:not(.ag-btn) { color: #fd9408; }
.ag-article-cta { margin: 44px auto 8px; max-width: 760px; background: #f6f6f6; border: 1px solid var(--global-palette6); border-radius: 14px; padding: 30px 32px; text-align: center; }
.ag-article-cta p { margin: 0 0 18px; font-size: 18px; font-weight: 600; color: var(--global-palette3); }
