/* MIM-Kyiv frame: header + footer in the style of mim.kyiv.ua
   Loaded after reinforce.css; affects only .mim-header and .mim-footer */

:root {
	--mim-ink: #18162C;
	--mim-navy: #012F6B;
	--mim-link: rgba(122, 149, 203, 0.9);
	--mim-line: #DFE0E7;
	--mim-red: #CE1050;
	--mim-red-dark: #A80D41;
	--mim-grey-bg: #EFEFF3;
	--mim-muted: #8B8B95;
	--mim-text: var(--mim-text);
	--mim-font: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
}

/* ---------- HEADER ---------- */

.mim-header.header {
	padding: 0 24px;
	height: 90px;
	background: #fff;
	border-bottom: 1px solid var(--mim-line);
	font-family: var(--mim-font);
}
.mim-header .navbar { height: 90px; flex-wrap: nowrap; }

.mim-brand { display: flex; align-items: center; flex: 0 0 auto; }
	.mim-brand__mim { display: block; line-height: 0; }
	.mim-brand__mim img { width: 65px; height: 65px; }
	.mim-header .mim-brand__project {
		display: block;
		margin: 0 0 0 18px;
		padding: 0 0 0 18px;
		border-left: 1px solid var(--mim-line);
		line-height: 0;
	}
	.mim-header .mim-brand__project img { height: 52px; width: auto; max-width: none; }

.mim-header .navbar-light .navbar-nav .nav-link,
.mim-header.header .navbar-light .navbar-nav .nav-link {
	font-family: var(--mim-font);
	font-size: 14px;
	font-weight: 500;
	line-height: 20px;
	letter-spacing: 0;
	text-transform: uppercase;
	color: var(--mim-ink);
}
.mim-header .navbar-collapse .navbar-center .nav-link { padding: 8px 10px; }
.mim-header .navbar-light .navbar-nav .nav-link:hover,
.mim-header .navbar-light .navbar-nav .active > .nav-link { color: var(--mim-navy); }
.mim-header .navbar-light .navbar-nav .active > .nav-link { box-shadow: inset 0 -2px 0 var(--mim-navy); }

/* donate item keeps ReinforceUA accent */
.mim-header .navbar-light .navbar-nav .nav-link.icon-pay { color: var(--mim-red); }

.mim-header .navbar-right { align-items: center; }
.mim-header .navbar-right .nav-link { padding: 8px 6px; }

