/* Home page hero slider
--------------------------------------------- */
.home-page { overflow: clip; }

.hero-slider {
	position: relative;
	isolation: isolate;
	background: var(--color-primary-deep);
	color: var(--color-white);
}

.hero-slider__viewport,
.hero-slider__track { position: relative; min-height: clamp(520px, 42vw, 760px); }

.hero-slider__viewport { overflow: hidden; }

.hero-slide {
	position: absolute;
	inset: 0;
	visibility: hidden;
	opacity: 0;
	transform: scale(1.025);
	background: var(--color-primary-deep);
	transition: visibility 0.8s ease, opacity 0.8s ease, transform 1.2s ease;
}

.hero-slide.is-active { z-index: 1; visibility: visible; opacity: 1; transform: scale(1); }

.hero-slide__image,
.hero-slide__shade {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
}

.hero-slide__image { object-fit: cover; object-position: center; }

.hero-slide__shade {
	background: linear-gradient(90deg, rgba(24, 3, 77, 0.92) 0%, rgba(34, 5, 102, 0.75) 28%, rgba(24, 3, 77, 0.2) 62%, rgba(24, 3, 77, 0.05) 100%);
	pointer-events: none;
}

.hero-slide--orange .hero-slide__shade {
	background: linear-gradient(90deg, rgba(43, 8, 91, 0.9) 0%, rgba(74, 22, 122, 0.7) 30%, rgba(255, 106, 33, 0.12) 65%, transparent 100%);
}

.hero-slide--gold .hero-slide__shade {
    background: linear-gradient(90deg, rgb(29 0 80) 0%, rgb(77 0 155 / 72%) 30%, rgba(255, 185, 36, 0.1) 66%, transparent 100%);
}

.hero-slide__inner {
	position: relative;
	z-index: 2;
	display: flex;
	min-height: clamp(520px, 42vw, 760px);
	align-items: center;
	padding-top: clamp(52px, 6vw, 90px);
	padding-bottom: clamp(96px, 9vw, 140px);
}

.hero-slide__content { width: min(650px, 53%); }

.hero-slide__eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 9px;
	margin-bottom: var(--space-5);
	padding: 9px 26px 9px 18px;
	border: 0;
	border-radius: var(--radius-sm);
	background: var(--color-accent);
	clip-path: polygon(0 0, calc(100% - 12px) 0, 100% 50%, calc(100% - 12px) 100%, 0 100%, 7px 50%);
	color: var(--color-white);
	font-size: var(--font-size-xs);
	font-weight: var(--font-weight-bold);
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

.hero-slide__eyebrow i { color: #ffd84d; font-size: 0.82rem; }

.hero-slide__title {
	max-width: 650px;
	margin-bottom: var(--space-5);
	color: var(--color-white);
	font-size: clamp(2.25rem, 3.6vw, 4rem);
	line-height: 1.1;
	letter-spacing: -0.025em;
	text-wrap: balance;
}

.hero-slide__description {
	max-width: 590px;
	margin-bottom: var(--space-8);
	color: rgba(255, 255, 255, 0.88);
	font-size: clamp(1rem, 1.25vw, 1.25rem);
	line-height: 1.7;
}

.hero-slide__button {
	min-height: 54px;
	padding-inline: 28px;
	border-color: var(--color-accent);
	background: var(--color-accent);
	color: var(--color-white);
}

.hero-slide__button:hover { border-color: var(--color-white); background: transparent; color: var(--color-white); }

.hero-slider__navigation {
	position: absolute;
	z-index: 4;
	right: 0;
	bottom: clamp(24px, 3vw, 44px);
	left: 0;
	display: flex;
	align-items: center;
	gap: 18px;
}

.hero-slider__arrows { display: flex; gap: 9px; }

.hero-slider__arrow,
.hero-slider__pause {
	display: inline-flex;
	width: 44px;
	height: 44px;
	align-items: center;
	justify-content: center;
	padding: 0;
	border: 1px solid rgba(255, 255, 255, 0.34);
	border-radius: var(--radius-circle);
	background: rgba(24, 3, 77, 0.34);
	color: var(--color-white);
	backdrop-filter: blur(10px);
	transition: background var(--transition-fast), border-color var(--transition-fast), transform var(--transition-fast);
}

.hero-slider__arrow:hover,
.hero-slider__pause:hover { border-color: var(--color-white); background: var(--color-white); color: var(--color-primary); transform: translateY(-2px); }
.hero-slider__arrow svg { width: 21px; height: 21px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 2; }
.hero-slider__dots { display: flex; flex: 1; align-items: center; gap: 9px; }
.hero-slider__dot { position: relative; width: 54px; height: 24px; padding: 10px 0; border: 0; background: transparent; }
.hero-slider__dot::before { position: absolute; right: 0; left: 0; height: 3px; border-radius: var(--radius-pill); background: rgba(255, 255, 255, 0.38); content: ""; }
.hero-slider__dot span { position: absolute; z-index: 1; right: 100%; left: 0; height: 3px; border-radius: var(--radius-pill); background: var(--color-accent); transition: right 0.25s ease; }
.hero-slider__dot.is-active span { right: 0; animation: hero-progress 6s linear; }
.hero-slider.is-paused .hero-slider__dot.is-active span { animation-play-state: paused; }

.hero-slider__pause-icon { position: relative; display: block; width: 12px; height: 14px; border-right: 3px solid currentColor; border-left: 3px solid currentColor; }
.hero-slider.is-paused .hero-slider__pause-icon { width: 0; height: 0; margin-left: 3px; border: 0; border-top: 7px solid transparent; border-bottom: 7px solid transparent; border-left: 11px solid currentColor; }

@keyframes hero-progress { from { right: 100%; } to { right: 0; } }

@media (max-width: 991px) {
	.hero-slider__viewport,
	.hero-slider__track,
	.hero-slide__inner { min-height: clamp(560px, 72vw, 680px); }
	.hero-slide__content { width: min(600px, 68%); }
	.hero-slide__title { font-size: clamp(2.2rem, 5.5vw, 3.5rem); }
}

@media (max-width: 767px) {
	.home-babies__gallery{display:flex!important;max-width:none!important;overflow-x:auto!important;overflow-y:hidden!important;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;overscroll-behavior-inline:contain}
	.hero-slider__viewport,
	.hero-slider__track,
	.hero-slide__inner { min-height: min(720px, calc(100svh - 108px)); }
	.hero-slide__shade,
	.hero-slide--orange .hero-slide__shade,
	.hero-slide--gold .hero-slide__shade { background: linear-gradient(180deg, rgba(24, 3, 77, 0.12) 0%, rgba(24, 3, 77, 0.38) 32%, rgba(24, 3, 77, 0.96) 100%); }
	.hero-slide__inner { align-items: flex-end; padding-top: 180px; padding-bottom: 108px; }
	.hero-slide__content { width: 100%; }
	.hero-slide__title { max-width: 560px; margin-bottom: var(--space-4); font-size: clamp(2rem, 8vw, 2.8rem); }
	.hero-slide__description { max-width: 540px; margin-bottom: var(--space-6); font-size: var(--font-size-base); line-height: 1.6; }
	.hero-slide__eyebrow { margin-bottom: var(--space-4); }
	.hero-slider__navigation { bottom: 22px; gap: 12px; }
	.hero-slider__arrows { display: none; }
	.hero-slider__dot { width: 42px; }
	.hero-slider__pause { width: 40px; height: 40px; }
}

@media (max-width: 480px) {
	.hero-slider__viewport,
	.hero-slider__track,
	.hero-slide__inner { min-height: 650px; }
	.hero-slide__inner { padding-top: 160px; }
	.hero-slide__eyebrow { font-size: 0.65rem; letter-spacing: 0.07em; }
	.hero-slide__button { width: 100%; max-width: 270px; }
}

@media (prefers-reduced-motion: reduce) {
	.hero-slide { transform: none; }
	.hero-slider__dot.is-active span { animation: none; right: 0; }
}

/* Homepage about
--------------------------------------------- */
.home-about {
	position: relative;
	overflow: hidden;
	padding-block: clamp(72px, 8vw, 128px);
	background: linear-gradient(180deg, var(--color-white) 0%, var(--color-bg-soft) 100%);
}

.home-about__shape { position: absolute; border-radius: var(--radius-circle); pointer-events: none; filter: blur(1px); }
.home-about__shape--one { top: -140px; left: -110px; width: 320px; height: 320px; background: rgba(91, 39, 184, 0.06); }
.home-about__shape--two { right: -90px; bottom: -130px; width: 280px; height: 280px; background: rgba(255, 106, 33, 0.08); }

.home-about__inner {
	position: relative;
	display: grid;
	grid-template-columns: minmax(0, 1.04fr) minmax(420px, 0.96fr);
	align-items: center;
	gap: clamp(54px, 7vw, 110px);
}

.home-about__eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin-bottom: var(--space-4);
	padding: 7px 13px;
	border-radius: var(--radius-pill);
	background: var(--color-accent-light);
	color: var(--color-accent-dark);
	font-size: var(--font-size-xs);
	font-weight: var(--font-weight-bold);
	letter-spacing: 0.09em;
	text-transform: uppercase;
}

