/* ==========================================================================
   Сцена 2 - Енергиен баланс: тъмна сцена, лъч, светещ знак над пиедестал
   ========================================================================== */

.nd-en { --mx: 70%; --my: 22%; color: #f3efe4; background: #08130f; }
.nd-en__bg {
	position: absolute; inset: 0; z-index: -2;
	background:
		radial-gradient(520px 460px at var(--mx) var(--my), rgba(233, 196, 120, .18), transparent 70%),
		radial-gradient(50% 45% at 72% 100%, rgba(61, 118, 96, .3), transparent 70%),
		radial-gradient(40% 50% at 8% 20%, rgba(201, 154, 67, .1), transparent 70%),
		linear-gradient(180deg, #0d1c16, #07110d);
}
.nd-en__bg::after {
	content: ""; position: absolute; inset: 0; opacity: .1;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.5'/%3E%3C/svg%3E");
}
.nd-en__fx { position: absolute; inset: 0; z-index: -1; width: 100%; height: 100%; pointer-events: none; }

.nd-en__grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.04fr); align-items: center; gap: clamp(28px, 4vw, 72px); }

/* --- текстът --- */
.nd-en__eyebrow { display: inline-flex; align-items: center; gap: 12px; margin: 0 0 24px; font-size: .76rem; font-weight: 600; letter-spacing: .22em; text-transform: uppercase; color: var(--gold-300); }
.nd-en__title { margin: 0 0 22px; font-size: clamp(2.5rem, 4.4vw, 4.3rem); font-weight: 260; line-height: 1.03; letter-spacing: -.032em; color: #fbf6ea; }
.nd-en__line { display: block; }
.nd-en__line--gold em { font-style: normal; font-weight: 320; background: linear-gradient(100deg, #c7953b 0%, #f4dfa6 40%, #e2bf72 62%, #b8862f 100%); background-size: 220% 100%; -webkit-background-clip: text; background-clip: text; color: transparent; padding-bottom: .08em; animation: ndSheen 9s ease-in-out infinite alternate; }
.nd-en__lead { max-width: 36ch; margin: 0 0 12px; font-size: clamp(1.08rem, 1.3vw, 1.22rem); line-height: 1.55; color: #c9d4cc; font-weight: 340; }
.nd-en__motto { display: flex; align-items: center; gap: 12px; margin: 0 0 32px; font-style: oblique 9deg; font-size: 1.04rem; color: var(--gold-300); font-weight: 400; }
.nd-en__motto::before { content: ""; width: 22px; height: 1px; background: currentColor; opacity: .6; }
.nd-en__cta { display: flex; flex-wrap: wrap; gap: 14px; }

/* --- сцената --- */
.nd-en__stage { position: relative; aspect-ratio: 1 / .98; width: 100%; max-width: 680px; justify-self: center; }
.nd-en__sigil { position: absolute; left: 6%; top: -2%; width: 88%; overflow: visible; }
.nd-en__sigil-spin { transform-box: view-box; transform-origin: 50% 50%; animation: ndSpin 200s linear infinite; }
.nd-en__sigil circle, .nd-en__sigil path { fill: none; stroke: #c99a3e; stroke-opacity: .28; stroke-width: 1.4; vector-effect: non-scaling-stroke; }
.nd-en__ticks line { stroke: #c99a3e; stroke-opacity: .4; stroke-width: 1; vector-effect: non-scaling-stroke; }
.nd-en__beam {
	position: absolute; left: 50%; top: -20%; width: 70%; height: 96%; translate: -50% 0; pointer-events: none;
	background: conic-gradient(at 50% 0, transparent 160deg, rgba(255, 228, 168, .08) 167deg, rgba(255, 230, 172, .26) 180deg, rgba(255, 228, 168, .08) 193deg, transparent 200deg);
	-webkit-mask-image: linear-gradient(180deg, #000 25%, rgba(0, 0, 0, .4) 75%, transparent);
	mask-image: linear-gradient(180deg, #000 25%, rgba(0, 0, 0, .4) 75%, transparent);
	animation: enBeam 9s ease-in-out infinite alternate;
}
@keyframes enBeam { from { opacity: .7; } to { opacity: 1; } }

/* светещият знак */
.nd-en__orb { position: absolute; left: 50%; top: 19.5%; z-index: 2; width: 46%; aspect-ratio: 1; translate: -50% 0; }
.nd-en__halo {
	position: absolute; inset: -42%; border-radius: 50%; pointer-events: none;
	background: radial-gradient(closest-side, rgba(240, 206, 130, .34), rgba(110, 190, 160, .12) 55%, transparent 72%);
	animation: enHalo 6s ease-in-out infinite alternate; transition: opacity .8s var(--ease), scale .8s var(--ease);
}
@keyframes enHalo { from { opacity: .65; scale: .94; } to { opacity: 1; scale: 1.04; } }
.nd-en.is-glow .nd-en__halo { opacity: 1; scale: 1.12; animation-play-state: paused; }
.nd-en__float { position: absolute; inset: 0; display: block; animation: enFloat 7s ease-in-out infinite alternate; }
@keyframes enFloat { from { transform: translateY(-6px); } to { transform: translateY(8px); } }
/* сиянието е box-shadow на статичен кръг; въртенето е CSS transform на отделен слой (без filter всеки кадър) */
.nd-en__float::before { content: ""; position: absolute; inset: 4%; border-radius: 50%; box-shadow: 0 0 60px 6px rgba(236, 201, 121, .38), 0 34px 50px -10px rgba(0, 0, 0, .55); transition: box-shadow .8s var(--ease); }
.nd-en.is-glow .nd-en__float::before { box-shadow: 0 0 90px 16px rgba(240, 210, 140, .6), 0 34px 50px -10px rgba(0, 0, 0, .55); }
.nd-en__taiji, .nd-en__gloss { position: absolute; inset: 0; width: 100%; height: 100%; overflow: visible; }
.nd-en__taiji { animation: ndSpin 48s linear infinite; will-change: transform; }
.nd-en__orbits { position: absolute; inset: -34%; width: 168%; height: 168%; overflow: visible; pointer-events: none; }
.nd-en__orbit { fill: none; stroke-width: 1.2; vector-effect: non-scaling-stroke; }
.nd-en__orbit--gold { stroke: rgba(236, 208, 138, .45); }
.nd-en__orbit--jade { stroke: rgba(140, 210, 182, .35); }
.nd-en__spark--gold { fill: #fbe7b0; filter: drop-shadow(0 0 6px #f4d38a); }
.nd-en__spark--jade { fill: #c4f0dd; filter: drop-shadow(0 0 6px #8fd9b9); }

/* услугите отстрани */
.nd-en__svc {
	position: absolute; z-index: 3; display: inline-flex; align-items: center; gap: 10px; white-space: nowrap;
	padding: 8px 16px 8px 8px; border-radius: 18px; color: #f3efe4; font-size: .86rem; line-height: 1.25;
	background: rgba(9, 20, 16, .86); box-shadow: inset 0 0 0 1px rgba(230, 203, 140, .3), 0 18px 40px -20px rgba(0, 0, 0, .7);
	transition: transform .6s var(--ease), box-shadow .6s, background-color .4s;
}
.nd-en__svc:hover { transform: translateY(-4px); background: rgba(16, 32, 26, .75); box-shadow: inset 0 0 0 1px rgba(230, 203, 140, .6), 0 22px 44px -20px rgba(0, 0, 0, .8); }
.nd-en__svc b { font-weight: 640; }
.nd-en__svc small { display: block; margin-top: 3px; font-size: .8rem; font-weight: 600; color: var(--gold-300); }
.nd-en__svc s { margin-right: 4px; font-weight: 400; color: rgba(243, 239, 228, .45); }
.nd-en__si { display: grid; place-items: center; flex: none; width: 38px; height: 38px; border-radius: 50%; font-size: 1.25rem; }
.nd-en__svc--yang { left: -2%; top: 56%; }
.nd-en__svc--yang .nd-en__si { background: var(--gold-grad) border-box; color: var(--jade-950); }
.nd-en__svc--yin { right: -2%; top: 64%; }
.nd-en__svc--yin .nd-en__si { background: var(--jade-700); color: #e6f2ec; }

.nd-en__plinth { position: absolute; left: 50%; bottom: 7%; width: 78%; translate: -50% 0; overflow: visible; filter: drop-shadow(0 30px 40px rgba(0, 0, 0, .6)); }
.nd-en__engrave { font-family: var(--font); font-size: 13px; font-weight: 600; letter-spacing: .42em; fill: #c99a3e; fill-opacity: .7; }

/* --- поява --- */
.nd-anim .nd-en__stage[data-reveal] { transform: none; filter: none; }
.nd-anim .nd-en__stage .nd-en__orb { opacity: 0; scale: .7; }
.nd-anim .nd-en__stage.is-in .nd-en__orb { opacity: 1; scale: 1; transition: opacity 1.4s var(--ease) .3s, scale 2s var(--ease) .3s; }
.nd-anim .nd-en__stage .nd-en__beam, .nd-anim .nd-en__stage .nd-en__svc { opacity: 0; }
.nd-anim .nd-en__stage.is-in .nd-en__beam { opacity: 1; transition: opacity 2.4s ease .1s; }
.nd-anim .nd-en__stage.is-in .nd-en__svc { opacity: 1; transition: opacity 1s var(--ease) 1.3s, transform .6s var(--ease), box-shadow .6s, background-color .4s; }
.nd-anim .nd-en__stage.is-in .nd-en__svc--yin { transition-delay: 1.5s, 0s, 0s, 0s; }

/* --- отзивчивост --- */
@media (max-width: 1400px) and (min-width: 1101px) {
	.nd-en__grid { grid-template-columns: minmax(0, 1.1fr) minmax(0, .92fr); gap: 32px; }
}
@media (max-height: 820px) and (min-width: 1101px) {
	.nd-en__title { font-size: clamp(2.2rem, 3.6vw, 3.5rem); margin-bottom: 14px; }
	.nd-en__motto { margin-bottom: 22px; }
	.nd-en__stage { max-width: min(600px, calc((100svh - var(--topbar-h) - var(--bar-h) - var(--hs-ui) - 40px) * 1.02)); }
}
@media (max-width: 1100px) {
	/* сцената идва веднага след заглавието */
	.nd-en__grid { grid-template-columns: minmax(0, 1fr); justify-items: center; gap: 0; text-align: center; }
	.nd-en__copy { display: contents; }
	.nd-en__eyebrow, .nd-en__title { order: -2; }
	.nd-en__stage { order: -1; max-width: 560px; margin: 8px 0 28px; }
	.nd-en__motto { justify-content: center; }
	.nd-en__cta { justify-content: center; }
}
@media (max-width: 760px) {
	.nd-en__eyebrow { font-size: .68rem; letter-spacing: .14em; gap: 9px; }
	.nd-en__title { font-size: clamp(2.05rem, 9vw, 3rem); margin-bottom: 4px; }
	.nd-en__motto::before { display: none; }
	.nd-en__cta { flex-direction: column; align-items: stretch; width: 100%; }
	.nd-en__svc { font-size: .74rem; padding: 6px 12px 6px 6px; gap: 8px; }
	.nd-en__svc small { font-size: .72rem; }
	.nd-en__si { width: 30px; height: 30px; font-size: 1rem; }
	.nd-en__svc--yang { left: -1%; top: 57%; }
	.nd-en__svc--yin { right: -1%; top: 65%; }
	.nd-en__stage { margin-bottom: 20px; }
}
@media (prefers-reduced-motion: reduce) {
	.nd-en__sigil-spin, .nd-en__beam, .nd-en__halo, .nd-en__float, .nd-en__taiji { animation: none !important; }
}
