/* ========================================================= BOX MODEL RESET ========================================================= */

.ny-lesson-wrap,
.ny-lesson-wrap *,
.ny-lesson-intro,
.ny-lesson-intro *,
.ny-lesson-lesson,
.ny-lesson-lesson *,
.ny-lesson-note,
.ny-lesson-note *,
.ny-lesson-chat,
.ny-lesson-chat *,
.ny-lesson-homework,
.ny-lesson-homework *,
.ny-lesson-homework-notice,
.ny-lesson-homework-notice *,
.ny-lesson-carousel,
.ny-lesson-carousel * {
	box-sizing:border-box;
}

.ny-lesson-intro input,
.ny-lesson-intro textarea,
.ny-lesson-intro select,
.ny-lesson-lesson input,
.ny-lesson-lesson textarea,
.ny-lesson-lesson select,
.ny-lesson-note input,
.ny-lesson-note textarea,
.ny-lesson-note select,
.ny-lesson-chat input,
.ny-lesson-chat textarea,
.ny-lesson-chat select,
.ny-lesson-homework input,
.ny-lesson-homework textarea,
.ny-lesson-homework select,
.ny-lesson-homework-notice input,
.ny-lesson-homework-notice textarea,
.ny-lesson-homework-notice select,
.ny-lesson-carousel input,
.ny-lesson-carousel textarea,
.ny-lesson-carousel select {
	font:inherit;
}

/* ========================================================= WRAP ========================================================= */

.ny-lesson-wrap {
	width:100% !important;
	max-width:none !important;
	margin:0 !important;
	padding:30px 0px 70px;
	color:#1E2A3D;
	font-family:var(--t-text-font),-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
	font-size:15px;
	line-height:1.55;
}

.ny-lesson-intro + .ny-lesson-lesson,
.ny-lesson-lesson + .ny-lesson-note,
.ny-lesson-note + .ny-lesson-chat {
	margin-top:24px;
}


/* ========================================================= INTRO ========================================================= */