.mim-phone {
	display: inline-flex;
	align-items: center;
	height: 44px;
	padding: 0 20px;
	border: 1px solid var(--mim-ink);
	border-radius: 22px;
	font-family: var(--mim-font);
	font-size: 15px;
	font-weight: 600;
	color: var(--mim-ink);
	white-space: nowrap;
	text-decoration: none !important;
	transition: background .2s, color .2s;
}
	.mim-phone::before {
		content: "";
		width: 18px; height: 18px;
		margin-right: 10px;
		background-color: currentColor;
		-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 16.9v3a2 2 0 0 1-2.2 2 19.8 19.8 0 0 1-8.6-3.1 19.5 19.5 0 0 1-6-6A19.8 19.8 0 0 1 2.1 4.2 2 2 0 0 1 4.1 2h3a2 2 0 0 1 2 1.7c.1.9.4 1.8.7 2.7a2 2 0 0 1-.5 2.1L8 9.8a16 16 0 0 0 6 6l1.3-1.3a2 2 0 0 1 2.1-.4c.9.3 1.8.6 2.7.7a2 2 0 0 1 1.7 2z'/%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='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 16.9v3a2 2 0 0 1-2.2 2 19.8 19.8 0 0 1-8.6-3.1 19.5 19.5 0 0 1-6-6A19.8 19.8 0 0 1 2.1 4.2 2 2 0 0 1 4.1 2h3a2 2 0 0 1 2 1.7c.1.9.4 1.8.7 2.7a2 2 0 0 1-.5 2.1L8 9.8a16 16 0 0 0 6 6l1.3-1.3a2 2 0 0 1 2.1-.4c.9.3 1.8.6 2.7.7a2 2 0 0 1 1.7 2z'/%3E%3C/svg%3E") center / contain no-repeat;
	}
	.mim-phone:hover { background: var(--mim-ink); color: #fff; }
.mim-header .mim-phone-item { margin-right: 14px; }

/* account link: icon + "Увійти" label when logged out */
.mim-header .icon-user { display: inline-flex; align-items: center; cursor: pointer; }
.mim-header .icon-user::before { background-color: var(--mim-ink); padding-right: 0; margin-right: 8px; }
.mim-header .icon-user:empty::after { content: "Увійти"; }
html[lang="en"] .mim-header .icon-user:empty::after { content: "Log in"; }
.mim-header .navbar-right .mim-account-item .nav-link { padding-right: 12px; }

.mim-header .mim-lang-item .nav-link { color: #8A8A99 !important; }
.mim-header .mim-lang-item.active .nav-link { color: var(--mim-ink) !important; font-weight: 700; box-shadow: none !important; }

.page { padding-top: 90px; }

@media (max-width: 1360px) {
	.mim-header .mim-phone-item { display: none; }
}
@media (max-width: 1180px) {
	.mim-header .navbar-collapse .navbar-center .nav-link { padding: 8px 6px; font-size: 13px; }
	.mim-header .mim-brand__project img { height: 44px; }
}
@media (max-width: 991px) {
	.mim-header.header { padding: 0 16px; height: 72px; }
	.mim-header .navbar { height: 72px; justify-content: space-between; }
	.mim-brand__mim img { width: 50px; height: 50px; }
	.mim-header .mim-brand__project { margin-left: 12px; padding-left: 12px; }
	.mim-header .mim-brand__project img { height: 40px; }
	.page { padding-top: 72px; }
	.mim-header .navbar-collapse { background: #fff; }
	.mim-header .navbar-collapse .navbar-center .nav-link { font-size: 15px; padding: 10px 0; }
	.mim-header .mim-phone-item { display: block; margin: 8px 0; }
	.mim-header .navbar-right { align-items: center; }
}
@media (max-width: 767px) {
	.mim-header .navbar-collapse .navbar-nav:last-child { flex-wrap: wrap; }
	.mim-header .navbar-collapse .navbar-nav:last-child .nav-item.mim-phone-item,
	.mim-header .navbar-collapse .navbar-nav:last-child .nav-item.mim-account-item { width: 100%; text-align: center; }
	.mim-header .navbar-nav .nav-link { text-align: center; }
	.mim-header .icon-user { justify-content: center; }
}
@media (max-width: 576px) {
	.page { padding-top: 72px; }
	.mim-header .mim-brand__project img { height: 34px; }
	.mim-brand__mim img { width: 44px; height: 44px; }
}

/* ---------- FOOTER ---------- */

.mim-footer {
	background: var(--mim-navy);
	color: #fff;
	font-family: var(--mim-font);
	padding: 64px 24px 40px;
}
.mim-footer a { text-decoration: none !important; }

.mim-footer__top {
	display: flex;
	gap: 32px;
	padding-bottom: 72px;
	border-bottom: 1px solid rgba(255, 255, 255, 0.12);
}
.mim-footer__logos { flex: 0 0 150px; }
	.mim-footer__logo img { width: 120px; height: 120px; display: block; }

.mim-footer__cols {
	flex: 1 1 auto;
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: 32px;
}
.mim-footer__title {
	font-size: 12px;
	font-weight: 600;
	line-height: 18px;
	text-transform: uppercase;
	color: #fff;
	margin-bottom: 28px;
}
.mim-footer__col ul,
.mim-footer__col .navbar-nav {
	list-style: none;
	margin: 0 !important;
	padding: 0;
	display: block;
}
.mim-footer__col li { margin: 0 0 18px; }
.mim-footer__col a,
.mim-footer__col .navbar-nav .nav-link,
.mim-footer__col .navbar-nav .nav-link.icon-pay {
	display: inline-block;
	padding: 0 !important;
	font-family: var(--mim-font);
	font-size: 12px;
	font-weight: 600;
	line-height: 18px;
	text-transform: uppercase;
	text-align: left;
	color: var(--mim-link);
	transition: color .2s;
}
.mim-footer__col a:hover,
.mim-footer__col .navbar-nav .nav-link:hover,
.mim-footer__col .navbar-nav .active > .nav-link { color: #fff; }
.mim-footer__col .icon-pay::before { display: none; }

.mim-footer__bottom {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 24px 32px;
	padding-top: 40px;
}
.mim-footer__copy { font-size: 14px; line-height: 20px; color: rgba(255, 255, 255, 0.75); min-width: 150px; }
.mim-phone--light { border-color: #fff; color: #fff; }
.mim-phone--light:hover { background: #fff; color: var(--mim-navy); }

.mim-socials { display: flex; gap: 14px; }
	.mim-socials a {
		width: 44px; height: 44px;
		display: inline-flex; align-items: center; justify-content: center;
		border: 1px solid #fff;
		border-radius: 50%;
		color: #fff;
		transition: background .2s, color .2s;
	}
	.mim-socials svg { width: 18px; height: 18px; fill: currentColor; }
	.mim-socials a:hover { background: #fff; color: var(--mim-navy); }

.mim-lang { font-size: 14px; font-weight: 600; }
	.mim-lang__label { color: rgba(255, 255, 255, 0.75); margin-bottom: 4px; }
	.mim-lang a { color: var(--mim-link); margin-right: 14px; }
	.mim-lang a.active, .mim-lang a:hover { color: #fff; }

.mim-footer__feedback { margin-left: auto; }

@media (max-width: 1199px) {
	.mim-footer__cols { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 767px) {
	.mim-footer { padding: 48px 16px 88px; }
	.mim-footer__top { flex-direction: column; padding-bottom: 40px; }
	.mim-footer__logos { flex-basis: auto; }
	.mim-footer__logo img { width: 90px; height: 90px; }
	.mim-footer__cols { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 32px 20px; }
	.mim-footer__title { margin-bottom: 16px; }
	.mim-footer__col li { margin-bottom: 14px; }
	.mim-footer__bottom { flex-direction: column; align-items: flex-start; }
	.mim-footer__feedback { margin-left: 0; }
}

/* ---------- fixes ---------- */
.mim-footer, .mim-footer div, .mim-footer a, .mim-footer li { font-family: var(--mim-font); }
.mim-footer__feedback .btn-yellow { font-family: var(--mim-font); font-size: 14px; font-weight: 600; padding: 12px 22px; border-radius: 22px; }
.mim-header .navbar-toggler.navbar-toggler-icon { width: 32px; height: 32px; max-width: 32px; flex: 0 0 32px; background-size: contain; }
@media (max-width: 991px) {
	.mim-header .navbar > .navbar-toggler { margin-left: auto; }
}
@media (min-width: 768px) and (max-width: 991px) {
	.mim-header .navbar { position: static; }
	.mim-header .navbar-collapse {
		position: absolute;
		top: 72px; left: 0; right: 0;
		padding: 16px 24px 24px;
		border-bottom: 1px solid var(--mim-line);
		box-shadow: 0 12px 24px rgba(24, 22, 44, 0.08);
		max-height: calc(100vh - 72px);
		overflow-y: auto;
	}
	.mim-header .navbar-collapse .navbar-center { margin: 0 !important; }
	.mim-header .navbar-right { flex-direction: row; flex-wrap: wrap; gap: 8px 16px; padding-top: 12px; border-top: 1px solid var(--mim-line); margin-top: 8px; }
}
@media (min-width: 768px) and (max-width: 991px) {
	.mim-header .navbar-collapse > .navbar-shadow,
	.mim-header .navbar-collapse > .nav.d-lg-none { display: none !important; }
	.mim-header .navbar-collapse .navbar-center .nav-link { text-align: left; }
}

/* ---------- LECTURES LIST: 2-column grid + "load more" ---------- */

.view-lectures .lecture-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 32px;
	max-width: 1240px;
	margin: 0 auto;
}
.lecture-tile {
	display: flex;
	flex-direction: column;
	background: #fff;
	border: 1px solid var(--mim-line);
	transition: box-shadow .2s, transform .2s;
}
.lecture-tile:hover { box-shadow: 0 12px 32px rgba(24, 22, 44, 0.10); transform: translateY(-2px); }

.lecture-tile__media {
	position: relative;
	display: block;
	aspect-ratio: 16 / 10;
	overflow: hidden;
	background: #E9E9EF;
}
	.view-lectures .lasted .lecture-tile__media img { margin: 0; width: 100%; height: 100%; object-fit: cover; object-position: center 25%; display: block; }
	.lecture-tile__date {
		position: absolute;
		left: 0; top: 0;
		padding: 6px 12px;
		background: var(--mim-red);
		color: #fff;
		font-family: var(--mim-font);
		font-size: 13px;
		font-weight: 600;
		letter-spacing: .02em;
	}

.lecture-tile__body {
	flex: 1 1 auto;
	display: flex;
	flex-direction: column;
	padding: 24px 28px 22px;
	font-family: var(--mim-font);
}
.lecture-tile__speaker { font-size: 20px; font-weight: 600; line-height: 26px; color: var(--mim-ink); }
.lecture-tile__speaker-desc {
	margin-top: 4px;
	font-size: 13px; line-height: 18px; color: var(--mim-muted);
	display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
}
.view-lectures .lasted .lecture-tile__title {
	margin: 14px 0 20px;
	font-family: var(--mim-font);
	font-size: 17px;
	font-weight: 500;
	line-height: 24px;
	display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;
}
	.lecture-tile__title a { color: #333; text-decoration: none !important; }
	.lecture-tile__title a:hover { color: var(--mim-navy); }

.lecture-tile__bottom {
	margin-top: auto;
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding-top: 16px;
	border-top: 1px solid var(--mim-line);
}
.lecture-tile__duration { font-size: 13px; color: var(--mim-muted); }
.lecture-tile__link {
	margin-left: auto;
	display: inline-flex; align-items: center; gap: 8px;
	font-size: 14px; font-weight: 600; text-transform: uppercase;
	color: var(--mim-navy) !important;
	text-decoration: none !important;
}
	.lecture-tile__link .icon-right { display: inline-block; }

.lecture-more { text-align: center; margin: 48px 0 72px; }
.lecture-more__btn {
	display: inline-flex; align-items: center; justify-content: center;
	min-width: 240px; height: 48px; padding: 0 32px;
	border: 1px solid var(--mim-ink);
	border-radius: 24px;
	font-family: var(--mim-font);
	font-size: 14px; font-weight: 600; text-transform: uppercase;
	color: var(--mim-ink) !important;
	text-decoration: none !important;
	background: transparent;
	transition: background .2s, color .2s;
}
	.lecture-more__btn:hover { background: var(--mim-ink); color: #fff !important; }
	.lecture-more__btn.is-loading { opacity: .5; pointer-events: none; }

@media (max-width: 767px) {
	.view-lectures .lecture-grid { grid-template-columns: 1fr; gap: 20px; }
	.lecture-tile__body { padding: 18px 18px 16px; }
	.lecture-tile__speaker { font-size: 18px; line-height: 24px; }
	.view-lectures .lasted .lecture-tile__title { font-size: 16px; line-height: 22px; margin: 10px 0 16px; }
	.lecture-more { margin: 32px 0 48px; }
	.lecture-more__btn { width: 100%; }
}

/* ---------- ABOUT PAGE (/about) ---------- */

.mim-about { font-family: var(--mim-font); color: var(--mim-ink); background: #fff; }
.about-wrap { max-width: 1240px; margin: 0 auto; padding: 0 24px; }
.about-eyebrow {
	font-size: 13px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase;
	color: var(--mim-navy); margin-bottom: 16px;
}
.about-block { padding: 88px 0; background: var(--mim-grey-bg); }
.about-block--white { background: #fff; }

/* hero: text from the DB (h1 + paragraphs) */
.mim-about .about-hero { padding: 96px 0 88px; background: var(--mim-grey-bg); border-bottom: 1px solid var(--mim-line); }
.mim-about .about-hero__body { max-width: 860px; }
.mim-about .about-hero__body h1 {
	font-family: var(--mim-font); font-size: 56px; font-weight: 700; line-height: 1.08;
	letter-spacing: -0.02em; text-align: left; color: var(--mim-ink); margin: 0 0 28px;
}
.mim-about .about-hero__body p { font-size: 19px; line-height: 1.6; color: var(--mim-text); margin: 0; }
.mim-about .about-hero__body .d-none.d-sm-block { display: block !important; }

/* 3 points */
.mim-about .about-steps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 40px; }
.mim-about .about-step { border-top: 2px solid var(--mim-navy); padding-top: 24px; }
.mim-about .about-step__num { font-size: 44px; font-weight: 700; line-height: 1; color: var(--mim-red); margin-bottom: 20px; letter-spacing: -0.02em; }
.mim-about .about-step p { font-size: 16px; line-height: 1.65; color: var(--mim-text); margin: 0; }

/* section titles */
.about-title {
	font-family: var(--mim-font); font-size: 40px; font-weight: 700; line-height: 1.15;
	letter-spacing: -0.02em; text-align: left; color: var(--mim-ink); margin: 0 0 40px;
}

/* partners grid */
.partner-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.partner-tile {
	display: flex; flex-direction: column;
	padding: 28px 28px 26px;
	background: #fff; border: 1px solid var(--mim-line);
	color: var(--mim-ink) !important; text-decoration: none !important;
	transition: box-shadow .2s, transform .2s, border-color .2s;
}
.partner-grid a.partner-tile:hover { box-shadow: 0 12px 32px rgba(24, 22, 44, 0.10); transform: translateY(-2px); border-color: transparent; }
.partner-tile__logo {
	height: 120px; margin: -28px -28px 24px; padding: 16px 24px;
	display: flex; align-items: center; justify-content: center;
	border-bottom: 1px solid var(--mim-line);
}
.partner-tile__logo img { max-height: 88px; max-width: 80%; width: auto; height: auto; object-fit: contain; display: block !important; }
.partner-tile__name { font-size: 18px; font-weight: 600; line-height: 1.3; margin-bottom: 10px; }
.partner-tile__text { font-size: 14px; line-height: 1.6; color: var(--mim-muted); margin: 0; }
.partner-block--support { background: var(--mim-grey-bg); padding-top: 0; }

/* join block */
.mim-about .about-join { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 56px; align-items: center; }
.mim-about .about-join__media img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; display: block; }
.mim-about .about-join h3 {
	font-family: var(--mim-font); font-size: 32px; font-weight: 700; line-height: 1.2;
	letter-spacing: -0.01em; color: var(--mim-ink); margin: 0 0 20px;
}
.mim-about .about-join p { font-size: 16px; line-height: 1.65; color: var(--mim-text); margin: 0 0 28px; }
.mim-about .about-btn { font-family: var(--mim-font); font-size: 14px; font-weight: 600; padding: 14px 28px; border-radius: 24px; text-transform: uppercase; }

/* socials */
.mim-about .about-social {
	margin-top: 72px; padding-top: 40px; border-top: 1px solid var(--mim-line);
	display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 24px;
}
.mim-about .about-social h3 { font-family: var(--mim-font); font-size: 24px; font-weight: 700; margin: 0; color: var(--mim-ink); }
.mim-about .about-social__links { display: flex; flex-wrap: wrap; gap: 12px; }
.mim-about .about-social__links a {
	display: inline-flex; align-items: center; gap: 10px;
	height: 48px; padding: 0 20px 0 8px;
	border: 1px solid var(--mim-line); border-radius: 24px;
	font-size: 14px; font-weight: 600; color: var(--mim-ink) !important; text-decoration: none !important;
	transition: border-color .2s, background .2s;
}
.mim-about .about-social__links a:hover { border-color: var(--mim-ink); }
.mim-about .about-social__links a::before { width: 32px; height: 32px; margin: 0 !important; background-size: contain !important; display: inline-block; }

@media (max-width: 991px) {
	.partner-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.mim-about .about-join { grid-template-columns: 1fr; gap: 32px; }
}
@media (max-width: 767px) {
	.about-wrap { padding: 0 16px; }
	.mim-about .about-hero { padding: 56px 0 48px; }
	.mim-about .about-hero__body h1 { font-size: 36px; margin-bottom: 20px; }
	.mim-about .about-hero__body p { font-size: 16px; }
	.about-block { padding: 56px 0; }
	.mim-about .about-steps { grid-template-columns: 1fr; gap: 32px; }
	.about-title { font-size: 30px; margin-bottom: 28px; }
	.partner-grid { grid-template-columns: 1fr; gap: 16px; }
	.partner-tile { padding: 22px 20px; }
	.partner-tile__logo { margin: -22px -20px 20px; height: 110px; }
	.mim-about .about-join h3 { font-size: 26px; }
	.mim-about .about-social { margin-top: 48px; flex-direction: column; align-items: flex-start; }
	.mim-about .about-social__links { flex-direction: column; width: 100%; }
	.mim-about .about-social__links a { width: 100%; }
}
.mim-about p, .partner-tile__name, .partner-tile__text, .mim-about .about-social__links a { font-family: var(--mim-font); }

/* =========================================================
   UNIFIED MIM STYLE: typography, titles, buttons, accents
   ========================================================= */

body { font-family: var(--mim-font); color: var(--mim-ink); }
.page h1, .page h2, .page h3, .page h4, .page h5,
.modal h1, .modal h2, .modal h3, .modal h4 { font-family: var(--mim-font); color: var(--mim-ink); }
.partner-tile__name, .partner-tile__text, .partner-tile p { font-family: var(--mim-font); }

/* page title (h1): large, bold, left */
.page h1,
.mim-about .about-hero__body h1 {
	font-size: 56px; font-weight: 700; line-height: 1.08; letter-spacing: -0.02em;
	text-align: left; margin: 0 0 28px;
}

/* section title (h2) — MIM style: bold, left, thin grey rule with a short red mark */
.mim-title,
.about-title {
	position: relative;
	display: block;
	font-family: var(--mim-font) !important;
	font-size: 44px !important; font-weight: 700 !important; line-height: 1.1 !important;
	letter-spacing: -0.02em;
	color: var(--mim-ink) !important;
	text-align: left !important;
	margin: 0 0 48px !important;
	padding-bottom: 24px;
}
.mim-title::after,
.about-title::after {
	content: ""; position: absolute; left: 0; bottom: 0;
	width: min(480px, 100%); height: 1px; background: var(--mim-line);
}
.mim-title::before,
.about-title::before {
	content: ""; position: absolute; left: 0; bottom: 0; z-index: 1;
	width: 24px; height: 2px; background: var(--mim-red);
}

/* primary button (was yellow) -> MIM red pill */
.btn-yellow,
.btn.btn-yellow {
	background: var(--mim-red) !important;
	border: 1px solid var(--mim-red) !important;
	color: #fff !important;
	border-radius: 28px !important;
	font-family: var(--mim-font);
	font-size: 14px !important; font-weight: 600 !important; letter-spacing: .02em;
	padding: 15px 30px !important;
	text-transform: uppercase;
	transition: background .2s, border-color .2s !important;
}
.btn-yellow:hover, .btn.btn-yellow:hover,
.btn-yellow:focus, .btn.btn-yellow:focus { background: var(--mim-red-dark) !important; border-color: var(--mim-red-dark) !important; color: #fff !important; }

/* secondary links "Детальніше / Дивитись" */
.lecture .btn-link, .view-lectures .btn-link { color: var(--mim-navy) !important; font-family: var(--mim-font); }
.icon-right::before { background-color: currentColor !important; }

/* lecture carousel cards (home + lecture page): date badge, names */
.lecture .date { background: var(--mim-red) !important; font-family: var(--mim-font) !important; font-size: 14px !important; font-weight: 600 !important; padding: 8px 14px !important; }
.lecture .speaker-name, .lecture .card-title { font-family: var(--mim-font) !important; }
.lecture .card-title { font-weight: 600; }

/* grey sections use MIM grey */
.view-home .section:nth-child(2n+2),
.view-lectures, .view-lecture { background: var(--mim-grey-bg) !important; }

/* ---------- HOME hero: left, big, MIM arcs instead of network images ---------- */
.view-home .section:first-child { background: #fff; padding-top: 96px; padding-bottom: 96px; }
.view-home .section:first-child::before { display: none !important; }
.view-home .section:first-child::after {
	display: block !important; content: "" !important;
	position: absolute; top: 50%; right: -260px; left: auto !important;
	width: 760px !important; height: 760px !important;
	transform: translateY(-50%) !important; -webkit-transform: translateY(-50%) !important;
	background: none !important;
	border-radius: 50%;
	border: 1px solid rgba(206, 16, 80, .35);
	box-shadow: 0 0 0 110px #fff, 0 0 0 111px rgba(206, 16, 80, .25), 0 0 0 220px #fff, 0 0 0 221px rgba(206, 16, 80, .18);
	pointer-events: none; z-index: 0;
}
.view-home .home-hero { position: relative; z-index: 1; max-width: 1240px; margin: 0 auto; }
.view-home .home-hero__text { max-width: 820px; text-align: left; }
.view-home .home-hero__text h1 { font-size: 56px; font-weight: 700; line-height: 1.05; letter-spacing: -0.02em; text-align: left; margin: 0 0 28px; }
.view-home .section:first-child .home-hero__text p { text-align: left !important; padding: 0 !important; font-size: 19px !important; line-height: 1.6 !important; color: var(--mim-text); }
.view-home .home-hero__text .btn { margin: 32px 0 12px; }
.view-home .home-hero__text .text-grey { color: var(--mim-muted); font-size: 14px !important; }

/* home: "schedule and format" and other section titles align with content width */
.view-home .section > .mim-title,
.view-donation .section > .mim-title,
#lectures-lasted > .mim-title,
#lectures-coming > .mim-title { max-width: 1240px; margin-left: auto !important; margin-right: auto !important; }
.view-home .section > .mim-title::after, .view-home .section > .mim-title::before,
.view-donation .section > .mim-title::after, .view-donation .section > .mim-title::before,
#lectures-lasted > .mim-title::after, #lectures-lasted > .mim-title::before,
#lectures-coming > .mim-title::after, #lectures-coming > .mim-title::before { left: 0; }
.view-lectures .container-fluid > .mim-title,
.view-lectures .mim-title { max-width: 1240px; margin-left: auto !important; margin-right: auto !important; }

/* donation progress bar */
.donation-scale-stick { background: var(--mim-red) !important; color: #fff; }

/* modals: close icon hover etc. already red via reinforce.css; headings font */
.modal-title { font-family: var(--mim-font); font-weight: 700; }

@media (max-width: 991px) {
	.page h1, .mim-about .about-hero__body h1 { font-size: 44px; }
	.view-home .home-hero__text h1 { font-size: 44px; }
	.mim-title, .about-title { font-size: 36px !important; }
	.view-home .section:first-child::after { right: -420px; }
}
@media (max-width: 767px) {
	.page h1, .mim-about .about-hero__body h1 { font-size: 34px; margin-bottom: 20px; }
	.view-home .section:first-child { padding-top: 56px; padding-bottom: 56px; }
	.view-home .home-hero__text h1 { font-size: 34px; }
	.view-home .section:first-child .home-hero__text p { font-size: 16px !important; }
	.view-home .section:first-child::after { width: 420px !important; height: 420px !important; right: -300px; top: 20%; box-shadow: 0 0 0 60px #fff, 0 0 0 61px rgba(206,16,80,.25); }
	.mim-title, .about-title { font-size: 28px !important; margin-bottom: 32px !important; padding-bottom: 18px; }
	.btn-yellow, .btn.btn-yellow { padding: 13px 24px !important; }
}

/* one content width for all pages (same as header/footer grid) */
.page .section { padding-left: max(24px, calc((100% - 1192px) / 2)); padding-right: max(24px, calc((100% - 1192px) / 2)); }
.view-home .section > .mim-title, .view-donation .section > .mim-title,
#lectures-lasted > .mim-title, #lectures-coming > .mim-title { max-width: none; margin-left: 0 !important; margin-right: 0 !important; }
.view-lectures > .container-fluid { max-width: 1240px; margin: 0 auto; padding-left: 24px; padding-right: 24px; }
.view-lectures .row.mb-4.mt-5 { margin-left: 0; margin-right: 0; }
.view-lectures .row.mb-4.mt-5 > .col-12 { padding: 0; }
.view-lectures .lecture-grid { max-width: none; }
.view-lectures .mim-title { max-width: none; }
.view-lectures #lectures-coming { padding-left: 24px; padding-right: 24px; max-width: 1240px; margin: 0 auto; }

/* donation page: left-aligned like the rest */
.view-donation .donation-lead { text-align: left; font-size: 17px; line-height: 1.65; color: var(--mim-text); }
.view-donation .section .text-center { text-align: left !important; }
.view-donation .section .row.text-center > div { font-family: var(--mim-font); }
.view-donation h4 { font-family: var(--mim-font); font-weight: 700; }

/* lecture carousel links (home, lecture page) */
.lecture .btn.btn-link { font-size: 14px !important; font-weight: 600 !important; text-transform: uppercase; letter-spacing: .02em; color: var(--mim-navy) !important; }
.view-home .home-hero__text p.text-grey { color: var(--mim-muted) !important; }
@media (max-width: 767px) { .view-home .section:first-child::after { display: none !important; } }

/* ---------- SINGLE LECTURE PAGE (/lectures/<id>) ---------- */
.lecture-page { font-family: var(--mim-font); color: var(--mim-ink); background: #fff; }
.lp-wrap { max-width: 1240px; margin: 0 auto; padding: 0 24px; }

.lp-head { background: var(--mim-grey-bg); padding: 48px 0 56px; }
.lp-back {
	display: inline-flex; align-items: center; gap: 8px; margin-bottom: 28px;
	font-size: 13px; font-weight: 600; text-transform: uppercase; letter-spacing: .04em;
	color: var(--mim-navy) !important; text-decoration: none !important;
}
.lp-back::before { content: "←"; font-size: 16px; }
.lp-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 12px; font-size: 15px; color: var(--mim-muted); margin-bottom: 16px; }
.lp-badge { background: var(--mim-red); color: #fff; font-size: 13px; font-weight: 600; padding: 5px 12px; }
.lecture-page h1.lp-title { font-size: 48px; font-weight: 700; line-height: 1.1; letter-spacing: -0.02em; text-align: left; margin: 0 0 36px; max-width: 980px; }

.lp-video { position: relative; aspect-ratio: 16 / 9; background: var(--mim-ink); overflow: hidden; }
.lp-video__cover {
	position: absolute; inset: 0; width: 100%; height: 100%; border: 0; padding: 0;
	background: var(--mim-ink) no-repeat center / cover;
}
.lp-video__frame { position: absolute; inset: 0; width: 100%; height: 100%; }
.lp-video__play { cursor: pointer; }
.lp-video__play::after { content: ""; position: absolute; inset: 0; background: rgba(24, 22, 44, .25); transition: background .2s; }
.lp-video__play:hover::after { background: rgba(24, 22, 44, .10); }
.lp-video__btn {
	position: absolute; left: 50%; top: 50%; z-index: 1; transform: translate(-50%, -50%);
	width: 88px; height: 88px; border-radius: 50%; background: var(--mim-red);
	display: flex; align-items: center; justify-content: center; transition: transform .2s;
}
.lp-video__play:hover .lp-video__btn { transform: translate(-50%, -50%) scale(1.06); }
.lp-video__btn svg { width: 36px; height: 36px; fill: #fff; margin-left: 4px; }
.lp-video__lock {
	position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center;
	padding: 24px; text-align: center; background: rgba(24, 22, 44, .72); color: #fff;
}
.lp-video__lock p { font-size: 22px; font-weight: 600; line-height: 1.35; max-width: 520px; margin: 0 0 24px; color: #fff; }
.lp-video__note { margin: 16px 0 0; font-size: 14px; color: var(--mim-muted); }
.lp-video__note a { color: var(--mim-navy); font-weight: 600; }
.lp-join { margin-top: 32px; }
.lp-join .lecture-link { color: var(--mim-navy); font-weight: 600; word-break: break-all; }

.lp-body { padding: 72px 0 88px; }
.lp-grid { display: grid; grid-template-columns: minmax(0, 1fr) 360px; gap: 64px; align-items: start; }
.lp-grid--single { grid-template-columns: minmax(0, 1fr); }
.lecture-page h2.lp-subtitle {
	position: relative; font-size: 28px; font-weight: 700; line-height: 1.2; letter-spacing: -0.01em; text-align: left;
	margin: 0 0 24px; padding-bottom: 16px;
}
.lecture-page h2.lp-subtitle::after { content: ""; position: absolute; left: 0; bottom: 0; width: 24px; height: 2px; background: var(--mim-red); }
.lp-text { font-size: 16px; line-height: 1.7; color: var(--mim-text); max-width: 760px; }
.lp-text + .lp-subtitle { margin-top: 56px !important; }
.lp-resume {
	display: inline-flex; margin-top: 40px; padding: 12px 24px; border: 1px solid var(--mim-ink); border-radius: 24px;
	font-size: 14px; font-weight: 600; text-transform: uppercase; color: var(--mim-ink) !important; text-decoration: none !important;
}
.lp-resume:hover { background: var(--mim-ink); color: #fff !important; }

.lp-aside { position: sticky; top: 114px; }
.lp-speaker { background: #fff; border: 1px solid var(--mim-line); }
.lp-speaker img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; object-position: center 25%; display: block; }
.lp-speaker__body { padding: 20px 24px 24px; }
.lp-speaker__label { font-size: 12px; font-weight: 600; text-transform: uppercase; letter-spacing: .08em; color: var(--mim-red); margin-bottom: 6px; }
.lp-speaker__name { font-size: 22px; font-weight: 700; line-height: 1.25; }
.lp-speaker__desc { margin-top: 8px; font-size: 14px; line-height: 1.5; color: var(--mim-muted); }

/* related lectures on this page: same content width and grey background */
.lecture-page > .section { background: var(--mim-grey-bg); }
.lecture-page > .section + .section { padding-top: 0; }

@media (max-width: 991px) {
	.lp-grid { grid-template-columns: minmax(0, 1fr); gap: 40px; }
	.lp-aside { position: static; order: -1; }
	.lp-speaker { display: grid; grid-template-columns: 160px minmax(0, 1fr); align-items: center; }
	.lp-speaker img { aspect-ratio: 1 / 1; height: 100%; }
	.lecture-page h1.lp-title { font-size: 36px; }
}
@media (max-width: 767px) {
	.lp-wrap { padding: 0 16px; }
	.lp-head { padding: 28px 0 36px; }
	.lecture-page h1.lp-title { font-size: 28px; margin-bottom: 24px; }
	.lp-video__btn { width: 64px; height: 64px; }
	.lp-video__lock p { font-size: 16px; margin-bottom: 16px; }
	.lp-body { padding: 44px 0 56px; }
	.lp-speaker { grid-template-columns: 110px minmax(0, 1fr); }
	.lp-speaker__body { padding: 14px 16px; }
	.lp-speaker__name { font-size: 18px; }
	.lecture-page h2.lp-subtitle { font-size: 24px; }
}

/* ---------- HOME: bottom slider (dots/arrows below the text, never over it) ---------- */
.foot-slider .owl-carousel.owl-loaded { display: flex; flex-wrap: wrap; align-items: center; }
.foot-slider .owl-stage-outer { flex: 0 0 100%; }
.foot-slider .slide .row { align-items: flex-start; }
.foot-slider .owl-dots,
.foot-slider .owl-theme .owl-dots,
.foot-slider .owl-nav,
.foot-slider .owl-theme .owl-nav {
	position: static !important; transform: none !important; -webkit-transform: none !important;
	right: auto !important; bottom: auto !important; left: auto !important;
	margin-top: 32px !important;
}
@media (min-width: 768px) {
	.foot-slider .owl-dots { margin-left: calc(50% + 15px) !important; }
	.foot-slider .owl-nav { margin-left: auto !important; }
}
.foot-slider h3 { font-family: var(--mim-font); font-size: 32px !important; font-weight: 700 !important; line-height: 1.2 !important; letter-spacing: -0.01em; color: var(--mim-ink); margin-top: 0 !important; }
.foot-slider p { font-family: var(--mim-font); font-size: 16px; line-height: 1.7 !important; color: var(--mim-text); }
@media (max-width: 767px) {
	.foot-slider .owl-dots { flex: 1 1 auto; }
	.foot-slider h3 { font-size: 24px !important; }
}
.foot-slider .owl-dots { order: 1; }
.foot-slider .owl-nav { order: 2; display: flex; gap: 24px; padding: 0 !important; }
.foot-slider .owl-nav button { margin: 0 !important; }
@media (max-width: 767px) {
	.foot-slider h3 { padding: 0 !important; }
	.foot-slider p { padding: 0 15px !important; }
	.foot-slider .owl-nav { gap: 16px; }
	.foot-slider .owl-prev::before, .foot-slider .owl-next::before { width: 40px !important; height: 20px !important; }
}

/* ---------- header: AOM logo between MIM and ReinforceUA ---------- */
.mim-header .mim-brand__aom {
	display: block; line-height: 0;
	margin-left: 18px; padding-left: 18px;
	border-left: 1px solid var(--mim-line);
}
.mim-header .mim-brand__aom img { height: 40px; width: auto; max-width: none; display: block; }
@media (max-width: 1360px) { .mim-header .mim-brand__aom img { height: 34px; } }
@media (max-width: 1180px) {
	.mim-header .mim-brand__aom { margin-left: 12px; padding-left: 12px; }
	.mim-header .mim-brand__project { margin-left: 12px !important; padding-left: 12px !important; }
	.mim-header .mim-brand__aom img { height: 30px; }
}
@media (max-width: 991px) { .mim-header .mim-brand__aom img { height: 32px; } }
@media (max-width: 576px) {
	.mim-header .mim-brand__aom { margin-left: 10px; padding-left: 10px; }
	.mim-header .mim-brand__project { margin-left: 10px !important; padding-left: 10px !important; }
	.mim-header .mim-brand__aom img { height: 24px; }
	.mim-header .mim-brand__project img { height: 28px !important; }
	.mim-brand__mim img { width: 40px !important; height: 40px !important; }
}

/* ---------- header brand block v2: MIM tile | AOM | ReinforceUA ---------- */
.mim-header .mim-brand { display: flex; align-items: center; gap: 0; }
.mim-header .mim-brand > a { display: flex; align-items: center; line-height: 0; position: relative; margin: 0 !important; padding: 0 !important; border: 0 !important; }
.mim-header .mim-brand > a + a { margin-left: 22px !important; padding-left: 22px !important; }
.mim-header .mim-brand > a + a::before {
	content: ""; position: absolute; left: 0; top: 50%; transform: translateY(-50%);
	width: 1px; height: 36px; background: var(--mim-line);
}
.mim-header .mim-brand__mim img { width: 56px !important; height: 56px !important; display: block; }
.mim-header .mim-brand__aom img { height: 38px !important; width: auto; display: block; }
.mim-header .mim-brand__project img { height: 46px !important; width: auto; max-width: none; display: block; }
.mim-header .mim-brand > a { transition: opacity .2s; }
.mim-header .mim-brand > a:hover { opacity: .8; }

@media (max-width: 1360px) {
	.mim-header .mim-brand > a + a { margin-left: 18px !important; padding-left: 18px !important; }
	.mim-header .mim-brand__aom img { height: 34px !important; }
	.mim-header .mim-brand__project img { height: 42px !important; }
}
@media (max-width: 1180px) {
	.mim-header .mim-brand__mim img { width: 50px !important; height: 50px !important; }
	.mim-header .mim-brand > a + a { margin-left: 14px !important; padding-left: 14px !important; }
	.mim-header .mim-brand__aom img { height: 30px !important; }
	.mim-header .mim-brand__project img { height: 38px !important; }
}
@media (max-width: 991px) {
	.mim-header .mim-brand__mim img { width: 48px !important; height: 48px !important; }
	.mim-header .mim-brand__aom img { height: 32px !important; }
	.mim-header .mim-brand__project img { height: 38px !important; }
}
@media (max-width: 576px) {
	.mim-header .mim-brand__mim img { width: 40px !important; height: 40px !important; }
	.mim-header .mim-brand > a + a { margin-left: 10px !important; padding-left: 10px !important; }
	.mim-header .mim-brand > a + a::before { height: 28px; }
	.mim-header .mim-brand__aom img { height: 24px !important; }
	.mim-header .mim-brand__project img { height: 30px !important; }
}
@media (max-width: 360px) {
	.mim-header .mim-brand__aom img { height: 21px !important; }
	.mim-header .mim-brand__project img { height: 26px !important; }
}

/* ---------- new season note (home + about hero) ---------- */
.season-note { margin: 28px 0 8px; padding: 18px 22px; max-width: 760px; background: #fff; border: 1px solid var(--mim-line); border-left: 3px solid var(--mim-red); }
.mim-about .about-hero .season-note { margin-top: 32px; }
.season-note__label { display: inline-block; font-family: var(--mim-font); font-size: 12px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--mim-red); margin-bottom: 6px; }
.view-home .section:first-child .home-hero__text p.season-note__text,
.season-note__text { font-family: var(--mim-font); font-size: 16px !important; line-height: 1.6 !important; color: var(--mim-text); margin: 0 !important; }
.view-home .home-hero__text .season-note + .btn { margin-top: 28px; }

/* ---------- upcoming lecture without photo/speaker yet ---------- */
.photo-container--tba { background: var(--mim-navy); min-height: 260px; position: relative; }
.lecture-tba { position: absolute; inset: 0; display: flex; flex-direction: column; justify-content: center; align-items: center; color: #fff; font-family: var(--mim-font); }
.lecture-tba__label { font-size: 13px; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; opacity: .75; }
.lecture-tba__date { font-size: 64px; font-weight: 700; line-height: 1.1; letter-spacing: -0.02em; margin-top: 6px; }
.photo-container--tba .photo-description { background: none !important; }
@media (max-width: 767px) {
	.season-note { padding: 14px 16px; }
	.photo-container--tba { min-height: 200px; }
	.lecture-tba__date { font-size: 48px; }
}
.lecture-tba { justify-content: flex-start; align-items: flex-start; padding: 64px 28px 0; }
.lecture-tba__date { font-size: 52px; }
.photo-container--tba .speaker-name { font-size: 22px !important; line-height: 1.25 !important; opacity: .9; }
@media (max-width: 767px) { .lecture-tba { padding: 52px 20px 0; } .lecture-tba__date { font-size: 40px; } }
.lp-tba { padding: 20px 24px; background: var(--mim-grey-bg); border-left: 3px solid var(--mim-red); margin: 0; }
/* TBA card: blue part only */
.lecture--tba .photo-container--tba { min-height: 300px; }
.lecture--tba .speaker-name { font-size: 26px !important; font-weight: 700; opacity: 1; }
@media (max-width: 767px) { .lecture--tba .photo-container--tba { min-height: 240px; } .lecture--tba .speaker-name { font-size: 22px !important; } }