.home-about__title {
	margin-bottom: var(--space-4);
	font-size: clamp(2.2rem, 3.4vw, 3.7rem);
	line-height: 1.08;
	letter-spacing: -0.025em;
}

.home-about__lead {
	max-width: 710px;
	margin-bottom: clamp(28px, 3vw, 42px);
	color: var(--color-text-light);
	font-size: var(--font-size-md);
	line-height: 1.75;
}

.home-about__values {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 10px 18px;
	margin-bottom: clamp(30px, 4vw, 46px);
}

.home-about__value {
	display: grid;
	grid-template-columns: 42px minmax(0, 1fr);
	gap: 12px;
	padding: 14px;
	border: 1px solid transparent;
	border-radius: var(--radius-md);
	transition: border-color var(--transition-base), background-color var(--transition-base), transform var(--transition-base);
}

.home-about__value:hover { border-color: var(--color-border); background: var(--color-white); transform: translateY(-2px); }
.home-about__value-icon { display: inline-flex; width: 42px; height: 42px; align-items: center; justify-content: center; border-radius: var(--radius-md); background: var(--color-bg-purple); color: var(--color-primary); font-size: 1.6rem; }
.home-about__value:nth-child(even) .home-about__value-icon { background: var(--color-accent-light); color: var(--color-accent-dark); }
.home-about__value h3 { margin: 1px 0 3px; font-family: var(--font-primary); font-size: var(--font-size-base); font-weight: var(--font-weight-semibold); line-height: 1.35; }
.home-about__value p { margin: 0; color: var(--color-text-light); font-size: var(--font-size-sm); line-height: 1.5; }
.home-about__button { min-width: 225px; }

.home-about__visual { position: relative; padding: clamp(20px, 3vw, 42px); padding-bottom: 0; }

.home-about__visual::before {
	position: absolute;
	z-index: 0;
	inset: 7% 2% 2% 8%;
	border-radius: 44% 56% 48% 52% / 52% 42% 58% 48%;
	background: linear-gradient(145deg, var(--color-bg-purple), var(--color-accent-light));
	content: "";
	transform: rotate(-3deg);
}

.home-about__image-wrap { position: relative; z-index: 1; }
.home-about__image-wrap img { width: 100%; height: auto; object-fit: contain; }

.home-about__note {
	position: relative;
	z-index: 2;
	right: auto;
	bottom: auto;
	display: flex;
	align-items: center;
	gap: 11px;
	max-width: 250px;
	padding: 14px 17px;
	border: 1px solid rgba(53, 16, 140, 0.09);
	border-radius: var(--radius-lg);
	background: rgba(255, 255, 255, 0.94);
	box-shadow: var(--shadow-md);
	backdrop-filter: blur(12px);
	margin: 14px 0 0 auto;
}

.home-about__note-icon { display: inline-flex; width: 38px; height: 38px; flex: 0 0 auto; align-items: center; justify-content: center; border-radius: var(--radius-circle); background: var(--color-accent); color: var(--color-white); }
.home-about__note strong,
.home-about__note span { display: flex; }
.home-about__note strong { color: var(--color-heading); font-size: var(--font-size-sm); line-height: 1.3; }
.home-about__note div > span { margin-top: 2px; color: var(--color-muted); font-size: 0.7rem; line-height: 1.35; }

@media (max-width: 1100px) {
	.home-about__inner { grid-template-columns: minmax(0, 1fr) minmax(360px, 0.8fr); gap: 42px; }
	.home-about__values { grid-template-columns: 1fr; gap: 4px; }
}

@media (max-width: 850px) {
	.home-about__inner { grid-template-columns: 1fr; }
	.home-about__content { max-width: 720px; }
	.home-about__values { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.home-about__visual { width: min(650px, 100%); margin-inline: auto; }
}

@media (max-width: 575px) {
	.home-about { padding-block: 64px; }
	.home-about__title { font-size: clamp(2rem, 10vw, 2.75rem); }
	.home-about__lead { font-size: var(--font-size-base); line-height: 1.65; }
	.home-about__values { grid-template-columns: 1fr; }
	.home-about__value { padding: 11px 4px; }
	.home-about__value:hover { border-color: transparent; background: transparent; transform: none; }
	.home-about__button { width: 100%; }
	.home-about__visual { padding: 12px 0 0; }
	.home-about__visual::before { inset: 8% -5% 5%; }
	.home-about__note { max-width: 230px; padding: 12px 14px; }
}

/* Homepage reflection
--------------------------------------------- */
.home-reflection {
	position: relative;
	isolation: isolate;
	overflow: hidden;
	padding-block: clamp(70px, 7vw, 112px);
	background: linear-gradient(120deg, #160444 0%, var(--color-primary-dark) 38%, #4d2aac 100%);
	color: var(--color-white);
}

.home-reflection::before {
	position: absolute;
	z-index: -1;
	inset: 0;
	background-image: radial-gradient(rgba(255, 255, 255, 0.15) 0.7px, transparent 0.7px);
	background-size: 18px 18px;
	content: "";
	opacity: 0.24;
}

.home-reflection__glow { position: absolute; z-index: -1; border-radius: var(--radius-circle); filter: blur(18px); pointer-events: none; }
.home-reflection__glow--left { top: -180px; left: -100px; width: 410px; height: 410px; background: rgba(82, 53, 190, 0.42); }
.home-reflection__glow--right { right: -80px; bottom: -210px; width: 440px; height: 440px; background: rgba(255, 106, 33, 0.18); }

.home-reflection__inner { position: relative; display: flex; align-items: center; flex-direction: column; text-align: center; }

.home-reflection__eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin-bottom: var(--space-5);
	padding: 7px 13px;
	border: 1px solid rgba(255, 255, 255, 0.2);
	border-radius: var(--radius-pill);
	background: rgba(255, 255, 255, 0.09);
	color: rgba(255, 255, 255, 0.82);
	font-size: 0.68rem;
	font-weight: var(--font-weight-bold);
	letter-spacing: 0.11em;
	text-transform: uppercase;
	backdrop-filter: blur(8px);
}

.home-reflection__eyebrow i { color: var(--color-accent); }
.home-reflection__quote-mark { display: inline-flex; margin-bottom: var(--space-3); color: var(--color-accent); font-size: clamp(1.6rem, 2.4vw, 2.4rem); }

.home-reflection__quote {
	margin: 0;
	color: var(--color-white);
	font-family: "Noto Sans Devanagari", "Mangal", var(--font-primary);
	font-size: clamp(1.65rem, 3vw, 2.75rem);
	font-weight: var(--font-weight-semibold);
	line-height: 1.5;
	letter-spacing: 0;
	text-wrap: balance;
}

.home-reflection__quote span { display: block; }
.home-reflection__line { width: 64px; height: 3px; margin-top: var(--space-6); border-radius: var(--radius-pill); background: var(--color-accent); }

.home-reflection__stars span { position: absolute; color: rgba(255, 211, 63, 0.72); animation: reflection-float 4s ease-in-out infinite; }
.home-reflection__stars span:nth-child(1) { top: 22%; left: 8%; font-size: 1.15rem; }
.home-reflection__stars span:nth-child(2) { top: 24%; right: 9%; font-size: 0.75rem; animation-delay: -1.4s; }
.home-reflection__stars span:nth-child(3) { right: 18%; bottom: 19%; font-size: 1rem; animation-delay: -2.6s; }

@keyframes reflection-float {
	50% { opacity: 0.42; transform: translateY(-8px) rotate(18deg); }
}

@media (max-width: 575px) {
	.home-reflection { padding-block: 64px; }
	.home-reflection__eyebrow { font-size: 0.61rem; letter-spacing: 0.08em; }
	.home-reflection__quote { font-size: clamp(1.45rem, 7vw, 2rem); line-height: 1.6; }
	.home-reflection__quote span + span { margin-top: 4px; }
	.home-reflection__stars span:nth-child(1) { left: 4%; }
	.home-reflection__stars span:nth-child(2) { right: 4%; }
}

@media (prefers-reduced-motion: reduce) {
	.home-reflection__stars span { animation: none; }
}

/* Homepage featured collection
--------------------------------------------- */
.home-collection {
	position: relative;
	overflow: hidden;
	padding-block: clamp(82px, 9vw, 145px);
	background:
		radial-gradient(circle at 8% 8%, rgba(91, 39, 184, 0.09), transparent 28%),
		radial-gradient(circle at 92% 84%, rgba(255, 106, 33, 0.1), transparent 25%),
		linear-gradient(180deg, var(--color-white) 0%, var(--color-bg-purple) 100%);
}

.home-collection__header { display: grid; grid-template-columns: minmax(0, 0.9fr) minmax(320px, 0.65fr); align-items: end; column-gap: clamp(40px, 8vw, 130px); margin-bottom: clamp(48px, 6vw, 78px); text-align: left; }
.home-collection__eyebrow { display: inline-flex; grid-column: 1; align-items: center; justify-self: start; gap: 8px; margin-bottom: var(--space-3); color: var(--color-accent-dark); font-size: var(--font-size-xs); font-weight: var(--font-weight-bold); letter-spacing: 0.1em; text-transform: uppercase; }
.home-collection__eyebrow i { color: var(--color-accent); }
.home-collection__header h2 { grid-column: 1; margin: 0; color: var(--color-heading); font-size: clamp(2.3rem, 3.7vw, 3.8rem); }
.home-collection__header p { grid-column: 2; grid-row: 1 / span 2; margin: 0 0 4px; padding-left: clamp(20px, 3vw, 42px); border-left: 2px solid var(--color-accent); color: var(--color-text-light); font-size: var(--font-size-md); line-height: 1.75; }

.home-collection__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: start; gap: clamp(24px, 4vw, 54px); }