.ny-lesson-intro {
	position:relative;
	overflow:hidden;
	padding:60px 60px 64px;
	border-radius:32px;
	background:
		radial-gradient(circle at 88% 12%,rgba(237,181,193,.4) 0%,transparent 38%),
		radial-gradient(circle at 8% 92%,rgba(154,206,211,.35) 0%,transparent 42%),
		linear-gradient(135deg,#2C3E5A 0%,#4c6e9b 100%);
	color:#FFFFFF;
	box-shadow:0 30px 60px -35px rgba(31,42,61,.5);
}

.ny-lesson-intro::before {
	content:"";
	position:absolute;
	top:-120px;
	right:-80px;
	width:320px;
	height:320px;
	border-radius:50%;
	background:#edb5c1;
	opacity:.3;
	filter:blur(50px);
	z-index:1;
}

.ny-lesson-intro::after {
	content:"";
	position:absolute;
	bottom:-180px;
	left:25%;
	width:400px;
	height:400px;
	border-radius:50%;
	background:#9aced3;
	opacity:.25;
	filter:blur(60px);
	z-index:1;
}

.ny-lesson-intro__content {
	position:relative;
	z-index:2;
	max-width:820px;
}

.ny-lesson-intro__overline {
	display:inline-block;
	margin:0 0 20px;
	padding:9px 20px;
	background:rgba(237,181,193,.2);
	border:1px solid rgba(237,181,193,.45);
	border-radius:50px;
	color:#edb5c1;
	font-size:12px;
	font-weight:700;
	letter-spacing:.14em;
	text-transform:uppercase;
	backdrop-filter:blur(10px);
	-webkit-backdrop-filter:blur(10px);
}

.ny-lesson-intro__welcome {
	margin:0 0 14px;
	color:#9aced3;
	font-family:var(--t-headline-font),Georgia,"Times New Roman",serif;
	font-size:26px;
	font-style:italic;
	font-weight:400;
}

.ny-lesson-intro__title {
	margin:0;
	color:#FFFFFF;
	font-family:var(--t-headline-font),Georgia,"Times New Roman",serif;
	font-size:58px;
	font-weight:700;
	line-height:1.05;
	letter-spacing:-.02em;
	text-wrap:balance;
}

.ny-lesson-intro__title span {
	color:#edb5c1;
}

.ny-lesson-intro__subtitle {
	max-width:720px;
	margin:24px 0 0;
	color:rgba(255,255,255,.85);
	font-family:var(--t-headline-font),Georgia,"Times New Roman",serif;
	font-size:19px;
	line-height:1.55;
	text-wrap:pretty;
}

.ny-lesson-intro__tags {
	display:flex;
	flex-wrap:wrap;
	gap:10px;
	margin-top:32px;
}

.ny-lesson-intro__tag {
	padding:10px 20px;
	border-radius:50px;
	background:rgba(255,255,255,.12);
	border:1px solid rgba(255,255,255,.22);
	color:#FFFFFF;
	font-size:12px;
	font-weight:600;
	letter-spacing:.04em;
	text-transform:uppercase;
	backdrop-filter:blur(10px);
	-webkit-backdrop-filter:blur(10px);
	transition:transform .2s ease,background .2s ease;
}

.ny-lesson-intro__tag:hover {
	transform:translateY(-2px);
	background:rgba(255,255,255,.18);
}

.ny-lesson-intro__tag--pink {
	background:rgba(237,181,193,.22);
	border-color:rgba(237,181,193,.5);
}

.ny-lesson-intro__tag--teal {
	background:rgba(154,206,211,.22);
	border-color:rgba(154,206,211,.5);
}

.ny-lesson-intro__tag--lavender {
	background:rgba(154,165,196,.25);
	border-color:rgba(154,165,196,.55);
}


/* ========================================================= КАРТОЧКА УРОКА ========================================================= */
/* Блок автономен: можно размещать в любом месте страницы, не только внутри .ny-lesson-wrap.
 * Все правила скоупированы к собственным классам, без зависимости от родительских селекторов. */

.ny-lesson-lesson {
	position:relative;
	overflow:hidden;
	width:100%;
	margin:24px 0;
	border:1px solid #E0DBD3;
	border-radius:24px;
	background:#FFFFFF;
	color:#1E2A3D;
	font-family:var(--t-text-font),-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
	font-size:15px;
	line-height:1.55;
	box-shadow:0 18px 40px -30px rgba(30,42,61,.15);
}

.ny-lesson-lesson__num {
	position:absolute;
	top:14px;
	right:26px;
	z-index:3;
	font-family:var(--t-headline-font),Georgia,"Times New Roman",serif;
	font-size:72px;
	font-weight:700;
	line-height:1;
	color:#edb5c1;
	opacity:.22;
	pointer-events:none;
	user-select:none;
	letter-spacing:-.04em;
}


/* ========================================================= ВЕРХ КАРТОЧКИ — КАРТИНКА + ОПИСАНИЕ ========================================================= */

.ny-lesson-lesson__hero {
	display:grid;
	grid-template-columns:340px minmax(0,1fr);
	min-height:320px;
}

.ny-lesson-lesson__image {
	position:relative;
	display:block;
	overflow:hidden;
	background:#E9ECF3;
	min-height:320px;
	cursor:zoom-in;
	text-decoration:none !important;
	color:inherit;
	border-radius:24px 0 0 24px;
}

.ny-lesson-lesson__image img {
	display:block;
	width:100%;
	height:100%;
	max-width:none !important;
	object-fit:cover !important;
	object-position:center center !important;
	border-radius:inherit;
}

.ny-lesson-lesson__image::after {
	content:"";
	position:absolute;
	inset:0;
	background:linear-gradient(180deg,rgba(30,42,61,0) 60%,rgba(30,42,61,.35) 100%);
	opacity:0;
	pointer-events:none;
}

.ny-lesson-lesson:hover .ny-lesson-lesson__image::after {
	opacity:1;
}

.ny-lesson-lesson__image-zoom {
	position:absolute;
	right:14px;
	bottom:14px;
	z-index:2;
	display:inline-flex;
	align-items:center;
	justify-content:center;
	width:38px;
	height:38px;
	border-radius:50%;
	background:rgba(255,255,255,.92);
	color:#4c6e9b;
	font-family:var(--t-headline-font),Georgia,"Times New Roman",serif;
	font-size:18px;
	font-weight:700;
	opacity:0;
	transition:opacity .25s ease,background .2s ease;
	pointer-events:none;
}

.ny-lesson-lesson:hover .ny-lesson-lesson__image-zoom {
	opacity:1;
}

.ny-lesson-lesson__image-zoom:hover {
	background:#FFFFFF;
}

.ny-lesson-lesson__info {
	display:flex;
	flex-direction:column;
	padding:36px 40px 32px;
}

.ny-lesson-lesson__top {
	display:flex;
	flex-wrap:wrap;
	gap:8px;
	margin-bottom:16px;
}

.ny-lesson-lesson__tag {
	display:inline-flex;
	padding:7px 14px;
	border-radius:50px;
	font-family:var(--t-text-font),-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
	font-size:11px;
	font-weight:700;
	letter-spacing:.04em;
	text-transform:uppercase;
}

.ny-lesson-lesson__tag--blue {
	background:#DDE5F0;
	color:#4c6e9b;
}

.ny-lesson-lesson__tag--teal {
	background:#E2F4F6;
	color:#2C3E5A;
}

.ny-lesson-lesson__title {
	margin:0 0 12px;
	color:#1E2A3D;
	font-family:var(--t-headline-font),Georgia,"Times New Roman",serif;
	font-size:32px;
	font-weight:700;
	line-height:1.1;
	letter-spacing:-.01em;
	text-wrap:balance;
}

.ny-lesson-lesson__description {
	margin:0 0 22px;
	color:#4A5868;
	font-family:var(--t-text-font),-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
	font-size:15px;
	line-height:1.6;
	text-indent: 25px;
}

.ny-lesson-lesson__description:last-of-type {
	margin-bottom: 25px;
}

/* ========================================================= СКИЛЛЫ ========================================================= */

.ny-lesson-lesson__skills {
	display:flex;
	flex-direction:column;
	gap:10px;
	margin:0 0 26px;
}

.ny-lesson-lesson__skill {
	display:flex;
	align-items:flex-start;
	gap:12px;
	color:#4A5868;
	font-family:var(--t-text-font),-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
	font-size:14px;
	line-height:1.5;
}

.ny-lesson-lesson__check {
	flex:0 0 auto;
	display:inline-flex;
	align-items:center;
	justify-content:center;
	width:20px;
	height:20px;
	margin-top:1px;
	border-radius:50%;
	background:#E2F4F6;
	color:#4c6e9b;
	font-size:11px;
	font-weight:700;
}


/* ========================================================= КНОПКА КАРТОЧКИ ========================================================= */

.ny-lesson-lesson__button {
	display:inline-flex !important;
	align-items:center;
	justify-content:center;
	align-self:flex-start;
	margin-top:auto;
	min-height:48px;
	padding:13px 26px;
	border:none;
	border-radius:50px;
	background:#4c6e9b;
	color:#FFFFFF !important;
	font-family:inherit;
	font-size:13px;
	font-weight:700;
	text-decoration:none !important;
	cursor:pointer;
	transition:background .2s ease,transform .2s ease;
}

.ny-lesson-lesson__button:hover {
	background:#2C3E5A;
	transform:translateX(2px);
	color:#FFFFFF !important;
}


/* ========================================================= МАТЕРИАЛЫ — НИЖНЯЯ ЧАСТЬ КАРТОЧКИ ========================================================= */

.ny-lesson-lesson__materials {
	padding:36px 40px 40px;
	border-top:1px solid #E0DBD3;
	background:linear-gradient(180deg,#FBF8F2 0%,#F5EFE3 100%);
}

.ny-lesson-lesson__materials-head {
	margin-bottom:28px;
}

.ny-lesson-lesson__materials-label {
	margin:0 0 8px;
	color:#4c6e9b;
	font-family:var(--t-text-font),-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
	font-size:11px;
	font-weight:700;
	letter-spacing:.15em;
	text-transform:uppercase;
}

.ny-lesson-lesson__materials-title {
	margin:0 0 10px;
	color:#1E2A3D;
	font-family:var(--t-headline-font),Georgia,"Times New Roman",serif;
	font-size:26px;
	font-weight:700;
	line-height:1.15;
	letter-spacing:-.01em;
	text-wrap:balance;
}

.ny-lesson-lesson__materials-text {
	max-width:720px;
	margin:0;
	color:#4A5868;
	font-family:var(--t-text-font),-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
	font-size:14.5px;
	line-height:1.6;
}


/* ========================================================= СЕТКА ГРУПП ========================================================= */

.ny-lesson-lesson__grid {
	display:grid;
	grid-template-columns:repeat(3,minmax(0,1fr));
	column-gap:20px;
	row-gap:20px;
	margin-bottom:28px;
}


/* ========================================================= ГРУППА — КАРТОЧКА С ЦВЕТНЫМ ЗАГОЛОВКОМ ========================================================= */

.ny-lesson-lesson__group {
	display:flex;
	flex-direction:column;
	min-width:0;
	padding:22px 22px 18px;
	border:1px solid #E0DBD3;
	border-radius:18px;
	background:#FFFFFF;
	transition:transform .25s ease,box-shadow .25s ease;
}

.ny-lesson-lesson__group:hover {
	transform:translateY(-2px);
	box-shadow:0 12px 24px -16px rgba(30,42,61,.2);
}

.ny-lesson-lesson__group-title {
	margin:0 0 14px;
	padding-bottom:12px;
	border-bottom:2px solid currentColor;
	font-family:var(--t-headline-font),Georgia,"Times New Roman",serif;
	font-size:16px;
	font-weight:700;
	line-height:1.3;
	letter-spacing:.005em;
}

.ny-lesson-lesson__group--blue .ny-lesson-lesson__group-title {
	color:#4c6e9b;
}

.ny-lesson-lesson__group--pink .ny-lesson-lesson__group-title {
	color:#b87a89;
}

.ny-lesson-lesson__group--teal .ny-lesson-lesson__group-title {
	color:#4a9ea3;
}

.ny-lesson-lesson__group--lavender .ny-lesson-lesson__group-title {
	color:#6b78a0;
}


/* ========================================================= ПУНКТЫ СПИСКА ========================================================= */

.ny-lesson-lesson__item {
	display:flex;
	align-items:flex-start;
	gap:10px;
	padding:8px 0;
	color:#4A5868;
	font-family:var(--t-text-font),-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
	font-size:13.5px;
	line-height:1.5;
}

.ny-lesson-lesson__item:not(:last-child) {
	border-bottom:1px dashed #ECE6DC;
}

.ny-lesson-lesson__item-check {
	flex:0 0 auto;
	display:inline-flex;
	align-items:center;
	justify-content:center;
	width:18px;
	height:18px;
	margin-top:2px;
	border-radius:50%;
	background:#9aced3;
	color:#FFFFFF;
	font-size:10px;
	font-weight:700;
}

.ny-lesson-lesson__item strong {
	color:#1E2A3D;
	font-weight:600;
}


/* ========================================================= РЕФЕРЕНС ========================================================= */

.ny-lesson-lesson__reference {
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:20px;
	padding:22px 24px;
	border-radius:18px;
	background:#FBE9ED;
}

.ny-lesson-lesson__reference-info {
	min-width:0;
}

.ny-lesson-lesson__reference-title {
	margin:0 0 4px;
	color:#1E2A3D;
	font-family:var(--t-headline-font),Georgia,"Times New Roman",serif;
	font-size:20px;
	font-weight:600;
	line-height:1.3;
}

.ny-lesson-lesson__reference-text {
	margin:0;
	color:#4A5868;
	font-family:var(--t-text-font),-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
	font-size:13.5px;
	line-height:1.5;
}

.ny-lesson-lesson__reference-button {
	display:inline-flex !important;
	align-items:center;
	justify-content:center;
	flex:0 0 auto;
	min-width:210px;
	min-height:48px;
	padding:13px 24px;
	border:none;
	border-radius:50px;
	background:#4c6e9b;
	color:#FFFFFF !important;
	font-family:inherit;
	font-size:13px;
	font-weight:700;
	text-decoration:none !important;
	cursor:pointer;
	transition:background .2s ease,transform .2s ease;
}

.ny-lesson-lesson__reference-button:hover {
	background:#2C3E5A;
	transform:translateX(2px);
	color:#FFFFFF !important;
}


/* ========================================================= КАРУСЕЛЬ ИЗОБРАЖЕНИЙ ========================================================= */
/* Блок автономен: можно размещать в любом месте страницы, не только внутри .ny-lesson-wrap. */

.ny-lesson-carousel {
	position:relative;
	margin:24px 0;
	padding:22px 24px 24px;
	border-radius:18px;
	background:#E2F4F6;
	color:#1E2A3D;
	font-family:var(--t-text-font),-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
	font-size:15px;
	line-height:1.55;
}

.ny-lesson-carousel:first-child {
	margin-top:0;
}

.ny-lesson-carousel:last-child {
	margin-bottom:0;
}

.ny-lesson-carousel__head {
	margin-bottom:18px;
}

.ny-lesson-carousel__title {
	margin:0 0 4px;
	color:#1E2A3D;
	font-family:var(--t-headline-font),Georgia,"Times New Roman",serif;
	font-size:20px;
	font-weight:600;
	line-height:1.3;
}

.ny-lesson-carousel__text {
	margin:0;
	color:#4A5868;
	font-family:var(--t-text-font),-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
	font-size:13.5px;
	line-height:1.5;
}

.ny-lesson-carousel__viewport {
	position:relative;
	overflow:hidden;
}

.ny-lesson-carousel__track {
	display:flex;
	gap:14px;
	overflow-x:auto;
	overflow-y:hidden;
	scroll-snap-type:x mandatory;
	scroll-behavior:auto;
	padding:6px 0;
	-webkit-overflow-scrolling:touch;
	scrollbar-width:none;
	cursor:grab;
	position:relative; /* чтобы offsetLeft слайдов отсчитывался от трека, а не от body */
}

.ny-lesson-carousel__track:active {
	cursor:grabbing;
}

.ny-lesson-carousel__track::-webkit-scrollbar {
	display:none;
}

/* Слайд = 100% ширины вьюпорта карусели. Поскольку у вьюпорта overflow:hidden,
 * следующие слайды скрыты и показываются только при прокрутке. */
.ny-lesson-carousel__slide {
	flex:0 0 100%;
	width:100%;
	max-width:100%;
	scroll-snap-align:start;
	display:block;
	overflow:hidden;
	border-radius:20px;
	cursor:zoom-in;
	text-decoration:none !important;
	color:inherit;
}

.ny-lesson-carousel__slide img {
	display:block;
	width:100%;
	height:auto;
	max-width:100%;
	border-radius:20px;
	opacity:0;
	transition:opacity .3s ease;
}

.ny-lesson-carousel__slide img.ny-lesson-carousel__img-loaded {
	opacity:1;
}

.ny-lesson-carousel__nav {
	position:absolute;
	top:50%;
	z-index:3;
	width:46px;
	height:46px;
	border:none;
	border-radius:50%;
	background:rgba(255,255,255,.95);
	color:#4c6e9b;
	font-family:var(--t-headline-font),Georgia,"Times New Roman",serif;
	font-size:24px;
	font-weight:700;
	line-height:1;
	cursor:pointer;
	transform:translateY(-50%);
	box-shadow:0 8px 20px -10px rgba(30,42,61,.4);
	transition:background .2s ease,opacity .2s ease;
	display:inline-flex;
	align-items:center;
	justify-content:center;
}

.ny-lesson-carousel__nav:hover {
	background:#FFFFFF;
}

.ny-lesson-carousel__nav:focus-visible {
	outline:2px solid #9aced3;
	outline-offset:3px;
}

.ny-lesson-carousel__nav--prev {
	left:10px;
}

.ny-lesson-carousel__nav--next {
	right:10px;
}

.ny-lesson-carousel__nav:disabled {
	opacity:.3;
	cursor:not-allowed;
	pointer-events:none;
}

/* Точки-индикаторы */
.ny-lesson-carousel__dots {
	display:flex;
	justify-content:center;
	align-items:center;
	flex-wrap:nowrap;
	gap:8px;
	margin-top:20px;
	min-height:14px;
	padding:6px 4px;
}

.ny-lesson-carousel__dot {
	border:none;
	padding:0;
	width:10px;
	height:10px;
	border-radius:50%;
	background:#b87a89;
	cursor:pointer;
	opacity:.32;
	transition:opacity .25s ease,background .25s ease,width .25s ease,border-radius .25s ease;
	flex:0 0 auto;
}

.ny-lesson-carousel__dot:hover:not(.ny-lesson-carousel__dot--active) {
	opacity:.65;
}

.ny-lesson-carousel__dot--active {
	opacity:1;
	background:#b87a89;
	width:28px;
	height:10px;
	border-radius:5px;
}

.ny-lesson-carousel__dot:focus-visible {
	outline:2px solid #9aced3;
	outline-offset:3px;
}

.ny-lesson-carousel:has(.ny-lesson-carousel__slide:only-child) .ny-lesson-carousel__nav,
.ny-lesson-carousel:has(.ny-lesson-carousel__slide:only-child) .ny-lesson-carousel__dots {
	display:none;
}


/* ========================================================= NOTE — ПОДСКАЗКА ========================================================= */
/* Блок автономен: можно размещать в любом месте страницы, не только внутри .ny-lesson-wrap.
 * Все правила скоупированы к собственным классам, без зависимости от родительских селекторов. */

.ny-lesson-note {
	position:relative;
	overflow:hidden;
	display:flex;
	align-items:flex-start;
	gap:18px;
	margin:24px 0;
	padding:24px 28px;
	border-radius:20px;
	background:#E2F4F6;
	color:#1E2A3D;
	font-family:var(--t-text-font),-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
	font-size:15px;
	line-height:1.55;
}

.ny-lesson-note__icon {
	flex:0 0 auto;
	display:inline-flex;
	align-items:center;
	justify-content:center;
	width:44px;
	height:44px;
	border-radius:14px;
	background:#FFFFFF;
	color:#4c6e9b;
	font-family:var(--t-headline-font),Georgia,"Times New Roman",serif;
	font-size:22px;
	font-weight:700;
}

.ny-lesson-note__content {
	flex:1;
	min-width:0;
}

.ny-lesson-note__text {
	margin:0;
	color:#2C3E5A;
	font-size:15px;
	line-height:1.6;
}

.ny-lesson-note__text strong {
	color:#1E2A3D;
	font-weight:700;
}


/* ========================================================= CHAT ========================================================= */
/* Блок автономен: можно размещать в любом месте страницы, не только внутри .ny-lesson-wrap. */

.ny-lesson-chat {
	position:relative;
	overflow:hidden;
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:28px;
	margin:24px 0;
	padding:32px 36px;
	border-radius:24px;
	background:
		radial-gradient(circle at 92% 50%,rgba(154,206,211,.25) 0%,transparent 35%),
		linear-gradient(135deg,#2C3E5A 0%,#4c6e9b 100%);
	color:#FFFFFF;
	font-family:var(--t-text-font),-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
	font-size:15px;
	line-height:1.55;
	box-shadow:0 20px 50px -30px rgba(31,42,61,.5);
}

.ny-lesson-chat::after {
	content:"";
	position:absolute;
	bottom:-120px;
	right:-100px;
	width:280px;
	height:280px;
	border-radius:50%;
	background:#edb5c1;
	opacity:.2;
	filter:blur(60px);
	z-index:1;
	pointer-events:none;
}

.ny-lesson-chat__info {
	position:relative;
	z-index:2;
	min-width:0;
	max-width:640px;
}

.ny-lesson-chat__label {
	margin:0 0 8px;
	color:#9aced3;
	font-size:11px;
	font-weight:700;
	letter-spacing:.15em;
	text-transform:uppercase;
	font-family:var(--t-text-font),-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}

.ny-lesson-chat__title {
	margin:0 0 8px;
	color:#FFFFFF;
	font-family:var(--t-headline-font),Georgia,"Times New Roman",serif;
	font-size:28px;
	font-weight:700;
	line-height:1.15;
	letter-spacing:-.01em;
	text-wrap:balance;
}

.ny-lesson-chat__text {
	margin:0;
	color:rgba(255,255,255,.82);
	font-family:var(--t-text-font),-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
	font-size:14.5px;
	line-height:1.55;
}

.ny-lesson-chat__button {
	position:relative;
	z-index:2;
	display:inline-flex !important;
	align-items:center;
	justify-content:center;
	flex:0 0 auto;
	min-width:210px;
	min-height:50px;
	padding:14px 26px;
	border:none;
	border-radius:50px;
	background:#edb5c1;
	color:#2C3E5A !important;
	font-family:inherit;
	font-size:13px;
	font-weight:700;
	text-decoration:none !important;
	cursor:pointer;
	transition:transform .2s ease,background .2s ease;
}

.ny-lesson-chat__button:hover {
	transform:translateX(2px);
	background:#f5c6cf;
	color:#2C3E5A !important;
}


/* ========================================================= LIGHTBOX ========================================================= */

.ny-lesson-lightbox {
	position:fixed;
	inset:0;
	z-index:2147483600;
	display:flex;
	align-items:center;
	justify-content:center;
	padding:32px 20px;
	background:rgba(30,42,61,.78);
	backdrop-filter:blur(8px);
	-webkit-backdrop-filter:blur(8px);
	opacity:0;
	transition:opacity .25s ease;
}

.ny-lesson-lightbox[data-ny-lesson-open="true"] {
	opacity:1;
}

.ny-lesson-lightbox[hidden] {
	display:none;
}

.ny-lesson-lightbox__inner {
	position:relative;
	display:flex;
	flex-direction:column;
	align-items:center;
	gap:14px;
	max-width:min(1100px,96vw);
	max-height:96vh;
}

.ny-lesson-lightbox__img {
	display:block;
	max-width:100%;
	max-height:calc(96vh - 60px);
	width:auto;
	height:auto;
	border-radius:18px;
	background:#FFFFFF;
	box-shadow:0 30px 80px -20px rgba(0,0,0,.55);
	transform:scale(.97);
	transition:transform .25s ease;
	object-fit:contain;
}

.ny-lesson-lightbox[data-ny-lesson-open="true"] .ny-lesson-lightbox__img {
	transform:scale(1);
}

.ny-lesson-lightbox__caption {
	margin:0;
	color:rgba(255,255,255,.85);
	font-size:13.5px;
	line-height:1.4;
	text-align:center;
	max-width:720px;
}

.ny-lesson-lightbox__close {
	position:fixed;
	top:20px;
	right:20px;
	z-index:4;
	display:inline-flex;
	align-items:center;
	justify-content:center;
	width:46px;
	height:46px;
	border:none;
	border-radius:50%;
	background:#edb5c1;
	color:#2C3E5A;
	font-family:var(--t-headline-font),Georgia,"Times New Roman",serif;
	font-size:22px;
	font-weight:700;
	cursor:pointer;
	box-shadow:0 10px 25px -10px rgba(0,0,0,.45);
	transition:transform .2s ease,background .2s ease;
}

.ny-lesson-lightbox__close:hover {
	transform:rotate(90deg);
	background:#f5c6cf;
}

.ny-lesson-lightbox__close:focus-visible {
	outline:2px solid #9aced3;
	outline-offset:3px;
}


.ny-lesson-lightbox__nav {
	position:fixed;
	top:50%;
	z-index:3;
	width:52px;
	height:52px;
	border:none;
	border-radius:50%;
	background:#edb5c1;
	color:#2C3E5A;
	font-family:var(--t-headline-font),Georgia,"Times New Roman",serif;
	font-size:26px;
	font-weight:700;
	line-height:1;
	cursor:pointer;
	transform:translateY(-50%);
	box-shadow:0 10px 25px -10px rgba(0,0,0,.45);
	transition:background .2s ease,transform .2s ease;
	display:inline-flex;
	align-items:center;
	justify-content:center;
}

.ny-lesson-lightbox__nav:hover {
	background:#f5c6cf;
	transform:translateY(-50%) scale(1.06);
}

.ny-lesson-lightbox__nav:focus-visible {
	outline:2px solid #9aced3;
	outline-offset:3px;
}

.ny-lesson-lightbox__nav--prev {
	left:24px;
}

.ny-lesson-lightbox__nav--next {
	right:24px;
}

.ny-lesson-lightbox__nav[hidden] {
	display:none;
}

.ny-lesson-lightbox__counter {
	margin:6px 0 0;
	color:rgba(255,255,255,.7);
	font-size:12px;
	font-weight:600;
	letter-spacing:.12em;
	text-transform:uppercase;
	text-align:center;
}

.ny-lesson-lightbox__counter:empty {
	display:none;
}

.ny-lesson-lesson__image:focus-visible {
	outline:2px solid #4c6e9b;
	outline-offset:-2px;
}

html.ny-lesson-lb-open,
html.ny-lesson-lb-open body {
	overflow:hidden;
	touch-action:none;
}


/* ========================================================= TABLET ========================================================= */

@media(max-width:1100px) {

	.ny-lesson-lesson__hero {
		grid-template-columns:300px minmax(0,1fr);
	}

	.ny-lesson-lesson__image {
		border-radius:24px 0 0 24px;
	}

	.ny-lesson-lesson__grid {
		grid-template-columns:repeat(2,minmax(0,1fr));
	}

}

@media(max-width:900px) {

	.ny-lesson-intro {
		padding:48px 32px 52px;
	}

	.ny-lesson-intro__title {
		font-size:44px;
	}

	.ny-lesson-intro__welcome {
		font-size:22px;
	}

	.ny-lesson-intro__subtitle {
		font-size:17px;
	}

	.ny-lesson-lesson__hero {
		grid-template-columns:1fr;
	}

	.ny-lesson-lesson__image {
		min-height:280px;
		height:280px;
		border-radius:24px 24px 0 0;
	}

	.ny-lesson-lesson__info {
		padding:28px 32px;
	}

	.ny-lesson-lesson__title {
		font-size:28px;
	}

	.ny-lesson-lesson__materials {
		padding:28px 32px 32px;
	}

	.ny-lesson-lesson__materials-title {
		font-size:22px;
	}

	.ny-lesson-chat {
		flex-direction:column;
		align-items:stretch;
		padding:32px;
	}

	.ny-lesson-chat__button {
		width:100%;
	}

	.ny-lesson-carousel {
		padding:20px 20px 18px;
	}

	.ny-lesson-carousel__slide {
		border-radius:20px;
	}

	.ny-lesson-carousel__nav {
		width:42px;
		height:42px;
		font-size:22px;
	}

}


/* ========================================================= MOBILE ========================================================= */

@media(max-width:600px) {

	.ny-lesson-wrap {
		padding:12px 0px 50px;
	}

	.ny-lesson-intro {
		padding:36px 22px 40px;
		border-radius:24px;
	}

	.ny-lesson-intro__title {
		font-size:34px;
	}

	.ny-lesson-intro__welcome {
		font-size:19px;
	}

	.ny-lesson-intro__subtitle {
		font-size:15.5px;
	}

	.ny-lesson-lesson {
		border-radius:20px;
	}

	.ny-lesson-lesson__num {
		font-size:52px;
		top:12px;
		right:18px;
	}

	.ny-lesson-lesson__image {
		border-radius:20px 20px 0 0;
	}

	.ny-lesson-lesson__info {
		padding:24px 22px;
	}

	.ny-lesson-lesson__title {
		font-size:24px;
	}

	.ny-lesson-lesson__materials {
		padding:24px 22px 28px;
	}

	.ny-lesson-lesson__grid {
		grid-template-columns:1fr;
		row-gap:14px;
	}

	.ny-lesson-lesson__group {
		padding:18px 20px 14px;
	}

	.ny-lesson-lesson__reference {
		flex-direction:column;
		align-items:stretch;
		gap:14px;
	}

	.ny-lesson-lesson__reference-button {
		width:100%;
	}

	.ny-lesson-note {
		padding:20px 22px;
		flex-direction:column;
		gap:14px;
		margin:20px 0;
	}

	.ny-lesson-chat {
		padding:26px 22px;
		margin:20px 0;
	}

	.ny-lesson-chat__title {
		font-size:22px;
	}

	.ny-lesson-lightbox {
		padding:20px 14px;
	}

	.ny-lesson-lightbox__close {
		top:12px;
		right:12px;
		width:42px;
		height:42px;
		font-size:20px;
	}

	.ny-lesson-lightbox__nav {
		width:42px;
		height:42px;
		font-size:22px;
	}

	.ny-lesson-lightbox__nav--prev {
		left:10px;
	}

	.ny-lesson-lightbox__nav--next {
		right:10px;
	}

	.ny-lesson-lightbox__img {
		border-radius:14px;
	}

	.ny-lesson-carousel {
		padding:18px 16px 16px;
	}

	.ny-lesson-carousel__nav {
		width:40px;
		height:40px;
		font-size:20px;
	}

	.ny-lesson-carousel__slide {
		border-radius:18px;
	}

	.ny-lesson-carousel__slide img {
		border-radius:18px;
	}

	.ny-lesson-carousel__dot {
		width:8px;
		height:8px;
	}

	.ny-lesson-carousel__dot--active {
		width:22px;
		height:8px;
		border-radius:4px;
	}

}


/* ========================================================= REDUCED MOTION ========================================================= */

@media(prefers-reduced-motion:reduce) {

	.ny-lesson-intro *,
	.ny-lesson-lesson *,
	.ny-lesson-note *,
	.ny-lesson-chat *,
	.ny-lesson-carousel * {
		transition:none !important;
		animation:none !important;
	}

}

/* ========================================================= БЛОК: ДОМАШНЕЕ ЗАДАНИЕ ========================================================= */
/* Блок автономен: можно размещать в любом месте страницы, не только внутри .ny-lesson-wrap. */

.ny-lesson-homework {
	position:relative;
	overflow:hidden;
	width:100%;
	margin:24px 0;
	padding:0;
	border:1px solid #E0DBD3;
	border-radius:24px;
	background:#FFFFFF;
	box-shadow:0 18px 40px -30px rgba(30,42,61,.15);
	font-family:var(--t-text-font),-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
	font-size:15px;
	line-height:1.55;
	color:#1E2A3D;
}

.ny-lesson-homework__num {
	position:absolute;
	top:14px;
	right:26px;
	z-index:3;
	font-family:var(--t-headline-font),Georgia,"Times New Roman",serif;
	font-size:72px;
	font-weight:700;
	line-height:1;
	color:#edb5c1;
	opacity:.22;
	pointer-events:none;
	user-select:none;
	letter-spacing:-.04em;
}

.ny-lesson-homework__header {
	position:relative;
	padding:36px 40px 32px;
	border-bottom:1px solid #E0DBD3;
	background:linear-gradient(180deg,#FBE9ED 0%,#FFFFFF 100%);
}

.ny-lesson-homework__overline {
	display:inline-block;
	margin:0 0 16px;
	padding:8px 18px;
	background:rgba(184,122,137,.18);
	border:1px solid rgba(184,122,137,.45);
	border-radius:50px;
	color:#b87a89;
	font-family:var(--t-text-font),-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
	font-size:11px;
	font-weight:700;
	letter-spacing:.14em;
	text-transform:uppercase;
}

.ny-lesson-homework__title {
	margin:0 0 14px;
	color:#b87a89;
	font-family:var(--t-headline-font),Georgia,"Times New Roman",serif;
	font-size:40px;
	font-weight:700;
	line-height:1.1;
	letter-spacing:-.01em;
	text-wrap:balance;
}

.ny-lesson-homework__subtitle {
	max-width:760px;
	margin:0;
	color:#4A5868;
	font-family:var(--t-headline-font),Georgia,"Times New Roman",serif;
	font-size:17px;
	line-height:1.55;
	text-wrap:pretty;
}

.ny-lesson-homework__body {
	padding:36px 40px 40px;
}

.ny-lesson-homework__section-title {
	margin:0 0 22px;
	color:#1E2A3D;
	font-family:var(--t-headline-font),Georgia,"Times New Roman",serif;
	font-size:24px;
	font-weight:700;
	line-height:1.2;
}

.ny-lesson-homework__steps {
	display:flex;
	flex-direction:column;
	gap:14px;
	margin:0;
}

.ny-lesson-homework__step {
	display:flex;
	align-items:flex-start;
	gap:18px;
	padding:24px 26px;
	border:1px solid #E0DBD3;
	border-radius:18px;
	background:linear-gradient(180deg,#FBF8F2 0%,#F5EFE3 100%);
	transition:transform .25s ease,box-shadow .25s ease;
}

.ny-lesson-homework__step:hover {
	transform:translateY(-2px);
	box-shadow:0 12px 24px -16px rgba(30,42,61,.2);
}

.ny-lesson-homework__step--blue {
	border-color:rgba(76,110,155,.3);
	background:linear-gradient(180deg,#DDE5F0 0%,#FFFFFF 100%);
}

.ny-lesson-homework__step--pink {
	border-color:rgba(184,122,137,.35);
	background:linear-gradient(180deg,#FBE9ED 0%,#FFFFFF 100%);
}

.ny-lesson-homework__step-num {
	flex:0 0 auto;
	display:inline-flex;
	align-items:center;
	justify-content:center;
	width:48px;
	height:48px;
	margin-top:0;
	border-radius:50%;
	background:#4c6e9b;
	color:#FFFFFF;
	font-family:var(--t-headline-font),Georgia,"Times New Roman",serif;
	font-size:22px;
	font-weight:700;
	box-shadow:0 6px 14px -8px rgba(76,110,155,.5);
}

.ny-lesson-homework__step--pink .ny-lesson-homework__step-num {
	background:#b87a89;
	box-shadow:0 6px 14px -8px rgba(184,122,137,.5);
}

.ny-lesson-homework__step-content {
	flex:1;
	min-width:0;
}

.ny-lesson-homework__step-title {
	margin:0 0 12px;
	padding-top:12px;
	color:#1E2A3D;
	font-family:var(--t-headline-font),Georgia,"Times New Roman",serif;
	font-size:18px;
	font-weight:600;
	line-height:1.3;
}

.ny-lesson-homework__step--pink .ny-lesson-homework__step-title {
	margin-bottom:14px;
}

.ny-lesson-homework__substeps {
	display:flex;
	flex-direction:column;
	gap:0;
	margin:0;
	padding:0;
	list-style:none;
}

.ny-lesson-homework__substep {
	display:flex;
	align-items:flex-start;
	gap:12px;
	padding:10px 0;
	color:#4A5868;
	font-family:var(--t-text-font),-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
	font-size:14.5px;
	line-height:1.5;
}

.ny-lesson-homework__substep:not(:last-child) {
	border-bottom:1px dashed #ECE6DC;
}

.ny-lesson-homework__substep-check {
	flex:0 0 auto;
	display:inline-flex;
	align-items:center;
	justify-content:center;
	width:20px;
	height:20px;
	margin-top:1px;
	border-radius:50%;
	background:#9aced3;
	color:#FFFFFF;
	font-size:11px;
	font-weight:700;
}

.ny-lesson-homework__notice {
	position:relative;
	overflow:hidden;
	display:flex;
	flex-direction:column;
	gap:8px;
	margin:24px 0 0;
	padding:24px 28px;
	border-left:4px solid #b87a89;
	border-radius:20px;
	background:#E2F4F6;
}

.ny-lesson-homework__notice::after {
	content:"";
	position:absolute;
	top:-80px;
	right:-60px;
	width:200px;
	height:200px;
	border-radius:50%;
	background:#9aced3;
	opacity:.25;
	filter:blur(40px);
	pointer-events:none;
}

.ny-lesson-homework__notice-label {
	position:relative;
	z-index:1;
	margin:0;
	color:#b87a89;
	font-family:var(--t-headline-font),Georgia,"Times New Roman",serif;
	font-size:14px;
	font-weight:700;
	letter-spacing:.12em;
	text-transform:uppercase;
}

.ny-lesson-homework__notice-text {
	position:relative;
	z-index:1;
	margin:0;
	color:#2C3E5A;
	font-family:var(--t-text-font),-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
	font-size:15px;
	line-height:1.6;
}

.ny-lesson-homework__notice-text strong {
	color:#1E2A3D;
	font-weight:700;
}


/* ========================================================= ОТДЕЛЬНЫЙ БЛОК: ПОДСКАЗКА «ВАЖНО» ========================================================= */
.ny-lesson-homework-notice {
	position:relative;
	overflow:hidden;
	display:flex;
	flex-direction:column;
	gap:8px;
	margin:24px 0 0;
	padding:24px 28px;
	border-left:4px solid #b87a89;
	border-radius:20px;
	background:#E2F4F6;
	font-family:var(--t-text-font),-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}

.ny-lesson-homework-notice::after {
	content:"";
	position:absolute;
	top:-80px;
	right:-60px;
	width:200px;
	height:200px;
	border-radius:50%;
	background:#9aced3;
	opacity:.25;
	filter:blur(40px);
	pointer-events:none;
}

.ny-lesson-homework-notice__label {
	position:relative;
	z-index:1;
	margin:0;
	color:#b87a89;
	font-family:var(--t-headline-font),Georgia,"Times New Roman",serif;
	font-size:14px;
	font-weight:700;
	letter-spacing:.12em;
	text-transform:uppercase;
}

.ny-lesson-homework-notice__text {
	position:relative;
	z-index:1;
	margin:0;
	color:#2C3E5A;
	font-family:var(--t-text-font),-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
	font-size:15px;
	line-height:1.6;
}

.ny-lesson-homework-notice__text strong {
	color:#1E2A3D;
	font-weight:700;
}


/* ========================================================= TABLET ========================================================= */
@media(max-width:900px) {

	.ny-lesson-homework__header,
	.ny-lesson-homework__body {
		padding-left:32px;
		padding-right:32px;
	}

	.ny-lesson-homework__title {
		font-size:32px;
	}

	.ny-lesson-homework__section-title {
		font-size:20px;
	}

	.ny-lesson-homework__notice,
	.ny-lesson-homework-notice {
		padding:22px 26px;
	}

}


/* ========================================================= MOBILE ========================================================= */
@media(max-width:600px) {

	.ny-lesson-homework {
		border-radius:20px;
	}

	.ny-lesson-homework__num {
		font-size:52px;
		top:12px;
		right:18px;
	}

	.ny-lesson-homework__header,
	.ny-lesson-homework__body {
		padding:26px 22px 28px;
	}

	.ny-lesson-homework__title {
		font-size:26px;
	}

	.ny-lesson-homework__subtitle {
		font-size:15.5px;
	}

	.ny-lesson-homework__section-title {
		font-size:18px;
	}

	.ny-lesson-homework__step {
		flex-direction:column;
		gap:14px;
		padding:20px 22px;
	}

	.ny-lesson-homework__step-num {
		width:40px;
		height:40px;
		font-size:18px;
	}

	.ny-lesson-homework__step-title {
		padding-top:0;
	}

	.ny-lesson-homework__notice,
	.ny-lesson-homework-notice {
		padding:20px 22px;
	}

}


/* ========================================================= REDUCED MOTION ========================================================= */
@media(prefers-reduced-motion:reduce) {

	.ny-lesson-homework *,
	.ny-lesson-homework-notice * {
		transition:none !important;
		animation:none !important;
	}

}




/* ========================================================= BOX MODEL RESET ========================================================= */
.builder-item.part-header,
.builder-item.part-header * {
	box-sizing:border-box;
}


/* ========================================================= ЗАГОЛОВОК GETCOURSE (BUILDER-ITEM) ========================================================= */
.builder-item.part-header {
	position:relative;
	margin-bottom:25px;
	padding:0;
	font-family:var(--t-headline-font),Georgia,"Times New Roman",serif;
	color:#1E2A3D;
}

.builder-item.part-header h1,
.builder-item.part-header h2,
.builder-item.part-header h3,
.builder-item.part-header h4,
.builder-item.part-header h5,
.builder-item.part-header h6,
.builder-item.part-header .f-header {
	margin:0 0 .5em;
	padding:0;
	background:transparent;
	background-color:transparent;
	font-family:var(--t-headline-font),Georgia,"Times New Roman",serif;
	font-weight:700;
	line-height:1.2;
	letter-spacing:-.01em;
	color:#1E2A3D;
	text-wrap:balance;
}

.builder-item.part-header h1,
.builder-item.part-header .f-header-1 { font-size:48px; }
.builder-item.part-header h2,
.builder-item.part-header .f-header-2 { font-size:40px; }
.builder-item.part-header h3,
.builder-item.part-header .f-header-3 { font-size:32px; }
.builder-item.part-header h4,
.builder-item.part-header .f-header-4 { font-size:24px; }
.builder-item.part-header h5,
.builder-item.part-header .f-header-5 { font-size:20px; }
.builder-item.part-header h6,
.builder-item.part-header .f-header-6 { font-size:17px; }

.builder-item.part-header h1 p,
.builder-item.part-header h2 p,
.builder-item.part-header h3 p,
.builder-item.part-header h4 p,
.builder-item.part-header h5 p,
.builder-item.part-header h6 p,
.builder-item.part-header .f-header p {
	margin:0;
	padding:0;
	font-size:inherit;
	font-weight:inherit;
	line-height:inherit;
	color:inherit;
	letter-spacing:inherit;
}

.builder-item.part-header h1:last-child,
.builder-item.part-header h2:last-child,
.builder-item.part-header h3:last-child,
.builder-item.part-header h4:last-child,
.builder-item.part-header h5:last-child,
.builder-item.part-header h6:last-child,
.builder-item.part-header .f-header:last-child {
	margin-bottom:0;
}

.builder-item.part-header.text-left h1,
.builder-item.part-header.text-left h2,
.builder-item.part-header.text-left h3,
.builder-item.part-header.text-left h4,
.builder-item.part-header.text-left h5,
.builder-item.part-header.text-left h6,
.builder-item.part-header.text-left .f-header {
	text-align:left;
}

.builder-item.part-header.text-center h1,
.builder-item.part-header.text-center h2,
.builder-item.part-header.text-center h3,
.builder-item.part-header.text-center h4,
.builder-item.part-header.text-center h5,
.builder-item.part-header.text-center h6,
.builder-item.part-header.text-center .f-header {
	text-align:center;
}

.builder-item.part-header.text-right h1,
.builder-item.part-header.text-right h2,
.builder-item.part-header.text-right h3,
.builder-item.part-header.text-right h4,
.builder-item.part-header.text-right h5,
.builder-item.part-header.text-right h6,
.builder-item.part-header.text-right .f-header {
	text-align:right;
}


/* ========================================================= TABLET ========================================================= */
@media(max-width:900px) {

	.builder-item.part-header h1,
	.builder-item.part-header .f-header-1 { font-size:40px; }

	.builder-item.part-header h2,
	.builder-item.part-header .f-header-2 { font-size:32px; }

	.builder-item.part-header h3,
	.builder-item.part-header .f-header-3 { font-size:26px; }

	.builder-item.part-header h4,
	.builder-item.part-header .f-header-4 { font-size:20px; }

	.builder-item.part-header h5,
	.builder-item.part-header .f-header-5 { font-size:18px; }

	.builder-item.part-header h6,
	.builder-item.part-header .f-header-6 { font-size:16px; }

}


/* ========================================================= MOBILE ========================================================= */
@media(max-width:600px) {

	.builder-item.part-header {
		margin-bottom:20px;
	}

	.builder-item.part-header h1,
	.builder-item.part-header .f-header-1 { font-size:32px; }

	.builder-item.part-header h2,
	.builder-item.part-header .f-header-2 { font-size:26px; }

	.builder-item.part-header h3,
	.builder-item.part-header .f-header-3 { font-size:22px; }

	.builder-item.part-header h4,
	.builder-item.part-header .f-header-4 { font-size:18px; }

	.builder-item.part-header h5,
	.builder-item.part-header .f-header-5 { font-size:16px; }

	.builder-item.part-header h6,
	.builder-item.part-header .f-header-6 { font-size:15px; }

}