
		:root {
			--bg: #fff7fb;
			--surface: #ffffff;
			--surface-soft: #fff0f9;
			--line: #f1d6e8;
			--text: #2c1630;
			--muted: #6b4a72;
			--accent: #c6348f;
			--accent-dark: #97286d;
		}

		* {
			box-sizing: border-box;
		}

		html,
		body {
			margin: 0;
			padding: 0;
		}

		body {
			font-family: "Segoe UI", Tahoma, sans-serif;
			background: radial-gradient(circle at 10% 10%, #ffe8f6, #fff7fb 45%, #ffffff);
			color: var(--text);
			line-height: 1.55;
		}

		a {
			color: var(--accent-dark);
			text-decoration: none;
		}

		a:hover,
		a:focus {
			text-decoration: underline;
		}

		.site-wrapper {
			max-width: 1160px;
			padding: 0 16px;
			margin: 0 auto;
		}

		header {
			position: sticky;
			top: 0;
			z-index: 10;
			isolation: isolate;
			background: rgba(255, 247, 251, 0.92);
		}

		.top-bar {
			display: flex;
			gap: 14px;
			align-items: center;
			justify-content: space-between;
			padding: 16px 0 10px;
		}

		.logo {
			font-size: 1.45rem;
			font-weight: 800;
			letter-spacing: 0;
			color: var(--accent-dark);
		}

		nav {
			display: flex;
			gap: 8px;
			flex-wrap: wrap;
			justify-content: flex-end;
		}

		.nav-link {
			display: inline-block;
			padding: 7px 11px;
			border-radius: 999px;
			font-size: 0.88rem;
			font-weight: 600;
			background: var(--surface);
			border: 1px solid var(--line);
			color: var(--muted);
		}

		.nav-link.active {
			background: linear-gradient(120deg, #ffecf8, #ffe0f2);
			color: var(--accent-dark);
			border-color: #efbddb;
		}

		.mobile-navigation {
			display: none;
		}

		.nav-underline {
			height: 1px;
			background: linear-gradient(90deg, rgba(198, 52, 143, 0), rgba(198, 52, 143, 0.45), rgba(198, 52, 143, 0));
		}

		main {
			padding: 22px 0 36px;
		}

		.hero {
			display: grid;
			grid-template-columns: minmax(0, 1fr) minmax(0, 0.9fr);
			gap: 20px;
			align-items: center;
			margin-bottom: 24px;
			padding: 24px;
			background: var(--surface);
			border: 1px solid var(--line);
			border-radius: 24px;
			box-shadow: 0 16px 40px rgba(151, 40, 109, 0.08);
		}

		.hero h1 {
			margin: 0 0 12px;
			line-height: 1.1;
			font-size: 2rem;
		}

		.hero p {
			margin: 0;
			color: var(--muted);
		}

		.hero-cta {
			display: inline-flex;
			align-items: center;
			margin-top: 16px;
			padding: 12px 16px;
			border-radius: 14px;
			background: linear-gradient(120deg, var(--accent), #f04499);
			color: #ffffff;
			font-weight: 700;
			font-size: 0.95rem;
		}

		.hero-visual {
			min-height: 220px;
		}

		.hero-art {
			width: 100%;
			height: auto;
			display: block;
		}

		.catalog-grid {
			display: grid;
			grid-template-columns: repeat(3, minmax(0, 1fr));
			gap: 16px;
		}

		.catalog-card {
			overflow: hidden;
			display: flex;
			flex-direction: column;
			background: var(--surface);
			border: 1px solid var(--line);
			border-radius: 18px;
		}

		.catalog-card > a {
			display: block;
			height: 100%;
			color: inherit;
		}

		.catalog-cover {
			background: #f8f1f6;
		}

		.catalog-card img {
			display: block;
		}

		.catalog-icon {
			margin: 14px 14px 0;
			border-radius: 12px;
			overflow: hidden;
		}

		.is-grayscale img {
			filter: grayscale(100%);
		}

		.card-content {
			padding: 14px;
		}

		.card-content h2,
		.card-content h3,
		.card-content h4,
		.card-content h5 {
			margin: 0 0 8px;
			line-height: 1.25;
		}

		.card-content h2 {
			font-size: 1.18rem;
		}

		.card-content h3 {
			font-size: 1.05rem;
		}

		.card-content h4,
		.card-content h5 {
			font-size: 1rem;
		}

		.card-content p,
		.card-content li {
			margin: 0 0 8px;
			color: var(--muted);
			font-size: 0.95rem;
		}

		.card-content ul {
			margin: 0 0 0 18px;
			padding: 0;
		}

		footer {
			margin-top: 30px;
			padding: 28px 0 34px;
			background: #fff0f8;
			border-top: 1px solid var(--line);
		}

		.footer-content {
			display: grid;
			grid-template-columns: repeat(3, minmax(0, 1fr));
			gap: 16px;
		}

		.footer-column,
		.consultant-card {
			background: var(--surface);
			border: 1px solid var(--line);
			border-radius: 16px;
			padding: 14px;
		}

		.footer-column h4,
		.consultant-card h5 {
			margin: 0 0 10px;
			font-size: 1rem;
		}

		.footer-column ul {
			list-style: none;
			padding: 0;
			margin: 0;
		}

		.footer-column li,
		.social-list span,
		.consultant-description,
		.footer-bottom span {
			display: block;
			margin-bottom: 6px;
			font-size: 0.9rem;
			color: var(--muted);
		}

		.consultant-field {
			display: block;
			margin-bottom: 10px;
		}

		.consultant-label {
			display: block;
			margin-bottom: 4px;
			font-size: 0.82rem;
			color: var(--muted);
		}

		.consultant-input,
		textarea {
			width: 100%;
			border: 1px solid #e6c5d8;
			border-radius: 10px;
			padding: 10px;
			font: inherit;
			color: var(--text);
			background: #ffffff;
		}

		textarea {
			min-height: 86px;
			resize: vertical;
		}

		.consultant-cta {
			display: inline-flex;
			align-items: center;
			justify-content: center;
			min-height: 40px;
			padding: 8px 14px;
			border: 0;
			border-radius: 10px;
			background: var(--accent);
			color: #fff;
			font-weight: 700;
		}

		.footer-bottom {
			display: flex;
			gap: 10px;
			flex-wrap: wrap;
			margin-top: 14px;
			padding-top: 12px;
			border-top: 1px solid #e7cada;
		}

		@media (max-width: 980px) {
			.hero {
				grid-template-columns: 1fr;
			}

			.catalog-grid {
				grid-template-columns: repeat(2, minmax(0, 1fr));
			}

			.footer-content {
				grid-template-columns: 1fr;
			}
		}

		@media (max-width: 680px) {
			.site-wrapper {
				padding: 0 12px;
			}

			.top-bar {
				align-items: center;
				flex-direction: row;
				gap: 8px;
				padding: 10px 0;
			}

			.desktop-navigation {
				display: none;
			}

			.mobile-navigation {
				display: block;
				margin-left: auto;
			}

			.menu-toggle {
				display: flex;
				align-items: center;
				justify-content: center;
				width: 44px;
				height: 44px;
				list-style: none;
				cursor: pointer;
				border: 1px solid var(--line);
				border-radius: 6px;
				background: var(--surface);
				color: var(--accent-dark);
			}

			.menu-toggle::-webkit-details-marker {
				display: none;
			}

			.menu-toggle:focus-visible,
			.mobile-menu-panel a:focus-visible {
				outline: 2px solid var(--accent-dark);
				outline-offset: 3px;
			}

			.menu-close-icon,
			.mobile-navigation[open] .menu-open-icon {
				display: none;
			}

			.mobile-navigation[open] .menu-close-icon {
				display: block;
			}

			.mobile-menu-panel {
				position: absolute;
				top: 100%;
				left: 0;
				right: 0;
				display: flex;
				flex-direction: column;
				flex-wrap: nowrap;
				gap: 6px;
				padding: 12px;
				max-height: calc(100vh - 90px);
				max-height: calc(100dvh - 90px);
				overflow-y: auto;
				overscroll-behavior: contain;
				background: #fff7fb;
				border: 1px solid var(--line);
				border-radius: 0 0 6px 6px;
				box-shadow: 0 8px 16px rgba(85, 39, 69, 0.12);
			}

			.mobile-menu-panel .nav-link {
				min-height: 44px;
				padding: 10px 12px;
				border-radius: 6px;
				font-size: 1rem;
				letter-spacing: 0;
				overflow-wrap: anywhere;
			}

			nav {
				justify-content: flex-start;
			}

			.hero {
				padding: 18px;
			}

			.catalog-grid {
				grid-template-columns: 1fr;
			}
		}
	