@charset "UTF-8";
@import "css/lightgallery.min.css";
/*
Theme Name: Amtec Kazan
Author: the WordPress team
Version: 1.0
*/
@import "fonts/Montserrat/stylesheet.css";
/*@import "fonts/Manrope/stylesheet.css";*/


:root {
	--bg-m : #FEFEFE;
	--bg-s : #ECF0F9;
	--bg-d : #57698B;
	--bg-d2 : #7990BE;
	--bg-r : #FF005E;
	--bg-dg : #CAD1E3;
	--gradient-blue: linear-gradient(135deg, #1E40AF 0%, #2563EB 45%, #3B82F6 100%);
	--gradient-lblue: linear-gradient(180deg, #F3F7FF 0%, #FAFCFF 100%);
	
	/*--gradient-pink: linear-gradient(125deg, #7a002d 0%, #cc004b 48%, #ff005e 100%);*/
	--gradient-pink: linear-gradient(125deg, #b30044 0%, #e60053 48%, #ff005e 100%);
	--tm : #0b1b44;
	--tb : #2563EB;
	--tl: #F9F9FA;
	--tr: #FF005E;
	
	--bdc1 : #D0D7E7; /*#DBE0EC*/
	--bdc2 : #98A4B8;
	
	--w: #FFF;
	
	--box-shadow: 0 14px 34px rgba(20, 56, 147, 0.06);
	--box-shadow-dark: 6px 6px 18px 4px rgba(60,77,110, 0.26);
	--border: 1px solid #DFE8FF;
	
	--icon-bg : #EEF4FF;
	
}

html * { max-height: 1000000px; }
* { -webkit-text-size-adjust: none; margin: 0; padding: 0; box-sizing: border-box; outline: none; }
html:not(.wp-toolbar), body:not(.wp-admin) { font-family: "Montserrat", "Times New Roman", sans-serif; width: 100%; height: 100%; scroll-behavior: smooth;
	font-size: 14px; line-height: 1.4; color: var(--tm); background: var(--bg-m); font-weight: 500; }
li { list-style: none; }
img { display: block; max-width: 100%; height: auto; }
a img { border:none; }
a { text-decoration: none; color: inherit; text-decoration-skip-ink: none }
input, select, button, textarea { outline:none;
	font-family: "Montserrat", Arial, sans-serif; font-size: 14px;
	/*-moz-appearance:none;-webkit-border-radius: 0; -moz-border-radius: 0; -webkit-appearance: none;*/
}
input[type=file], button, input[type="submit"],
input[type=file]::-webkit-file-upload-button { cursor: pointer; }
.container { max-width: 1360px; width: 100%; padding: 0 20px; margin: 0 auto; }
.wrap_container { max-width: 1650px; width: calc(100% - 24px); margin: 0 auto; border-radius: 30px; }

.page_wrapper { display: flex; flex-direction: column; justify-content: space-between; min-height: 100%; }
header,.nav_block, footer { flex: 0 0 auto; }
main { flex: 1 1 auto; }

h1 { font-size: 48px; line-height: 1.15; font-weight: 700; text-transform: uppercase; }
h4 { font-size: 32px; text-transform: uppercase; font-weight: 700; line-height: 1.15; }
h6 { font-size: 20px; font-weight: 700; line-height: 1.25; }
p {}
p b {}
p a {}
p a:hover {}
h4.center { text-align: center; }
.gap-10 { gap: 10px; }
.gap-15 { gap: 15px; }
.gap-20 { gap: 20px; }

@media(min-width: 641px) {
	.xl-f-row { display: flex; flex-direction: row; }
	.xl-f-wrap { flex-wrap: wrap; }
	
	.xl-gap-10 { gap: 10px; }
	.xl-gap-15 { gap: 15px; }
	.xl-gap-20 { gap: 20px; }
	
	.xl-col-3 { display: grid; grid-template-columns: repeat(3, 1fr); }
}

@media(max-width: 641px) {
	.sm-f-row { display: flex; flex-direction: row; }
	.sm-f-col { display: flex; flex-direction: column; }
	.sm-f-wrap { flex-wrap: wrap; }
	
	.sm-gap-10 { gap: 10px; }
	.sm-gap-15 { gap: 15px; }
	.sm-gap-20 { gap: 20px; }
	
	.sm-column { display: grid; grid-template-columns: 1fr; }
}

.btn_group { display: flex; flex-wrap: wrap; gap: 20px; }
.btn_group.center { justify-content: center; }

.btn { transition: .4s; height: 44px; padding: 0 20px; border-radius: 8px;
	font-size: 15px; font-weight: 500; border: none; display: inline-flex; align-items: center; justify-content: center; }
.btn.v1 { background: var(--gradient-pink); color: var(--tl); transition: all 0.4s ease; }
.btn.tall {height: 35px;padding: 0 20px;}
.btn.v1:hover {}
.btn.v1:hover {
	/* Осветление через белый полупрозрачный слой */
	background:
			linear-gradient(rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0.15)),
			linear-gradient(125deg, #990038 0%, #cc004b 48%, #ff005e 100%);
	
	box-shadow: 0 6px 24px rgba(255, 0, 94, 0.5);
	transform: translateY(-2px) scale(1.02);
}
.btn.v1:active {
	transform: scale(0.98);
	box-shadow:
			0 2px 4px rgba(255, 0, 94, 0.15),
			0 6px 16px rgba(255, 0, 94, 0.2);
}
.btn.v1:focus {}
.btn.v2 { padding: 0 16px; border: 1px solid var(--bdc1); }
.btn.v2:hover { border-color: var(--bdc2); background: var(--bg-s);
	transform: translateY(-2px); box-shadow: 0 6px 18px rgba(20, 56, 147, 0.12); }
.btn.v2:active { transform: scale(0.98); box-shadow: 0 2px 6px rgba(20, 56, 147, 0.12); }
.btn.v2:focus {}

.btn.v3 { background: var(--bg-d2); color: var(--w); }
.btn.v3:hover {
	background: linear-gradient(rgba(255, 255, 255, 0.16), rgba(255, 255, 255, 0.16)), var(--bg-d2);
	transform: translateY(-2px) scale(1.02); box-shadow: 0 6px 20px rgba(121, 144, 190, 0.5); }
.btn.v3:active { transform: scale(0.98); box-shadow: 0 2px 8px rgba(121, 144, 190, 0.35); }

.btn.v4 { background: var(--w); color: var(--tm); }
.btn.v4:hover { background: var(--bg-s); color: var(--bg-r);
	transform: translateY(-2px); box-shadow: 0 6px 18px rgba(20, 56, 147, 0.15); }
.btn.v4:active { transform: scale(0.98); box-shadow: 0 2px 6px rgba(20, 56, 147, 0.12); }

.btn.call_btn,.btn.price_btn,.btn.calendar_btn,.btn.loyalty_btn,.btn.register_btn,
.btn.program_btn { padding: 0 20px 0 50px; position: relative; }
.btn.call_btn:before,.btn.price_btn:before,.btn.calendar_btn:before,.btn.loyalty_btn:before,.btn.register_btn:before,
.btn.program_btn:before {
	position: absolute; left: 16px; top: 0; bottom: 0;
	margin: auto; content: ""; width: 24px; height: 24px; flex: 0 0 auto; }
.btn.call_btn:before { background: url(img/call_white_icon.svg) no-repeat 50% 50% / contain; }
.btn.price_btn:before { background: url(img/price_btn_icon.svg) no-repeat 50% 50% / contain; }
.btn.calendar_btn:before { background: url(img/calendar_btn_icon.svg) no-repeat 50% 50% / contain; }
.btn.loyalty_btn:before { background: url(img/loyalty_btn_icon.svg) no-repeat 50% 50% / contain; }
.btn.program_btn:before { background: url(img/program_btn_icon.svg) no-repeat 50% 50% / contain; }
.btn.register_btn:before { background: url(img/register_btn_icon.svg) no-repeat 50% 50% / contain; }

.input {}
.input input,.input textarea {}
.input textarea {}


.checkbox {}
.checkbox input {}
.checkbox i {}
.checkbox input:checked + i {}
.checkbox span {}
.link {text-decoration: underline;}
@media(max-width: 641px) {
	.container { padding: 0 16px; }
	
	h1 { font-size: 32px; line-height: 1.25; font-weight: 700; }
	h4 { font-size: 24px; font-weight: 700; line-height: 1.25; }
	h6 { font-size: 16px; font-weight: 600; line-height: 1.25; }
	
	
}


.wrap_header { position: sticky; top: 0; left: 0; width: 100%; z-index: 10; background: var(--w); }
.wrap_header.scrolled { transform: translateY(-148px); transition: .3s; }
.wrap_header.scrolled.visible { transform: translateY(0); }

.anchor { transform: translateY(-60px); }

.logo a { display: flex; align-items: center; gap: 12px; }
.logo a img:nth-child(1) { max-width: 56px; }
.logo a img:nth-child(2) { max-width: 200px; }
.header { padding: 16px 0;  justify-content: space-between; align-items: center;
	/*border-bottom: 1px solid var(--bdc1);*/
}

.head_actions { display: flex; gap: 20px; }
.head_soc_group { display: flex; gap: 10px; }
.head_btn_group { display: flex; gap: 20px; }
.soc_icon { transition: .3s; width: 34px; height: 34px; flex: 0 0 auto; border: 1px solid var(--bdc1); border-radius: 50%; position: relative; }
.soc_icon:hover { background: var(--bdc1); }
.soc_icon:before { content: ""; position: absolute; top: 0; left: 0; width: 100%; height: 100%; }
.soc_icon.vk_icon:before { background: url(img/vk_icon.svg) no-repeat 50% 50% / 20px auto; }
.soc_icon.tg_icon:before { background: url(img/tg_icon.svg) no-repeat 50% 50% / 20px auto; }
.head_btn_group > a {  }


.nav_block { background: var(--bg-s); border-bottom: 1px solid var(--bdc1);}
nav { font-weight: 500; padding: 18px 0; font-size: 16px; }
nav ul { display: flex; align-items: center; justify-content: space-between; }
nav ul li { flex: 1 1 auto; position: relative; display: flex; align-items: center; justify-content: center; }
nav ul li + li:before { content: ""; position: absolute; left: -1px; top: 0; bottom: 0; margin: auto;
	height: 12px; width: 1px; background: var(--bdc2); }
nav ul li a { transition: .3s; }
nav ul li a:hover { color: var(--tr); }


.nav_toggle { user-select: none; cursor: pointer; display: none; position: relative; width: 36px; height: 36px; }
.nav_toggle span { transition: .3s; border-radius: 2px; position: absolute; width: 24px; left: 6px; height: 2px; background: var(--tm); }
.nav_toggle span:nth-child(1) { top: 10px; }
.nav_toggle span:nth-child(2) { top: 0; bottom: 0; margin: auto; }
.nav_toggle span:nth-child(3) { bottom: 10px; }
.nav_toggle.active {}
.nav_toggle.active span:nth-child(2) { left: 100%; opacity: 0; }
.nav_toggle.active span:nth-child(1) { top: 17px; transform: rotate(45deg); }
.nav_toggle.active span:nth-child(3) { bottom: 17px; transform: rotate(-45deg); }
.mob_header_box { display: none; }
@media(max-width: 641px) {
	main { padding-top: 60px; }
	.mob_header_box { display: flex; flex-direction: column; position: fixed; z-index: 10; top: 0; left: 0; width: 100%; background: var(--w); }
	.mob_header_box.active { min-height: 100dvh; }
	.wrap_header { display: none; }
	.nav_toggle { display: block; }
	.mob_header { display: flex; justify-content: space-between; padding: 12px 15px; flex: 0 0 auto; border-bottom: 1px solid var(--bdc1); }
	.mob_logo {  }
	.mob_logo a { display: flex; align-items: center; gap: 8px; }
	.mob_logo a img:nth-child(1) { max-width: 36px; }
	.mob_logo a img:nth-child(2) { max-width: 148px; }
	.mob_nav { font-size: 16px; display: flex; align-items: center; justify-content: center; }
	
	.mob_nav ul { text-align: center; }
	.mob_nav ul li + li { margin-top: 20px; }
	.mob_nav_box { flex: 1 1 auto; padding: 30px 15px; display: none; flex-direction: column; align-items: center; justify-content: space-between; }
	.mob_header_box.active .mob_nav_box { display: flex; }
	.mob_nav_bottom { margin-top: 30px; }
	.mob_nav_bottom .head_btn_group { gap: 15px; flex-direction: column; width: 260px;}
	
}


.intro_block { background: url(img/main_intro_bg.jpg) no-repeat 50% 50% / cover,
linear-gradient(90deg, rgba(242, 245, 251, 0.96) 0%, rgba(242, 245, 251, 0.7) 48%,
rgba(242, 245, 251, 0.35) 100%), radial-gradient(circle at 68% 48%, rgba(85, 118, 169, 0.35), transparent 42%),
linear-gradient(140deg, #d9e2f5 0%, #eff3fc 42%, #cfddf5 100%);
	min-height: min(calc(100vh - 147px), 1000px); display: flex; flex-direction: column; justify-content: space-between; }
.intro_block > .container { flex: 1 1 auto; display: flex; flex-direction: column; }
.intro { padding: 80px 0; }
.intro_text { max-width: 760px; width: 100%; }
.intro_text h1 { font-weight: 500; font-size: 48px; line-height: 1.25; }
.intro_text h1 span { text-transform: uppercase; margin-top: 10px; font-size: 64px; font-weight: 800; display: block; color: var(--bg-r); }
.intro_text p { font-size: 22px; font-weight: 500; margin-top: 30px; }
.after_intro_block { background: var(--bg-s); padding: 20px 0; }
.after_intro { display: flex; }
.after_intro_item { flex: 1 1 auto; display: flex; align-items: center; position: relative; }
.after_intro_item p { font-weight: 500; font-size: 15px; }
.after_intro_item + .after_intro_item { margin-left: 30px; padding-left: 30px; }
.after_intro_item + .after_intro_item:before { content: ""; position: absolute; top: 0; bottom: 0; margin: auto; left: 0;
	height: 30px; width: 1px; background: var(--bdc1); }
.after_intro_item_icon { width: 36px; height: 36px; flex: 0 0 auto; margin-right: 14px; }
@media(min-width: 642px) and (max-width: 768px) {
	.after_intro_item { width: 50%; }
	.after_intro_item:first-child { display: none; }
	.after_intro_item:first-child + .after_intro_item { margin-left: 0; padding-left: 0; }
	.after_intro_item:first-child + .after_intro_item:before { display: none; }
}
@media(max-width: 641px) {
	
	.intro_block { background:
	linear-gradient(90deg, rgba(242, 245, 251, 0.96) 0%, rgba(242, 245, 251, 0.7) 48%,
			rgba(242, 245, 251, 0.35) 100%), radial-gradient(circle at 68% 48%, rgba(85, 118, 169, 0.35), transparent 42%),
	linear-gradient(140deg, #d9e2f5 0%, #eff3fc 42%, #cfddf5 100%);
		min-height: auto; }
	
	.intro_text h1 { font-size: 22px; line-height: 1.4; }
	.intro_text h1 span { font-size: 44px; font-weight: 800; word-spacing: -4px; margin-top: 0; }
	.intro_text p { font-size: 16px; font-weight: 400; }
	
	.after_intro { flex-direction: column; }
	.after_intro_item > .btn { width: 100%; display: flex; }
	.after_intro_item + .after_intro_item { padding-left: 0; margin-left: 0; margin-top: 12px; padding-top: 12px; }
	.after_intro_item + .after_intro_item:before { height: 1px; width: 100%; bottom: auto; }
	
	.after_intro_item:first-child { order: 3; margin-top: 20px; }
	.after_intro_item:first-child .btn { padding: 0 20px; }
	.after_intro_item:nth-child(2) { margin-top: 0; padding-top: 0; }
	.after_intro_item:nth-child(2):before { display: none; }
}

.about_company_block { padding: 60px 0; background: var(--gradient-lblue); }
.box-1 { background: #FFF; border: var(--border); box-shadow: var(--box-shadow);
	display: flex; flex-direction: column; padding: 24px; border-radius: 24px; }
.about_company_list { display: flex; gap: 20px; flex-wrap: wrap; justify-content: center; }
.about_company_item { flex: 0 0 auto; width: calc(100% / 3 - 40px / 3); transition: transform .3s ease, box-shadow .3s ease; }
.about_company_item:hover { transform: translateY(-6px); box-shadow: 0 20px 44px rgba(20, 56, 147, 0.16); }
.about_company_icon { align-self: flex-start; background: var(--icon-bg); width: 48px; height: 48px; margin-bottom: 16px;
	 display: flex; align-items: center; justify-content: center; border-radius: 12px; }
.about_company_icon > img { width: 40px; height: 40px; object-fit: contain; }
.about_company_item h6 { font-weight: 700; font-size: 36px; }
.about_company_item h6 span { font-size: 24px; }
.about_company_item p { margin-top: 6px; font-size: 15px; opacity: .72; font-weight: 500; }
@media(max-width: 768px) and (min-width: 642px) {
	.about_company_item { padding: 12px; }
	.about_company_item h6 { font-size: 28px; }
	.about_company_item h6 span { font-size: 18px; }
	.about_company_item p { font-size: 14px; }
}
@media(max-width: 641px) {
	.about_company_block { padding: 40px 0; }
	.about_company_item { width: 100%; padding: 15px; }
	/*.about_company_icon { margin-bottom: -20px; }*/
	.about_company_item h6 { font-size: 32px; }
	.about_company_item h6 span { font-size: 20px; }
}


.projects_slider_block { overflow: hidden; padding: 60px 0; background: var(--bg-d); color: var(--w); }
.project_slider_box { margin: auto; max-width: 960px; width: 100%; }
.project_slider_box h4 { margin-bottom: 40px; text-align: center; }
.projects_slider .slick-list { overflow: visible; }
.projects_slider .slick-track { display: flex!important; }
.projects_slider.main_arrows .slick-prev { left: -20px; z-index: 5; }
.projects_slider.main_arrows .slick-next { right: -20px; z-index: 5; }
.project_slide { min-height: auto!important; height: auto!important; transition: .4s; position: relative; border-radius: 12px; overflow: hidden; margin: 0 40px; }
.project_slide:not(.slick-current,.slick-active) { opacity: .4; user-select: none; pointer-events: none; }
.project_slide.slick-current.slick-active { opacity: 1; }
.project_slide > * { transition: opacity .4s; }
.project_slide_cover { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }
.project_slide_cover img { position: absolute; top: 0; left: 0; width: 100%; height: 100%; object-fit: cover; }
.project_slide_info { position: relative; z-index: 2; padding: 40px; max-width: 640px;
	display: flex; align-items: flex-start; flex-direction: column; justify-content: space-between; height: 100%; }
.project_slide_info h5 { flex: 1 1 auto; line-height: 1.25; font-size: 24px; font-weight: 400; }
.project_slide_info h5 span { margin-top: 10px; display: block; font-size: 32px; font-weight: 700; }
.project_slide_data { margin-top: 40px; }
.project_slide_data_date,
.project_slide_data_place { font-size: 18px; line-height: 1.5; position: relative; padding-left: 36px; }
.project_slide_data_date + .project_slide_data_place { margin-top: 10px; }
.project_slide_data_date:before,
.project_slide_data_place:before { content: ""; position: absolute; width: 26px; height: 26px; top: 0; left: 0; }
.project_slide_data_date:before {  background: url(img/calendar_icon.svg) no-repeat 50% 50% / contain; }
.project_slide_data_place:before { background: url(img/map_marker_icon.svg) no-repeat 50% 50% / contain; }
.project_slide_info > .btn { margin-top: 25px; }
@media(max-width: 640px) {
	.projects_slider_block { padding: 40px 0; }
	.project_slider_box h4 { margin-bottom: 25px; }
	.projects_slider .slick-list { margin: 0 -10px; }
	.project_slide:not(.slick-current,.slick-active) { opacity: 1; }
	.project_slide { margin: 0 10px; }
	.project_slider_box { padding-bottom: 60px; }
	.projects_slider.main_arrows .slick-prev { transform: translateX(-50%); left: calc(50% - 25px); top: auto; bottom: -60px; }
	.projects_slider.main_arrows .slick-next { transform: translateX(-50%); right: auto; left: calc(50% + 25px); top: auto; bottom: -60px; }
	.project_slide_info { padding: 20px; }
	.project_slide_info h5 { line-height: 1.25; font-size: 20px; }
	.project_slide_info h5 span { font-size: 24px; }
	.project_slide_data { margin-top: 20px; }
	.project_slide_info > .btn { margin-top: 15px; }
}

.about_amtec_block { padding: 60px 0; background: var(--gradient-lblue); }
.about_amtec h4 { text-align: center; }
.about_amtec_list { margin-top: 40px; display: flex; gap: 20px; flex-wrap: wrap; justify-content: center; }
.about_amtec_item { flex: 0 0 auto; width: calc(100% / 3 - 15px); }
.about_amtec_icon { align-self: flex-start; display: flex; align-items: center; justify-content: center;
	width: 48px; height: 48px; margin-bottom: 16px; border-radius: 12px; background: var(--icon-bg); }
.about_amtec_icon > img { width: 32px; height: 32px; object-fit: contain; }
.about_amtec_item h6 {  }
.about_amtec_item p { opacity: .7; line-height: 1.4; font-size: 15px; margin-top: 8px; }

@media(max-width: 768px) {
	.about_amtec_item { width: calc(50% - 20px); }
}

@media(max-width: 641px) {
	.about_amtec_block { padding: 40px 0; }
	.about_amtec_list { margin-top: 20px; }
	.about_amtec_item { width: 100%; padding: 15px; }
	/*.about_amtec_icon { position: absolute; margin: 0; top: 20px; left: 12px; width: 32px; height: 32px; }*/
}

.course_hello_block { background: #4E6287; display: flex; }
.course_hello_block .container { position: relative; display: flex; }
.course_hello_cover_img { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }
.course_hello_cover_img:before { content: ""; position: absolute; top: 0; left: 0; width: 100%; height: 100%;
	/*background: rgba(87,105,139,1); !*87,105,139*!*/}
.course_hello_cover_img img { width: 100%; height: 100%; object-fit: cover; position: absolute; top: 0; left: 0; }
.course_hello { padding: 30px 0 60px; color: var(--w); position: relative; z-index: 3; display: flex; flex-direction: column; gap: 40px; }
.course_hello > :not(h1,.course_hello_attention,#breadcrumbs) { max-width: 640px; }
.course_hello #breadcrumbs { margin-bottom: 30px; }
/*.course_hello > h1 { max-width: 840px; }*/
.course_hello h1 {  }
.course_hello > p { line-height: 1.5; border-left: 3px solid var(--bg-r); padding-left: 20px; font-size: 16px; }
.course_hello .btn_group { order: 2; }
.course_hello_attention { order: 3; margin-bottom: -20px; display: flex; align-items: flex-start; }
.course_hello_attention:before { content: ""; flex: 0 0 auto; margin-right: 10px;  }
.course_hello:after { content: ""; display: block; flex: 1 1 auto; order: 1; }
@media(max-width: 768px) {
	
	.course_hello h1 { font-size: 36px; }
}
@media(max-width: 641px) {
	.course_hello_block { min-height: 520px; }
	.course_hello { gap: 20px; padding: 20px 0 40px; }
	.course_hello h1 { font-size: 28px; }
	.course_hello > p { font-size: 14px; padding-left: 16px; }
	.course_hello .btn_group { margin-top: 30px; }
	.course_hello_attention { margin-bottom: -10px; }
	.course_hello #breadcrumbs { font-size: 12px; }
}
@media(max-width: 460px) {
	.course_hello h1 { font-size: 24px; }
}

.hero_course_block { padding: 60px 0; }
.hero_course h4 { margin-bottom: 40px; text-align: center; }
.hero_course_box { max-width: 1040px; margin: auto; }
.hero_course_box.v-1 { display: grid; gap: 40px; grid-template-columns: 1fr 1.70fr; }
.hero_course_skills { background: var(--bg-s); padding: 30px; border-radius: 12px; }
.hero_course_skills h5 { line-height: 1.2; font-size: 28px; font-weight: 700; margin-bottom: 16px; text-transform: uppercase; }
.hero_course_skills p { font-size: 16px; position: relative; padding-left: 30px; }
.hero_course_skills p + p { margin-top: 16px; }
.hero_course_skills p:before { content: ""; position: absolute; top: 7px; left: 10px;
	width: 7px; height: 7px; background: var(--bg-r); border-radius: 50%; }
.hero_course_left { font-size: 16px; line-height: 1.5; }
.hero_course_left p { max-width: 380px; }
.hero_course_left p + p { margin-top: 30px; }
.hero_course_left > img { max-width: 360px; border-radius: 12px; width: 100%; height: auto; margin-top: 30px; }

.hero_course_box.v-2 { display: grid; grid-template-columns: 1.35fr 1fr 1fr; grid-template-rows: 1fr 1fr; }
.hero_course_author { grid-row: span 2; background: var(--bg-d); }
.hero_course_author_photo { position: relative; }
.hero_course_author_photo:before { content: ""; display: block; padding-top: 77%; }
.hero_course_author_photo img { width: 100%; height: 100%; position: absolute; top: 0; left: 0; object-fit: cover; }
.hero_course_author_info { color: var(--w); padding: 20px; }
.hero_course_author_info p { margin-top: 8px; font-size: 15px; }
.hero_course_item { color: var(--w); padding: 20px; font-size: 15px;
	display: flex; flex-direction: column; justify-content: space-between; background: #7990BE; }
.hero_course_icon { width: 40px; height: 40px; flex: 0 0 auto; align-self: flex-end; margin-bottom: 10px; }
.hero_course_item:nth-child(5n+3),.hero_course_item:nth-child(5n+4) { color: var(--tm); background: #C3D5FF; }

@media(max-width: 641px) {
	.hero_course_block { padding: 40px 0 30px; }
	.hero_course h4 { margin-bottom: 12px; text-align: left; }
	.hero_course_box.v-1 { grid-template-columns: 1fr; gap: 15px; }
	.hero_course_skills { padding: 15px; }
	.hero_course_left { font-size: 15px; }
	.hero_course_left p { max-width: 100%; }
	.hero_course_left p + p { margin-top: 15px; }
	.hero_course_left > img { width: 100%; margin-top: 20px; }
	.hero_course_skills h5 { font-size: 20px; }
	.hero_course_skills p { font-size: 15px; padding-left: 22px; }
	.hero_course_skills p:before { width: 6px; height: 6px; top: 8px; left: 5px; }
	.hero_course_box.v-2 { grid-template-columns: 1fr; grid-template-rows: 1fr; }
	.hero_course_author { grid-row: auto;  }
	.hero_course_icon { align-self: flex-start }
	.hero_course_item:nth-child(3) { order :3; }
}

.course_experts_block { padding: 60px 0; background: var(--bg-s); }
.course_experts h4 { text-align: center; margin-bottom: 40px; }
.course_experts_slider { max-width: 1080px; width: 100%; margin: auto; }
.course_experts_slider.no_slider { max-width: 960px;
	display: flex; gap: 20px; flex-wrap:wrap; justify-content: center; }
.course_experts_slider.no_slider .course_expert_slide { width: calc(25% - 15px); flex: 0 0 auto; }
.course_experts_slider.slick-slider .course_expert_slide { margin: 0 10px; }
.course_experts_slider .slick-list { margin: 0 50px; }
.course_experts_slider .slick-track { display: flex!important; }
.course_expert_slide { text-align: center; border-radius: 12px; height: auto!important; min-height: auto!important;
	width: 300px; position: relative; display: flex!important; flex-direction: column; overflow: hidden; }
.course_expert_slide:after { content: ""; height: 6px; background: var(--bg-r); position: absolute;
	width: calc(100% - 60px); border-radius: 2px; left: 0; right: 0; margin: auto; bottom: 0; }
.course_expert_info { padding: 15px; background: var(--bg-d); color: var(--w); flex: 1 1 auto; }
.course_expert_info h6 { font-size: 18px; }
.course_expert_info p { margin-top: 5px; }
.course_expert_photo { position: relative; margin-bottom: -10px; flex: 0 0 auto; }
.course_expert_photo img { position: absolute; top: 0; left: 0; width: 100%; height: 100%; object-fit: cover; }
.course_expert_photo:before { content: ""; padding-top: 112.5%; display: block; }
.course_expert_photo:after { content: ""; position: absolute; top: 0; left: 0; width: 100%; height: 100%;
	background: linear-gradient(to top, rgba(87,105,139), rgba(0,0,0,0) 25% 100%); }

/* Ровно два наставника — две горизонтальные карточки в ряд (фото слева, текст справа) */
.course_experts_slider.is-duo { max-width: 1080px; flex-direction: row; flex-wrap: wrap; gap: 24px; justify-content: center; }
.course_experts_slider.is-duo .course_expert_slide { width: calc(50% - 12px); flex: 0 0 auto; flex-direction: row; text-align: left; min-height: 230px; }
.course_experts_slider.is-duo .course_expert_photo { width: 44%; max-width: 200px; margin-bottom: 0; align-self: stretch; }
.course_experts_slider.is-duo .course_expert_photo:before { padding-top: 0; }
.course_experts_slider.is-duo .course_expert_info { display: flex; flex-direction: column; justify-content: center;
	padding: 20px 22px; border-left: 5px solid var(--bg-r); }
.course_experts_slider.is-duo .course_expert_info h6 { font-size: 19px; }
.course_experts_slider.is-duo .course_expert_info p { margin-top: 8px; line-height: 1.45; font-size: 14px; }
.course_experts_slider.is-duo .course_expert_slide:after { display: none; }

/* Планшеты — карточки в столбик, но остаются горизонтальными */
@media(max-width: 900px) {
	.course_experts_slider.is-duo { max-width: 620px; flex-direction: column; }
	.course_experts_slider.is-duo .course_expert_slide { width: 100%; }
}

@media(max-width: 641px) {
	.course_experts h4 { margin-bottom: 25px; }
	.course_experts_slider.no_slider { gap: 10px; }
	.course_experts_slider.no_slider .course_expert_slide { width: calc(50% - 5px); }
	.course_expert_info { padding: 10px 10px 15px; }
	.course_expert_info p { font-size: 13px; }
	.course_experts_slider.slick-slider .course_expert_slide { margin: 0 5px; }
	.course_experts_slider.slick-slider .slick-list { margin: 0 -5px; }
	/* На мобильных два наставника возвращаются к вертикальным карточкам во всю ширину */
	.course_experts_slider.is-duo { max-width: 100%; gap: 16px; }
	.course_experts_slider.is-duo .course_expert_slide { flex-direction: column; text-align: center; min-height: 0; width: 100%; }
	.course_experts_slider.is-duo .course_expert_photo { width: 100%; max-width: none; margin-bottom: -10px; }
	.course_experts_slider.is-duo .course_expert_photo:before { padding-top: 112.5%; }
	.course_experts_slider.is-duo .course_expert_info { border-left: 0; padding: 10px 10px 15px; }
	.course_experts_slider.is-duo .course_expert_info h6 { font-size: 18px; }
}
.courses_for_you_block { padding: 60px 0; }
.courses_for_you h4 { text-align: center; margin-bottom: 40px; }
.courses_for_you_list { display: flex; flex-wrap: wrap; justify-content: center; gap: 30px; }
.courses_for_you_item { flex: 0 0 auto; width: calc(100% / 3 - 20px);
	background: var(--bg-d2); color: var(--w); position: relative; border-radius: 12px;
	padding: 10px 20px 10px 0; display: flex; align-items: center; overflow: hidden;
	transition: transform .3s ease, box-shadow .3s ease; }
.courses_for_you_item:hover { transform: translateY(-6px); box-shadow: 0 16px 38px rgba(20, 56, 147, 0.24); }
.courses_for_you_list.col-2 .courses_for_you_item {  width: calc(100% / 2 - 20px); }
.courses_for_you_item p { font-size: 16px; }
.courses_for_you_item:before { content: attr(data-step); flex: 0 0 auto; text-align: right; line-height: 1;
	opacity: .5; width: 170px; font-size: 124px; font-weight: 800; color: var(--tm); margin: 0 15px 0 -40px; }

@media(max-width: 641px) {
	.courses_for_you_block { padding: 40px 0; }
	.courses_for_you h4 { margin-bottom: 25px; }
	.courses_for_you_list { gap: 15px; }
	.courses_for_you_item,.courses_for_you_list.col-2 .courses_for_you_item  { width: 100%; }
	.courses_for_you_item:before { font-size: 112px; width: 150px;  }
	.courses_for_you_item p { font-size: 14px; }
}

.single_expert_block { padding: 60px 0; }
.single_expert_block.gray_bg { background: var(--bg-s); }
.single_expert_block.dark_bg { background: var(--bg-d); color: var(--w); }

.single_expert_box { margin-top: 40px; display: flex; gap: 40px; justify-content: center; }
.single_expert_box .single_expert_photo {}
.single_expert_box.revert { flex-direction: row-reverse; }
.single_expert_box.revert .single_expert_photo { }
.single_expert h4 { text-align: center; }
.single_expert_photo { width: 320px; flex: 0 0 auto; border-radius: 24px; overflow: hidden; }
.single_expert_photo > img {border-radius: 24px;}
.single_expert_content { font-size: 16px; max-width: 460px; }
.single_expert_content h5 { font-size: 24px; font-weight: 600; }
.single_expert_content h5 + p { margin-top: 20px; }
.single_expert_content p { }
.single_expert_content p + p { margin-top: 16px; }
.single_expert_content ul { margin-top: 12px; }
.single_expert_content ul li { position: relative; padding-left: 20px; }
.single_expert_content ul li:before { content: ""; position: absolute; top: 8px; left: 8px; width: 6px; height: 6px;
	background: var(--gradient-pink); border-radius: 50%; }
.single_expert_content ul li + li { margin-top: 8px; }

@media(max-width: 641px) {
	.single_expert_block { padding: 40px 0; }
	
	.single_expert h4,.single_expert h4.center { text-align: left; }
	.single_expert_box { gap: 20px; margin-top: 25px; }
	.single_expert_box.revert,.single_expert_box { flex-direction: column; }
	.single_expert_photo { border-radius: 16px; }
	
	.single_expert_content { font-size: 14px; }
	.single_expert_content h5 { font-size: 20px; font-weight: 600; }
	.single_expert_content h5 + p { margin-top: 16px; }
	.single_expert_content p { }
	.single_expert_content p + p { margin-top: 10px; }
	.single_expert_content ul { margin-top: 10px; }
	.single_expert_content ul li { padding-left: 16px; }
	.single_expert_content ul li:before { left: 4px; }
	.single_expert_content ul li + li { margin-top: 6px; }
}

.course_docs_block { padding: 60px 0; background: var(--w); }
.course_docs_block.gray_bg { background: var(--bg-s); }
.course_docs_block.dark_bg { background: var(--bg-d); color: var(--w); }
.course_docs { max-width: 760px; margin: auto; }
.course_docs h4 { text-align: center; }
.course_docs_list { box-shadow: var(--box-shadow);
	background: var(--w); margin-top: 40px; border: 1px solid var(--bdc1); border-radius: 20px; padding: 8px 24px; }
.course_doc_item { padding: 16px 0; display: flex; align-items: center; font-size: 18px; gap: 40px; justify-content: space-between; }
.course_doc_item + .course_doc_item { border-top: 1px solid var(--bdc1); }
.course_doc_item p span { display: block; font-size: 14px; }
.course_doc_item a { color: var(--tr); }
.course_doc_item b,.course_doc_item strong { font-weight: 600; }
.course_doc_item em,.course_doc_item i { font-style: italic; }
.course_docs_text { max-width: 640px; padding-left: 68px; position: relative; margin-top: 30px; text-align: left; display: flex; flex-direction: column;}
.course_docs_text:before { margin-bottom: 16px; content: ""; width: 52px; height: 52px;
	background: url(img/attention_icon.svg) no-repeat 50% 50% / contain; position: absolute; top: 2px; left: 0; }
.course_docs_text p { font-size: 16px; line-height: 1.4; }
.course_docs_text p a { font-size: 16px; }
.course_docs_text p b,.course_docs_text p strong { font-weight: 600; }
.course_docs_text p a { text-decoration: underline; color: var(--tr); }
/*.course_docs_text p a[href*="mailto"] { font-size: 20px; }*/
.course_docs_text p + p { margin-top: 16px; }
.course_docs_text p + p em { font-size: 12px; }

.course_reviews_block { padding: 60px 0; }
.course_reviews_block.gray_bg { background: var(--bg-s); }
.course_reviews_block.dark_bg { background: var(--bg-d); color: var(--w); }
.course_reviews h4 { text-align: center; }
.course_reviews_slider { margin-top: 40px; }
.course_reviews_slider .slick-list { margin: 0 50px; }
.course_reviews_slider .slick-track { display: flex!important; min-width: 100%; justify-content: center; }
.course_review_slide { border-radius: 12px; overflow: hidden; margin: 0 10px; height: auto!important; }
.course_review_slide img { object-fit: cover; width: 100%; height: 100%; }
@media(max-width: 641px) {
	.course_reviews_block { padding: 40px 0; }
	.course_reviews_slider { margin-top: 25px; }
	.course_review_slide { margin: 0 5px; }
	.course_reviews_slider .slick-list { margin: 0 -5px; }
}

.course_program_block { padding: 60px 0; }
.course_program h4 { text-align: center; margin-bottom: 40px; }
.course_program_list { display: flex; flex-wrap: wrap; justify-content: center; gap: 20px; }
.course_program_item { width: calc(100% / 3 - 40px / 3); flex: 0 0 auto;
	border-radius: 12px; background: var(--bg-s); padding: 30px 0 20px 20px; }
@media(min-width: 959px) {
	.col-3 .course_program_item { width: calc(100% / 3 - 40px / 3); }
	.col-2 .course_program_item { width: calc(100% / 2 - 10px); }
	.col-1 .course_program_item { width: 100%; }
}
@media(max-width: 958px) {
	.col-3 .course_program_item,
	.col-2 .course_program_item,
	.col-1 .course_program_item { width: 100%; }
}
.course_program_item_title { position: relative; margin-bottom: 16px; }
.course_program_item_title p { background: var(--bg-d); padding: 22px 4px 10px 14px; border-radius: 10px 0 0 10px;
	color: var(--w); font-size: 16px; }
.course_program_item_title p span { min-height: 2lh; display: flex; align-items: center;  }
.course_program_item_title > span { font-weight: 700; position: absolute; top: 0; transform: translateY(-50%);
	background: var(--bg-r); color: var(--w); height: 30px; display: inline-flex; left: -20px;
	align-items: center; padding: 0 12px; border-radius: 0 6px 6px 0; }
.course_program_line { display: flex; align-items: flex-start; padding-right: 8px; }
.course_program_line span { text-align: right; flex: 0 0 auto; width: 100px; margin-right: 10px; }
.course_program_line span:empty { display: none; }
.course_program_line + .course_program_line { margin-top: 12px; }
.course_program_line p b { display: inline-block; margin-right: 4px; }
.course_program_line_body { display: flex; gap: 8px; flex-direction: column; }
.course_program_line_body p + p { margin-top: 10px; }
.course_program_line_body ul {  }
.course_program_line_body ul li { position: relative; padding-left: 12px; }
.course_program_line_body ul li + li { margin-top: 4px; }
.course_program_line_body ul li:before { content: ""; width: 4px; height: 4px; position: absolute;
	background: var(--bg-r); border-radius: 50%; display: block; top: 7px; left: 0; }
.course_program_line_body ul + * { margin-top: 10px; }
/* Изображения внутри контента программы — оформляем «в рамку» под стиль сайта */
.course_program_line_body img {
	display: block;
	max-width: 100%;
	height: auto;
	border-radius: 12px;
	padding: 6px;
	background: #fff;
	border: 1px solid var(--bdc1, #D0D7E7);
	box-shadow: var(--box-shadow, 0 14px 34px rgba(20, 56, 147, .08));
	margin-top: 6px;
}
.course_program_line_body figure { margin: 8px 0 0; }
.course_program_line_body figure img { margin-top: 0; }
.course_program_line_body figcaption { margin-top: 8px; font-size: 13px; line-height: 1.45; color: var(--bg-d, #57698B); }
.course_program_line_body p:has(> img:only-child) { text-align: center; }
.course_program_line_body a:has(> img) { display: inline-block; line-height: 0; border-radius: 12px; overflow: hidden; }
.course_program_line_body a:has(> img) img { transition: transform .3s ease; }
.course_program_line_body a:has(> img):hover img { transform: scale(1.03); }
.course_program_line_body img.alignleft { float: left; margin: 6px 18px 12px 0; }
.course_program_line_body img.alignright { float: right; margin: 6px 0 12px 18px; }
.course_program_line_body img.aligncenter { margin-left: auto; margin-right: auto; }
@media(max-width: 641px) {
	.course_program_block { padding: 40px 0; }
	.course_program h4 { margin-bottom: 25px; }
	.course_program_list { gap: 15px; }
	.course_program_item { width: 100%; }
}


.course_price_block { padding: 60px 0; background: var(--bg-d); }
.course_price {  }
.course_price h4 { text-align: center; color: var(--w); margin-bottom: 40px; }
.course_price_list { display: flex; flex-wrap: wrap; justify-content: center; gap: 20px; }
.course_price_item { flex: 0 0 auto; width: calc(50% - 20px); display: flex; flex-direction: column; justify-content: space-between;
	background: var(--bg-s); border-radius: 12px; padding: 0 30px 30px; }
.course_price_title { display: flex; justify-content: center; }
.course_price_title p,.course_price_title span { padding: 10px 20px;
	display: flex; align-items: center; justify-content: center; }
.course_price_title p { flex: 3 1 auto; border-radius: 0 0 0 10px;
	background: var(--bg-r); color: var(--w); font-size: 20px; font-weight: 700; }
.course_price_title span { white-space: nowrap; flex: 1 1 auto; border-radius: 0 0 10px 0;
	background: var(--tm); color: var(--w); font-size: 24px; font-weight: 700; }
.course_price_body { padding: 30px 0; flex: 1 1 auto; }
.course_price_body p { position: relative; font-size: 16px; padding-left: 30px; }
.course_price_body p:before { content: ""; background: url(img/complete_icon.svg) no-repeat 50% 50% / contain;
	position: absolute; width: 18px; height: 18px; top: 2px; left: 2px; }
.course_price_body p + p { margin-top: 16px; }
/*.course_price_item .btn_group { margin-top: 16px; }*/
@media(max-width: 641px) {
	.course_price_block { padding: 40px 0; }
	.course_price h4 { margin-bottom: 25px; }
	.course_price_list { gap: 15px; }
	
	.course_price_item { width: 100%; padding: 0 15px 15px; }
	.course_price_title p { font-size: 18px; }
	.course_price_title span { font-size: 20px; }
	.course_price_body { padding: 25px 0; }
	.course_price_body p { font-size: 15px; }
	.course_price_body p + p { margin-top: 12px; }
}


.course_contacts_block { padding: 60px 0; background: var(--bg-s); }
.course_contacts {  }
.course_contacts h4 { margin-bottom: 40px; text-align: center; }
.course_contacts_box { display: flex; justify-content: center; gap: 60px; align-items: center; }
.course_contacts_photo { flex: 0 0 auto; width: 192px; position: relative; border-radius: 12px; overflow: hidden; }
.course_contacts_photo:before { content: ""; background: var(--bg-s); display: block; padding-top: 100%; }
.course_contacts_photo img { position: absolute; top: 0; left: 0; width: 100%; height: 100%; object-fit: cover; }
.course_contacts_info { text-align: center; }
.course_contacts_info p { font-size: 16px; }
.course_contacts_info p b { display: block; }
.course_contacts_info p + p { margin-top: 20px; }
.course_contacts_info a { text-decoration: underline var(--tr); transition: .3s; }
.course_contacts_info a:hover { color: var(--tr); text-decoration: none; }
@media(max-width: 641px) {
	.course_contacts_block { padding: 40px 0; }
	.course_contacts h4 { margin-bottom: 25px; }
	.course_contacts_box { flex-direction: column; gap: 20px; }
	.course_contacts_info { width: 100%; flex: 0 0 auto; }
	.course_contacts_info p { font-size: 14px; }
	.course_contacts_info p + p { margin-top: 12px; }
}


.course_for_whom_block { padding: 60px 0; }
.course_for_whom h4 { margin-bottom: 40px; text-align: center; }
.course_for_whom_box { display: flex; gap: 20px; }
.course_for_whom_text { font-size: 16px; line-height: 1.5; width: 50%;
	background: var(--bg-d2); color: var(--w); border-radius: 12px; padding: 30px; }
.course_for_whom_text p { }
.course_for_whom_text p + p { margin-top: 12px; }
.course_for_whom_text ul { margin-top: 20px; }
.course_for_whom_text ul li { padding-left: 34px; position: relative; }
.course_for_whom_text ul li:before { position: absolute; top: 9px; left: 11px;
	width: 6px; height: 6px; border-radius: 50%; background: var(--bg-r); content: ""; }
.course_for_whom_text ul li + li { margin-top: 10px; }
.for_whom_format { width: 50%; display: flex; flex-direction: column; gap: 10px; }

.for_whom_format_title { text-align: center; font-size: 18px; font-weight: 700; background: var(--bg-s); border-radius: 12px; padding: 15px; }
.for_whom_format_box { display: flex; gap: 10px; }
.for_whom_format_figures { width: 65%; display: flex; flex-direction: column; gap: 10px; }
.for_whom_format_figure,.for_whom_format_last { min-height: 100px; background: var(--bg-s); position: relative; border-radius: 12px; padding: 15px; }
.for_whom_format_figure { display: flex; align-items: flex-end; overflow: hidden; }
.for_whom_format_figure > span { top: 5px; right: 5px; position: absolute; bottom: 5px; color: var(--bg-dg);
	margin: auto; font-size: 124px; font-weight: 800; line-height: 1; display: flex; align-items: center; }
.for_whom_format_figure p { max-width: 255px; font-size: 16px; position: relative; z-index: 3; padding-right: 49px; }
.for_whom_format_last { width: 50%; display: flex; flex-direction: column; justify-content: flex-end; }
.for_whom_format_last_icon { flex: 1 1 auto; margin-bottom: 10px; display: flex; align-items: center; justify-content: center; }
.for_whom_format_last > p { flex: 0 0 auto; font-size: 16px; }

@media(max-width: 641px) {
	.course_for_whom_block { padding: 30px 0; }
	.course_for_whom {}
	.course_for_whom h4 { margin-bottom: 25px; }
	.course_for_whom_box { flex-direction: column; gap: 15px; }
	.course_for_whom_text { font-size: 15px; width: 100%; padding: 15px; }
	.course_for_whom_text ul { margin-top: 10px; }
	.course_for_whom_text ul li { padding-left: 22px; }
	.course_for_whom_text ul li:before { left: 4px; }
	.course_for_whom_text ul li + li { margin-top: 6px; }
	.for_whom_format { width: 100%; }
	.for_whom_format_figures { width: calc(50% - 5px); }
	.for_whom_format_last { width: calc(50% - 5px); }
	.for_whom_format_figure, .for_whom_format_last { padding: 10px; }
	.for_whom_format_figure p { font-size: 14px; }
	.for_whom_format_figure > span { right: -15px; font-size: 112px; }
	.for_whom_format_last > p { font-size: 15px; }
}


.page_text_block { padding: 60px 0; }

.page_text > h4 { text-align: center; margin-bottom: 25px; }
.page_text_body { max-width: 960px; margin: auto; text-align: center; }
.page_text_body p { font-size: 16px; }
.page_text_body p a { text-decoration: underline; }
.page_text_body p b,.page_text_body p strong { font-weight: 700; }
.page_text_body p a:hover { color: var(--bg-r); }
.page_text_body p + p { margin-top: 12px; }

.course_why_amtec_block { padding: 60px 0;  }
.course_why_amtec {  }
.course_why_amtec  h4 { margin-bottom: 40px; text-align: center; }
.course_why_amtec_box { display: flex; justify-content: center;  flex-wrap: wrap; gap: 30px; }
.course_why_amtec_item { position: relative; text-align: center; width: calc(50% - 15px);
	background: var(--bg-s); padding: 30px; border-radius: 12px; min-height: 180px; }
.course_why_amtec_item h6 { font-size: 26px; margin: auto; max-width: 380px; }
.course_why_amtec_item h6 + p { margin-top: 12px; }
.course_why_amtec_item p { margin: auto; font-size: 16px; max-width: 380px; }
.course_why_amtec_item_icon { position: absolute; width: 40px; height: 40px; bottom: 20px; right: 20px; }
.course_why_amtec_slider_box { margin-top: 30px; background: var(--bg-s); padding: 15px; border-radius: 12px; }
.course_why_amtec_slide { margin: 0 10px; }
.course_why_amtec_slider .slick-list { margin: 0 50px; }
.course_why_amtec_slide { position: relative; border-radius: 6px; overflow: hidden; }
.course_why_amtec_slide:before { content: ""; padding-top: 78%; display: block; }
.course_why_amtec_slide img { position: absolute; top: 0; left: 0; width: 100%; height: 100%; object-fit: cover; }
@media(max-width: 641px) {
	.course_why_amtec_block { padding: 30px 0; }
	.course_why_amtec h4 { margin-bottom: 25px; }
	.course_why_amtec_box { gap: 15px; }
	.course_why_amtec_item { width: 100%; padding: 60px 15px 15px; min-height: auto; }
	.course_why_amtec_item_icon { left: 0; right: 0; margin: auto; bottom: auto; top: 15px; }
	.course_why_amtec_item h6 { font-size: 20px; font-weight: 700; }
	.course_why_amtec_item h6 + p { font-size: 15px; }
	
	.course_why_amtec_slider_box { padding: 10px 5px; margin-top: 15px; }
	.course_why_amtec_slider .slick-list { margin: 0; }
	.course_why_amtec_slide { margin: 0 5px; }
	
	.slick-dots { display: flex; justify-content: center; padding: 5px 0; }
	.slick-dots li { margin: 0 3px; cursor: pointer; }
	.slick-dots li button { width: 8px;height: 8px; background: var(--bg-d); font-size: 0; border: none; border-radius: 50%; }
	.slick-dots li.slick-active button { background: var(--bg-r); }
}

.others_courses_block { background: #6D7B95; padding: 60px 0; color: var(--w); }
.others_courses h4 { text-align: center; margin-bottom: 40px; }
.other_courses_slider .slick-list { margin: 0 50px; }
.other_courses_slider .slick-track { display: flex!important; justify-content: center; min-width: 100%; }
.other_courses_slider .slick-slide { height: auto!important; }
.other_course_slide { min-height: 270px!important; background: var(--bg-dg); overflow: hidden; border-radius: 12px; margin: 0 10px; position: relative; }
.other_course_slide > a { display: none; position: absolute; top: 0; left: 0; width: 100%; height: 100%; }
.other_course_slide > img { z-index: 2; width: 100%; min-height: 270px; height: 100%; object-fit: cover; }
.other_course_slide_body { position: absolute; z-index: 3; height: 100%; padding: 30px;
	display: flex; justify-content: space-between; flex-direction: column; align-items: flex-start; }
.other_course_slide_body h6 { max-width: 320px; }
.main_arrows .slick-prev,.main_arrows .slick-next { width: 40px; height: 40px; border-radius: 50%;
	background: transparent; font-size: 0; position: absolute; top: 0; bottom: 0; margin: auto; }


.white_arrows.main_arrows .slick-prev,.white_arrows.main_arrows .slick-next { border: 1px solid var(--w); }
.dark_arrows.main_arrows .slick-prev,.dark_arrows.main_arrows .slick-next { border: 1px solid var(--tm); }
.main_arrows .slick-prev { left: 0; }
.main_arrows .slick-next { right: 0; }
.main_arrows .slick-prev:before, .main_arrows .slick-next:before { content: ""; position: absolute;
	width: 12px; height: 24px; top: 0; bottom: 0; left: 0; right: 0; margin: auto; }
.main_arrows .slick-prev:before { background: url(img/arrow_prev_white.svg) no-repeat 50% 50% / contain; right: 3px; }
.main_arrows .slick-next:before { background: url(img/arrow_next_white.svg) no-repeat 50% 50% / contain; left: 3px; }
.main_arrows.dark_arrows .slick-prev:before { background: url(img/prev_arrow_dark.svg) no-repeat 50% 50% / 9px auto; right: 3px; }
.main_arrows.dark_arrows .slick-next:before { background: url(img/next_arrow_dark.svg) no-repeat 50% 50% / 9px auto; left: 3px; }

@media(max-width: 641px) {
	.others_courses_block { padding: 40px 0; }
	.others_courses h4 { margin-bottom: 25px; }
	.other_courses_slider { padding-bottom: 60px; }
	.other_courses_slider .slick-list { margin: 0; }
	.other_courses_slider .slick-next,.other_courses_slider .slick-prev { top: auto; bottom: 0; right: 0; left: 0; }
	.other_courses_slider .slick-next { left: 50px; }
	.other_courses_slider .slick-prev { left: -50px; }
	.other_course_slide { margin: 0; }
	.other_course_slide_body { padding: 20px; }
}

.course_trust_clinic_block { padding: 60px 0; }
.course_trust_clinic h4 { text-align: center; margin-bottom: 40px; }
.course_trust_clinic_list { display: flex; align-items: center; margin: auto;
	flex-wrap: wrap; gap: 40px; justify-content: space-around; max-width: 920px;  }
.course_trust_clinic_item { flex: 0 0 auto; max-width: 240px; }
.course_trust_clinic_list.xxl-size .course_trust_clinic_item { max-width: 340px; }

.course_register_block { padding: 60px 0; }
.course_register { padding: 40px 60px; background: var(--bg-d); border-radius: 12px; color: var(--w);
	margin: auto; max-width: 1040px; }
.course_register h4 { text-align: center; margin-bottom: 40px; }

.register_form { display: flex; flex-direction: column; gap: 16px; }
.register_fields { display: grid; column-gap: 16px; row-gap: 16px; grid-template-columns: 1fr 1fr 1fr 1fr; }
.col-2 { grid-column: span 2; }
.input {}
.input:placeholder-shown {  }
.input input,.input select,.input textarea { display: block; width: 100%; height: 34px; border: 1px solid transparent;
	padding: 0 16px; border-radius: 8px; background: var(--w); }
.input textarea { padding: 8px 16px; line-height: 18px; height: auto; resize: vertical; }
.input select {  }

.checkbox { font-size: 14px; position: relative; display: flex; align-items: center; gap: 6px; }
.checkbox input { position: absolute; z-index: -2; }
.checkbox i { width: 14px; height: 14px; display: block; flex: 0 0 auto; border: 1px solid var(--w); border-radius: 2px; }
.checkbox input:checked ~ i { border: transparent; background: var(--bg-r) url(img/check_icon.svg) no-repeat 50% 50% / 12px auto; }
.checkbox span { flex: 1 1 auto; }


.register_form_bottom { display: grid; gap: 16px; align-items: center; grid-template-columns: 1fr 1fr 1fr 1fr; }
.register_form_bottom .btn { }
.amtec_summary b { font-size: 20px!important; font-weight: 600; }
.amtec_submit_bar { display: flex!important; justify-content: space-between; }
.amtec_submit_bar button { min-width: 240px; }
.form_agrees { grid-column: span 3; display: flex; flex-direction: column; gap: 3px; }
@media(max-width: 641px) {
	.course_register_block { padding: 30px 0; }
	.course_register { padding: 20px 15px; }
	.register_fields { grid-template-columns: 1fr; }
	.register_fields > * { grid-column: span 1; }
	
	.register_form_bottom { grid-template-columns: 1fr;  }
	.form_agrees { grid-column: span 1; order: -1; gap: 6px; }
	.register_form_bottom .btn { padding: 0 20px; }
	.checkbox { font-size: 13px; }
	.checkbox i { width: 14px; height: 14px; }
	
	.amtec_submit_bar { flex-direction: column; align-items: flex-start; }
	.amtec_submit_bar button {  }
}

.page_intro_block { padding: 80px 0 60px; color: var(--w); display: flex; min-height: 330px; align-items: center; }
.page_intro_block .container { flex: 0 0 auto; }
.page_intro { max-width: 880px; display: flex; flex-direction: column; gap: 40px; }
.page_intro > p { line-height: 1.5; border-left: 3px solid var(--bg-r); padding-left: 15px; font-size: 16px; }
.page_intro h1 + h2 { margin-top: -30px; font-weight: 400; font-size: 32px; }

.courses_btn_group { max-width: 780px; }
.courses_btn_group .btn { width: calc(50% - 10px); }

@media(max-width: 641px) {
	.page_intro_block { min-height: auto; padding: 60px 0; }
	.page_intro { gap: 20px; }
	.page_intro h1 { font-size: 28px; }
	.page_intro h1 + h2 { margin-top: -17px; font-size: 22px; }
	
	.page_intro > p { font-size: 15px; }
	
	.page_intro .btn_group { margin-top: 40px; }
}

.categories_block { padding: 60px 0; }
.categories {  }
.categories h4 { text-align: center; margin-bottom: 40px; }
.categories > h4 + div:not(.categories_list ),.categories > p { text-align: center; font-size: 16px; max-width: 760px; margin: 0 auto 30px; }
.categories > h4 + div:not(.categories_list ) b,.categories > p b { font-weight: 600; }
.categories_list { display: flex; flex-wrap: wrap; justify-content: flex-start; }
.category_item { display: flex; flex-direction: column; justify-content: space-between;
	padding: 15px; background: #98AFDF; width: 25%; flex: 0 0 auto; min-height: 154px;
	position: relative; color: var(--w); font-size: 16px; }
.category_item_cover_img { background: var(--bg-d);
	position: absolute; top: 0; left: 0; width: 100%; height: 100%; z-index: 1; }
.category_item_cover_img img { position: absolute; top: 0; left: 0;
	width: 100%; height: 100%; object-fit: cover; }
.category_item_cover_img:before { position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: rgba(61,79,115,.5); }
.category_item > p { max-width: 240px; position: relative; z-index: 2; }
.category_item > a { position: absolute; top: 0; left: 0; width: 100%; height: 100%; z-index: 3; }
.category_item_icon { position: relative; z-index: 2; align-self: flex-end; margin-bottom: 10px; width: 40px; height: 40px; }
.category_item_icon:empty { height: 0; }

/* Признак кликабельности плиток (стрелка в покое + подъём/полоса при наведении) */
.category_item { transition: transform .25s ease, box-shadow .25s ease; cursor: pointer; }
.category_item > p { padding-right: 34px; }
.category_item > a::after { content: "→"; position: absolute; right: 16px; bottom: 14px; width: 30px; height: 30px;
	border-radius: 50%; display: flex; align-items: center; justify-content: center; background: rgba(255, 255, 255, .16);
	color: #fff; font-size: 16px; line-height: 1; opacity: .55; transform: translateX(-4px); transition: all .25s ease; z-index: 4; }
.category_item > a::before { content: ""; position: absolute; left: 0; bottom: 0; height: 4px; width: 100%;
	background: var(--bg-r); transform: scaleX(0); transform-origin: left; transition: transform .3s ease; z-index: 4; }
.category_item:hover { transform: translateY(-5px); box-shadow: 0 16px 34px rgba(20, 56, 147, .25); }
.category_item:hover > a::after { opacity: 1; background: var(--bg-r); transform: translateX(0); }
.category_item:hover > a::before { transform: scaleX(1); }
.category_item > a:focus-visible { outline: 3px solid var(--bg-r); outline-offset: -3px; }
@media (prefers-reduced-motion: reduce) {
	.category_item, .category_item > a::after, .category_item > a::before { transition: none; }
}
.categories_list:not(.sub_categories,.internship_list) .category_item { aspect-ratio: 257 / 100; }
.categories_list:not(.sub_categories,.internship_list) .category_item p { font-size: 18px; }
/*.categories_list:not(.sub_categories,.internship_list) .category_item:nth-child(1) { aspect-ratio: auto; width: 50%; background: var(--bg-d); }*/
.categories_list:not(.sub_categories,.internship_list) .category_item:nth-child(1),
.categories_list:not(.sub_categories,.internship_list) .category_item:nth-child(8) { background: var(--bg-d) !important; }
.categories_list:not(.sub_categories,.internship_list) .category_item:nth-child(4) { background: #3D4F73; }
.categories_list:not(.sub_categories,.internship_list) .category_item:nth-child(3n+2),
.categories_list:not(.sub_categories,.internship_list) .category_item:nth-child(5n+2){
	background: #7289B9;
}
.categories_list:not(.sub_categories,.internship_list) .category_item:nth-child(3n+3){
	background: #98AFDF;
}
.categories_list.internship_list .category_item { width: 20%;  aspect-ratio: 206 / 197; }

.categories_list.sub_categories .category_item { position: relative; z-index: 1; }
.categories_list.sub_categories .category_item:hover { }

.categories_list.sub_categories .category_item:nth-child(5n+1),
.categories_list.sub_categories .category_item:nth-child(7n+3),
.categories_list.sub_categories .category_item:nth-child(4n+11){
	background: #7289B9;
}
.categories_list.sub_categories .category_item:nth-child(14) { background: #7289B9!important; }
.categories_list.sub_categories .category_item:nth-child(7n+2),
.categories_list.sub_categories .category_item:nth-child(6n+5){
	background: #98AFDF;
}
.categories_list.sub_categories .category_item:nth-child(9n+4),
.categories_list.sub_categories .category_item:nth-child(8),
.categories_list.sub_categories .category_item:nth-child(6n+7) {
	background: #4E6186;
}
.categories_list.sub_categories .category_item:nth-child(5n+7) { width: 50%; }
.categories_list.sub_categories .category_item:nth-child(5n+7){
	/*width: 50%;*/
	background: #3D4F73;
}
.categories_list.sub_categories .category_item:nth-child(5n+7) p { max-width: 450px; }

.courses_schedule_block { padding: 60px 0; }
.courses_schedule {  }
.courses_schedule h4 { margin-bottom: 40px; text-align: center; }
.courses_schedule_group { margin: 0 auto; max-width: 960px; }
.courses_schedule_group + .courses_schedule_group { margin-top: 40px; }
.courses_schedule_group h5 { color: var(--tr); font-size: 28px; font-weight: 700; margin-bottom: 14px; }
.courses_schedule_group h6 { height: 60px; border-radius: 12px; display: flex; align-items: center; justify-content: center;
	background: var(--bg-s); margin-bottom: 10px; }
.courses_schedule_list + h6 { margin-top: 30px; }
.courses_schedule_item { padding: 10px 0; display: flex; align-items: center; justify-content: space-between;
	border-bottom: 2px dotted var(--bg-d2); font-size: 16px; font-weight: 600; }
.courses_schedule_date { flex: 0 0 auto; width: 120px; color: var(--tr);  }
.courses_schedule_name { flex: 1 1 auto; padding: 0 20px; }
.courses_schedule_status { flex: 0 0 auto; width: 160px; display: flex; justify-content: center; }
.courses_schedule_status p { font-size: 14px; text-transform: uppercase; letter-spacing: -.04em; }
.courses_schedule_status .btn { }
.courses_schedule_list .courses_schedule_item:last-child { border-bottom: none; }

@media(max-width: 768px) {
	.categories_list .category_item { width: calc(100% / 2); }
}

@media(max-width: 641px) {
	.categories_block { padding: 40px 0; }
	.categories h4 { margin-bottom: 20px; text-align: left; }
	.category_item { width: 50%; flex: 1 1 auto; font-size: 14px; }
	.categories_list:not(.sub_categories, .internship_list) .category_item { aspect-ratio: 2 / 1; }
	
	
	.courses_schedule_block { padding: 30px 0; }
	.courses_schedule h4 { margin-bottom: 20px; text-align: left; }
	.courses_schedule_list + h6 { margin-top: 20px; }
	.courses_schedule_group h6 { height: 44px; }
	.courses_schedule_item { flex-direction: column; align-items: flex-start; padding: 15px 0; }
	.courses_schedule_name { padding: 8px 0; }
	.courses_schedule_status { width: auto; justify-content: flex-start; }
	
	
	.categories > h4 + div:not(.categories_list ),.categories > p { text-align: left; font-size: 15px; margin-bottom: 20px; }
	.categories_list.internship_list { margin: 0 -15px; padding: 15px; gap: 15px; flex-wrap: nowrap; overflow: auto; }
	.categories_list.internship_list .category_item  { width: 220px; }
	
	.categories_list:not(.sub_categories, .internship_list) .category_item p { font-size: 16px; }
}
@media(max-width: 374px) {
	.categories_list:not(.sub_categories, .internship_list) .category_item p { font-size: 16px; }
	.categories_list .category_item { width: 100%; font-size: 15px; }
}
.projects_block { padding: 60px 0; }
.projects_nav { display: flex; justify-content: flex-start; gap: 15px; padding-bottom: 10px; overflow: auto; }
.projects_nav > a { background: var(--bg-s); height: 44px; padding: 0 16px; border-radius: 8px;
	display: inline-flex; align-items: center; font-size: 18px; font-weight: 700; transition: .4s; }
.projects_nav > a:not(.active):hover { background: var(--bg-d2); color: var(--w); }
.projects_nav > a.active { background: var(--bg-r); color: var(--w); }

.projects_box { margin-top: 40px; }
.projects_box > h4 { text-align: center; margin-bottom: 40px; }
.projects_box + .projects_box { margin-top: 80px; }
.projects_list { display: flex; gap: 15px; flex-wrap: wrap; }
/*.page_101 .project_item:not(.active) { filter: grayscale(1); }*/
.project_item { flex: 0 0 auto; width: calc(50% - 15px / 2); position: relative;
	border-radius: 12px; background: var(--bg-s); padding: 15px; min-height: 300px; }
/* Блок «Для медицинских специалистов» — по 3 карточки в ряд (иначе слишком крупные).
   На планшете — 2 в ряд, на телефоне — 1 (перекрывает базовые правила по специфичности). */
.projects_list.page_101 .project_item { width: calc((100% - 30px) / 3); }
@media (max-width: 1024px) { .projects_list.page_101 .project_item { width: calc((100% - 15px) / 2); } }
@media (max-width: 641px)  { .projects_list.page_101 .project_item { width: 100%; } }
.project_info { position: relative; z-index: 3; height: 100%; padding: 5px 0; max-width: 70%;
	display: flex; flex-direction: column; justify-content: space-between; align-items: flex-start;  }
.project_item > a { position: absolute; top: 0; left: 0; width: 100%; height: 100%; z-index: 4; }
.project_img_cover { border-radius: 10px; z-index: 1; overflow: hidden;
	position: absolute; right: 5px; top: 10px; height: calc(100% - 20px); width: calc(55% + 20px); }
.project_img_cover img { display: block; position: absolute; clip-path: url(#customClip);
	top: 0; left: 0; width: 100%; height: 100%; object-fit: cover;	}


.project_item.has_bg { aspect-ratio: 806 / 526; min-height: 0; padding: 0; align-self: flex-start; }
.project_item.has_bg .project_img_cover { position: absolute; inset: 0; right: auto; top: auto;
	width: 100%; height: 100%; border-radius: 12px; }
.project_item.has_bg .project_img_cover img { clip-path: none; object-fit: contain; }
.project_info--seo { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px;
	overflow: hidden; clip: rect(0 0 0 0); clip-path: inset(50%); white-space: nowrap; border: 0; }

.conf_list .project_item:not(.active) { opacity: .4; transition: opacity .35s ease; }
.conf_list .project_item:not(.active):hover { opacity: 1; }


/*.project_img_cover:before { display: none; content: ""; position: absolute; z-index: 2; top: 0; left: 0;*/
/*	background: var(--bg-s); height: 100%; width: 100%; transform: translateX(-76.5%) skewX(-30deg); }*/

.project_title { padding: 15px; background: rgba(114,137,186,.82);
	color: var(--w); border-radius: 10px;  }
.project_title > h6 { font-size: 16px; font-weight: 600; line-height: 1.15; }
.project_title > h6 span { font-size: 22px; font-weight: 700; line-height: 1.1; display: block; margin-top: 6px; }
.project_title > h6 span:first-child { margin-top: 0; margin-bottom: 6px; }
.project_title > h6 br { display: none; }
.project_title > h6 + p { margin-top: 10px; }
.project_title > p:empty { display: none; }
.project_title > p { line-height: 1.2; max-width: calc(100% - 30px); font-size: 15px; font-style: italic; }
.project_sub_info { max-width: 220px; line-height: 1.2; margin-top: 30px; font-size: 15px; font-weight: 600; display: flex; flex-direction: column; padding: 10px 10px 0; }
.project_dates { position: relative; padding-left: 22px; display: flex; flex-direction: column; }
.project_dates:before,.project_place:before { position: absolute; top: 3px; left: 0;
	content: ""; width: 16px; height: 16px; background: url(img/conf_date_icon.svg) no-repeat 50% 50% / contain; }
.project_dates span + span { margin-top: 4px; }
.project_place { position: relative; padding-left: 22px; margin-top: 10px; }
.project_place:before { background: url(img/conf_place_icon.svg) no-repeat 50% 50% / contain; }

@media(max-width: 641px) {
	
	.projects_nav { margin: 0 -16px; padding: 0 16px 10px; }
	.projects_box { margin-top: 30px; }
	.projects_box + .projects_box { margin-top: 50px; }
	.project_item { width: 100%; }
	.project_info { max-width: 100%; }
	.project_title > h6 { font-size: 15px; line-height: 1.2; }
	.project_title > h6 span { font-size: 18px; }
}

.internship_block { padding: 60px 0; }
.internship { display: flex; justify-content: center; }
.internship_figures { overflow: hidden; margin: auto; max-width: 940px; display: flex;
	/*box-shadow: 0 4px 12px rgba(35, 51, 87, 0.1);*/
	background-image: linear-gradient(to bottom, #d2dffb, #d6e2fb, #d9e4fb, #dde7fa, #eff3fd); border-radius: 12px; }
.internship_figures.v1 .internship_figures_text { padding: 40px; }
.internship_figures.v1 .internship_figures_icon { width: 260px; margin-right: -40px; flex: 0 0 auto; position: relative; }
.internship_figures.v1 .internship_figures_icon img {  width: 100%; height: 100%; object-fit: contain;
	position: relative; bottom: -40px; left: -30px;}
.internship_figures.v1 .internship_figures_text p { line-height: 1.2; word-spacing: 8px; letter-spacing: -.04em; font-size: 32px; font-weight: 600; }
.internship_figures.v1 .internship_figures_text p span { text-align: right; font-weight: 300; min-width: 12ch; display: inline-block; }
.internship_figures.v1 .internship_figures_text p b { font-size: 44px; font-weight: 800; color: var(--tr); }

.internship_steps_block { padding: 60px 0; }
.internship_steps_box {  }
.internship_steps_box h4 { margin: 0 auto 40px; max-width: 640px; text-align: center; }
.internship_steps { display: flex; justify-content: center; flex-wrap: wrap; row-gap: 15px; column-gap: 15px; }
.internship_step { overflow: hidden; border-radius: 12px; width: calc(25% - 45px / 4); flex: 0 0 auto;
	display: flex; align-items: center; background: #7990BE; padding-right: 10px; color: var(--w); font-size: 16px;
	transition: transform .3s ease, box-shadow .3s ease; }
.internship_step:hover { transform: translateY(-6px); box-shadow: 0 16px 38px rgba(20, 56, 147, 0.24); }
.internship_step:before { content: attr(data-step); font-size: 132px; line-height: 1;
	font-weight: 800; color: #97ABD9; flex: 0 0 auto; width: 100px; text-align: center;
	margin-right: 10px; margin-left: -20px; }
@media(max-width: 641px) {
	.internship_steps_block { padding: 30px 0; }
	.internship_steps_box h4 { margin-bottom: 25px; }
	.internship_step { width: 100%; }
	.internship_figures.v1 { position: relative; }
	.internship_figures.v1 .internship_figures_icon { opacity: .4; user-select: none; position: absolute; right: 0; bottom: 0; }
	
	.internship_block { padding: 30px 0; }
	.internship_figures.v1 .internship_figures_text { position: relative; z-index: 3; padding: 25px; }
	.internship_figures.v1 .internship_figures_text p {  letter-spacing: -.02em; font-size: 24px; font-weight: 600; }
	.internship_figures.v1 .internship_figures_text p + p { margin-top: 10px; }
	.internship_figures.v1 .internship_figures_text p span { font-weight: 600; min-width: auto; display: inline-block; }
	.internship_figures.v1 .internship_figures_text p b { font-size: 32px; font-weight: 700;}
	
}
.group_internship_block { padding: 60px 0; }
.group_internship h4 { text-align: center; margin-bottom: 40px; }
.group_internship_list { max-width: 1060px; margin: auto; display: flex; flex-wrap: wrap; gap: 20px; }
.group_internship_item { width: calc(50% - 10px); flex: 0 0 auto; border-radius: 12px; overflow: hidden;
	position: relative; background: var(--bg-s); min-height: 280px; aspect-ratio: 468 / 270;
	display: flex; flex-direction: column; justify-content: space-between; padding: 25px;
	transition: transform .3s ease, box-shadow .3s ease; }
.group_internship_item:hover { transform: translateY(-6px); box-shadow: 0 20px 44px rgba(20, 56, 147, 0.22); }
.group_internship_item_cover { position: absolute; top: 0; left: 0; right: 0; bottom: 0; margin: auto;
	width: calc(100% - 26px); height: calc(100% - 26px); border-radius: 8px; background: var(--bg-d);
	overflow: hidden; user-select: none; }
.group_internship_item_cover img { width: 100%; height: 100%; object-fit: cover; }
.group_internship_title { display: flex; justify-content: space-between; background: var(--w);
	position: relative; z-index: 3; border-radius: 8px; overflow: hidden; }
.group_internship_title_text { padding: 10px; color: var(--w); position: relative; flex: 1 1 auto; }
.group_internship_title_text > * {  position: relative; z-index: 3; }
.group_internship_title_text:after { content: ""; height: calc(100% + 2px); width: calc(100% + 60px); transform: skewX(-20deg);
	position: absolute; top: -1px; right: 0; left: -60px; background:  var(--bg-d2); border-radius: 0 10px 10px 0; }
.group_internship_title_text h5 { font-size: 16px; text-transform: uppercase; font-weight: 600; }
.group_internship_title_text p { font-size: 14px; min-height: 3lh; margin-top: 6px; }
.group_internship_title_icon { background: var(--w); width: 130px; flex: 0 0 auto;
	display: flex; align-items: center; justify-content: center; }
.group_internship_dates { position: relative; z-index: 3; color: var(--w); text-shadow: 0 0 4px #666;
	display: flex; align-items: center; font-size: 14px; font-weight: 600; text-transform: uppercase; }
.group_internship_dates:before { background: url(img/calendar_icon_2.svg) no-repeat 50% 50% / contain;
	content: ""; width: 24px; height: 24px; flex: 0 0 auto; margin-top: -2px; margin-right: 8px; }
@media(max-width: 641px) {
	.group_internship_block { padding: 30px 0; }
	.group_internship h4 { margin-bottom: 25px; }
	.group_internship_item { width: 100%; }
	
}
.about_internship_block { padding: 60px 0; }
.about_internship_list { display: flex; justify-content: center; flex-wrap: wrap; gap: 10px; }
.about_internship_item { display: flex; flex-direction: column; flex: 0 0 auto; width: calc(100% / 3 - 10px);
	background: var(--bg-s); padding:  20px 25px; border-radius: 12px; transition: transform .3s ease, box-shadow .3s ease; }
.about_internship_item:hover { transform: translateY(-6px); box-shadow: 0 18px 40px rgba(20, 56, 147, 0.16); }
.about_internship_item_icon { flex: 0 0 auto; align-self: flex-end; margin-bottom: -20px;
	width: 50px; height: 50px; padding: 4px; background: var(--w); border-radius: 50%; }
.about_internship_item h5 { font-size: 20px; font-weight: 700; line-height: 1.2; }
.about_internship_item p { font-size: 15px; margin-top: 12px; line-height: 1.5; }
.about_internship_item p b { font-weight: 600; }
.about_internship_item ul { font-size: 15px; margin-top: 12px; line-height: 1.5; }
.about_internship_item ul li { position: relative; padding-left: 20px; }
.about_internship_item ul li + li { margin-top: 6px; }
.about_internship_item ul li:before { content: ""; position: absolute; top: 7px; left: 4px; width: 6px; height: 6px; background: var(--bg-r); border-radius: 50%; }

@media(max-width: 641px) {
	.about_internship_block { padding: 30px 0; }
	.about_internship_item { width: 100%; padding: 15px; }
	.about_internship_item_icon { margin-bottom: -30px; }
	.about_internship_item h5 { font-size: 18px; max-width: 320px; }
	.about_internship_item ul li:before { top: 8px; }
}

.page_9 .amtec_field:nth-child(8) .amtec_lbl { white-space: nowrap; }

.amtec_intro_block { padding: 80px 0; background: var(--bg-d); color: var(--w); }
.amtec_intro { position: relative; }
.amtec_intro_cover { position: absolute; right: 0; top: -30px; height: calc(100% - 10px); width: calc(50% + 40px); border-radius: 12px; overflow: hidden; }
.amtec_intro_cover img { width: 100%; height: 100%; object-fit: cover; }
.amtec_intro_main { position: relative; z-index: 3; width: 50%; }
.amtec_intro_main h1 { line-height: 1.25; font-weight: 400; font-size: 32px; text-transform: none; }
.amtec_intro_main h1 span { margin-top: 10px; font-size: 52px; text-transform: uppercase;
	color: var(--tr); font-weight: 800; display: block; }
.amtec_intro_box { display: grid; margin-top: 40px; gap: 20px; grid-template-columns: 1fr 1fr;
	grid-template-areas:
        "a c"
        "b c"; }
.amtec_intro_item { border-radius: 12px; overflow: hidden; position: relative; }
.amtec_intro_box .amtec_intro_item:nth-child(1) { color: var(--tm); background: #C3D5FF; grid-area: a; }
.amtec_intro_box .amtec_intro_item:nth-child(2) { background: #90A3C8; grid-area: b; }
.amtec_intro_box .amtec_intro_item:nth-child(3) { background: #7990BE; grid-area: c; }
.amtec_intro_item_icon { user-select: none; position: absolute; top: 10px; right: 10px; z-index: 3; width: 34px; height: 34px;
	display: flex; align-items: center; justify-content: center; }
.amtec_intro_item_img { user-select: none; }
.amtec_intro_item_img img { width: 100%; height: auto; }
.amtec_intro_item_icon img { object-fit: contain; }
.amtec_intro_item_text { padding: 15px; font-size: 15px; }
.amtec_intro_item_icon + .amtec_intro_item_text { padding-top: 45px; }
@media(max-width: 641px) {
	.amtec_intro_block { padding: 40px 0; }
	.amtec_intro_cover { display: none; }
	.amtec_intro_main { width: 100%; }
	.amtec_intro_main h1 { font-size: 24px; }
	.amtec_intro_main h1 span { font-size: 42px; }
	.amtec_intro_box { grid-template-columns: 1fr; grid-template-areas: "a" "b" "c"; }
	.amtec_intro_item:nth-child(1),.amtec_intro_item:nth-child(2) { padding-top: 40px; }
	.amtec_intro_item_icon { right: auto; left: 15px; }
}

.our_laboratories_block { padding: 60px 0; }
.our_laboratories h4 { text-align: center; margin-bottom: 40px; }
.our_laboratories_list { max-width: 1000px; margin: auto; row-gap: 20px; column-gap: 40px;
	background-image: linear-gradient(to bottom, #d2dffb, #d6e2fb, #d9e4fb, #dde7fa, #eff3fd);
	display: flex; justify-content: center; flex-wrap: wrap; padding: 30px 60px; border-radius: 12px; }
.our_laboratory_item { max-width: 240px; width: calc(100% / 3 - 40px); flex: 0 0 auto; display: flex; align-items: center;  }
.our_laboratory_icon { flex: 0 0 auto; width: 80px; height: 80px; margin-right: 20px; display: flex; align-items: center; justify-content: center; }
.our_laboratory_icon img { object-fit: contain; }
.our_laboratory_item p { font-size: 20px; }
@media(max-width: 641px) {
	.our_laboratories_block { padding: 30px 0; }
	.our_laboratories {  }
	.our_laboratories h4 { margin-bottom: 25px; }
	.our_laboratories_list { padding: 20px; row-gap: 15px; column-gap: 15px; }
	.our_laboratory_item { width: calc(50% - 15px / 2); }
	.our_laboratory_icon { margin-right: 10px; width: 50px; height: 50px; }
	.our_laboratory_item p { font-size: 16px; }
}

.director_block { padding: 60px 0; }
.director { margin: auto; color: var(--w); background: var(--bg-d2);
	border-radius: 20px; padding: 60px; position: relative; overflow: hidden; }
.director:after { content: ""; width: 55%; height: 100%; position: absolute; right: -60px; bottom: -40px;
	background: url(img/zilant.svg) no-repeat 100% 100% / contain;  }
.director:before { content: ""; right: 40px; top: 40px; width: 76px; height: 56px;
	position: absolute; background: url(img/quote_icon.svg) no-repeat 50% 50% / contain; }

.director_photo { position: absolute; right: 0; bottom: 0; height: 100%; z-index: 2; display: flex; align-items: flex-end; justify-content: flex-end; }
.director_photo:before { content: ""; }
.director_text { max-width: 600px; }
.director_text h5 { font-size: 20px; font-weight: 700; text-transform: uppercase; }
.director_text h5 + p { margin-top: 40px; }
.director_text > p { font-size: 16px; }
.director_text > p + p { margin-top: 16px; }
.director_text_footer { margin-top: 60px; display: flex; align-items: center; justify-content: space-between; }
.director_text_footer p { font-size: 16px; }
.director_text_footer > img {  }
.director_text_footer > b { font-size: 16px; font-weight: 700; }
@media(max-width: 641px) {
	.director { padding: 20px; }
	.director:after { width: 100%; }
	.director:before { width: 36px; height: 30px; top: 18px; left: 18px; }
	.director_text h5 { padding-left: 50px; }
	.director_text h5 + p { margin-top: 25px; }
	.director_text > p  { font-size: 15px; }
	.director_text > p + p { margin-top: 12px; }
	
	.director_photo { display: none; }
	.director_text_footer { flex-direction: column; align-items: flex-start; }
	.director_text_footer > b { align-self: flex-end; }
	.director_text_footer > img { align-self: center; }
}

.our_licenses_block { padding: 60px 0; }
.our_licenses {  }
.our_licenses h4 { margin-bottom: 40px; text-align: center; }
.our_license_slider { max-width: 960px; margin: auto; }
.our_license_slide { overflow: hidden; border-radius: 12px; position: relative; margin: 0 10px; }
.our_license_slide:before { content: ""; padding-top: 142.22%; display: block; width: 100%; }
.our_license_slide a { z-index: 2; position: absolute; top: 0; left: 0; width: 100%; height: 100%; }
.our_license_slide img { position: absolute; top: 0; left: 0; width: 100%; height: 100%; object-fit: cover; }
.our_license_slider .slick-list { margin: 0 50px; }
.helpful_block { background: var(--bg-dg); padding: 60px 0; }
.helpful h4 { text-align: center; margin-bottom: 40px; }
.helpful_list { display: flex; justify-content: center; flex-wrap: wrap; gap: 30px; margin: auto; }
.helpful_item { text-align: center; width: calc(100% / 3 - 20px); border-radius: 12px; background: var(--bg-s); padding: 15px;
	transition: transform .3s ease, box-shadow .3s ease; }
.helpful_item:hover { transform: translateY(-6px); box-shadow: 0 18px 40px rgba(20, 56, 147, 0.16); }
/* Появление снизу при скролле — универсальные классы (навешивает app.js) */
.reveal-init { opacity: 0; transform: translateY(40px); transition: opacity .6s ease, transform .6s ease; }
.reveal-in { opacity: 1; transform: translateY(0); }
@media (prefers-reduced-motion: reduce) {
	.reveal-init { opacity: 1; transform: none; transition: none; }
}
.helpful_item_icon { display: flex; justify-content: center; align-items: center; height: 110px; margin-bottom: 10px; }
.helpful_item_icon img { max-width: 100%; max-height: 100%; object-fit: contain; }
.helpful_item h6 { font-size: 16px; margin: auto; font-weight: 700; max-width: 320px; }
.helpful_item p { font-size: 14px; margin: 8px auto 0; max-width: 320px; padding-bottom: 5px; }
@media(max-width: 641px) {
	.helpful_block { padding: 40px 0; }
	.helpful h4 { margin-bottom: 25px; }
	.helpful_list { gap: 15px; }
	.helpful_item { width: 100%; }
	
	.helpful_item_icon { height: 100px; }
	.helpful_item p { font-size: 15px; }
	
}
.our_resources_block { padding: 60px 0; }
.our_resources { margin: auto; max-width: 1040px; }
.our_resources h4 { margin-bottom: 40px; text-align: center; }
/* Карточная сетка ресурсов */
.our_resources_list { display: grid; grid-template-columns: repeat(2, 1fr); gap: 24px; align-items: start; }
.our_resources_group { background: #fff; border: 1px solid var(--bdc1, #D0D7E7); border-radius: 16px;
	padding: 26px 28px; box-shadow: var(--box-shadow, 0 14px 34px rgba(20, 56, 147, .08)); }
.our_resources_group_title { position: relative; padding: 0 0 14px 18px; margin-bottom: 16px;
	font-size: 18px; font-weight: 700; color: var(--tm, #0b1b44); border-bottom: 1px solid var(--bg-s, #ECF0F9); }
.our_resources_group_title:before { content: ""; position: absolute; left: 0; top: 3px; width: 5px; height: 20px;
	border-radius: 3px; background: var(--gradient-pink); }
.our_resources_group_body { padding: 0; }
.our_resources_group_body p { font-size: 16px; position: relative; padding-left: 20px; line-height: 1.45; }
.our_resources_group_body p:before { content: ""; width: 6px; height: 6px; background: var(--bg-r, #FF005E);
	border-radius: 50%; position: absolute; top: 8px; left: 4px; }
.our_resources_group_body p + p { margin-top: 8px; }

@media(max-width: 641px) {
	.our_resources_block { padding: 40px 0; }
	.our_resources h4 { margin-bottom: 25px; }
	.our_resources_list { grid-template-columns: 1fr; gap: 16px; }
	.our_resources_group { padding: 20px 18px; border-radius: 14px; }
	.our_resources_group_title { font-size: 16px; padding-bottom: 12px; margin-bottom: 12px; }
	.our_resources_group_body p { font-size: 15px; }
}

.offsite_events_block { padding: 60px 0; }
.offsite_events_box h4 { margin: 0 auto 40px; max-width: 640px; text-align: center; }
.offsite_events { display: flex; align-items: flex-start; max-width: 1000px; margin: auto; }
.offsite_events_main { z-index: 2; flex: 0 0 auto; width: 336px; background: var(--bg-s);
	position: relative; border-radius: 12px; padding: 36px 26px 20px; margin-top: 30px; font-weight: 400; font-size: 16px; line-height: 1.35; }
.offsite_events_main:before { content: ""; width: 20px; height: 20px; position: absolute; top: 10px; right: 10px;
	background: url(img/offsite_events_icon_1.svg) no-repeat 50% 50% / contain;}
.offsite_events_main b,.offsite_events_main strong { font-weight: 600; }
.offsite_events_text { font-weight: 400; flex: 1 1 auto; margin-left: -145px; padding: 30px 30px 30px 165px; background: var(--bg-d2);
	position: relative; border-radius: 12px; color: var(--w); box-shadow: var(--box-shadow-dark); }
.offsite_events_text:before { content: ""; width: 30px; height: 30px; position: absolute; top: 12px; right: 12px;
	background: url(img/offsite_events_icon_2.svg) no-repeat 50% 50% / contain;}
.offsite_events_text h6 { font-size: 18px; }
.offsite_events_text h6 + p { margin-top: 16px; }
.offsite_events_text p + p { margin-top: 4px; }
.offsite_events_text p { font-size: 16px; position: relative; padding-left: 20px; }
.offsite_events_text p:before { content: ""; width: 4px; height: 4px; border-radius: 50%; background: var(--w);
	position: absolute; top: 9px; left: 4px;  }

@media(max-width: 641px) {
	.offsite_events_block { padding: 40px 0; }
	.offsite_events_box h4 { margin-bottom: 25px; }
	.offsite_events { flex-direction: column; }
	.offsite_events_main { padding: 15px; margin-top: 0; width: 100%; }
	.offsite_events_text { margin-left: 0; padding: 15px; margin-top: 15px; }
	.offsite_events_text h6 { font-size: 18px; }
	.offsite_events_text p { font-size: 15px; }
	.offsite_events_text p + p { margin-top: 10px; }
}


.our_places_block { padding: 20px 0; }
.our_places { max-width: 1000px; margin: auto; }
.our_places h4 { margin-bottom: 40px; text-align: center; }
.our_places_slider { border-radius: 12px; overflow: hidden; }
.our_places_slider {  }
.our_places_slider .slick-track { display: flex!important; }
.our_places_slider .slick-prev,.our_places_slider .slick-next { top: auto; left: auto; bottom: 20px; z-index: 3; }
/*.our_places_slider .slick-prev,.our_places_slider .slick-next { background: red; border: none;*/
/*	font-size: 0; position: absolute; bottom: 20px; width: 42px; height: 20px; z-index: 3; filter: brightness(0) invert(1); }*/
/*.our_places_slider .slick-prev:before,.our_places_slider .slick-next:before { content: ""; }*/
/*.our_places_slider .slick-prev { right: 80px; background: url(img/prev_arrow_v2.svg) no-repeat 50% 50% / contain; }*/
/*.our_places_slider .slick-next { right: 20px; background: url(img/next_arrow_v2.svg) no-repeat 50% 50% / contain; }*/
.our_places_slider .slick-prev { right: 72px; }
.our_places_slider .slick-next { right: 20px; }
.our_place_slide { position: relative; height: auto!important; display: flex!important; flex-direction: column; }
.our_place_photo {}
.our_place_photo img { aspect-ratio: 16 / 9; object-fit: cover; }
.our_place_info { position: absolute; bottom: 0; left: 0; padding: 20px 140px 20px 20px; backdrop-filter: opacity(.5);
	/*background: var(--bg-d2); */
	background: rgba(87,105,139,.82);
	color: var(--w); width: 100%; }
.our_place_info > b { display: block; margin-top: 5px; font-size: 16px; font-weight: 600; }
.our_place_info p { max-width: 520px; margin-top: 15px; font-size: 15px; line-height: 1.5; }
@media(max-width: 641px) {
	.our_places_block {  }
	.our_places h4 { margin-bottom: 25px; }
	.our_place_info { flex: 1 1 auto; position: relative; padding: 15px 15px 72px 15px; }
	.our_place_info p { margin-top: 10px; font-size: 14px; line-height: 1.4; }
	/*.our_places_slider .slick-next { bottom: 15px; right: 15px; }*/
	/*.our_places_slider .slick-prev { right: 15px; bottom: 45px; }*/
	
	.our_resources_block + .our_places_block { padding-top: 0; }
}


.portfolio_block { padding: 60px 0; }
.portfolio { text-align: center; }
.portfolio h4 {  }
.portfolio h4 + p { margin-top: 20px; }
.portfolio > p { font-size: 16px; margin: auto; max-width: 600px; }
.portfolio > p b { display: block; font-weight: 700; }
.portfolio_list { display: flex; flex-wrap: wrap; justify-content: center; gap: 20px; margin-top: 40px; }
.portfolio_item { max-width: 280px; }
.portfolio_item img { transition: transform .3s ease; }
.portfolio_item:hover img { transform: scale(1.04); }

.contacts_block { background: var(--bg-s); display: flex; padding: 120px 0 60px; position: relative; }
.contacts_block > .container { flex: 0 0 auto; }
.contacts_block:before,.contacts_block:after { content: ""; flex: 1 1 auto; background: var(--bg-d); }
.contacts_block:before { border-radius: 0 12px 12px 0; }
.contacts_block:after { border-radius: 12px 0 0 12px; }
.contacts h4 { position: absolute; left: 0; right: 0; text-align: center; top: 40px; }
.contacts_box { display: flex; gap: 15px; }
.contacts_info_column { display: flex; flex-direction: column; gap: 15px; flex: 0 0 auto; width: 360px; }
.contacts_map { max-height: 300px; position: relative; flex: 1 1 auto; border-radius: 12px; overflow: hidden; min-height: 400px; }
.contacts_map img { height: 100%; width: 100%; object-fit: cover; position: absolute; }
.contacts_map p { display: flex; align-items: center; padding: 0 14px;
	background: rgba(255,255,255,.4); backdrop-filter: blur(5px);
	position: absolute;	bottom: 20px; left: 20px; border-radius: 20px; height: 40px; }
.contacts_info { flex: 1 1 auto; padding: 25px 30px 30px; border-radius: 12px; position: relative;
	background: var(--bg-r); color: var(--w); }
.contacts_info h6 { font-weight: 600; font-size: 16px; margin-bottom: 12px; }
.contacts_info:nth-child(2) { background: var(--bg-d); }
.contacts_info:after { content: ""; position: absolute; right: 15px; bottom: 15px;
	width: 30px; height: 30px; background: url(img/con_icon_1.svg) no-repeat 50% 50% / contain; }
.contacts_info:nth-child(2):after {  background: url(img/con_icon_2.svg) no-repeat 50% 50% / contain;  }
.phones_list,
.emails_list { font-size: 15px; position: relative; padding-left: 30px; display: flex; align-items: flex-start; flex-direction: column; }
.phones_list:before,
.emails_list:before { content: ""; width: 20px; height: 20px; position: absolute; top: 2px; left: 0; }
.phones_list:before { background: url(img/phone_icon.svg) no-repeat 50% 50%; }
.emails_list:before { background: url(img/email_icon.svg) no-repeat 50% 50%; }
.phones_list + .emails_list { margin-top: 20px; }
.phones_list > * + *,
.emails_list > * + * { margin-top: 6px; }

@media(max-width: 641px) {
	.contacts_block { padding: 100px 0 30px; }
	.contacts h4 { top: 50px; }
	.contacts_box { flex-direction: column-reverse; }
	.contacts_info_column { width: 100%; }
	.contacts_info { padding: 15px 15px 20px; }
	.contacts_map { min-height: 240px; }
	.contacts_map p { left: 10px; bottom: 10px; height: 44px; right: 10px; }
	.phones_list + .emails_list { margin-top: 15px; }
}

footer { padding: 40px 0; border-bottom: 6px solid var(--bg-d); background: var(--bg-dg); }
.footer { display: grid; grid-template-columns: 1fr 1fr; column-gap: 40px; row-gap: 20px; }
.f_info { display: flex; justify-content: space-between; align-items: center; }
.f_info_payment img { max-width: 200px; }
.footer p { font-size: 12px; font-weight: 400; }
.footer p a { text-decoration: underline; color: var(--bg-r); }
.footer p b { display: block; font-weight: 600; }
@media(max-width: 641px) {
	.footer { grid-template-columns: auto; }
	
	.footer_item_wrapper {  }
	.footer_item_wrapper:nth-child(1) { order: 3; }
	.f_info { flex-direction: column; align-items: flex-start; }
	.copyright { order: 3; margin-top: 10px; }
}

.text_page_block { padding: 60px 0; }
.text_page { font-size: 16px; margin: auto; max-width: 960px; }
.text_page h1 { font-size: 32px; text-align: center; margin-bottom: 30px; }
.text_page h5 { font-size: 24px; font-weight: 600; }
.text_page b,.text_page strong { font-weight: 600;}
.text_page h5 + p { margin-top: 16px; }
.text_page p + p { margin-top: 12px; }
.text_page p strong:only-child { font-size: 18px; }
.text_page p + ul { margin-top: 8px; }
.text_page p + h5,
.text_page ol + h5,
.text_page ul + h5 { margin-top: 30px; }
.text_page ul + p { margin-top: 20px; }
.text_page ul { padding-left: 16px; }
.text_page ul li { list-style: disc; }
.text_page ul li + li { margin-top: 6px; }
/*popup*/
.black_layout { display: none; z-index: 90; position: fixed; top: 0;
	left: 0; width: 100%; height: 100%; background: rgba(0, 0, 0, .80); }
.popup_wrapper { display: none; position: absolute; top: 0; left: 0;
	width: 100%; height: 100%; z-index: 95; padding: 0; overflow: auto; }

.popup_inner { display: flex; min-height: 100%; align-items: center; padding: 30px 20px;
	justify-content: center;  }
.popup { background: #FFF; padding: 28px 32px; width: 100%; max-width: 640px;
	position: relative; }
.close_popup { width: 30px; height: 30px; display: block; position: absolute; z-index: 5;
	top: -4px; right: -44px; background: url(../img/close_icon.svg) no-repeat 50% 50% / 30px auto; }

.popup_body { width: 100%; margin: auto; text-align: center; }
.popup_body h4 { font-size: 32px; font-weight: 500; margin-bottom: 8px; }
.popup_body > p { font-size: 18px; font-weight: 300; max-width: 350px; margin: auto; }

/* Слайдеры */
.slick-slider{ position: relative;display: block;-moz-box-sizing: border-box;box-sizing: border-box;-webkit-user-select: none;-moz-user-select: none;-ms-user-select: none;user-select: none;-webkit-touch-callout: none;-khtml-user-select: none;-ms-touch-action: pan-y;touch-action: pan-y;-webkit-tap-highlight-color: transparent;}
.slick-list {position: relative;display: block;overflow: hidden;margin: 0;padding: 0;}
.slick-list:focus{outline: none;}
.slick-list.dragging{cursor: hand;}
.slick-slider .slick-track,.slick-slider .slick-list{-webkit-transform: translate3d(0, 0, 0);-moz-transform: translate3d(0, 0, 0);-ms-transform: translate3d(0, 0, 0);-o-transform: translate3d(0, 0, 0);        transform: translate3d(0, 0, 0);}
.slick-track {position: relative;top: 0;left: 0;display: block;}
.slick-track:before,.slick-track:after{display: table; content: '';}
.slick-track:after{clear: both;}
.slick-loading .slick-track{visibility: hidden;}
.slick-slide{display: none;float: left;height: 100%;min-height: 1px;}
[dir='rtl'] .slick-slide{float: right;}
.slick-slide img{display: block;}
.slick-slide.slick-loading img{ display: none;}
.slick-slide.dragging img{pointer-events: none;}
.slick-initialized .slick-slide{display: block;}
.slick-loading .slick-slide{visibility: hidden;}
.slick-vertical .slick-slide{display: block;height: auto;border: 1px solid transparent;}

/* ============================================================
   Мерч (шаблон tpl-merch.php)
   ============================================================ */
/* ===== Мерч ===== */
.merch_hero { background: linear-gradient(120deg, #0e1f4d 0%, #1c2f66 60%, #26397a 100%); color: var(--w, #fff); padding: 70px 0; }
.merch_hero--bg {
	position: relative;
	background: linear-gradient(90deg, rgba(11, 27, 68, 0.94) 0%, rgba(14, 31, 77, 0.82) 42%, rgba(20, 40, 95, 0.45) 100%),
		url(img/merch_bg.jpg) center / cover no-repeat;
	padding: 110px 0;
}
.merch_hero--bg .merch_hero_grid { grid-template-columns: minmax(0, 620px); }
.merch_hero_grid { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; align-items: center; }
.merch_hero_text h1 { margin: 0 0 30px; }
.merch_hero_desc { border-left: 3px solid var(--bg-r, #FF005E); padding-left: 26px; }
.merch_hero_desc p { margin: 0 0 18px; line-height: 1.6; font-size: 17px; opacity: .95; }
.merch_hero_desc p:last-child { margin-bottom: 0; }
.merch_hero_img { display: flex; justify-content: flex-end; }
.merch_hero_img img { max-width: 100%; height: auto; border-radius: 12px; }

.merch_collection { padding: 70px 0 90px; }
.merch_coll_title { text-align: center; color: var(--tm, #0b1b44); text-transform: uppercase; font-weight: 800; margin: 0 0 34px; }

.merch_filters { display: flex; gap: 12px; justify-content: center; flex-wrap: wrap; margin: 0 0 40px; }
.merch_filter { padding: 9px 22px; border-radius: 30px; border: 1.5px solid var(--bdc1, #D0D7E7); background: #fff; color: var(--tm, #0b1b44); cursor: pointer; font-weight: 600; font-size: 14px; transition: background .15s, border-color .15s, color .15s; }
.merch_filter:hover { border-color: var(--bg-d2, #7990BE); }
.merch_filter.is-active { background: var(--bg-d2, #7990BE); border-color: var(--bg-d2, #7990BE); color: #fff; }

.merch_grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 26px; }
.merch_card { background: var(--w, #fff); border-radius: 16px; overflow: hidden; box-shadow: var(--box-shadow, 0 14px 34px rgba(20,56,147,.08)); display: flex; flex-direction: column; transition: transform .2s, box-shadow .2s; }
.merch_card:hover { transform: translateY(-4px); box-shadow: 0 20px 44px rgba(20,56,147,.14); }
.merch_card_img { aspect-ratio: 3/4; background: #eef1f7; }
.merch_card_img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.merch_card_body { padding: 18px 18px 22px; background: linear-gradient(180deg, #fff 0%, #f2f5fc 100%); display: flex; flex-direction: column; gap: 10px; margin-top: -1px; }
.merch_card_title { font-weight: 700; color: var(--tm, #0b1b44); font-size: 15px; }
.merch_card_price { color: var(--bg-r, #FF005E); font-weight: 800; font-size: 17px; }

.merch_btn { background: var(--bg-d2, #7990BE); color: #fff; height: 46px; border-radius: 10px; font-weight: 600; width: 100%; margin-top: 4px; }
.merch_btn:hover { filter: brightness(1.06); }

/* ===== Модалка ===== */
.merch_modal { position: fixed; inset: 0; z-index: 9999; display: none; }
.merch_modal.is-open { display: block; }
.merch_modal_overlay { position: absolute; inset: 0; background: rgba(20, 34, 74, .55); backdrop-filter: blur(2px); }
.merch_modal_box { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); width: min(1040px, calc(100% - 40px)); max-height: calc(100vh - 40px); overflow: auto; background: #fff; border-radius: 20px; box-shadow: 0 30px 80px rgba(10, 25, 60, .35); }
.merch_modal_close { position: absolute; top: 16px; right: 16px; z-index: 2; width: 40px; height: 40px; border: none; background: transparent; font-size: 30px; line-height: 1; color: var(--bg-d, #57698B); cursor: pointer; border-radius: 50%; }
.merch_modal_close:hover { background: var(--bg-s, #ECF0F9); }
.merch_modal_grid { display: grid; grid-template-columns: 360px 1fr; gap: 0; align-items: start; }
/* Область фото сужена под портретные снимки 2216×3936 (главное фото сюда не идёт) */
.merch_modal_img { position: relative; background: #e9edf5; overflow: hidden; aspect-ratio: 2216 / 3936; }
.merch_slider { position: relative; height: 100%; overflow: hidden; }
.merch_slider_track { display: flex; height: 100%; transition: transform .35s ease; }
.merch_slider_slide { flex: 0 0 100%; height: 100%; }
.merch_slider_slide img { width: 100%; height: 100%; object-fit: cover; display: block; }
.merch_slider_arr { position: absolute; top: 50%; transform: translateY(-50%); z-index: 3; width: 40px; height: 40px;
	border: none; border-radius: 50%; background: rgba(255, 255, 255, .85); color: var(--tm, #0b1b44);
	font-size: 26px; line-height: 1; cursor: pointer; display: flex; align-items: center; justify-content: center;
	box-shadow: 0 4px 14px rgba(10, 25, 60, .2); transition: background .2s; }
.merch_slider_arr:hover { background: #fff; }
.merch_slider_prev { left: 10px; }
.merch_slider_next { right: 10px; }
.merch_slider_dots { position: absolute; left: 0; right: 0; bottom: 12px; z-index: 3; display: flex; justify-content: center; gap: 7px; }
.merch_slider_dot { width: 8px; height: 8px; border-radius: 50%; border: none; padding: 0; background: rgba(255, 255, 255, .55); cursor: pointer; transition: background .2s, transform .2s; }
.merch_slider_dot.is-active { background: #fff; transform: scale(1.25); }
.merch_slider.is-single .merch_slider_arr,
.merch_slider.is-single .merch_slider_dots { display: none; }
.merch_modal_info { padding: 40px 40px 34px; }
.merch_modal_info h3 { margin: 0 0 16px; color: var(--tm, #0b1b44); }
.merch_m_price { display: flex; align-items: center; gap: 10px; font-size: 22px; color: var(--bg-r, #FF005E); }
.merch_m_price b { font-weight: 800; }
.merch_m_tag { width: 22px; height: 22px; background: var(--bg-r, #FF005E); -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M21.41 11.58l-9-9A2 2 0 0 0 11 2H4a2 2 0 0 0-2 2v7a2 2 0 0 0 .59 1.42l9 9a2 2 0 0 0 2.82 0l7-7a2 2 0 0 0 0-2.84zM6.5 8A1.5 1.5 0 1 1 8 6.5 1.5 1.5 0 0 1 6.5 8z'/%3E%3C/svg%3E") center/contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M21.41 11.58l-9-9A2 2 0 0 0 11 2H4a2 2 0 0 0-2 2v7a2 2 0 0 0 .59 1.42l9 9a2 2 0 0 0 2.82 0l7-7a2 2 0 0 0 0-2.84zM6.5 8A1.5 1.5 0 1 1 8 6.5 1.5 1.5 0 0 1 6.5 8z'/%3E%3C/svg%3E") center/contain no-repeat; flex: 0 0 auto; }
.merch_m_section { margin-top: 22px; padding-top: 22px; border-top: 1px solid var(--bdc1, #D0D7E7); }
.merch_m_section p, .merch_m_label { margin: 0 0 8px; color: var(--bg-d, #57698B); }
.merch_m_section p:last-child { margin-bottom: 0; }
.merch_m_section b, .merch_m_label b { color: var(--tm, #0b1b44); }

.merch_m_colors { display: flex; gap: 12px; margin-top: 12px; flex-wrap: wrap; }
.merch_m_color { width: 66px; height: 66px; border-radius: 12px; overflow: hidden; border: 2px solid transparent; cursor: pointer; padding: 0; background: #eef1f7; }
.merch_m_color img { width: 100%; height: 100%; object-fit: cover; display: block; }
.merch_m_color.is-active { border-color: var(--bg-r, #FF005E); }

.merch_m_sizes { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 12px; }
.merch_m_size { min-width: 74px; padding: 8px 10px; border: 1.5px solid var(--bdc1, #D0D7E7); border-radius: 10px; background: #fff; cursor: pointer; text-align: center; line-height: 1.2; color: var(--tm, #0b1b44); }
.merch_m_size span { display: block; font-weight: 700; font-size: 14px; }
.merch_m_size small { color: var(--bg-d, #57698B); font-size: 12px; }
.merch_m_size.is-active { border-color: var(--bg-r, #FF005E); box-shadow: 0 0 0 1px var(--bg-r, #FF005E) inset; }
.merch_m_size.is-disabled { opacity: .4; cursor: not-allowed; }

.merch_m_cart { margin-top: 26px; }

.merch_m_section.merch_need_size { position: relative; }
.merch_m_section.merch_need_size .merch_m_label { color: var(--bg-r, #FF005E); }
.merch_m_section.merch_need_size .merch_m_sizes { outline: 2px solid rgba(255, 0, 94, .35); outline-offset: 6px; border-radius: 6px; }

.merch_cart_bar { position: fixed; left: 0; right: 0; bottom: 0; z-index: 9998; background: var(--tm, #0b1b44); color: #fff; box-shadow: 0 -8px 30px rgba(10, 25, 60, .28); }
.merch_cart_bar[hidden] { display: none; }
.merch_cart_bar_inner { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 14px 0; }
.merch_cart_bar_info { display: flex; align-items: center; gap: 16px; font-size: 16px; }
.merch_cart_bar_ico { width: 26px; height: 26px; flex: 0 0 auto; color: #fff; }
.merch_cart_bar_ico svg { width: 100%; height: 100%; }
.merch_cart_bar_count { font-weight: 600; }
.merch_cart_bar_total { font-weight: 800; color: #fff; }
.merch_cart_bar_total:before { content: "·"; margin-right: 12px; opacity: .5; }
.merch_cart_bar_btn { flex: 0 0 auto; }
.merch_cart_bar.is-pulse { animation: merchCartPulse .4s ease; }
@keyframes merchCartPulse { 0% { transform: translateY(0); } 40% { transform: translateY(-4px); } 100% { transform: translateY(0); } }

.merch_cart_modal { position: fixed; inset: 0; z-index: 10000; display: none; }
.merch_cart_modal.is-open { display: block; }
.merch_cart_overlay { position: absolute; inset: 0; background: rgba(20, 34, 74, .55); backdrop-filter: blur(2px); }
.merch_cart_box { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); width: min(560px, calc(100% - 32px)); max-height: calc(100vh - 40px); overflow: auto; background: #fff; border-radius: 20px; box-shadow: 0 30px 80px rgba(10, 25, 60, .35); padding: 34px 32px 30px; }
.merch_cart_close { position: absolute; top: 14px; right: 16px; width: 38px; height: 38px; border: none; background: transparent; font-size: 30px; line-height: 1; color: var(--bg-d, #57698B); cursor: pointer; border-radius: 8px; }
.merch_cart_close:hover { background: var(--bg-s, #ECF0F9); color: var(--bg-r, #FF005E); }
.merch_cart_box h3 { margin: 0 0 20px; color: var(--tm, #0b1b44); font-size: 24px; }

.merch_cart_items { display: flex; flex-direction: column; gap: 14px; }
.merch_cart_item { display: grid; grid-template-columns: 60px 1fr auto auto; align-items: center; gap: 14px; padding-bottom: 14px; border-bottom: 1px solid var(--bg-s, #ECF0F9); }
.merch_cart_item_img { width: 60px; height: 76px; border-radius: 8px; overflow: hidden; background: #eef1f7; flex: 0 0 auto; }
.merch_cart_item_img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.merch_cart_item_title { font-weight: 700; color: var(--tm, #0b1b44); font-size: 15px; line-height: 1.2; }
.merch_cart_item_meta { font-size: 13px; color: var(--bg-d, #57698B); margin-top: 3px; }
.merch_cart_item_price { font-size: 13px; color: var(--bg-r, #FF005E); font-weight: 700; margin-top: 3px; }
.merch_cart_item_qty { display: flex; align-items: center; gap: 8px; }
.merch_cart_qbtn { width: 28px; height: 28px; border: 1px solid var(--bdc1, #D0D7E7); background: #fff; border-radius: 7px; cursor: pointer; font-size: 18px; line-height: 1; color: var(--tm, #0b1b44); display: flex; align-items: center; justify-content: center; }
.merch_cart_qbtn:hover { border-color: var(--bg-r, #FF005E); color: var(--bg-r, #FF005E); }
.merch_cart_item_qty span { min-width: 20px; text-align: center; font-weight: 700; }
.merch_cart_remove { width: 30px; height: 30px; border: none; background: transparent; color: var(--bg-d, #57698B); font-size: 22px; line-height: 1; cursor: pointer; border-radius: 7px; }
.merch_cart_remove:hover { background: var(--bg-s, #ECF0F9); color: var(--bg-r, #FF005E); }
.merch_cart_empty { color: var(--bg-d, #57698B); text-align: center; padding: 10px 0; }

.merch_cart_total_row { display: flex; justify-content: space-between; align-items: center; margin: 18px 0 6px; font-size: 18px; color: var(--tm, #0b1b44); }
.merch_cart_total_row b { font-size: 22px; font-weight: 800; }

.merch_cart_form { margin-top: 18px; }
.merch_cart_form_lead { margin: 0 0 14px; font-size: 14px; color: var(--bg-d, #57698B); }
.merch_cart_field { margin-bottom: 12px; }
.merch_cart_field input { width: 100%; height: 48px; padding: 0 16px; border: 1px solid var(--bdc1, #D0D7E7); border-radius: 10px; font-size: 15px; color: var(--tm, #0b1b44); box-sizing: border-box; }
.merch_cart_field input:focus { outline: none; border-color: var(--bg-r, #FF005E); box-shadow: 0 0 0 3px rgba(255, 0, 94, .12); }
.merch_cart_hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; opacity: 0; }
.merch_cart_submit { width: 100%; height: 50px; margin-top: 6px; font-size: 16px; font-weight: 600; }
.merch_cart_form_err { margin: 10px 0 0; min-height: 16px; color: #e02020; font-size: 13px; text-align: center; }

.merch_cart_success { text-align: center; padding: 16px 0; }
.merch_cart_success_ico { width: 62px; height: 62px; margin: 0 auto 16px; border-radius: 50%; background: var(--bg-s, #ECF0F9); color: var(--bg-r, #FF005E); display: flex; align-items: center; justify-content: center; }
.merch_cart_success_ico svg { width: 30px; height: 30px; }
.merch_cart_success h4 { margin: 0 0 8px; color: var(--tm, #0b1b44); font-size: 20px; }
.merch_cart_success p { margin: 0 0 20px; color: var(--bg-d, #57698B); }

@media (max-width: 560px) {
	.merch_cart_bar_inner { flex-direction: column; gap: 12px; align-items: stretch; }
	.merch_cart_bar_info { justify-content: center; }
	.merch_cart_bar_btn { width: 100%; }
	.merch_cart_box { padding: 30px 20px 24px; }
	.merch_cart_item { display: flex; align-items: center; column-gap: 10px; flex-wrap: wrap; row-gap: 8px; }
	.merch_cart_item_body { flex: 1 1 110px; }
}

@media (max-width: 1024px) { .merch_grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 900px) {
	.merch_hero_grid { grid-template-columns: 1fr; }
	.merch_hero_img { justify-content: center; order: -1; }
	.merch_modal_grid { grid-template-columns: 1fr; }
	.merch_modal_img { max-width: 280px; width: 100%; margin: 0 auto; }
}
@media (max-width: 600px) {
	.merch_grid { grid-template-columns: 1fr 1fr; gap: 14px; }
	.merch_hero { padding: 40px 0; }
	.merch_collection { padding: 40px 0 60px; }
	.merch_modal_info { padding: 22px 20px 26px; }
}

/* ============================================================
   Ближайшие курсы (главная, parts/upcoming-courses.php)
   ============================================================ */
.upcoming_block { padding: 74px 0; background: var(--gradient-lblue, #F3F7FF); }
.upcoming_head { text-align: center; max-width: 640px; margin: 0 auto 46px; }
.upcoming_eyebrow { display: none;
	color: var(--bg-r, #FF005E); font-weight: 700; letter-spacing: .16em; text-transform: uppercase; font-size: 13px; margin-bottom: 14px; }
.upcoming_head h4 { margin: 0 0 12px; }
.upcoming_head p { margin: 0; color: var(--bg-d, #57698B); font-size: 17px; }

.upcoming_grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.upc_card { position: relative; background: var(--w, #fff); border: 1px solid var(--bdc1, #D0D7E7); border-radius: 18px; padding: 24px 22px; display: flex; flex-direction: column; gap: 14px; box-shadow: var(--box-shadow, 0 14px 34px rgba(20,56,147,.06)); transition: transform .22s ease, box-shadow .22s ease; }
.upc_card:hover { transform: translateY(-6px); box-shadow: 0 24px 52px rgba(20,56,147,.16); }
.upc_card.upc_soon { box-shadow: 0 18px 44px rgba(255,0,94,.16); }
.upc_card.upc_soon:before { content: ""; position: absolute; inset: 0; border-radius: 18px; padding: 2px; background: var(--gradient-pink); -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0); -webkit-mask-composite: xor; mask-composite: exclude; pointer-events: none; }
.upc_badge { position: absolute; top: -11px; left: 22px; background: var(--tm, #0b1b44); color: #fff; font-size: 10px; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; padding: 5px 12px; border-radius: 20px; }

.upc_top { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.upc_date { background: var(--gradient-pink); color: #fff; font-weight: 700; font-size: 14.5px; padding: 7px 14px; border-radius: 10px; white-space: nowrap; }
.upc_type { font-size: 11px; font-weight: 600; color: var(--bg-d, #57698B); background: var(--bg-s, #ECF0F9); padding: 5px 11px; border-radius: 20px; white-space: nowrap; }
.upc_type--conf { color: #1a6fd6; background: #e6f0ff; }

.upc_title { margin: 0; font-size: 17px; line-height: 1.34; font-weight: 700; color: var(--tm, #0b1b44); flex: 1 1 auto; }
.upc_meta { display: flex; align-items: center; gap: 8px; color: var(--bg-d, #57698B); font-size: 14px; }
.upc_dot { width: 7px; height: 7px; border-radius: 50%; background: var(--bg-r, #FF005E); flex: 0 0 auto; }

.upc_foot { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding-top: 15px; border-top: 1px solid var(--bdc1, #D0D7E7); }
.upc_price { font-weight: 800; font-size: 16px; color: var(--tm, #0b1b44); white-space: nowrap; }
.upc_btn { height: 40px; padding: 0 18px; font-size: 14px; white-space: nowrap; }

.upcoming_all { text-align: center; margin-top: 42px; }
.upc_all_btn { background: transparent; color: var(--tm, #0b1b44); box-shadow: inset 0 0 0 1.5px var(--bdc1, #D0D7E7); height: 46px; padding: 0 30px; }
.upc_all_btn:hover { background: var(--w, #fff); }

@media (max-width: 1024px) { .upcoming_grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 600px) { .upcoming_grid { grid-template-columns: 1fr; } .upcoming_block { padding: 44px 0; } }


/* ============================================================
   Поиск (иконка в шапке, модалка, страница результатов)
   ============================================================ */
.search_ico { display: inline-block; width: 22px; height: 22px; background: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='M21 21l-4.3-4.3'/%3E%3C/svg%3E") center/contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='M21 21l-4.3-4.3'/%3E%3C/svg%3E") center/contain no-repeat; }

.head_search, .mob_search { background: none; border: none; cursor: pointer; padding: 6px; color: var(--tm, #0b1b44); display: inline-flex; align-items: center; transition: color .2s; }
.head_search:hover, .mob_search:hover { color: var(--bg-r, #FF005E); }
.mob_search { margin-left: auto; margin-right: 10px; }

/* --- Модалка поиска --- */
.search_overlay { position: fixed; inset: 0; z-index: 10000; display: none; }
.search_overlay.is-open { display: block; }
.search_overlay_bg { position: absolute; inset: 0; background: rgba(11, 27, 68, .62); backdrop-filter: blur(3px); }
.search_overlay_inner { position: relative; max-width: 720px; margin: 13vh auto 0; padding: 0 20px; }
.search_overlay_close { position: absolute; top: -48px; right: 20px; width: 42px; height: 42px; border: none; background: none; color: #fff; font-size: 34px; line-height: 1; cursor: pointer; opacity: .85; }
.search_overlay_close:hover { opacity: 1; }
.search_overlay_hint { text-align: center; color: rgba(255, 255, 255, .8); font-size: 14px; margin: 16px 0 0; }

/* --- Форма поиска --- */
.search_form { display: flex; align-items: center; background: #fff; border: 1px solid var(--bdc1, #D0D7E7); border-radius: 14px; overflow: hidden; max-width: 640px; }
.search_form input[type="search"] { flex: 1 1 auto; min-width: 0; border: none; height: 56px; padding: 0 22px; font-size: 16px; color: var(--tm, #0b1b44); background: transparent; outline: none; }
.search_form input::placeholder { color: #9aa4bb; }
.search_form_btn { flex: 0 0 auto; width: 56px; height: 56px; border: none; background: var(--gradient-pink); color: #fff; cursor: pointer; display: inline-flex; align-items: center; justify-content: center; }
.search_form_btn:hover { filter: brightness(1.06); }
.search_overlay .search_form { border: none; box-shadow: 0 24px 60px rgba(0, 0, 0, .35); max-width: none; }
.search_overlay .search_form input[type="search"] { height: 64px; font-size: 18px; }
.search_overlay .search_form_btn { width: 64px; height: 64px; }

/* --- Страница результатов --- */
.search_hero { padding: 52px 0 34px; background: var(--gradient-lblue, #F3F7FF); }
.search_hero h1 { margin: 0 0 24px; }
.search_results { padding: 34px 0 74px; }
.search_count { color: var(--bg-d, #57698B); margin: 0 0 32px; font-size: 16px; }
.search_group { margin-bottom: 46px; }
.search_group_title { color: var(--tm, #0b1b44); margin: 0 0 20px; display: flex; align-items: center; gap: 10px; }
.search_group_title span { font-size: 14px; font-weight: 600; color: #fff; background: var(--bg-d2, #7990BE); border-radius: 20px; padding: 2px 11px; }
.search_list { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.search_item { display: flex; flex-direction: column; gap: 9px; background: #fff; border: 1px solid var(--bdc1, #D0D7E7); border-radius: 14px; padding: 22px; text-decoration: none; color: inherit; transition: transform .18s, box-shadow .18s, border-color .18s; }
.search_item:hover { transform: translateY(-4px); box-shadow: var(--box-shadow, 0 14px 34px rgba(20,56,147,.1)); border-color: transparent; }
.search_item_type { align-self: flex-start; font-size: 11.5px; font-weight: 600; color: var(--bg-d, #57698B); background: var(--bg-s, #ECF0F9); padding: 4px 10px; border-radius: 20px; }
.search_item_type.is-conf { color: #1a6fd6; background: #e6f0ff; }
.search_item_title { margin: 2px 0 0; color: var(--tm, #0b1b44); font-size: 17px; line-height: 1.35; }
.search_item_excerpt { margin: 0; color: var(--bg-d, #57698B); font-size: 14px; line-height: 1.5; flex: 1 1 auto; }
.search_item_more { color: var(--bg-r, #FF005E); font-weight: 600; font-size: 14px; }
.search_none { padding: 16px 0 40px; }
.search_none p:first-child { font-size: 19px; color: var(--tm, #0b1b44); font-weight: 700; margin: 0 0 8px; }
.search_note { color: var(--bg-d, #57698B); }

@media (max-width: 900px) { .search_list { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 600px) {
	.search_list { grid-template-columns: 1fr; }
	.search_overlay_inner { margin-top: 10vh; }
	.search_hero { padding: 34px 0 24px; }
}


/* ============================================================
   Журнал AMTEC KAZAN Info (шаблон tpl-amtec-info.php)
   ============================================================ */
.journal_hero { padding: 60px 0 42px; background: var(--gradient-lblue, #F3F7FF); text-align: center; }
.journal_logo img { max-width: 380px; height: auto; }
.journal_wordmark { display: inline-flex; align-items: baseline; gap: 10px; font-weight: 800; color: var(--tm, #0b1b44); font-size: clamp(40px, 7vw, 64px); line-height: 1; }
.journal_wordmark i { color: var(--bg-r, #FF005E); font-style: italic; }
.journal_wordmark b { font-size: .32em; letter-spacing: .18em; }
.journal_tagline { max-width: 620px; margin: 20px auto 0; color: var(--bg-d, #57698B); font-size: 16px; line-height: 1.5; }

.journal_intro { padding: 56px 0 6px; }
.journal_intro h1 { margin: 0 0 24px; padding-bottom: 22px; border-bottom: 2px solid var(--bg-r, #FF005E); }
.journal_intro_text { color: var(--bg-d, #57698B); font-size: 16px; line-height: 1.65; max-width: 960px; }
.journal_intro_text p { margin: 0 0 16px; }
.journal_intro_text ul { margin: 0 0 16px; padding-left: 22px; }
.journal_intro_text li { margin-bottom: 8px; }
.journal_intro_text b, .journal_intro_text strong { color: var(--tm, #0b1b44); }

.journal_rubrics { padding: 64px 0; background: var(--gradient-lblue, #F3F7FF); }
.journal_rubrics h4 { text-align: center; text-transform: uppercase; margin: 0 0 46px; }
.journal_rubrics_grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 40px; }
.journal_rubric { text-align: center; }
.journal_rubric_icon { width: 66px; height: 66px; margin: 0 auto 16px; border-radius: 50%; background: #fff; box-shadow: var(--box-shadow, 0 14px 34px rgba(20,56,147,.08)); display: flex; align-items: center; justify-content: center; color: var(--bg-r, #FF005E); }
.journal_rubric_icon svg { width: 30px; height: 30px; }
.journal_rubric_title { font-weight: 800; text-transform: uppercase; color: var(--tm, #0b1b44); font-size: 15px; letter-spacing: .04em; margin-bottom: 10px; }
.journal_rubric p { color: var(--bg-d, #57698B); font-size: 14.5px; line-height: 1.55; margin: 0 auto; max-width: 320px; }

.journal_issues { padding: 64px 0 84px; }
.journal_issues h4 { text-align: center; text-transform: uppercase; margin: 0 0 46px; }
.journal_issues_grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 36px; }
.journal_issue { display: block; text-decoration: none; color: inherit; }
.journal_issue_cover { position: relative; border-radius: 12px; overflow: hidden; box-shadow: var(--box-shadow, 0 14px 34px rgba(20,56,147,.08)); aspect-ratio: 3 / 4; background: #eef1f7; transition: transform .2s, box-shadow .2s; }
a.journal_issue:hover .journal_issue_cover { transform: translateY(-6px); box-shadow: 0 26px 54px rgba(20,56,147,.2); }
.journal_issue_cover img { width: 100%; height: 100%; object-fit: cover; display: block; }
.journal_issue_read { position: absolute; left: 50%; bottom: 16px; transform: translateX(-50%); background: var(--gradient-pink); color: #fff; padding: 8px 20px; border-radius: 22px; font-size: 13px; font-weight: 600; white-space: nowrap; opacity: 0; transition: opacity .2s; }
a.journal_issue:hover .journal_issue_read { opacity: 1; }
.journal_issue_num { display: block; margin-top: 16px; color: var(--bg-d, #57698B); font-size: 13px; }
.journal_issue_title { margin-top: 5px; font-weight: 800; text-transform: uppercase; color: var(--tm, #0b1b44); font-size: 16px; line-height: 1.3; }

@media (max-width: 900px) {
	.journal_rubrics_grid, .journal_issues_grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 560px) {
	.journal_rubrics_grid, .journal_issues_grid { grid-template-columns: 1fr; }
	.journal_hero { padding: 40px 0 30px; }
	.journal_rubrics, .journal_issues { padding: 44px 0; }
}


/* ============================================================
   Страница контактов (tpl-contacts.php)
   ============================================================ */
.contacts_page_block { padding: 60px 0 84px; }
.contacts_page_head { margin-bottom: 34px; }
.contacts_page_title { margin: 0; color: var(--tm, #0b1b44); font-size: 40px; line-height: 1.1; }
.contacts_page_grid { display: grid; grid-template-columns: 0.85fr 1fr; gap: 50px; align-items: start; }
.contacts_page_photo img { width: 100%; height: auto; border-radius: 14px; display: block; }
.contacts_page_info { display: flex; flex-direction: column; gap: 40px; }
.cp_head { display: flex; align-items: center; gap: 14px; margin-bottom: 16px; }
.cp_icon { width: 52px; height: 52px; border-radius: 50%; background: var(--bg-s, #ECF0F9); color: var(--bg-r, #FF005E); display: flex; align-items: center; justify-content: center; flex: 0 0 auto; }
.cp_icon svg { width: 26px; height: 26px; }
.cp_head h2 { margin: 0; text-transform: uppercase; color: var(--tm, #0b1b44); font-size: 22px; letter-spacing: .02em; }
.cp_address { color: var(--bg-d, #57698B); font-size: 16px; line-height: 1.55; margin: 0; font-style: normal; }
.cp_rows { display: flex; flex-direction: column; gap: 8px; }
.cp_rows p { margin: 0; color: var(--bg-d, #57698B); font-size: 15px; line-height: 1.5; }
.cp_rows b { color: var(--tm, #0b1b44); font-weight: 700; }
.cp_rows a { color: var(--bg-r, #FF005E); text-decoration: none; }
.cp_rows a:hover { text-decoration: underline; }
.cp_req { margin: 0; display: flex; flex-direction: column; gap: 7px; }
.cp_req_row { display: flex; gap: 8px; font-size: 15px; line-height: 1.5; margin: 0; }
.cp_req_row dt { color: var(--tm, #0b1b44); font-weight: 700; margin: 0; flex: 0 0 auto; }
.cp_req_row dd { color: var(--bg-d, #57698B); margin: 0; }
.cp_socials { display: flex; gap: 10px; margin-top: 4px; }
.contacts_page_map { margin-top: 46px; border-radius: 14px; overflow: hidden; box-shadow: var(--box-shadow, 0 14px 34px rgba(20,56,147,.08)); }
.contacts_page_map iframe { width: 100%; min-height: 420px; border: 0; display: block; }

@media (max-width: 860px) {
	.contacts_page_title { font-size: 30px; }
	.contacts_page_grid { grid-template-columns: 1fr; gap: 34px; }
	.contacts_page_info { gap: 32px; }
}

/* ============================================================
   Футер — карта сайта + бренд + контакты
   ============================================================ */
.footer_top { display: grid; grid-template-columns: 1.2fr 1fr 1fr; gap: 40px; padding-bottom: 34px; margin-bottom: 30px; border-bottom: 1px solid rgba(11, 27, 68, .14); }
.footer_logo { display: inline-flex; align-items: center; gap: 10px; }
.footer_logo img { max-height: 50px; width: auto; }
.footer_soc { display: flex; gap: 10px; margin-top: 18px; }
.footer_col h5 { margin: 0 0 16px; color: var(--tm, #0b1b44); text-transform: uppercase; font-size: 14px; letter-spacing: .05em; }
.f_sitemap_list { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 9px 24px; }
.f_sitemap_list a { color: var(--tm, #0b1b44); font-size: 14px; text-decoration: none; transition: color .2s; }
.f_sitemap_list a:hover { color: var(--bg-r, #FF005E); }
.footer_contacts .f_contact_addr { color: var(--bg-d, #57698B); font-size: 14px; line-height: 1.5; margin: 0 0 12px; }
.footer_contacts a { display: block; text-decoration: none; margin-bottom: 8px; transition: color .2s; }
.f_contact_phone { color: var(--tm, #0b1b44); font-weight: 700; font-size: 17px; }
.f_contact_mail { color: var(--bg-d, #57698B); font-size: 14px; }
.footer_contacts a:hover { color: var(--bg-r, #FF005E); }

@media (max-width: 768px) {
	.footer_top { grid-template-columns: 1fr; gap: 28px; }
	.f_sitemap_list { grid-template-columns: 1fr 1fr; }
}

.history_block { padding: 50px 0 10px; overflow: hidden; }
.history_title { text-align: center; margin-bottom: 22px; }

/* --- Десктоп: горизонтальная лента-волна (без боковых отступов, full-bleed) --- */
.history_desktop { position: relative; }
.history_scroll { overflow-x: auto; overflow-y: hidden; -webkit-overflow-scrolling: touch;
	white-space: nowrap; cursor: grab; scrollbar-width: thin; scroll-behavior: smooth; }
.history_scroll.is-drag { cursor: grabbing; scroll-behavior: auto; user-select: none; }
.history_scroll::-webkit-scrollbar { height: 8px; }
.history_scroll::-webkit-scrollbar-track { background: transparent; }
.history_scroll::-webkit-scrollbar-thumb { background: var(--bdc1, #D0D7E7); border-radius: 4px; }
 .history_strip { position: relative; display: inline-block; width: max-content; white-space: normal;
	--hist-top: 175px; --hist-bot: 258px;
	--wave: clamp(330px, min(46vh, 30vw), 640px);
	padding: var(--hist-top) 0 var(--hist-bot); vertical-align: top; }
.history_track { display: flex; height: var(--wave); }
/* Слайсы не перехватывают drag (нативное перетаскивание картинок) и не выделяются */
.history_slice { height: 100%; width: auto; display: block; flex: 0 0 auto;
	user-select: none; -webkit-user-drag: none; pointer-events: none; }
 .history_point { position: absolute; width: min(320px, calc(var(--wave) * 0.55)); z-index: 3; display: flex; flex-direction: column;
	transform: translateX(-50%); transition: opacity .55s ease, transform .55s ease; }
.history_point.reveal-init { opacity: 0; transform: translateX(-50%) translateY(24px); }
.history_point.reveal-in { opacity: 1; transform: translateX(-50%) translateY(0); }
.history_point.is-top { top: 0; height: calc(var(--hist-top) + var(--pfrac, 0) * var(--wave)); justify-content: flex-end; }
.history_point.is-bottom { bottom: 0; height: calc(var(--hist-bot) + var(--pfrac, 0) * var(--wave)); justify-content: flex-start; }
.history_point.is-bottom .history_text { order: 1; }
.history_point.is-bottom .history_year { order: 2; }
.history_year { font-size: 44px; font-weight: 800; color: var(--tm, #0b1b44); line-height: 1; }
.history_point.is-top .history_year { margin-bottom: 16px; }
.history_point.is-bottom .history_year { margin-top: 16px; }
.history_text { font-size: 14px; line-height: 1.5; color: #24365f; }
.history_text b { font-weight: 700; color: var(--tm, #0b1b44); }

.history_vyear { line-height: 1; }
.hy_slot { display: inline-block; height: 1em; overflow: hidden; vertical-align: top; line-height: 1; }
.hy_col { display: flex; flex-direction: column; font-variant-numeric: tabular-nums; will-change: transform; }
.hy_num { height: 1em; line-height: 1; }
.hy_sep { display: inline-block; height: 1em; line-height: 1; vertical-align: top; }

.history_arr { position: absolute; top: 0; bottom: 0; width: 74px; z-index: 6; border: none; background: transparent;
	cursor: pointer; display: flex; align-items: center; justify-content: center; color: #fff; transition: background .25s; }
.history_prev { left: 0; background: linear-gradient(90deg, rgba(11, 27, 68, .16), transparent 72%); }
.history_next { right: 0; background: linear-gradient(270deg, rgba(11, 27, 68, .16), transparent 72%); }
.history_arr svg { width: 36px; height: 36px; filter: drop-shadow(0 2px 7px rgba(10, 20, 50, .55)); }
.history_prev:hover { background: linear-gradient(90deg, rgba(11, 27, 68, .34), transparent 78%); }
.history_next:hover { background: linear-gradient(270deg, rgba(11, 27, 68, .34), transparent 78%); }
.history_arr[disabled] { opacity: 0; pointer-events: none; }

.history_mobile { display: none; }
.history_vlist { position: relative; max-width: 560px; margin: 0 auto; }
.history_vitem { position: relative; padding: 0 0 26px 26px; border-left: 2px solid var(--bdc1, #D0D7E7); }
.history_vitem:last-child { border-left-color: transparent; }
.history_vitem:before { content: ""; position: absolute; left: -8px; top: 3px; width: 14px; height: 14px; border-radius: 50%; background: var(--gradient-pink); }
.history_vyear { font-size: 20px; font-weight: 800; color: var(--tm, #0b1b44); margin-bottom: 6px; }
.history_vtext { font-size: 15px; line-height: 1.5; color: var(--bg-d, #57698B); }
.history_vtext b { color: var(--tm, #0b1b44); font-weight: 700; }

@media (max-width: 1599px) {
	.history_strip { --hist-top: 165px; --hist-bot: 262px; }
	.history_year { font-size: 38px; }
	.history_text { font-size: 14px; }
}
@media (max-width: 1279px) {
	.history_strip { --hist-top: 156px; --hist-bot: 262px; }
	.history_year { font-size: 34px; }
	.history_text { font-size: 14px; }
}
@media (max-width: 1024px) {
	.history_strip { --hist-top: 150px; --hist-bot: 268px; }
	.history_year { font-size: 30px; }
	.history_text { font-size: 14px; }
}

@media (min-width: 769px) and (max-width: 1200px) and (orientation: portrait) {
	.history_strip { --wave: clamp(460px, min(84vw, calc(100vh - 560px)), 680px); --hist-top: 168px; --hist-bot: 250px; }
	.history_year { font-size: 34px; }
	.history_text { font-size: 15px; }
}

@media (max-width: 768px) {
	.history_desktop { display: none; }
	.history_mobile { display: block; }
	.history_block { padding: 40px 0; }
}