.collection-product {
	position: relative;
	display: flex;
	overflow: hidden;
	flex-direction: column;
	border: 0;
	border-radius: clamp(22px, 3vw, 34px);
	background: var(--color-white);
	box-shadow: 0 22px 62px rgba(38, 16, 93, 0.12);
	transition: transform var(--transition-base), box-shadow var(--transition-base);
}

.collection-product:nth-child(2) { margin-top: clamp(36px, 6vw, 82px); }
.collection-product:hover,
.collection-product:focus-within { box-shadow: 0 30px 72px rgba(38, 16, 93, 0.18); transform: translateY(-7px); }
.collection-product__media { position: relative; z-index: 1; display: block; overflow: hidden; background: transparent; }
.collection-product__image { position: relative; z-index: 1; display: block; width: 100%; height: auto; max-width: 100%; padding: 0; object-fit: contain; object-position: center; transition: transform var(--transition-slow); }
.collection-product:hover .collection-product__image,
.collection-product:focus-within .collection-product__image { transform: scale(1.012); }

.collection-product__badge {
	position: absolute;
	z-index: 2;
	top: 18px;
	left: 18px;
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 6px 10px;
	border-radius: var(--radius-pill);
	background: var(--color-accent);
	color: var(--color-white);
	font-size: 0.66rem;
	font-weight: var(--font-weight-bold);
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

.collection-product__number { position: absolute; z-index: 2; top: 17px; right: 19px; color: rgba(53, 16, 140, 0.42); font-family: var(--font-heading); font-size: 1.15rem; font-weight: var(--font-weight-bold); letter-spacing: 0.04em; }

.collection-product__body { display: flex; min-width: 0; flex: 1; flex-direction: column; padding: clamp(24px, 3vw, 38px); }
.collection-product__collection { margin-bottom: 7px; color: var(--color-accent-dark); font-size: 0.68rem; font-weight: var(--font-weight-bold); letter-spacing: 0.09em; text-transform: uppercase; }
.collection-product h3 { margin-bottom: var(--space-2); font-size: clamp(1.4rem, 2vw, 1.9rem); }
.collection-product h3 a { color: var(--color-heading); }
.collection-product h3 a::after { position: absolute; z-index: 2; inset: 0; content: ""; }
.collection-product h3 a:hover { color: var(--color-primary); }
.collection-product__description { margin-bottom: var(--space-5); color: var(--color-text-light); font-size: var(--font-size-sm); line-height: 1.6; }
.collection-product__description p { margin: 0; }
.collection-product__description strong { display: block; margin-bottom: 5px; color: var(--color-text-dark); font-weight: var(--font-weight-semibold); }
.collection-product__purchase { position: relative; z-index: 4; display: flex; align-items: center; justify-content: space-between; gap: var(--space-5); margin-top: auto; padding-top: var(--space-5); border-top: 1px solid var(--color-border-light); }
.collection-product__price { color: var(--color-primary); font-size: clamp(1.3rem, 2vw, 1.75rem); font-weight: var(--font-weight-bold); white-space: nowrap; }
.collection-product__price:hover { color: var(--color-accent-dark); }
.collection-product__price del { margin-right: 4px; color: var(--color-muted); font-size: 0.72em; font-weight: var(--font-weight-regular); }
.collection-product__price ins { text-decoration: none; }
.collection-product__button { min-width: 170px; }
.collection-product__button.added::after { content: "\f00c"; }
.collection-product__button.added { background: var(--color-success); border-color: var(--color-success); }

.collection-product:focus-within { outline: 3px solid rgba(53, 16, 140, 0.35); outline-offset: 5px; }
.collection-product h3 a:focus-visible,
.collection-product__media:focus-visible { outline: none; }

@media (max-width: 820px) {
	.home-collection__header { display: block; }
	.home-collection__header h2 { margin-bottom: var(--space-3); }
	.home-collection__header p { max-width: 620px; padding-left: 0; border-left: 0; }
	.home-collection__grid { grid-template-columns: 1fr; max-width: 650px; }
	.collection-product:nth-child(2) { margin-top: 0; }
	.collection-product:hover,
	.collection-product:focus-within { transform: translateY(-3px); }
}

@media (max-width: 480px) {
	.home-collection { padding-block: 70px; }
	.home-collection__header p { font-size: var(--font-size-base); }
	.collection-product__purchase { align-items: stretch; flex-direction: column; }
	.collection-product__button { width: 100%; }
}

/* Homepage flashcard offer
--------------------------------------------- */
.home-offer {
	position: relative;
	isolation: isolate;
	overflow: hidden;
	padding-block: clamp(74px, 8vw, 118px);
	background:
		radial-gradient(circle at 50% -30%, rgba(122, 83, 218, 0.72), transparent 48%),
		linear-gradient(115deg, #14033f 0%, #2e0b79 52%, #4a25a0 100%);
	color: var(--color-white);
}

.home-offer::before { position: absolute; z-index: -1; inset: 0; background-image: radial-gradient(rgba(255, 255, 255, 0.12) 0.8px, transparent 0.8px); background-size: 19px 19px; content: ""; opacity: 0.2; }
.home-offer__inner { position: relative; z-index: 2; display: flex; align-items: center; flex-direction: column; text-align: center; }
.home-offer__eyebrow { display: inline-flex; align-items: center; gap: 8px; margin-bottom: var(--space-5); padding: 7px 13px; border: 1px solid rgba(255, 255, 255, 0.2); border-radius: var(--radius-pill); background: rgba(255, 255, 255, 0.09); color: rgba(255, 255, 255, 0.84); font-size: 0.68rem; font-weight: var(--font-weight-bold); letter-spacing: 0.1em; text-transform: uppercase; backdrop-filter: blur(8px); }
.home-offer__eyebrow i { color: #ffd44d; }
.home-offer h2 { max-width: 1000px; margin-bottom: var(--space-4); color: var(--color-white); font-family: var(--font-primary); font-size: clamp(2rem, 4vw, 4rem); font-weight: var(--font-weight-bold); line-height: 1.18; letter-spacing: -0.035em; text-wrap: balance; }
.home-offer h2 strong { display: inline-block; padding: 2px 12px 5px; border-radius: var(--radius-sm); background: var(--color-accent); color: var(--color-white); font-family: var(--font-heading); transform: rotate(-1.5deg); }
.home-offer__inner > p { max-width: 720px; margin-bottom: var(--space-8); color: rgba(255, 255, 255, 0.75); font-size: var(--font-size-md); }
.home-offer__action { display: flex; align-items: center; justify-content: center; gap: var(--space-5); }
.home-offer__button { border-color: var(--color-white); background: var(--color-white); color: var(--color-primary-dark); }
.home-offer__button:hover { border-color: var(--color-white); background: transparent; color: var(--color-white); }
.home-offer__price { color: rgba(255, 255, 255, 0.68); font-size: var(--font-size-sm); }
.home-offer__price .amount { color: var(--color-white); font-weight: var(--font-weight-bold); }

.home-offer__card { position: absolute; z-index: 0; display: flex; width: clamp(90px, 10vw, 150px); aspect-ratio: 0.72; align-items: center; justify-content: center; border: 1px solid rgba(255, 255, 255, 0.18); border-radius: var(--radius-lg); background: rgba(255, 255, 255, 0.08); color: rgba(255, 255, 255, 0.17); font-family: var(--font-heading); font-size: clamp(2.5rem, 5vw, 5rem); font-weight: var(--font-weight-bold); backdrop-filter: blur(6px); }
.home-offer__card--one { top: 18%; left: 5%; transform: rotate(-12deg); }
.home-offer__card--two { right: 5%; bottom: 12%; transform: rotate(11deg); }
.home-offer__sparkles i { position: absolute; color: rgba(255, 210, 69, 0.7); }
.home-offer__sparkles i:nth-child(1) { top: 18%; right: 20%; font-size: 0.75rem; }
.home-offer__sparkles i:nth-child(2) { bottom: 18%; left: 19%; font-size: 1rem; }
.home-offer__sparkles i:nth-child(3) { top: 50%; right: 8%; font-size: 0.6rem; }

@media (max-width: 767px) {
	.home-offer__card { opacity: 0.5; }
	.home-offer__card--one { left: -35px; }
	.home-offer__card--two { right: -35px; }
	.home-offer__action { flex-direction: column; gap: var(--space-3); }
}

@media (max-width: 480px) {
	.home-offer { padding-block: 68px; }
	.home-offer h2 { font-size: clamp(1.8rem, 9vw, 2.6rem); }
	.home-offer__inner > p { font-size: var(--font-size-base); }
	.home-offer__button { width: 100%; max-width: 280px; }
}

/* Homepage parent trust
--------------------------------------------- */
.home-trust {
	position: relative;
	overflow: hidden;
	padding-block: clamp(78px, 9vw, 140px);
	background:
		radial-gradient(circle at 50% 48%, rgba(255, 106, 33, 0.08), transparent 25%),
		linear-gradient(180deg, var(--color-white), #fffafd);
}

.home-trust__header { max-width: 850px; margin-bottom: clamp(54px, 7vw, 90px); text-align: center; }
.home-trust__eyebrow { display: inline-flex; align-items: center; gap: 8px; margin-bottom: var(--space-3); color: var(--color-accent-dark); font-size: var(--font-size-xs); font-weight: var(--font-weight-bold); letter-spacing: 0.1em; text-transform: uppercase; }
.home-trust__eyebrow i { color: var(--color-accent); }
.home-trust__header h2 { margin-bottom: var(--space-4); font-size: clamp(2.25rem, 3.8vw, 3.8rem); }
.home-trust__header p { margin: 0; color: var(--color-text-light); font-size: var(--font-size-md); line-height: 1.75; }

.home-trust__layout { display: grid; grid-template-columns: minmax(250px, 0.85fr) minmax(340px, 1.05fr) minmax(250px, 0.85fr); align-items: center; gap: clamp(28px, 4vw, 64px); }
.home-trust__benefits { display: grid; gap: clamp(22px, 3vw, 36px); }
.home-trust__benefit { display: grid; grid-template-columns: 40px minmax(0, 1fr); gap: 14px; align-items: start; padding-block: 10px; border-bottom: 1px solid var(--color-border-light); }
.home-trust__benefits--left .home-trust__benefit { grid-template-columns: minmax(0, 1fr) 40px; text-align: right; }
.home-trust__benefits--left .home-trust__benefit > div { grid-column: 1; grid-row: 1; }
.home-trust__benefits--left .home-trust__icon { grid-column: 2; }
.home-trust__icon { display: inline-flex; width: 40px; height: 40px; align-items: center; justify-content: center; border: 1px solid rgba(53,16,140,.15); border-radius: 50%; background: var(--color-white); color: var(--color-primary); font-size: 1.6rem; }
.home-trust__benefit:hover .home-trust__icon,
.home-trust__benefit:nth-child(even) .home-trust__icon,
.home-trust__benefit:nth-child(even):hover .home-trust__icon { border-color: rgba(255,106,33,.42); background: var(--color-white); color: var(--color-accent-dark); }
.home-trust__benefit h3 { margin: 2px 0 5px; font-family: var(--font-primary); font-size: var(--font-size-base); font-weight: var(--font-weight-semibold); line-height: 1.35; }
.home-trust__benefit p { margin: 0; color: var(--color-text-light); font-size: var(--font-size-sm); line-height: 1.55; }

.home-trust__visual { display: flex; width: min(510px, 100%); align-items: center; justify-content: center; margin-inline: auto; }
.home-trust__center-image { display: block; width: 100%; height: auto; object-fit: contain; }

.home-trust__closing { display: flex; align-items: center; justify-content: center; gap: 12px; margin-top: clamp(50px, 7vw, 88px); padding: 18px 24px; border: 1px solid var(--color-border); border-radius: var(--radius-pill); background: var(--color-white); color: var(--color-accent-dark); text-align: center; }
.home-trust__closing i { color: var(--color-primary); font-size: 1.1rem; }
.home-trust__closing p { margin: 0; font-size: var(--font-size-md); font-weight: var(--font-weight-medium); }

@media (max-width: 1100px) {
	.home-trust__layout { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.home-trust__visual { grid-column: 1 / -1; grid-row: 1; width: min(500px, 82vw); }
	.home-trust__benefits--left .home-trust__benefit { grid-template-columns: 48px minmax(0, 1fr); text-align: left; }
	.home-trust__benefits--left .home-trust__benefit > div { grid-column: 2; }
	.home-trust__benefits--left .home-trust__icon { grid-column: 1; }
}

@media (max-width: 700px) {
	.home-trust__layout { grid-template-columns: 1fr; }
	.home-trust__visual { grid-column: 1; }
	.home-trust__benefits { gap: 20px; }
	.home-trust__benefit,
	.home-trust__benefits--left .home-trust__benefit { grid-template-columns: 44px minmax(0, 1fr); }
	.home-trust__icon { width: 44px; height: 44px; border-radius: 13px; }
	.home-trust__closing { align-items: flex-start; border-radius: var(--radius-lg); text-align: left; }
	.home-trust__closing p { font-size: var(--font-size-base); }
	.home-contact__visual img {
    max-width: 53%;
    margin: 0 auto;
}
}

@media (max-width: 480px) {
	.home-trust { padding-block: 68px; }
	.home-trust__visual { width: min(380px, 100%); }
}

/* Homepage brand belief
--------------------------------------------- */
.home-belief {
	position: relative;
	isolation: isolate;
	overflow: hidden;
	padding-block: clamp(78px, 8vw, 126px);
	background:
		radial-gradient(circle at 50% -50%, rgba(116, 80, 211, 0.8), transparent 52%),
		linear-gradient(110deg, #12033c 0%, #28106c 52%, #3b2091 100%);
	color: var(--color-white);
}

.home-belief::before { position: absolute; z-index: -2; inset: 0; background-image: linear-gradient(rgba(255, 255, 255, 0.028) 1px, transparent 1px), linear-gradient(90deg, rgba(255, 255, 255, 0.028) 1px, transparent 1px); background-size: 42px 42px; content: ""; mask-image: linear-gradient(to right, transparent, #000 20%, #000 80%, transparent); }
.home-belief__inner { position: relative; z-index: 2; display: flex; align-items: center; flex-direction: column; text-align: center; }
.home-belief__monogram { position: absolute; z-index: -1; top: 50%; left: 50%; color: rgba(255, 255, 255, 0.025); font-family: var(--font-heading); font-size: clamp(12rem, 28vw, 32rem); font-weight: var(--font-weight-bold); line-height: 0.7; letter-spacing: -0.12em; transform: translate(-50%, -50%); pointer-events: none; }
.home-belief__beam { position: absolute; z-index: -1; width: 42%; height: 1px; background: linear-gradient(90deg, transparent, rgba(255, 106, 33, 0.5), transparent); }
.home-belief__beam--left { top: 28%; left: -8%; transform: rotate(22deg); }
.home-belief__beam--right { right: -8%; bottom: 28%; transform: rotate(-22deg); }

.home-belief__eyebrow { display: inline-flex; align-items: center; gap: 12px; margin-bottom: var(--space-6); color: #ffc6aa; font-size: 0.68rem; font-weight: var(--font-weight-bold); letter-spacing: 0.14em; text-transform: uppercase; }
.home-belief__eyebrow span { width: 30px; height: 1px; background: var(--color-accent); }

.home-belief h2 {
	max-width: 1050px;
	margin: 0;
	color: var(--color-white);
	font-family: "Noto Sans Devanagari", "Mangal", var(--font-primary);
	font-size: clamp(1.7rem, 3vw, 3rem);
	font-weight: var(--font-weight-semibold);
	line-height: 1.55;
	letter-spacing: 0;
	text-wrap: balance;
}

.home-belief h2 > span { display: block; }
.home-belief h2 > span + span { margin-top: 5px; }
.home-belief h2 strong { color: var(--color-white); font-family: var(--font-primary); }
.home-belief h2 em { position: relative; color: #ffd3bd; font-style: normal; white-space: nowrap; }
.home-belief h2 em::after { position: absolute; right: 0; bottom: -3px; left: 0; height: 2px; border-radius: var(--radius-pill); background: var(--color-accent); content: ""; transform: scaleX(0.72); }

.home-belief__signature { display: inline-flex; align-items: center; gap: 9px; margin-top: clamp(28px, 4vw, 44px); padding: 9px 15px; border: 1px solid rgba(255, 255, 255, 0.16); border-radius: var(--radius-pill); background: rgba(255, 255, 255, 0.06); color: rgba(255, 255, 255, 0.72); font-size: var(--font-size-xs); letter-spacing: 0.04em; backdrop-filter: blur(8px); }
.home-belief__signature i { color: var(--color-accent); }

@media (max-width: 767px) {
	.home-belief h2 { font-size: clamp(1.55rem, 6.2vw, 2.3rem); line-height: 1.62; }
	.home-belief h2 em { white-space: normal; }
	.home-belief h2 > span + span { margin-top: 10px; }
}

@media (max-width: 480px) {
	.home-belief { padding-block: 68px; }
	.home-belief__eyebrow { gap: 8px; font-size: 0.6rem; letter-spacing: 0.1em; }
	.home-belief__eyebrow span { width: 20px; }
	.home-belief h2 { font-size: clamp(1.4rem, 7vw, 1.85rem); }
	.home-belief__signature { padding-inline: 12px; text-align: left; }
}

/* Homepage baby club gallery
--------------------------------------------- */
.home-babies {
	position: relative;
	overflow: hidden;
	padding-block: clamp(78px, 9vw, 140px);
	background: linear-gradient(180deg, var(--color-white) 0%, #fff8f4 100%);
}

.home-babies__shape { position: absolute; top: -210px; right: -170px; width: 480px; height: 480px; border: 1px solid rgba(255, 106, 33, 0.1); border-radius: var(--radius-circle); pointer-events: none; }
.home-babies__shape::before,
.home-babies__shape::after { position: absolute; border: 1px solid rgba(53, 16, 140, 0.08); border-radius: inherit; content: ""; }
.home-babies__shape::before { inset: 54px; }
.home-babies__shape::after { inset: 108px; }

.home-babies__header { position: relative; display: grid; grid-template-columns: minmax(0, 0.85fr) minmax(360px, 0.7fr); align-items: end; gap: clamp(40px, 8vw, 130px); margin-bottom: clamp(44px, 6vw, 76px); }
.home-babies__eyebrow { display: inline-flex; align-items: center; gap: 8px; margin-bottom: var(--space-3); color: var(--color-accent-dark); font-size: var(--font-size-xs); font-weight: var(--font-weight-bold); letter-spacing: 0.1em; text-transform: uppercase; }
.home-babies__eyebrow i { color: var(--color-accent); }
.home-babies__header h2 { margin: 0; font-size: clamp(2.3rem, 3.8vw, 3.8rem); }
.home-babies__intro { padding-left: clamp(20px, 3vw, 42px); border-left: 2px solid var(--color-accent); }
.home-babies__intro p { margin-bottom: var(--space-4); color: var(--color-text-light); font-size: var(--font-size-base); line-height: 1.7; }
.home-babies__intro > span { display: inline-flex; align-items: baseline; gap: 8px; color: var(--color-muted); font-size: var(--font-size-xs); font-weight: var(--font-weight-semibold); letter-spacing: 0.06em; text-transform: uppercase; }
.home-babies__intro strong { color: var(--color-primary); font-family: var(--font-heading); font-size: 1.6rem; line-height: 1; }

.home-babies__gallery { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); align-items: start; gap: clamp(16px, 2vw, 28px); }
.home-babies__item { min-width: 0; }
.home-babies__item:nth-child(even) { margin-top: clamp(24px, 4vw, 58px); }
.home-babies__image-wrap { position: relative; overflow: hidden; border-radius: clamp(18px, 2vw, 28px); background: var(--color-white); box-shadow: 0 18px 45px rgba(38, 16, 93, 0.11); transition: transform var(--transition-base), box-shadow var(--transition-base); }
.home-babies__item:hover .home-babies__image-wrap { box-shadow: 0 26px 58px rgba(38, 16, 93, 0.17); transform: translateY(-6px); }
.home-babies__image-wrap img { display: block; width: 100%; height: auto; object-fit: contain; }
.home-babies__number { position: absolute; right: 14px; bottom: 13px; display: inline-flex; min-width: 34px; height: 26px; align-items: center; justify-content: center; padding-inline: 7px; border: 1px solid rgba(255, 255, 255, 0.22); border-radius: var(--radius-pill); background: rgba(24, 3, 77, 0.72); color: var(--color-white); font-size: 0.62rem; font-weight: var(--font-weight-bold); letter-spacing: 0.08em; backdrop-filter: blur(8px); }
.home-babies__item figcaption { display: flex; align-items: center; gap: 7px; padding: 13px 5px 0; color: var(--color-text-light); font-size: var(--font-size-xs); font-weight: var(--font-weight-medium); }
.home-babies__item figcaption i { color: var(--color-accent); font-size: 0.68rem; }
.home-babies__swipe-note { display: none; }

@media (max-width: 991px) {
	.home-babies__header { grid-template-columns: 1fr; gap: 22px; }
	.home-babies__intro { max-width: 680px; padding-left: 0; border-left: 0; }
	.home-babies__gallery { grid-template-columns: repeat(2, minmax(0, 1fr)); max-width: 760px; }
	.home-babies__item:nth-child(even) { margin-top: 32px; }
}

@media (max-width: 575px) {
	.home-babies { padding-block: 68px; }
	.home-babies__header { margin-bottom: 34px; }
	.home-babies__gallery {
		display: flex;
		width: auto;
		max-width: none;
		margin-right: calc(var(--container-padding) * -1);
		padding-right: var(--container-padding);
		overflow-x: auto;
		scroll-padding-left: var(--container-padding);
		scroll-snap-type: x mandatory;
		overscroll-behavior-inline: contain;
		-webkit-overflow-scrolling: touch;
		scrollbar-width: none;
		padding: 0 30px;
	}
	.home-babies__gallery::-webkit-scrollbar { display: none; }
	.home-babies__item { width: min(78vw, 330px); flex: 0 0 auto; scroll-snap-align: start; }
	.home-babies__item:nth-child(even) { margin-top: 0; }
	.home-babies__item:hover .home-babies__image-wrap { transform: none; }
	.home-babies__swipe-note { display: flex; align-items: center; justify-content: center; gap: 8px; margin-top: 24px; margin-bottom: 0; color: var(--color-muted); font-size: var(--font-size-xs); }
	.home-babies__swipe-note i { color: var(--color-primary); }
}

/* Homepage testimonials slider
--------------------------------------------- */
.home-testimonials {
	position: relative;
	overflow: hidden;
	padding-block: clamp(78px, 9vw, 140px);
	background:
		radial-gradient(circle at 8% 15%, rgba(255, 106, 33, 0.09), transparent 25%),
		radial-gradient(circle at 90% 90%, rgba(91, 39, 184, 0.1), transparent 28%),
		var(--color-bg-purple);
}

.home-testimonials__header { display: grid; grid-template-columns: minmax(0, 0.85fr) minmax(340px, 0.65fr); align-items: end; gap: clamp(40px, 8vw, 130px); margin-bottom: clamp(42px, 6vw, 72px); }
.home-testimonials__eyebrow { display: inline-flex; align-items: center; gap: 8px; margin-bottom: var(--space-3); color: var(--color-accent-dark); font-size: var(--font-size-xs); font-weight: var(--font-weight-bold); letter-spacing: 0.1em; text-transform: uppercase; }
.home-testimonials__eyebrow i { color: var(--color-accent); }
.home-testimonials__header h2 { margin: 0; font-size: clamp(2.3rem, 3.8vw, 3.8rem); }
.home-testimonials__header > p { margin: 0; padding-left: clamp(20px, 3vw, 42px); border-left: 2px solid var(--color-accent); color: var(--color-text-light); font-size: var(--font-size-base); line-height: 1.75; }
.home-testimonials__viewport { overflow: hidden; }
.home-testimonials__track { display: flex; gap: clamp(20px, 2.5vw, 34px); transition: transform 0.65s cubic-bezier(0.22, 1, 0.36, 1); will-change: transform; }

.testimonial-card {
	position: relative;
	display: flex;
	min-width: calc((100% - clamp(20px, 2.5vw, 34px)) / 2);
	min-height: 360px;
	flex: 0 0 calc((100% - clamp(20px, 2.5vw, 34px)) / 2);
	flex-direction: column;
	padding: clamp(28px, 4vw, 48px);
	border: 1px solid rgba(53, 16, 140, 0.09);
	border-radius: clamp(20px, 2.5vw, 30px);
	background: rgba(255, 255, 255, 0.92);
	box-shadow: none;
	transition: border-color var(--transition-base), transform var(--transition-base);
}

.testimonial-card:hover { border-color: rgba(53, 16, 140, 0.2); transform: none; }
.testimonial-card::after { position: absolute; top: 0; right: clamp(28px, 4vw, 48px); width: 46px; height: 4px; border-radius: 0 0 var(--radius-pill) var(--radius-pill); background: var(--color-accent); content: ""; }
.testimonial-card__top { display: flex; align-items: center; justify-content: space-between; margin-bottom: var(--space-6); }
.testimonial-card__quote { color: var(--color-primary); font-size: 1.7rem; }
.testimonial-card__rating { display: inline-flex; gap: 3px; color: #f7ad13; font-size: 0.72rem; }
.testimonial-card blockquote { flex: 1; margin: 0 0 var(--space-8); padding: 0; border: 0; color: var(--color-text-dark); font-family: var(--font-primary); font-size: clamp(1rem, 1.25vw, 1.12rem); font-style: normal; line-height: 1.78; }
.testimonial-card__author { display: flex; align-items: center; gap: 12px; padding-top: var(--space-5); border-top: 1px solid var(--color-border-light); }
.testimonial-card__avatar { display: block; width: 50px; height: 50px; flex: 0 0 auto; border: 2px solid var(--color-white); border-radius: var(--radius-circle); object-fit: cover; box-shadow: 0 0 0 1px var(--color-border); }
.testimonial-card__author strong,
.testimonial-card__author span { display: block; }
.testimonial-card__author strong { color: var(--color-heading); font-size: var(--font-size-sm); }
.testimonial-card__author div > span { margin-top: 2px; color: var(--color-muted); font-size: 0.68rem; }

.home-testimonials__controls { display: flex; align-items: center; justify-content: space-between; margin-top: clamp(28px, 4vw, 44px); }
.home-testimonials__dots { display: flex; align-items: center; gap: 8px; }
.home-testimonials__dots button { width: 9px; height: 9px; padding: 0; border: 0; border-radius: var(--radius-circle); background: rgba(53, 16, 140, 0.2); transition: width var(--transition-base), border-radius var(--transition-base), background-color var(--transition-base); }
.home-testimonials__dots button.is-active { width: 30px; border-radius: var(--radius-pill); background: var(--color-primary); }
.home-testimonials__dots button[hidden] { display: none; }
.home-testimonials__arrows { display: flex; gap: 9px; }
.home-testimonials__arrows button { display: inline-flex; width: 46px; height: 46px; align-items: center; justify-content: center; padding: 0; border: 1px solid var(--color-border); border-radius: var(--radius-circle); background: var(--color-white); color: var(--color-primary); transition: border-color var(--transition-fast), background-color var(--transition-fast), color var(--transition-fast); }
.home-testimonials__arrows button:hover { border-color: var(--color-primary); background: var(--color-primary); color: var(--color-white); }

@media (max-width: 767px) {
	.home-testimonials__header { display: block; }
	.home-testimonials__header h2 { margin-bottom: var(--space-3); }
	.home-testimonials__header > p { max-width: 620px; padding-left: 0; border-left: 0; }
	.testimonial-card { min-width: 100%; min-height: 370px; flex-basis: 100%; }
}

@media (max-width: 480px) {
	.home-testimonials { padding-block: 68px; }
	.testimonial-card { min-height: 400px; padding: 26px 22px; }
	.testimonial-card blockquote { font-size: var(--font-size-base); line-height: 1.7; }
	.home-testimonials__arrows button { width: 42px; height: 42px; }
}

@media (prefers-reduced-motion: reduce) {
	.home-testimonials__track { transition: none; }
}

/* Homepage featured blog
--------------------------------------------- */
.home-blog {
	position: relative;
	overflow: hidden;
	padding-block: clamp(78px, 9vw, 140px);
	background:
		radial-gradient(circle at 96% 5%, rgba(255, 106, 33, 0.08), transparent 25%),
		var(--color-white);
}

.home-blog__header { display: grid; grid-template-columns: minmax(0, 0.85fr) minmax(340px, 0.65fr); align-items: end; gap: clamp(40px, 8vw, 130px); margin-bottom: clamp(44px, 6vw, 74px); }
.home-blog__eyebrow { display: inline-flex; align-items: center; gap: 8px; margin-bottom: var(--space-3); color: var(--color-accent-dark); font-size: var(--font-size-xs); font-weight: var(--font-weight-bold); letter-spacing: 0.1em; text-transform: uppercase; }
.home-blog__eyebrow i { color: var(--color-accent); }
.home-blog__header h2 { margin: 0; font-size: clamp(2.3rem, 3.8vw, 3.8rem); }
.home-blog__intro { padding-left: clamp(20px, 3vw, 42px); border-left: 2px solid var(--color-accent); }
.home-blog__intro p { margin-bottom: var(--space-4); color: var(--color-text-light); font-size: var(--font-size-base); line-height: 1.7; }
.home-blog__intro a { display: inline-flex; align-items: center; gap: 8px; color: var(--color-primary); font-size: var(--font-size-sm); font-weight: var(--font-weight-semibold); }
.home-blog__intro a i { font-size: 0.78rem; transition: transform var(--transition-base); }
.home-blog__intro a:hover i { transform: translateX(4px); }

.home-blog__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); align-items: stretch; gap: clamp(20px, 2.2vw, 32px); }
.home-blog-card { position: relative; display: grid; grid-template-rows: auto 1fr; min-width: 0; overflow: hidden; border: 1px solid var(--color-border); border-radius: clamp(18px, 2vw, 26px); background: var(--color-white); transition: border-color var(--transition-base), transform var(--transition-base), box-shadow var(--transition-base); }
.home-blog-card:hover,
.home-blog-card:focus-within { border-color: rgba(53, 16, 140, 0.25); box-shadow: 0 20px 55px rgba(38, 16, 93, 0.11); transform: translateY(-4px); }
.home-blog-card__media { position: relative; z-index: 1; display: block; min-height: 0; overflow: hidden; aspect-ratio: 16 / 10; background: var(--color-bg-purple); }
.home-blog-card__media img { width: 100%; height: 100%; padding: 0; object-fit: cover; object-position: center; transition: transform var(--transition-slow); }
.home-blog-card:hover .home-blog-card__media img { transform: scale(1.035); }
.home-blog-card__category { position: absolute; z-index: 2; top: 15px; left: 15px; padding: 6px 10px; border-radius: var(--radius-pill); background: rgba(255, 255, 255, 0.94); color: var(--color-primary); font-size: 0.62rem; font-weight: var(--font-weight-bold); letter-spacing: 0.07em; text-transform: uppercase; backdrop-filter: blur(8px); }
.home-blog-card__body { display: flex; min-width: 0; flex-direction: column; justify-content: center; padding: clamp(22px, 3vw, 34px); }
.home-blog-card__meta { display: flex; flex-wrap: wrap; align-items: center; gap: 7px; margin-bottom: var(--space-3); color: var(--color-muted); font-size: 0.68rem; font-weight: var(--font-weight-medium); text-transform: uppercase; }
.home-blog-card h3 { margin-bottom: var(--space-3); font-size: clamp(1.08rem, 1.35vw, 1.35rem); line-height: 1.35; }
.home-blog-card h3 a { color: var(--color-heading); }
.home-blog-card h3 a::after { position: absolute; z-index: 2; inset: 0; content: ""; }
.home-blog-card h3 a:hover { color: var(--color-primary); }
.home-blog-card__body > p { display: -webkit-box; margin-bottom: var(--space-5); overflow: hidden; color: var(--color-text-light); font-size: var(--font-size-sm); line-height: 1.65; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.home-blog-card__read { display: inline-flex; align-items: center; gap: 7px; margin-top: auto; color: var(--color-primary); font-size: var(--font-size-xs); font-weight: var(--font-weight-semibold); }
.home-blog-card__read i { font-size: 0.7rem; transition: transform var(--transition-base); }
.home-blog-card:hover .home-blog-card__read i { transform: translateX(4px); }

@media (max-width: 1050px) {
	.home-blog__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); grid-template-rows: auto; }
	.home-blog-card:last-child { grid-column: 1 / -1; }
	.home-blog-card__media { aspect-ratio: 16 / 10; }
}

@media (max-width: 767px) {
	.home-blog__header { display: block; }
	.home-blog__header h2 { margin-bottom: var(--space-3); }
	.home-blog__intro { max-width: 620px; padding-left: 0; border-left: 0; }
	.home-blog__grid { grid-template-columns: 1fr; }
	.home-blog-card:last-child { grid-column: auto; }
	.home-blog-card__media { aspect-ratio: 16 / 10; }
}

@media (max-width: 480px) {
	.home-blog { padding-block: 68px; }
	.home-blog-card__body { padding: 22px; }
}

/* Homepage contact invitation
--------------------------------------------- */
.home-contact { padding: clamp(48px, 7vw, 96px) 0 clamp(78px, 9vw, 140px); border-top: 1px solid #e9e1f6; background: #f4effb; }
.home-contact__panel { position: relative; display: grid; min-height: 470px; grid-template-columns: minmax(0, 1.25fr) minmax(290px, .75fr); align-items: center; overflow: hidden; padding: clamp(48px, 6vw, 90px); border-radius: clamp(24px, 3vw, 42px); background: linear-gradient(120deg, #16054e 0%, #311087 57%, #5426b3 100%); color: var(--color-white); isolation: isolate; }
.home-contact__panel::before { position: absolute; z-index: -2; inset: 0; background: radial-gradient(circle at 82% 48%, rgba(255,151,98,.32), transparent 24%), radial-gradient(circle at 10% 10%, rgba(130,91,255,.34), transparent 30%); content: ""; }
.home-contact__panel::after { position: absolute; z-index: -1; width: 560px; height: 560px; right: -55px; bottom: -350px; border: 1px solid rgba(255,255,255,.13); border-radius: 50%; box-shadow: 0 0 0 65px rgba(255,255,255,.025), 0 0 0 130px rgba(255,255,255,.02); content: ""; }
.home-contact__content { position: relative; z-index: 3; max-width: 790px; }
.home-contact__eyebrow { display: inline-flex; align-items: center; gap: 9px; margin-bottom: var(--space-4); color: #ffb38d; font-size: var(--font-size-xs); font-weight: var(--font-weight-bold); letter-spacing: .1em; text-transform: uppercase; }
.home-contact__eyebrow i { color: var(--color-accent); }
.home-contact h2 { max-width: 760px; margin: 0 0 var(--space-4); color: var(--color-white); font-size: clamp(2.15rem, 3.8vw, 4rem); line-height: 1.06; }
.home-contact__content > p { max-width: 650px; margin: 0; color: rgba(255,255,255,.76); font-size: var(--font-size-base); line-height: 1.75; }
.home-contact__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 18px 25px; margin-top: clamp(28px, 4vw, 42px); }
.home-contact__actions > span { display: inline-flex; align-items: center; gap: 9px; color: rgba(255,255,255,.76); font-size: var(--font-size-xs); font-weight: var(--font-weight-medium); }
.home-contact__actions > span i { color: #ff9b68; }
.home-contact__button { gap: 11px; }
.home-contact__button i { font-size: .78rem; transition: transform var(--transition-base); }
.home-contact__button:hover i { transform: translateX(4px); }
.home-contact__visual { position: absolute; z-index: 2; width: min(27vw, 360px); right: clamp(30px, 6vw, 100px); bottom: 0; align-self: end; }
.home-contact__visual img { position: relative; z-index: 2; display: block; width: 100%; height: auto; filter: drop-shadow(0 25px 30px rgba(10,0,45,.24)); }
.home-contact__halo { position: absolute; z-index: 0; width: 88%; aspect-ratio: 1; left: 7%; bottom: -18%; border: 1px solid rgba(255,255,255,.2); border-radius: 50%; background: radial-gradient(circle, rgba(255,139,79,.35), rgba(255,255,255,.05) 57%, transparent 58%); }
.home-contact__bubble { position: absolute; z-index: 4; display: grid; place-items: center; border: 1px solid rgba(255,255,255,.28); border-radius: 50%; background: rgba(255,255,255,.14); color: var(--color-white); backdrop-filter: blur(8px); }
.home-contact__bubble--one { width: 48px; height: 48px; top: 9%; left: -7%; color: #ffc04f; transform: rotate(-12deg); }
.home-contact__bubble--two { width: 60px; height: 60px; top: 3%; right: -3%; color: #ff8d71; transform: rotate(10deg); }
.home-contact__bubble--three { width: 38px; height: 38px; top: 38%; right: -8%; color: var(--color-white); font-family: var(--font-heading); font-size: 1.3rem; }

@media (max-width: 900px) {
	.home-contact__panel { min-height: 430px; grid-template-columns: minmax(0, 1fr) 245px; padding: 48px 38px; }
	.home-contact__visual { width: 290px; right: -18px; }
	.home-contact h2 { font-size: clamp(2rem, 5vw, 3rem); }
	.home-contact__content > p { max-width: 510px; }
	.home-contact__actions > span { max-width: 180px; }
}

@media (max-width: 620px) {
	.home-contact__panel { display: block; min-height: 650px; padding: 38px 24px 0; border-radius: 24px; text-align: center; }
	.home-contact__content { display: flex; align-items: center; flex-direction: column; }
	.home-contact__actions { justify-content: center; }
	.home-contact__actions > span { max-width: none; }
	.home-contact__button { width: 100%; }
	.home-contact__visual { width: min(82vw, 330px); right: 50%; transform: translateX(50%); }
	.home-contact__bubble--one { left: 0; }
	.home-contact__bubble--two { right: 0; }
	.home-contact__bubble--three { right: -1%; }
}

/* Playful learning details and scroll motion
--------------------------------------------- */
.home-page > section.has-play-shapes { position: relative; isolation: isolate; }
.home-page > section.has-play-shapes > :not(.home-play-shape) { position: relative; z-index: 2; }
.home-play-shape { position: absolute; z-index: 1; display: grid; width: clamp(34px, 3.5vw, 58px); aspect-ratio: 1; place-items: center; border: 1px solid rgba(53,16,140,.08); border-radius: 38% 62% 58% 42%; background: rgba(255,255,255,.68); color: rgba(53,16,140,.16); font-family: var(--font-heading); font-size: clamp(.9rem, 1.5vw, 1.35rem); font-weight: 700; line-height: 1; pointer-events: none; animation: home-shape-float 6s ease-in-out infinite; backdrop-filter: blur(4px); }
.home-play-shape--0 { top: 12%; left: 2.5%; color: rgba(255,106,33,.3); transform: rotate(-12deg); }
.home-play-shape--1 { right: 3%; bottom: 14%; border-radius: 50%; color: rgba(53,16,140,.23); animation-delay: -1.2s; }
.home-play-shape--2 { top: 17%; right: 2%; border-radius: 16px; color: rgba(255,106,33,.24); transform: rotate(10deg); animation-delay: -2.4s; }
.home-play-shape--3 { left: 3%; bottom: 12%; border-radius: 50% 50% 42% 58%; color: rgba(109,65,198,.22); animation-delay: -3.4s; }
.home-play-shape--4 { top: 9%; left: 4%; color: rgba(245,82,77,.24); transform: rotate(8deg); animation-delay: -4.2s; }
.home-play-shape--5 { right: 2.5%; bottom: 10%; border-radius: 50%; color: rgba(255,154,41,.3); animation-delay: -5s; }
.home-offer .home-play-shape,
.home-belief .home-play-shape { border-color: rgba(255,255,255,.13); background: rgba(255,255,255,.07); color: rgba(255,255,255,.38); }
.home-contact > .home-play-shape { background: rgba(255,255,255,.82); }

.home-reveal-ready .home-reveal { opacity: 0; transform: translateY(12px); transition: opacity .5s ease var(--reveal-delay, 0ms), transform .5s ease var(--reveal-delay, 0ms); }
.home-reveal-ready .home-reveal.is-revealed { opacity: 1; transform: translateY(0); }

@keyframes home-shape-float {
	0%, 100% { translate: 0 0; rotate: 0deg; }
	50% { translate: 0 -12px; rotate: 7deg; }
}

@media (max-width: 1100px) {
	.home-play-shape { opacity: .65; }
	.home-play-shape--0,
	.home-play-shape--3,
	.home-play-shape--4 { left: 8px; }
	.home-play-shape--1,
	.home-play-shape--2,
	.home-play-shape--5 { right: 8px; }
}

@media (max-width: 767px) {
	.home-play-shape { width: 34px; opacity: .48; }
	.home-play-shape:nth-last-child(1) { display: none; }
	.home-reveal-ready .home-reveal { transform: translateY(18px); }
}

@media (prefers-reduced-motion: reduce) {
	.home-play-shape { animation: none; }
	.home-reveal-ready .home-reveal { opacity: 1; transform: none; transition: none; }
}

/* Consistent section rhythm */
.home-reflection,
.home-collection,
.home-offer,
.home-trust,
.home-belief,
.home-babies,
.home-testimonials,
.home-blog { padding-block: clamp(64px, 7vw, 108px); }
.home-contact { padding: clamp(64px, 7vw, 96px) 0 clamp(72px, 8vw, 112px); }

@media (max-width: 767px) {
	.home-reflection,
	.home-collection,
	.home-offer,
	.home-trust,
	.home-belief,
	.home-babies,
	.home-testimonials,
	.home-blog { padding-block: 64px; }
	.home-contact { padding-block: 64px 80px; }
}

/* Shared homepage headings and supporting copy */
.home-section-kicker {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin-bottom: var(--space-4);
	padding: 7px 13px;
	border: 1px solid transparent;
	border-radius: var(--radius-pill);
	background: var(--color-accent-light);
	color: var(--color-accent-dark);
	font-size: var(--font-size-xs);
	font-weight: var(--font-weight-bold);
	letter-spacing: .09em;
	line-height: 1.2;
	text-transform: uppercase;
}
.home-section-kicker i { color: var(--color-accent); }
.home-section-kicker--light { border-color: rgba(255,255,255,.18); background: rgba(255,255,255,.09); color: rgba(255,255,255,.9); }
.home-section-kicker--light i { color: #ffad84; }
.home-section-subtitle { color: var(--color-text-light); font-size: var(--font-size-base); line-height: 1.72; }
.home-section-subtitle--light { color: rgba(255,255,255,.76); }
.home-blog__intro .btn { color: var(--color-white); }
.home-blog__intro .btn:hover { color: var(--color-white); }

@media (max-width: 575px) {
	.home-section-kicker { padding: 6px 11px; font-size: .68rem; letter-spacing: .07em; }
}

/* Refined belief statement */
.home-belief { background: linear-gradient(118deg, #17054b 0%, #291073 54%, #43209a 100%); }
.home-belief{position:relative;isolation:isolate;overflow:hidden;background:radial-gradient(circle at 12% 24%,rgba(255,106,33,.2),transparent 25%),radial-gradient(circle at 88% 75%,rgba(255,255,255,.11),transparent 24%),linear-gradient(118deg,#17054b 0%,#291073 54%,#43209a 100%)}.home-belief:before{position:absolute;z-index:-1;inset:0;background-image:linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px);background-size:46px 46px;content:"";mask-image:linear-gradient(to right,transparent,#000 18%,#000 82%,transparent)}.home-belief:after{position:absolute;z-index:-1;right:-110px;bottom:-150px;width:390px;height:390px;border:72px solid rgba(255,106,33,.1);border-radius:50%;content:""}.home-belief__inner{position:relative;padding-block:clamp(34px,4vw,58px)}.home-belief__signature{box-shadow:0 14px 34px rgba(8,2,34,.18)}
.home-testimonials__dots button{position:relative;width:12px;height:12px;border:2px solid rgba(53,16,140,.14);background:rgba(53,16,140,.12)}.home-testimonials__dots button.is-active{width:38px;border-color:var(--color-primary);background:linear-gradient(90deg,var(--color-primary),#6b35ca);animation:testimonialDotPulse 1.8s ease-in-out infinite}@keyframes testimonialDotPulse{50%{box-shadow:0 0 0 7px rgba(53,16,140,.08)}}
@media(max-width:767px){.home-babies__gallery{display:flex!important;width:auto;max-width:none!important;overflow-x:auto!important;overflow-y:hidden!important;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch}.home-babies__item{width:min(78vw,330px);min-width:min(78vw,330px);flex:0 0 auto;scroll-snap-align:start}.home-babies__item:nth-child(even){margin-top:0}}
