/* MOMENTO v1.0.8 — "Neon Night" design layer.
 * Loaded after momento.css only when Design & Branding › Design style = Neon Night.
 * The palette itself comes from Momento_Shortcodes::neon_vars() (inline :root block). */

/* ---------- Base ---------- */
body.momento-canvas { background: #0c081d; }
.mm--neon {
	--mm-soft: #c6bde3;
	--mm-line: rgba(196, 181, 253, .18);
	--mm-shadow: 0 30px 60px -30px rgba(5, 0, 20, .9);
	--mn-glass: linear-gradient(160deg, rgba(139, 92, 246, .14), rgba(30, 14, 64, .38) 55%, rgba(20, 10, 44, .6));
	--mn-edge: inset 0 1px 0 rgba(255, 255, 255, .12);
	position: relative; isolation: isolate; color: #f5f1ff;
	background:
		radial-gradient(1100px 700px at 85% -8%, rgba(139, 92, 246, .32), transparent 62%),
		radial-gradient(800px 600px at 8% 8%, rgba(106, 13, 173, .38), transparent 60%),
		radial-gradient(900px 640px at -12% 46%, rgba(236, 72, 153, .16), transparent 60%),
		linear-gradient(180deg, #0c081d 0%, #110a28 45%, #0c081d 100%);
	background-attachment: fixed;
}
.mn-fx { position: fixed; inset: 0; z-index: -1; pointer-events: none; overflow: hidden; }
.mn-ribbons { position: absolute; inset: 0; width: 100%; height: 100%; }
.mn-ribbons path { fill: none; stroke-linecap: round; }
.mn-glow { filter: blur(10px); opacity: .8; }
.mn-drift { animation: mn-drift 16s ease-in-out infinite alternate; }
.mn-grain { opacity: .06; mix-blend-mode: overlay; }
@keyframes mn-drift { from { transform: translateY(0); } to { transform: translateY(-30px); } }

.mm--neon h1, .mm--neon h2, .mm--neon h3, .mm--neon h4 { font-family: var(--mm-display); color: #f8fafc; letter-spacing: -.02em; }
.mm--neon .mm-eyebrow { font-family: "Geist Mono", ui-monospace, monospace; font-size: .78rem; letter-spacing: .16em; color: #f0abfc; }
.mm--neon .mm-head h2 { font-size: clamp(2.1rem, 4vw, 3.3rem); font-weight: 500; }
.mm--neon a { color: inherit; }
.mm--neon .mm-link { color: #ddd6fe; }
.mm--neon :focus-visible { outline-color: #c4b5fd; }
.mm--neon ::selection { background: rgba(236, 72, 153, .45); color: #fff; }

/* ---------- Buttons ---------- */
.mm--neon .mm-btn, .mg-sheet .mg-btn, .mm--neon .mg-btn { transition: transform .4s cubic-bezier(.16,1,.3,1), box-shadow .4s, background .3s; }
.mm--neon a.mm-btn--gold, .mm--neon .mm-btn--gold, .mm--neon .mg-btn--gold, .mg-sheet .mg-btn--gold, .mm--neon .mmd-btn.is-primary {
	background: linear-gradient(100deg, #6d5df6, #8b5cf6 35%, #ec4899); color: #fff; border: 0;
	box-shadow: inset 0 1px 0 rgba(255,255,255,.3), 0 14px 40px -12px rgba(236,72,153,.6), 0 0 46px -14px rgba(139,92,246,.95);
}
.mm--neon .mm-btn--gold:hover, .mm--neon .mg-btn--gold:hover, .mg-sheet .mg-btn--gold:hover { transform: translateY(-2px); background: linear-gradient(100deg, #7c6cf8, #9b6cf8 35%, #f05aa6); }
.mm--neon .mm-btn--gold .mm-btn__ico { background: rgba(255,255,255,.2); }
.mm--neon a.mm-btn--line, .mm--neon .mm-btn--line, .mm--neon .mg-btn--line, .mg-sheet .mg-btn--line {
	background: rgba(255,255,255,.06); color: #f5f1ff; border: 1px solid rgba(196,181,253,.3); box-shadow: var(--mn-edge);
}
.mm--neon .mm-btn--line:hover, .mm--neon .mg-btn--line:hover { background: rgba(255,255,255,.12); border-color: rgba(196,181,253,.5); }
.mm--neon .mm-btn--line .mm-btn__ico { background: rgba(167,139,250,.18); }
.mm--neon .mm-linkbtn { color: #c6bde3; }

/* ---------- Nav ---------- */
.mm--neon .mm-nav { background: rgba(20, 10, 44, .55); border-color: rgba(196,181,253,.18); box-shadow: var(--mn-edge), 0 20px 50px -24px rgba(5,0,20,.9); }
.mm--neon .mm-brand__mark { border-color: rgba(196,181,253,.35); color: #fff; background: linear-gradient(140deg, #8b5cf6, #6a0dad 60%, #ec4899); box-shadow: 0 0 22px -4px rgba(139,92,246,.9); }
.mm--neon .mm-brand__text strong { font-family: var(--mm-display); letter-spacing: .12em; }
.mm--neon .mm-nav__links > a:not(.mm-btn) { color: #d9d0f5; }
.mm--neon .mm-nav__links > a:not(.mm-btn):hover, .mm--neon .mm-nav__links > a[aria-current] { color: #fff; }
.mm--neon .mm-nav__links > a[aria-current]::after { background: linear-gradient(90deg, #8b5cf6, #ec4899); height: 2px; box-shadow: 0 0 10px #ec4899; }
.mm--neon .mm-nav__toggle i { background: #fff; }

/* ---------- Surfaces ---------- */
.mm--neon .mm-bezel { background: rgba(255,255,255,.04); border-color: rgba(196,181,253,.2); box-shadow: var(--mm-shadow); }
.mm--neon .mm-bezel > * { background: var(--mn-glass); box-shadow: var(--mn-edge); backdrop-filter: blur(16px); -webkit-backdrop-filter: blur(16px); }
.mm--neon a.mm-bezel:hover { box-shadow: 0 0 0 1px rgba(139,92,246,.25), 0 30px 70px -30px rgba(139,92,246,.6); }
.mm--neon input[type=text], .mm--neon input[type=email], .mm--neon input[type=password], .mm--neon input[type=tel], .mm--neon input[type=number], .mm--neon input[type=date], .mm--neon input[type=url], .mm--neon input[type=search], .mm--neon select, .mm--neon textarea,
.mm--neon .mg-code, .mm--neon .mm-codeinput, .mg-sheet .mg-body textarea, .mg-sheet .mg-body input[type=text] {
	background: rgba(8, 3, 24, .55) !important; color: #fff !important; border-color: rgba(196,181,253,.24) !important;
}
.mm--neon input::placeholder, .mm--neon textarea::placeholder, .mg-sheet input::placeholder, .mg-sheet textarea::placeholder { color: #958bbd; }
.mm--neon input:focus, .mm--neon select:focus, .mm--neon textarea:focus, .mg-sheet input:focus, .mg-sheet textarea:focus { border-color: #a78bfa !important; box-shadow: 0 0 0 4px rgba(139,92,246,.25) !important; outline: none; }
.mm--neon select option { background: #150c2f; color: #fff; }
.mm--neon .mm-radio { background: rgba(255,255,255,.03); }
.mm--neon .mm-radio:has(input:checked) { border-color: #a78bfa; background: rgba(139,92,246,.16); box-shadow: 0 0 22px -8px #8b5cf6; }
.mm--neon .mm-switch i { background: rgba(255,255,255,.14); }
.mm--neon .mm-switch input:checked + i { background: linear-gradient(90deg, #8b5cf6, #ec4899); }
.mm--neon .mm-flash { background: rgba(134,239,172,.1); border-color: rgba(134,239,172,.3); color: #dcfce7; }
.mm--neon .mm-flash--bad { background: rgba(253,164,175,.1); border-color: rgba(253,164,175,.35); color: #ffe4e6; }
.mm--neon .mm-flash--wait { background: rgba(253,224,71,.08); border-color: rgba(253,224,71,.3); color: #fef9c3; }
.mm--neon .mm-badge { background: rgba(255,255,255,.08); color: #e9e3ff; }
.mm--neon .mm-badge--ok { background: rgba(134,239,172,.14); color: #bbf7d0; }
.mm--neon .mm-pill { background: rgba(255,255,255,.06); }
.mm--neon .mm-danger summary, .mm--neon .mm-mod__acts .is-danger, .mm--neon .mmd-btn.is-danger, .mm--neon .mmd-status.is-bad { color: #fda4af; }
.mm--neon .mmd-status, .mm--neon .mg-prog.is-ok span, .mm--neon .mm-progress-steps li.is-done::before { color: #86efac; }
.mm--neon .mm-evcard__nums em { color: #f9a8d4; }

/* ---------- Hero ---------- */
.mn-hero { width: min(1320px, calc(100% - 2rem)); margin: 0 auto; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 500px), 1fr)); gap: 2.5rem; align-items: center; padding: clamp(2.5rem, 6vw, 5rem) 0 2rem; min-height: min(92dvh, 820px); }
.mn-chip { display: inline-flex; align-items: center; gap: .6rem; padding: .5rem 1rem .5rem .65rem; border-radius: 999px; font-size: .86rem; color: #e9deff; background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.13); box-shadow: var(--mn-edge); backdrop-filter: blur(14px); }
.mn-pulse { width: 8px; height: 8px; border-radius: 50%; background: #f9a8d4; animation: mn-pulse 2.2s infinite; }
@keyframes mn-pulse { 0% { box-shadow: 0 0 0 0 rgba(249,168,212,.6); } 70% { box-shadow: 0 0 0 10px rgba(249,168,212,0); } 100% { box-shadow: 0 0 0 0 rgba(249,168,212,0); } }
.mm--neon .mn-h1 { font-family: var(--mm-display); font-size: clamp(2.7rem, 5.4vw, 4.7rem); line-height: 1.02; letter-spacing: -.035em; font-weight: 600; margin: 1.3rem 0 0; color: #fff; }
.mn-grad { background: linear-gradient(100deg, #a78bfa, #8b5cf6 30%, #ec4899 75%, #f59e0b); -webkit-background-clip: text; background-clip: text; color: transparent; font-style: italic; padding-right: .08em; }
.mn-tag { margin: 1rem 0 0; font: 400 1.15rem var(--mm-display); color: #e9d5ff; letter-spacing: .04em; }
.mn-lead { font-size: 1.1rem; line-height: 1.65; color: #cfc6ec; max-width: 34rem; margin: 1.2rem 0 0; }
.mn-cta { display: flex; flex-wrap: wrap; gap: .9rem; margin-top: 2.2rem; }

.mn-scene { position: relative; height: 640px; perspective: 1400px; }
.mn-scene__in { position: absolute; inset: 0; transform-style: preserve-3d; transform: rotateY(calc(var(--mx, 0) * 10deg)) rotateX(calc(var(--my, 0) * -8deg)); }
.mn-lay { position: absolute; transform: translate3d(calc(var(--mx, 0) * var(--d, 20) * 1px), calc(var(--my, 0) * var(--d, 20) * 1px + var(--sy, 0) * var(--s, 0) * 1px), 0); }
.mn-float { animation: mn-float var(--t, 7s) ease-in-out infinite; animation-delay: var(--dl, 0s); }
@keyframes mn-float { 0%, 100% { transform: translateY(0) rotate(var(--r0, 0deg)); } 50% { transform: translateY(-18px) rotate(var(--r1, 2deg)); } }
.mn-orb { width: 420px; height: 420px; border-radius: 50%; background: radial-gradient(circle at 35% 30%, #fff 0%, #f9a8d4 12%, #ec4899 32%, #8b5cf6 62%, transparent 72%); filter: blur(36px); opacity: .6; animation: mn-breathe 8s ease-in-out infinite; }
@keyframes mn-breathe { 0%, 100% { transform: scale(1); opacity: .55; } 50% { transform: scale(1.08); opacity: .74; } }
.mn-tiltA { transform: rotateX(72deg) rotateY(-12deg); }
.mn-tiltB { transform: rotateX(64deg) rotateY(38deg); }
.mn-ring { position: relative; width: 520px; height: 520px; border-radius: 50%; border: 1px solid rgba(255,255,255,.22); box-shadow: 0 0 50px -6px rgba(139,92,246,.6), inset 0 0 40px -10px rgba(236,72,153,.5); }
.mn-ring--sm { width: 400px; height: 400px; border-color: rgba(244,114,182,.3); }
.mn-ring b { position: absolute; top: -6px; left: 50%; width: 12px; height: 12px; border-radius: 50%; background: #fff; box-shadow: 0 0 18px 4px #ec4899, 0 0 40px 8px #8b5cf6; }
.mn-ring--sm b { top: auto; bottom: -6px; }
.mn-spin { animation: mn-spin 26s linear infinite; }
.mn-spin-r { animation: mn-spin 34s linear infinite reverse; }
@keyframes mn-spin { to { transform: rotate(360deg); } }
.mn-podium { position: relative; width: 340px; height: 80px; }
.mn-podium i { position: absolute; left: 0; right: 0; margin-inline: auto; border-radius: 50%; }
.mn-podium i:nth-child(1) { bottom: 0; left: -20px; right: -20px; width: 380px; height: 80px; background: radial-gradient(closest-side, rgba(139,92,246,.7), transparent); filter: blur(8px); }
.mn-podium i:nth-child(2) { bottom: 18px; width: 320px; height: 50px; border: 2px solid #a78bfa; box-shadow: 0 0 26px #8b5cf6, inset 0 0 22px rgba(167,139,250,.6); }
.mn-podium i:nth-child(3) { bottom: 27px; width: 230px; height: 32px; border: 1.5px solid #f9a8d4; box-shadow: 0 0 18px #ec4899; animation: mn-breathe 4s ease-in-out infinite; }
.mn-phone { width: 262px; height: 528px; border-radius: 46px; padding: 10px; transform: rotateY(-16deg) rotateX(6deg) rotateZ(2deg); background: linear-gradient(160deg, rgba(255,255,255,.16), rgba(255,255,255,.04)); border: 1px solid rgba(255,255,255,.2); box-shadow: inset 0 1px 0 rgba(255,255,255,.3), 0 60px 120px -30px rgba(12,2,40,.9), 0 0 80px -20px rgba(139,92,246,.75); backdrop-filter: blur(18px); }
.mn-screen { position: relative; width: 100%; height: 100%; border-radius: 38px; overflow: hidden; background: #140b2c; }
.mn-screen > .mn-shot { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.mn-island { position: absolute; top: 10px; left: 50%; transform: translateX(-50%); width: 92px; height: 26px; border-radius: 20px; background: #07030f; z-index: 3; }
.mn-vf-top { position: absolute; top: 46px; left: 14px; right: 14px; display: flex; justify-content: space-between; z-index: 2; font-size: 12px; color: #fff; }
.mn-vf-top span { padding: 5px 9px; border-radius: 999px; background: rgba(0,0,0,.35); }
.mn-vf-ui { position: absolute; left: 0; right: 0; bottom: 0; z-index: 2; display: flex; flex-direction: column; gap: 14px; padding: 16px 14px 18px; background: linear-gradient(0deg, rgba(10,4,24,.92), rgba(10,4,24,0)); }
.mn-fchips { display: flex; justify-content: center; gap: 8px; }
.mn-fchips i { width: 38px; height: 38px; border-radius: 50%; border: 2px solid rgba(255,255,255,.25); }
.mn-fchips i.is-on { border-color: #fff; box-shadow: 0 0 0 3px rgba(236,72,153,.7); }
.mn-shutter { width: 62px; height: 62px; border-radius: 50%; margin: 0 auto; border: 3px solid #fff; display: grid; place-items: center; }
.mn-shutter i { width: 48px; height: 48px; border-radius: 50%; background: linear-gradient(135deg, #fff, #f5d0fe); }
.mn-pol { padding: 10px 10px 0; border-radius: 6px; background: linear-gradient(180deg, #fffdf8, #f3ece4); box-shadow: 0 30px 60px -18px rgba(8,2,30,.75); }
.mn-pol span { display: block; font: 600 1.15rem "Caveat", var(--mm-script); color: #3b2a4a; text-align: center; padding: 6px 0 8px; }
.mn-pol .mn-shot { border-radius: 2px; }
.mn-qrcard { width: 178px; padding: 16px; border-radius: 24px; display: flex; flex-direction: column; align-items: center; gap: 10px; background: linear-gradient(160deg, rgba(255,255,255,.12), rgba(255,255,255,.04)); border: 1px solid rgba(255,255,255,.16); box-shadow: var(--mn-edge), 0 30px 60px -24px rgba(5,0,20,.8); backdrop-filter: blur(16px); font-size: .85rem; }
.mn-qrbox { display: block; width: 132px; height: 132px; padding: 10px; border-radius: 14px; background: #fff; }
.mn-qrbox--sm { width: 92px; height: 92px; padding: 8px; flex: none; }
.mn-tplcard { width: 190px; padding: 8px; border-radius: 18px; background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.18); box-shadow: 0 30px 60px -20px rgba(5,0,20,.85), 0 0 40px -10px rgba(236,72,153,.6); }
.mn-tplcard canvas { width: 100%; height: auto; display: block; border-radius: 12px; }
.mn-vchip { display: flex; align-items: center; gap: 12px; padding: 12px 16px 12px 12px; border-radius: 20px; font-size: .8rem; color: #ede6ff; background: linear-gradient(160deg, rgba(255,255,255,.12), rgba(255,255,255,.04)); border: 1px solid rgba(255,255,255,.15); backdrop-filter: blur(14px); }
.mn-vchip > span:last-child { display: flex; flex-direction: column; }
.mn-vchip b { font-weight: 500; } .mn-vchip small { font-family: "Geist Mono", monospace; color: #cfc6ec; }
.mn-vchip--flat { width: 100%; background: rgba(255,255,255,.05); }
.mn-vplay { width: 36px; height: 36px; border-radius: 50%; display: grid; place-items: center; background: linear-gradient(135deg, #8b5cf6, #ec4899); color: #fff; flex: none; }
.mn-wave { display: flex; align-items: center; gap: 3px; height: 26px; flex: 1; }
.mn-wave i { width: 3px; border-radius: 3px; background: linear-gradient(180deg, #f9a8d4, #c4b5fd); animation: mn-wave 1.1s ease-in-out infinite; }
.mn-wave i:nth-child(3n) { animation-delay: -.4s; } .mn-wave i:nth-child(3n+1) { animation-delay: -.75s; } .mn-wave i:nth-child(4n) { animation-delay: -.2s; }
@keyframes mn-wave { 0%, 100% { height: 6px; } 50% { height: 24px; } }
.mn-cube { width: 64px; height: 64px; position: relative; transform-style: preserve-3d; animation: mn-cube 14s linear infinite; }
.mn-cube i { position: absolute; inset: 0; border: 1px solid rgba(255,255,255,.4); background: linear-gradient(135deg, rgba(139,92,246,.45), rgba(236,72,153,.3)); box-shadow: inset 0 0 20px rgba(255,255,255,.25); }
.mn-cube i:nth-child(1) { transform: translateZ(32px); } .mn-cube i:nth-child(2) { transform: rotateY(180deg) translateZ(32px); } .mn-cube i:nth-child(3) { transform: rotateY(90deg) translateZ(32px); }
.mn-cube i:nth-child(4) { transform: rotateY(-90deg) translateZ(32px); } .mn-cube i:nth-child(5) { transform: rotateX(90deg) translateZ(32px); } .mn-cube i:nth-child(6) { transform: rotateX(-90deg) translateZ(32px); }
@keyframes mn-cube { from { transform: rotateX(-20deg) rotateY(0); } to { transform: rotateX(-20deg) rotateY(360deg); } }
.mn-spark { color: #fff; filter: drop-shadow(0 0 8px #ec4899); animation: mn-twinkle 3.2s ease-in-out infinite; }
@keyframes mn-twinkle { 0%, 100% { opacity: .2; transform: scale(.7); } 50% { opacity: 1; transform: scale(1) rotate(45deg); } }

/* Painted "photos" used in the 3D scene when no hero image is set. */
.mn-shot { display: block; background-size: cover; background-position: center; }
.mn-shot--a { background:
	radial-gradient(5% 4% at 43% 60%, #1e0e2e 96%, transparent 100%), radial-gradient(4.6% 3.8% at 57% 58%, #1e0e2e 96%, transparent 100%),
	radial-gradient(11% 26% at 43% 92%, #1e0e2e 97%, transparent 100%), radial-gradient(12% 28% at 57% 92%, #1e0e2e 97%, transparent 100%),
	radial-gradient(circle at 18% 22%, rgba(255,236,200,.95) 0 1.5%, transparent 2.6%), radial-gradient(circle at 50% 10%, rgba(255,236,200,.95) 0 1.4%, transparent 2.4%),
	radial-gradient(circle at 82% 22%, rgba(255,236,200,.95) 0 1.5%, transparent 2.6%), radial-gradient(42% 34% at 50% 58%, rgba(255,220,240,.35), transparent 70%),
	radial-gradient(70% 60% at 50% 105%, #4a2160 0 55%, transparent 56%), linear-gradient(180deg, #ffb48a 0%, #f27aa3 38%, #8c4db8 70%, #2c1650 100%); }
.mn-shot--b { background:
	radial-gradient(14% 10% at 70% 38%, #fff4d6 0%, #ffd38a 45%, transparent 70%), radial-gradient(circle at 34% 80%, rgba(255,230,180,.6) 0 3%, transparent 4.5%),
	radial-gradient(90% 40% at 50% 100%, #5b2a5c 0 60%, transparent 61%), radial-gradient(9% 22% at 38% 82%, #3a1640 97%, transparent 100%),
	radial-gradient(4% 3.4% at 38% 60%, #3a1640 96%, transparent 100%), linear-gradient(180deg, #ffe0a8 0%, #ffae85 38%, #e26a8e 66%, #6e3474 100%); }
.mn-shot--c { background:
	radial-gradient(circle at 15% 30%, rgba(244,114,182,.75) 0 5%, transparent 8%), radial-gradient(circle at 75% 20%, rgba(196,181,253,.7) 0 6%, transparent 9%),
	radial-gradient(circle at 60% 60%, rgba(253,186,116,.6) 0 4%, transparent 7%), radial-gradient(circle at 30% 75%, rgba(167,139,250,.65) 0 7%, transparent 11%),
	linear-gradient(160deg, #2a1650, #160b30 60%, #24103f); }

/* Marquee + highlight strip */
.mn-marquee { overflow: hidden; border-block: 1px solid rgba(255,255,255,.08); padding: 1.3rem 0; -webkit-mask-image: linear-gradient(90deg, transparent, #000 12%, #000 88%, transparent); mask-image: linear-gradient(90deg, transparent, #000 12%, #000 88%, transparent); }
.mn-mq { display: flex; width: max-content; animation: mn-mq 38s linear infinite; }
.mn-mq span { display: inline-flex; align-items: center; gap: 1.6rem; padding-right: 1.6rem; font: 300 1.6rem var(--mm-display); color: #d8cff5; white-space: nowrap; }
.mn-mq em { width: 8px; height: 8px; border-radius: 50%; background: linear-gradient(135deg, #8b5cf6, #ec4899); }
@keyframes mn-mq { to { transform: translateX(-50%); } }
.mm--neon .mm-points { margin-top: 2.5rem; }
.mm--neon .mm-points ul { background: var(--mn-glass); border: 1px solid rgba(196,181,253,.2); border-radius: 28px; box-shadow: var(--mn-edge); }
.mm--neon .mm-points .mm-ico, .mm--neon .mm-step__ico, .mm--neon .mm-pkg__ico, .mm--neon .mm-pkg li .mm-ico, .mm--neon .mm-ticks .mm-ico, .mm--neon .mm-stat .mm-ico, .mm--neon .mm-chip .mm-ico { color: #c4b5fd; }

/* ---------- Features bento ---------- */
.mn-feat__head { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 380px), 1fr)); gap: 2rem; align-items: end; margin-bottom: 3.5rem; }
.mn-feat__head h2 { font-size: clamp(2.1rem, 3.8vw, 3.3rem); font-weight: 500; max-width: 16ch; margin: 0; }
.mn-feat__head p { color: #c9c0e6; max-width: 48ch; margin: 0; }
.mn-bento { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 1.2rem; }
.mn-tile { position: relative; border-radius: 30px; padding: 1.9rem; display: flex; flex-direction: column; gap: .8rem; overflow: hidden; background: var(--mn-glass); border: 1px solid rgba(196,181,253,.2); box-shadow: var(--mn-edge), var(--mm-shadow); transition: transform .5s cubic-bezier(.16,1,.3,1), border-color .4s; }
.mn-tile::before { content: ""; position: absolute; inset: 0; pointer-events: none; background: radial-gradient(420px circle at var(--px, -300px) var(--py, -300px), rgba(139,92,246,.24), transparent 60%); opacity: 0; transition: opacity .4s; }
.mn-tile:hover { transform: translateY(-4px); border-color: rgba(196,181,253,.4); }
.mn-tile:hover::before { opacity: 1; }
.mn-tile h3 { font-size: 1.45rem; font-weight: 500; margin: 0; }
.mn-tile p { margin: 0; font-size: .95rem; color: #c6bde3; max-width: 46ch; }
.mn-tile p:empty { display: none; }
.mn-ticon { width: 44px; height: 44px; border-radius: 14px; display: grid; place-items: center; color: #fff; background: linear-gradient(135deg, rgba(139,92,246,.55), rgba(236,72,153,.38)); box-shadow: var(--mn-edge); }
.mn-t1 { grid-column: span 4; grid-row: span 2; } .mn-t2, .mn-t3 { grid-column: span 2; } .mn-t4, .mn-t5 { grid-column: span 3; } .mn-t6 { grid-column: span 6; }
.mn-vis { position: relative; margin-top: auto; padding-top: .6rem; }
.mn-swrow { display: flex; flex-wrap: wrap; gap: .9rem; }
.mn-sw { display: flex; flex-direction: column; align-items: center; gap: .5rem; font-size: .8rem; color: #d6cdf2; }
.mn-sw i { width: 78px; height: 98px; border-radius: 16px; border: 1px solid rgba(255,255,255,.2); transition: transform .4s cubic-bezier(.16,1,.3,1); }
.mn-sw:hover i { transform: translateY(-6px) rotate(-3deg); }
.mn-sw.is-on i { box-shadow: 0 0 0 2px #fff, 0 0 30px -4px #ec4899; }
.mn-qrrow { display: flex; align-items: flex-end; gap: .9rem; }
.mn-tags { display: flex; flex-wrap: wrap; gap: .4rem; }
.mn-tags i { font: normal .78rem "Geist Mono", monospace; padding: .35rem .65rem; border-radius: 999px; background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.1); color: #e2d9ff; }
.mn-mod { display: grid; gap: .55rem; }
.mn-mod span { display: flex; align-items: center; gap: .7rem; padding: .7rem .85rem; border-radius: 16px; background: rgba(255,255,255,.05); border: 1px solid rgba(255,255,255,.08); font-size: .88rem; }
.mn-mod b { width: 32px; height: 32px; border-radius: 50%; display: grid; place-items: center; font-size: .72rem; color: #1c0f33; flex: none; }
.mn-mod em { margin-left: auto; font-style: normal; font-size: .75rem; padding: .25rem .65rem; border-radius: 999px; background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.14); color: #d6cdf2; }
.mn-mod em.is-ok { background: rgba(134,239,172,.14); color: #bbf7d0; border-color: rgba(134,239,172,.25); }
.mn-mod em.is-wait { background: rgba(253,224,71,.12); color: #fef08a; border-color: rgba(253,224,71,.22); }
.mn-book { height: 210px; display: grid; place-items: center; }
.mn-bp { position: absolute; width: 140px; height: 180px; padding: 8px 8px 30px; border-radius: 10px; background: #fffdf8; box-shadow: 0 20px 40px -14px rgba(5,0,20,.8); transition: transform .6s cubic-bezier(.16,1,.3,1); }
.mn-bp i { display: block; height: 100%; border-radius: 4px; }
.mn-bp1 { transform: translateX(-40px) rotate(-7deg); } .mn-bp2 { transform: rotate(1deg); } .mn-bp3 { transform: translateX(40px) rotate(8deg); }
.mn-tile:hover .mn-bp1 { transform: translateX(-96px) rotate(-12deg); } .mn-tile:hover .mn-bp2 { transform: translateY(-10px); } .mn-tile:hover .mn-bp3 { transform: translateX(96px) rotate(12deg); }
.mn-priv { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr)); gap: 1rem; }
.mn-priv span { display: flex; flex-direction: column; gap: .4rem; padding: 1.1rem; border-radius: 20px; background: rgba(255,255,255,.04); border: 1px solid rgba(255,255,255,.08); font-size: .88rem; line-height: 1.55; color: #c2b9df; }
.mn-priv b { font-weight: 500; font-size: .95rem; color: #f5f1ff; }

/* ---------- How it works: neon zigzag ---------- */
.mm--neon .mm-steps { position: relative; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 7rem; row-gap: 1.5rem; padding-bottom: 6rem; }
.mm--neon .mm-steps::before { content: ""; position: absolute; left: 50%; top: 0; bottom: 0; width: 2px; transform: translateX(-50%); border-radius: 2px; background: linear-gradient(180deg, #8b5cf6, #ec4899, #f59e0b); box-shadow: 0 0 20px #ec4899; opacity: .85; }
.mm--neon .mm-step { grid-column: 1; background: var(--mn-glass); border: 1px solid rgba(196,181,253,.2); box-shadow: var(--mn-edge), var(--mm-shadow); border-radius: 28px; }
.mm--neon .mm-step:nth-child(even), .mm--neon .mm-step.mm-reveal.is-in:nth-child(even) { grid-column: 2; transform: translateY(50%); }
.mm--neon .mm-step__n { color: transparent; -webkit-text-stroke: 1px rgba(196,181,253,.6); font-family: var(--mm-display); font-style: normal; }
.mm--neon .mm-step__ico { background: linear-gradient(135deg, rgba(139,92,246,.55), rgba(236,72,153,.38)); color: #fff; box-shadow: 0 0 24px -6px #8b5cf6; }
.mm--neon .mm-step p { color: #c6bde3; }

/* ---------- Packages / templates / gallery / FAQ / contact ---------- */
.mm--neon .mm-pkg.is-popular { background: linear-gradient(140deg, rgba(139,92,246,.6), rgba(236,72,153,.45)); box-shadow: 0 0 60px -14px rgba(236,72,153,.7); }
.mm--neon .mm-pkg.is-popular .mm-pkg__in { background: linear-gradient(170deg, rgba(60,24,110,.92), rgba(22,12,46,.96)); }
.mm--neon .mm-pkg__flag { background: linear-gradient(100deg, #8b5cf6, #ec4899); box-shadow: 0 0 20px rgba(236,72,153,.7); }
.mm--neon .mm-pkg__price { color: #fff; }
.mm--neon .mm-compare table { background: rgba(21,12,47,.75); }
.mm--neon .mm-compare td .mm-ico { color: #f0abfc; }
.mm--neon .mm-tpl figcaption { background: rgba(21,12,47,.9); }
.mm--neon .mm-tpl > canvas, .mm--neon .mm-tplcanvas { background: #1b1036; }
.mm--neon .mm-bento__i { background: var(--mn-glass); border-color: rgba(196,181,253,.2); }
.mm--neon .mm-bento__i--art .mm-ico { color: #f0abfc; }
.mm--neon .mm-faq details { background: var(--mn-glass); border-color: rgba(196,181,253,.2); }
.mm--neon .mm-faq summary i::before, .mm--neon .mm-faq summary i::after { background: #c4b5fd; }
.mm--neon .mm-foot { border-top-color: rgba(255,255,255,.08); background: rgba(8,3,24,.4); }

/* ---------- Dashboard ---------- */
.mm--neon.mm--app { background: inherit; }
.mm--neon .mm-dash__side { background: var(--mn-glass); border-color: rgba(196,181,253,.2); }
.mm--neon .mm-dash__side nav a:hover { background: rgba(255,255,255,.06); color: #fff; }
.mm--neon .mm-dash__side nav a[aria-current] { background: linear-gradient(100deg, rgba(139,92,246,.55), rgba(236,72,153,.35)); color: #fff; box-shadow: 0 0 22px -8px #8b5cf6; }
.mm--neon .mm-stat, .mm--neon .mm-evcard, .mm--neon .mm-emptycard, .mm--neon .mm-mod, .mm--neon .mm-more, .mm--neon .mm-dl { background: var(--mn-glass); border-color: rgba(196,181,253,.2); }
.mm--neon .mm-tabs a[aria-current] { color: #fff; border-color: #a78bfa; }
.mm--neon .mm-tabs b { background: #ec4899; }
.mm--neon .mm-progress, .mm--neon .mg-prog__bar { background: rgba(255,255,255,.08); }
.mm--neon .mm-progress i, .mm--neon .mg-prog__bar i { background: linear-gradient(90deg, #8b5cf6, #ec4899, #f59e0b); box-shadow: 0 0 12px #ec4899; }
.mm--neon .mm-chipbtn.is-on { background: rgba(139,92,246,.3); border-color: #a78bfa; color: #fff; }
.mm--neon .mm-progress-steps li.is-on::before { background: #8b5cf6; box-shadow: 0 0 16px #8b5cf6; }

/* ---------- QR designer (Design Studio look) ---------- */
.mm--neon .mmd-panel { background: var(--mn-glass) !important; border: 1px solid rgba(196,181,253,.22); border-radius: 24px; box-shadow: var(--mn-edge); }
.mm--neon .mmd-panel h4, .mm--neon .mmd-cat { color: #ddd6fe; }
.mm--neon .mmd-stage { position: relative; background: radial-gradient(70% 30% at 50% 100%, rgba(139,92,246,.45), transparent 70%), radial-gradient(circle at 50% 40%, rgba(106,13,173,.35), transparent 60%), #120a28; border-radius: 24px; }
.mm--neon .mmd-canvas { box-shadow: 0 40px 80px -24px rgba(6,0,24,.9), 0 0 0 1px rgba(255,255,255,.18), 0 0 60px -10px rgba(236,72,153,.55); }
.mm--neon .mmd-btn, .mm--neon .mmd-mini { background: rgba(255,255,255,.06); color: #f5f1ff; border-color: rgba(196,181,253,.3); }
.mm--neon .mmd-btn:hover, .mm--neon .mmd-mini:hover { background: rgba(255,255,255,.12); }
.mm--neon .mmd-btn.is-ghost { background: transparent; }
.mm--neon .mmd-thumb { background: rgba(255,255,255,.05); border-color: rgba(255,255,255,.12); color: #d6cdf2; }
.mm--neon .mmd-thumb.is-active { border-color: #c4b5fd; color: #fff; box-shadow: 0 0 0 3px rgba(139,92,246,.4), 0 0 26px rgba(139,92,246,.7); }
.mm--neon .mmd-hint { color: #b5abd8; }
.mm--neon .mmd-field input[type=color] { background: rgba(255,255,255,.08); }
.mm--neon .mm-framepick input:checked ~ canvas { box-shadow: 0 0 0 3px #a78bfa, 0 0 24px #8b5cf6; }

/* ---------- Guest portal ---------- */
.mm--neon .mm-guest { width: min(560px, 100%); }
.mm--neon .mg-cover, .mm--neon .mg-monogram { background: rgba(255,255,255,.06); border-color: rgba(196,181,253,.35); box-shadow: 0 0 40px -8px rgba(139,92,246,.8); color: #f0abfc; }
.mm--neon .mg-eyebrow { color: #f0abfc; font-family: "Geist Mono", monospace; letter-spacing: .18em; }
.mm--neon .mg-couple { color: #fff; text-shadow: 0 0 30px rgba(236,72,153,.45); }
.mm--neon .mg-msg { font-family: var(--mm-body); font-style: normal; color: #ddd4f7; }
.mm--neon .mg-cam { border-radius: 30px; background: #140b2c; box-shadow: 0 0 0 1px rgba(255,255,255,.12), 0 30px 60px -24px rgba(5,0,20,.9), 0 0 60px -14px rgba(139,92,246,.6); }
.mm--neon .mg-cam__open { color: #ede6ff; background: radial-gradient(circle at 50% 42%, rgba(139,92,246,.35), transparent 62%); }
.mm--neon .mg-cam__side { background: rgba(255,255,255,.06); border-color: rgba(196,181,253,.3); color: #fff; }
.mm--neon .mg-shutter { border-color: #fff; background: transparent; box-shadow: 0 0 40px -6px #ec4899; }
.mm--neon .mg-shutter i { background: linear-gradient(135deg, #fff, #f5d0fe); }
.mm--neon .mg-action { background: var(--mn-glass); border-color: rgba(196,181,253,.22); color: #f5f1ff; box-shadow: var(--mn-edge); backdrop-filter: blur(14px); }
.mm--neon .mg-action:hover { border-color: rgba(196,181,253,.45); }
.mm--neon .mg-action__ico { background: linear-gradient(135deg, #8b5cf6, #ec4899); color: #fff; box-shadow: 0 0 22px -6px #ec4899; }
.mm--neon .mg-owner { background: var(--mn-glass); border-color: rgba(196,181,253,.22); }
.mm--neon .mg-owner__head { color: #fff; }
.mm--neon .mg-owner__head svg { color: #f0abfc; }
.mm--neon .mg-filter.is-on .mg-filter__sw, .mg-sheet .mg-filter.is-on .mg-filter__sw { box-shadow: 0 0 0 3px #a78bfa, 0 0 20px #8b5cf6; border-color: #fff; }
.mm--neon .mg-filter em, .mg-sheet .mg-filter em { color: #d6cdf2; }
.mm--neon .mg-rowtitle, .mg-sheet .mg-rowtitle { color: #c4b5fd; font-family: "Geist Mono", monospace; letter-spacing: .14em; text-transform: uppercase; font-size: .72rem; }
.mm--neon .mg-hint, .mm--neon .mg-more, .mm--neon .mg-count, .mg-sheet .mg-hint, .mg-sheet .mg-more, .mg-sheet .mg-count { color: #b5abd8; }
.mm--neon .mg-brand { color: #958bbd; }

.mg-sheet { color: #f5f1ff; }
.mg-sheet__back { background: rgba(8,3,20,.62); backdrop-filter: blur(4px); }
.mg-sheet__panel { background: linear-gradient(170deg, #241246, #150c2f 45%, #0f0824); border-top: 1px solid rgba(196,181,253,.3); box-shadow: 0 -20px 60px -10px rgba(139,92,246,.45); }
.mg-sheet__head h3 { font-family: var(--mm-display); color: #fff; }
.mg-x { background: rgba(255,255,255,.08); border-color: rgba(196,181,253,.3); color: #fff; }
.mg-pick, .mg-frame__sw { background: rgba(255,255,255,.06); border-color: rgba(196,181,253,.3); color: #ede6ff; }
.mg-rec { background: linear-gradient(135deg, #8b5cf6, #ec4899); box-shadow: 0 0 40px -6px #ec4899; }
.mg-rec.is-rec { background: #e11d48; box-shadow: 0 0 40px -4px #fb7185; }
.mg-wave i { background: linear-gradient(180deg, #f9a8d4, #c4b5fd) !important; }
.mg-toast { background: rgba(21,12,47,.92); color: #f5f1ff; border: 1px solid rgba(196,181,253,.3); box-shadow: 0 20px 50px -20px rgba(139,92,246,.7); backdrop-filter: blur(12px); }
.mg-toast.is-bad { background: rgba(127,29,29,.92); }

/* ---------- Memories Book ---------- */
.mm--neon .mb-bar { background: rgba(20,10,44,.6); border-color: rgba(196,181,253,.18); backdrop-filter: blur(14px); }
.mm--neon .mb-page { background: linear-gradient(170deg, #1d1040, #140b2c); border-color: rgba(196,181,253,.2); box-shadow: 0 40px 90px -30px rgba(5,0,20,.95), 0 0 60px -20px rgba(139,92,246,.45); }
.mm--neon .mb-eyebrow { color: #f0abfc; }
.mm--neon .mb-nav, .mm--neon .mb-tool { background: rgba(255,255,255,.06); border-color: rgba(196,181,253,.3); color: #fff; }
.mm--neon .mb-dots button.is-on { background: linear-gradient(90deg, #8b5cf6, #ec4899); }
.mm--neon .mb-wish, .mm--neon .mb-voice { background: rgba(255,255,255,.05); border-color: rgba(196,181,253,.18); }
.mm--neon .mb-voice__ico { background: linear-gradient(135deg, #8b5cf6, #ec4899); color: #fff; }

/* ---------- Responsive + motion ---------- */
@media (max-width: 900px) {
	.mm--neon .mm-nav__links { background: rgba(16,8,36,.96); border-color: rgba(196,181,253,.2); }
	.mn-hero { min-height: 0; padding-top: 2rem; }
	.mn-scene { height: 540px; transform: scale(.78); transform-origin: top center; margin-bottom: -110px; }
	.mn-bento { grid-template-columns: 1fr; }
	.mn-bento > .mn-tile { grid-column: auto; grid-row: auto; }
	.mm--neon .mm-steps { grid-template-columns: 1fr; padding-left: 2.2rem; padding-bottom: 0; }
	.mm--neon .mm-steps::before { left: .6rem; }
	.mm--neon .mm-step:nth-child(even), .mm--neon .mm-step.mm-reveal.is-in:nth-child(even) { grid-column: 1; transform: none; }
}
@media (max-width: 560px) {
	.mn-scene { height: 500px; transform: scale(.62); margin-bottom: -200px; margin-inline: -20%; }
	.mn-mq span { font-size: 1.2rem; }
}
@media (prefers-reduced-motion: reduce) {
	.mm--neon *, .mn-fx * { animation: none !important; transition: none !important; }
	.mn-scene__in, .mn-lay { transform: none !important; }
}

/* =====================================================================
 * v1.0.9 — complete Neon site: inner pages, marketing, footer,
 * checkout ticket, dashboard, Design Studio.
 * ===================================================================== */

/* ---------- Buttons: no trailing arrow, even padding ---------- */
.mm--neon .mm-btn { justify-content: center; min-height: 48px; padding: .7rem 1.45rem; font-size: .95rem; }
.mm--neon .mm-btn__ico:has([data-i="arrow"]) { display: none; }
.mm--neon .mm-btn:has(.mm-btn__ico:not(:has([data-i="arrow"]))) { padding-inline: 1.1rem 1.35rem; }
.mm--neon .mm-btn__ico { width: 1.9rem; height: 1.9rem; }
.mm--neon .mm-btn--wa { background: rgba(31,157,85,.16); border: 1px solid rgba(74,222,128,.4); color: #dcfce7; }

/* ---------- Section heads: title + one line, left aligned ---------- */
.mm--neon [id] { scroll-margin-top: 6.5rem; }
.mm--neon .mm-head.mn-head { text-align: left; max-width: none; margin: 0 0 clamp(2.4rem, 5vw, 3.4rem); display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 380px), 1fr)); gap: .8rem 3rem; align-items: end; }
.mm--neon .mn-head h2 { font-size: clamp(2.1rem, 3.8vw, 3.2rem); font-weight: 500; margin: 0; max-width: 17ch; }
.mm--neon .mn-head p { margin: 0; color: #c9c0e6; max-width: 48ch; font-size: 1.04rem; }
.mm--neon .mm-sec--tint { background: linear-gradient(180deg, transparent, rgba(139,92,246,.07) 30%, rgba(139,92,246,.07) 70%, transparent); }
.mm--neon .mm-sec { width: min(1240px, calc(100% - 2rem)); }
.mm--neon .mm-sec--tint { width: 100%; }

/* ---------- Inner-page hero ---------- */
.mn-phero { width: min(1240px, calc(100% - 2rem)); margin: 0 auto; display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); gap: 2rem; align-items: center; min-height: 400px; padding: clamp(2.5rem, 6vw, 4.5rem) 0 1rem; }
.mm--neon .mn-phero h1 { font-size: clamp(2.6rem, 5vw, 4.2rem); line-height: 1.02; letter-spacing: -.035em; font-weight: 600; margin: 0; max-width: 14ch; }
.mn-phero p { margin: 1.1rem 0 0; font-size: 1.12rem; color: #cfc6ec; max-width: 44ch; }
.mn-phero__art { position: relative; height: 340px; }
.mn-phero__orb { position: absolute; left: 50%; top: 50%; width: 300px; height: 300px; margin: -150px 0 0 -150px; border-radius: 50%; background: radial-gradient(circle at 40% 35%, #f9a8d4 0%, #ec4899 26%, #8b5cf6 58%, transparent 72%); filter: blur(42px); opacity: .5; animation: mn-breathe 9s ease-in-out infinite; }
.mn-trail { position: absolute; inset: 10% 4%; width: 92%; height: 80%; overflow: visible; transform: translate3d(calc(var(--mx, 0) * 14px), calc(var(--my, 0) * 10px), 0); }
.mn-trail circle { fill: #fff; filter: drop-shadow(0 0 8px #ec4899) drop-shadow(0 0 18px #8b5cf6); }
.mn-pass { position: absolute; left: 50%; top: 50%; width: 170px; height: 220px; margin: -130px 0 0 -85px; border-radius: 22px; padding: 18px; display: flex; flex-direction: column; gap: 10px; color: #f0abfc;
	background: linear-gradient(160deg, rgba(255,255,255,.14), rgba(255,255,255,.04)); border: 1px solid rgba(255,255,255,.2); box-shadow: inset 0 1px 0 rgba(255,255,255,.3), 0 30px 60px -24px rgba(5,0,20,.85); backdrop-filter: blur(14px); }
.mn-pass i { display: block; height: 8px; border-radius: 6px; background: rgba(255,255,255,.18); }
.mn-pass i:nth-of-type(1) { width: 70%; margin-top: auto; } .mn-pass i:nth-of-type(2) { width: 90%; } .mn-pass i:nth-of-type(3) { width: 50%; background: linear-gradient(90deg, #8b5cf6, #ec4899); }
.mn-pass--1 { transform: translateX(-120px) rotate(-12deg) translateY(16px); opacity: .7; }
.mn-pass--3 { transform: translateX(120px) rotate(11deg) translateY(16px); opacity: .7; }
.mn-pass--2 { z-index: 2; box-shadow: inset 0 1px 0 rgba(255,255,255,.35), 0 0 0 1px rgba(196,181,253,.35), 0 30px 80px -20px rgba(236,72,153,.6); animation: mn-float 8s ease-in-out infinite; }
.mn-podium--sm { position: absolute; left: 50%; bottom: 6px; margin-left: -170px; transform: scale(.8); }
.mn-podium--sm { display: block; }
.mn-phero__art--photos .mn-pol { position: absolute; left: 50%; top: 50%; width: 150px; display: block; }
.mn-phero__art--photos .mn-pol .mn-shot { height: 130px; }
.mn-pol--a { transform: translate(-150px, -110px) rotate(-9deg); }
.mn-pol--b { transform: translate(10px, -150px) rotate(7deg); }
.mn-pol--c { transform: translate(-70px, -40px) rotate(-2deg); z-index: 2; animation: mn-float 9s ease-in-out infinite; }
.mn-bub { position: absolute; display: grid; place-items: center; width: 150px; height: 110px; border-radius: 34px 34px 34px 10px; color: #fff; background: linear-gradient(160deg, rgba(139,92,246,.55), rgba(236,72,153,.35)); border: 1px solid rgba(255,255,255,.22); box-shadow: 0 30px 60px -24px rgba(5,0,20,.85), 0 0 50px -16px #ec4899; backdrop-filter: blur(12px); }
.mn-bub--a { left: 16%; top: 18%; animation: mn-float 8s ease-in-out infinite; }
.mn-bub--b { right: 14%; bottom: 16%; width: 110px; height: 84px; border-radius: 30px 30px 10px 30px; background: linear-gradient(160deg, rgba(255,255,255,.16), rgba(255,255,255,.05)); animation: mn-float 9s ease-in-out -3s infinite; }
.mn-invite { position: absolute; left: 50%; top: 50%; width: 220px; height: 290px; margin: -150px 0 0 -110px; border-radius: 18px; padding: 26px; display: flex; flex-direction: column; justify-content: flex-end; gap: 12px; transform: rotate(-5deg);
	background: linear-gradient(170deg, #fffdf8, #f3ece4); box-shadow: 0 40px 80px -30px rgba(5,0,20,.9), 0 0 60px -18px #8b5cf6; animation: mn-float 9s ease-in-out infinite; --r0: -5deg; --r1: -3deg; }
.mn-invite i { display: block; height: 7px; border-radius: 4px; background: #e9dccf; }
.mn-invite i:nth-of-type(2) { width: 70%; } .mn-invite i:nth-of-type(3) { width: 45%; }
.mn-invite__seal { position: absolute; left: 50%; top: 42%; width: 64px; height: 64px; margin: -32px 0 0 -32px; border-radius: 50%; display: grid; place-items: center; color: #fff; background: radial-gradient(circle at 35% 30%, #f9a8d4, #be185d 70%); box-shadow: 0 8px 20px -6px rgba(190,24,93,.7); }

/* ---------- Couple / guests split ---------- */
.mn-split__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 420px), 1fr)); gap: 1.4rem; }
.mn-side { position: relative; border-radius: 30px; padding: clamp(1.6rem, 3vw, 2.4rem); background: var(--mn-glass); border: 1px solid rgba(196,181,253,.2); box-shadow: var(--mn-edge), var(--mm-shadow); }
.mn-side + .mn-side { background: linear-gradient(160deg, rgba(236,72,153,.14), rgba(30,14,64,.38) 55%, rgba(20,10,44,.6)); }
.mn-side h3 { font-size: 1.6rem; font-weight: 500; margin: 1rem 0 .4rem; }
.mn-side p { color: #c6bde3; margin: 0 0 1.2rem; }
.mn-side ul { list-style: none; margin: 0; padding: 0; display: grid; gap: .75rem; }
.mn-side li { display: flex; gap: .7rem; align-items: flex-start; font-size: .98rem; color: #ede6ff; }
.mn-side li .mm-ico { color: #f0abfc; margin-top: .25rem; flex: none; }

/* ---------- Trust row ---------- */
.mn-trust { width: min(1240px, calc(100% - 2rem)); margin: 0 auto; padding: 1rem 0 2rem; }
.mn-trust ul { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 250px), 1fr)); gap: 1rem; }
.mn-trust li { display: flex; gap: .9rem; align-items: flex-start; padding: 1.2rem; border-radius: 22px; background: rgba(255,255,255,.04); border: 1px solid rgba(255,255,255,.09); }
.mn-trust li strong { display: block; font-weight: 500; color: #fff; margin-bottom: .2rem; }
.mn-trust li > span:last-child { font-size: .92rem; color: #c2b9df; line-height: 1.55; }
.mn-trust .mn-ticon { flex: none; width: 40px; height: 40px; }

/* ---------- Live counters + testimonials ---------- */
.mn-stats { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr)); border-radius: 30px; overflow: hidden; background: var(--mn-glass); border: 1px solid rgba(196,181,253,.2); box-shadow: var(--mn-edge); margin-bottom: 1.4rem; }
.mn-stats > div { padding: 2rem 1.8rem; display: flex; flex-direction: column; gap: .4rem; border-left: 1px solid rgba(255,255,255,.08); }
.mn-stats > div:first-child { border-left: 0; }
.mn-stats strong { font: 500 clamp(2.4rem, 4.4vw, 3.4rem)/1 "Geist Mono", ui-monospace, monospace; letter-spacing: -.04em; background: linear-gradient(100deg, #fff, #f5d0fe 60%, #f9a8d4); -webkit-background-clip: text; background-clip: text; color: transparent; }
.mn-stats span { color: #c6bde3; font-size: .95rem; }
.mn-quotes { columns: 3 300px; column-gap: 1.2rem; }
.mn-quote { break-inside: avoid; margin: 0 0 1.2rem; padding: 1.8rem; border-radius: 26px; background: rgba(255,255,255,.04); border: 1px solid rgba(255,255,255,.1); position: relative; }
.mn-quote::before { content: "\201C"; position: absolute; top: .4rem; right: 1.2rem; font: 600 4.4rem/1 var(--mm-display); background: linear-gradient(160deg, #8b5cf6, #ec4899); -webkit-background-clip: text; background-clip: text; color: transparent; opacity: .7; }
.mn-quote blockquote { margin: 0; font-size: 1.06rem; line-height: 1.65; color: #f2edff; }
.mn-quote figcaption { margin-top: 1.1rem; display: flex; flex-direction: column; }
.mn-quote figcaption strong { font-weight: 500; }
.mn-quote figcaption span { font-size: .88rem; color: #b5abd8; }

/* ---------- Closing call to action ---------- */
.mn-final-sec { padding-top: clamp(1rem, 3vw, 2rem); padding-bottom: clamp(3rem, 7vw, 5rem); }
/* Frosted glass: background light trails blur behind every translucent surface. */
.mm--neon .mm-faq details, .mn-help, .mn-side, .mn-tile, .mn-trust li, .mn-chan, .mm--neon .mm-step, .mn-final, .mn-stats, .mn-quote, .mm--neon .mm-points ul,
.mm--neon .mm-dash__side, .mm--neon .mm-stat, .mm--neon .mm-activity, .mm--neon .mm-tabs { backdrop-filter: blur(16px) saturate(130%); -webkit-backdrop-filter: blur(16px) saturate(130%); }
.mn-final { position: relative; overflow: hidden; border-radius: 40px; padding: clamp(2.4rem, 6vw, 4.6rem); display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); gap: 2rem; align-items: center;
	background: linear-gradient(140deg, rgba(106,13,173,.55), rgba(30,14,64,.6) 50%, rgba(236,72,153,.28)); border: 1px solid rgba(196,181,253,.28); box-shadow: inset 0 1px 0 rgba(255,255,255,.18), 0 40px 90px -40px rgba(139,92,246,.8); }
.mn-final__orb { position: absolute; right: -140px; top: -180px; width: 560px; height: 560px; border-radius: 50%; background: radial-gradient(circle, rgba(236,72,153,.6), rgba(139,92,246,.35) 45%, transparent 70%); filter: blur(30px); pointer-events: none; animation: mn-breathe 9s ease-in-out infinite; }
.mn-final__copy, .mn-final__acts { position: relative; }
.mm--neon .mn-final h2 { font-size: clamp(2rem, 3.8vw, 3.1rem); font-weight: 500; margin: 0; max-width: 16ch; }
.mn-final p { color: #e4dcfb; margin: 1rem 0 0; max-width: 48ch; font-size: 1.05rem; }
.mn-final__acts { display: flex; flex-direction: column; align-items: flex-start; gap: .8rem; justify-self: end; }

/* ---------- Footer ---------- */
.mm--neon .mn-foot { margin-top: 0; border-top: 1px solid rgba(255,255,255,.08); background: rgba(6,2,18,.55); backdrop-filter: blur(10px); }
.mn-foot__in { width: min(1240px, calc(100% - 2rem)); margin: 0 auto; padding: clamp(2.6rem, 6vw, 4rem) 0 2rem; display: grid; grid-template-columns: minmax(0, 1.6fr) repeat(3, minmax(0, 1fr)); gap: 2rem; }
.mn-foot__brand p { color: #b5abd8; font-size: .95rem; margin: 1rem 0 0; max-width: 34ch; }
.mn-foot__h { font: 500 1.02rem var(--mm-display); color: #fff; margin: 0 0 .8rem; }
.mn-foot__col { display: flex; flex-direction: column; gap: .65rem; }
.mn-foot__col a, .mn-foot__col p { color: #ddd4f7; text-decoration: none; font-size: .95rem; margin: 0; display: inline-flex; gap: .5rem; align-items: center; }
.mn-foot__col a:hover { color: #fff; }
.mn-social { display: flex; flex-wrap: wrap; gap: .5rem; margin-top: 1.2rem; }
.mn-social a { padding: .45rem .9rem; border-radius: 999px; border: 1px solid rgba(196,181,253,.25); color: #ede6ff; text-decoration: none; font-size: .88rem; }
.mn-social a:hover { background: rgba(255,255,255,.08); }
.mn-foot__bar { width: min(1240px, calc(100% - 2rem)); margin: 0 auto; padding: 1.2rem 0 2rem; border-top: 1px solid rgba(255,255,255,.07); display: flex; flex-wrap: wrap; justify-content: space-between; gap: 1rem; color: #958bbd; font-size: .88rem; }
.mn-foot__bar a { color: #b5abd8; }
.mm--neon .mn-foot__bar small { width: auto; color: #958bbd; }
.mm--neon .mm-wa-float { background: linear-gradient(135deg, #22c55e, #15803d); box-shadow: 0 10px 30px -8px rgba(34,197,94,.7); }

/* ---------- Packages as glass passes ---------- */
.mm--neon .mm-pkgs { gap: 1.4rem; align-items: stretch; }
.mm--neon .mm-pkg { position: relative; border-radius: 32px; }
.mm--neon .mm-pkg__in { border-radius: 26px; }
.mm--neon .mm-pkg__in::before { content: ""; position: absolute; left: 12%; right: 12%; top: 0; height: 1px; background: linear-gradient(90deg, transparent, rgba(255,255,255,.55), transparent); }
.mm--neon .mm-pkg h3 { font-size: 1.5rem; font-weight: 500; }
.mm--neon .mm-pkg__price { font: 600 clamp(2.2rem, 3.4vw, 2.8rem)/1.05 var(--mm-display); letter-spacing: -.03em; white-space: nowrap; }
.mm--neon .mm-pkg__price s { display: block; font: 400 1rem var(--mm-body); letter-spacing: 0; color: #b5abd8; margin-bottom: .2rem; }
.mm--neon .mm-pkg__ico { width: 52px; height: 52px; margin: 0 auto .8rem; border-radius: 16px; display: grid; place-items: center; background: linear-gradient(135deg, rgba(139,92,246,.5), rgba(236,72,153,.32)); color: #fff; }
.mm--neon .mm-pkg.is-popular::after { content: ""; position: absolute; left: 10%; right: 10%; bottom: -26px; height: 44px; border-radius: 50%; border: 2px solid rgba(167,139,250,.8); box-shadow: 0 0 30px #8b5cf6, inset 0 0 18px rgba(167,139,250,.5); z-index: -1; }
.mm--neon .mm-compare { margin-top: 3.5rem; }
.mm--neon .mm-compare table { border-radius: 24px; overflow: hidden; border: 1px solid rgba(196,181,253,.18); }
.mm--neon .mm-compare th, .mm--neon .mm-compare td { border-bottom-color: rgba(255,255,255,.07); }
.mm--neon .mm-compare thead th { background: rgba(139,92,246,.18); color: #fff; }
.mm--neon .mm-compare tbody tr:hover { background: rgba(255,255,255,.03); }
.mm--neon .mm-tpl { border-radius: 26px; }
.mm--neon .mm-tpl figcaption { flex-direction: column; justify-content: flex-start; gap: .1rem; padding: .85rem 1.1rem 1rem; border-radius: 0 0 22px 22px; }
.mm--neon .mm-tpl figcaption strong { font-weight: 500; }
.mm--neon .mm-tpl figcaption span { font: 400 .8rem "Geist Mono", monospace; color: #b5abd8; }

/* ---------- Photo wall ---------- */
.mn-wall { columns: 4 230px; column-gap: 1.4rem; padding: .6rem .4rem 1rem; }
.mn-wall--3 { columns: 3 260px; column-gap: 2rem; }
.mn-wpol { break-inside: avoid; margin: 0 0 1.6rem; padding: 10px 10px 0; border-radius: 6px; background: linear-gradient(180deg, #fffdf8, #f3ece4); box-shadow: 0 30px 60px -22px rgba(5,0,20,.85); transform: rotate(var(--r, 0deg)); transition: transform .6s cubic-bezier(.16,1,.3,1), box-shadow .6s; }
.mn-wpol:hover { transform: rotate(0) translateY(-6px) scale(1.02); box-shadow: 0 40px 70px -24px rgba(5,0,20,.9), 0 0 50px -16px #ec4899; }
.mn-wpol img { width: 100%; height: auto; display: block; border-radius: 2px; }
.mn-wpol figcaption { font: 600 1.15rem "Caveat", var(--mm-script); color: #3b2a4a; text-align: center; padding: .55rem .3rem .75rem; }
.mn-wpol--art .mn-shot { position: relative; height: 220px; border-radius: 2px; }
.mn-wpol--art:nth-child(3n+2) .mn-shot { height: 280px; }
.mn-wpol__ico { position: absolute; left: 50%; top: 50%; width: 58px; height: 58px; margin: -29px 0 0 -29px; border-radius: 18px; display: grid; place-items: center; color: #fff; background: rgba(12,6,30,.45); border: 1px solid rgba(255,255,255,.3); backdrop-filter: blur(8px); }

/* ---------- FAQ with help card ---------- */
.mn-faqgrid { display: grid; grid-template-columns: minmax(0, 1.7fr) minmax(0, 1fr); gap: 2rem; align-items: start; }
.mm--neon .mm-faq { max-width: none; margin: 0; }
.mm--neon .mm-faq details { border-radius: 22px; padding: 0 1.4rem; transition: border-color .3s, background .3s; }
.mm--neon .mm-faq details[open] { border-color: rgba(196,181,253,.45); background: linear-gradient(160deg, rgba(139,92,246,.2), rgba(30,14,64,.45)); }
.mm--neon .mm-faq summary { font: 500 1.08rem var(--mm-display); color: #fff; }
.mn-help { position: sticky; top: 6.5rem; border-radius: 28px; padding: 1.8rem; display: flex; flex-direction: column; gap: .9rem; align-items: flex-start; background: linear-gradient(160deg, rgba(236,72,153,.18), rgba(30,14,64,.5)); border: 1px solid rgba(244,114,182,.3); box-shadow: var(--mn-edge), var(--mm-shadow); }
.mn-help h3 { margin: 0; font-size: 1.45rem; font-weight: 500; }
.mn-help p { margin: 0; color: #e4dcfb; }

/* ---------- Contact ---------- */
.mn-contact { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.25fr); gap: 2rem; align-items: start; }
.mn-contact__ch { display: grid; gap: 1rem; }
.mn-chan { display: flex; gap: 1rem; align-items: flex-start; padding: 1.3rem 1.4rem; border-radius: 24px; text-decoration: none; color: inherit; background: var(--mn-glass); border: 1px solid rgba(196,181,253,.2); box-shadow: var(--mn-edge); transition: transform .5s cubic-bezier(.16,1,.3,1), border-color .3s; }
a.mn-chan:hover { transform: translateY(-3px); border-color: rgba(196,181,253,.45); }
.mn-chan strong { display: block; font: 500 1.1rem var(--mm-display); color: #fff; margin-bottom: .15rem; }
.mn-chan > span:last-child { color: #c6bde3; font-size: .95rem; line-height: 1.55; overflow-wrap: anywhere; }
.mn-chan .mn-ticon { flex: none; }
.mm--neon .mn-invform { border-radius: 34px; background: rgba(255,255,255,.05); }
.mm--neon .mn-invform > .mm-form__in { position: relative; border-radius: 28px; }
.mm--neon .mn-invform > .mm-form__in::before { content: ""; position: absolute; inset: 10px; border-radius: 22px; border: 1px solid rgba(240,171,252,.25); pointer-events: none; }
.mm--neon .mn-invform h2 { font-size: 1.9rem; font-weight: 500; margin: 0; }
.mm--neon .mm-form label { color: #ddd4f7; font-size: .9rem; }

/* ---------- My Memories: closed book + form ---------- */
.mn-auth { width: min(1180px, calc(100% - 2rem)); margin: 0 auto; padding: clamp(2.5rem, 6vw, 4.5rem) 0; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(2rem, 5vw, 4rem); align-items: center; }
.mn-auth__art h1 { font-size: clamp(2.1rem, 3.8vw, 3.2rem); font-weight: 600; letter-spacing: -.03em; line-height: 1.05; margin: 2rem 0 0; max-width: 16ch; }
.mn-auth__art p { color: #cfc6ec; margin: 1rem 0 0; max-width: 40ch; }
.mn-book { position: relative; height: 330px; }
.mn-book__cover { position: absolute; left: 50%; top: 20px; width: 230px; height: 290px; margin-left: -115px; border-radius: 10px 22px 22px 10px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: .5rem; text-align: center; z-index: 2;
	background: linear-gradient(150deg, #3b1572, #1b0c3d 60%, #5b1b5e); border: 1px solid rgba(255,255,255,.2); box-shadow: inset 6px 0 0 rgba(0,0,0,.25), inset 0 1px 0 rgba(255,255,255,.25), 0 40px 80px -30px rgba(5,0,20,.95), 0 0 60px -14px #8b5cf6;
	transform: perspective(900px) rotateY(calc(-14deg + var(--mx, 0) * 10deg)) rotateX(calc(var(--my, 0) * -6deg)); }
.mn-book__cover b { font: 600 1.1rem var(--mm-display); letter-spacing: .2em; }
.mn-book__cover em { font-style: normal; font-size: .85rem; color: #ddd4f7; }
.mn-book__lock { width: 64px; height: 64px; border-radius: 50%; display: grid; place-items: center; margin-bottom: .6rem; color: #fff; background: linear-gradient(135deg, #8b5cf6, #ec4899); box-shadow: 0 0 30px -4px #ec4899; }
.mn-book .mn-pol { position: absolute; top: 40px; width: 120px; display: block; }
.mn-book .mn-pol .mn-shot { height: 100px; }
.mn-book .mn-pol--a { left: calc(50% - 175px); transform: rotate(-12deg); }
.mn-book .mn-pol--b { left: calc(50% + 60px); top: 60px; transform: rotate(10deg); }
.mn-book .mn-podium--sm { bottom: -30px; }
.mn-auth__form .mm-bezel { border-radius: 32px; }
.mm--neon .mn-auth__form .mm-form h2 { font-size: 2rem; font-weight: 500; }
.mm--neon .mm-form .mm-eyebrow, .mm--neon .mm-dash__head .mm-eyebrow { display: none; }

/* ---------- Checkout: summary as a ticket ---------- */
.mm--neon .mm-checkout__grid { align-items: start; }
.mm--neon .mm-checkout__grid > .mn-ticket { position: sticky; top: 6.5rem; }
.mm--neon .mm-form label small { font-size: .8rem; color: #b5abd8; }
.mm--neon .mm-more { border-radius: 22px; background: rgba(255,255,255,.04); border-color: rgba(196,181,253,.2); }
.mm--neon .mm-more summary { list-style: none; display: flex; justify-content: space-between; align-items: center; color: #ddd4f7; }
.mm--neon .mm-more summary::-webkit-details-marker { display: none; }
.mm--neon .mm-more summary::after { content: "+"; font: 400 1.3rem/1 var(--mm-body); color: #c4b5fd; }
.mm--neon .mm-more[open] summary::after { content: "\2212"; }
.mm--neon .mm-checkout .mm-progress-steps { margin-bottom: 2rem; }
.mm--neon .mm-progress-steps li { color: #c6bde3; }
.mm--neon .mm-progress-steps li.is-on { color: #fff; }
.mm--neon .mn-ticket { position: relative; border-radius: 30px; }
.mm--neon .mn-ticket > .mm-card { position: relative; border-radius: 24px; background: linear-gradient(170deg, rgba(91,27,94,.55), rgba(30,14,64,.75)); }
.mn-ticket__name { font: 600 1.6rem var(--mm-display); margin: 0 0 1rem; padding-bottom: 1rem; border-bottom: 2px dashed rgba(255,255,255,.18); position: relative; }
.mm--neon .mn-ticket .mm-total { border-top: 2px dashed rgba(255,255,255,.18); padding-top: 1rem; }
.mm--neon .mn-ticket .mm-total strong { font: 600 2.2rem var(--mm-display); background: linear-gradient(100deg, #fff, #f5d0fe); -webkit-background-clip: text; background-clip: text; color: transparent; }
.mn-ticket__notes { list-style: none; margin: 1.2rem 0 0; padding: 0; display: grid; gap: .6rem; }
.mn-ticket__notes li { display: flex; gap: .55rem; align-items: flex-start; font-size: .88rem; color: #c6bde3; }
.mn-ticket__notes .mm-ico { color: #c4b5fd; margin-top: .15rem; flex: none; }

/* ---------- Dashboard (SaaS) ---------- */
.mm--neon .mm-dash { gap: 1.6rem; grid-template-columns: 260px minmax(0, 1fr); }
.mm--neon .mm-dash > * { min-width: 0; }
.mm--neon .mm-dash__side { border-radius: 26px; padding: 1.2rem; box-shadow: var(--mn-edge), var(--mm-shadow); color: #f5f1ff; }
.mm--neon .mm-dash__hello strong, .mn-dhelp strong { color: #fff; }
.mm--neon .mm-dash__hello { display: grid; grid-template-columns: auto 1fr; column-gap: .8rem; align-items: center; padding: .4rem .3rem 1rem; border-bottom: 1px solid rgba(255,255,255,.08); margin-bottom: .6rem; }
.mn-ava { grid-row: span 2; width: 44px; height: 44px; border-radius: 50%; display: grid; place-items: center; font: 600 1.1rem var(--mm-display); color: #fff; background: linear-gradient(135deg, #8b5cf6, #ec4899); box-shadow: 0 0 22px -6px #ec4899; }
.mm--neon .mm-dash__hello small { color: #b5abd8; }
.mm--neon .mm-dash__side nav a { border-radius: 14px; color: #ddd4f7; }
.mn-dhelp { margin-top: 1rem; padding: 1.1rem; border-radius: 20px; display: grid; gap: .45rem; background: linear-gradient(160deg, rgba(236,72,153,.18), rgba(30,14,64,.4)); border: 1px solid rgba(244,114,182,.25); }
.mn-dhelp span { font-size: .88rem; color: #ddd4f7; }
.mn-dhelp .mm-btn { justify-self: start; min-height: 42px; padding: .5rem 1rem; font-size: .9rem; }
.mm--neon .mm-dash__head h2 { font-size: clamp(1.9rem, 3vw, 2.5rem); font-weight: 600; letter-spacing: -.02em; margin: 0; }
.mm--neon .mm-dash__head .mm-hint { margin: .3rem 0 0; }
.mm--neon .mm-stats { gap: .9rem; }
.mm--neon .mm-stat { border-radius: 22px; padding: 1.1rem 1.2rem; box-shadow: var(--mn-edge); flex-direction: column; align-items: flex-start; gap: .85rem; }
.mm--neon .mm-stat > div { display: flex; flex-direction: column; gap: .15rem; }
.mm--neon .mm-stat > div strong { order: -1; }
.mm--neon .mm-stat > .mm-ico { width: 40px; height: 40px; padding: 9px; border-radius: 13px; background: linear-gradient(135deg, rgba(139,92,246,.5), rgba(236,72,153,.3)); color: #fff; box-sizing: border-box; }
.mm--neon .mm-stat strong { font: 500 1.7rem "Geist Mono", ui-monospace, monospace; letter-spacing: -.03em; color: #fff; }
.mm--neon .mm-stat small { color: #c6bde3; }
.mm--neon .mm-evcard { border-radius: 28px; overflow: hidden; }
.mm--neon .mm-evcard .mm-card { position: relative; padding-top: 1.6rem; }
.mm--neon .mm-evcard .mm-card::before { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 6px; background: linear-gradient(90deg, #8b5cf6, #ec4899, #f59e0b); }
.mm--neon .mm-evcard h3 { color: #fff; }
.mn-evbar { height: 6px; border-radius: 6px; background: rgba(255,255,255,.08); overflow: hidden; margin: 1rem 0 .35rem; }
.mn-evbar i { display: block; height: 100%; border-radius: 6px; background: linear-gradient(90deg, #8b5cf6, #ec4899); box-shadow: 0 0 10px #ec4899; }
.mn-evbar__txt { display: block; font: 500 .8rem "Geist Mono", monospace; color: #f0abfc; margin-bottom: .2rem; }
.mm--neon .mm-tabs { gap: .4rem; padding: .35rem; border-radius: 999px; background: rgba(8,3,24,.5); border: 1px solid rgba(255,255,255,.1); width: fit-content; max-width: 100%; overflow-x: auto; }
.mm--neon .mm-tabs a { border: 0; border-radius: 999px; padding: .6rem 1.1rem; color: #cfc6ec; white-space: nowrap; }
.mm--neon .mm-tabs a[aria-current] { color: #fff; background: linear-gradient(110deg, rgba(139,92,246,.85), rgba(236,72,153,.75)); box-shadow: inset 0 1px 0 rgba(255,255,255,.3), 0 8px 24px -10px #ec4899; }
.mm--neon .mm-back { display: inline-flex; align-items: center; gap: .35rem; color: #c4b5fd; text-decoration: none; font-size: .9rem; }
.mm--neon .mm-back .mm-ico { transform: rotate(180deg); }
.mm--neon .mm-activity { background: var(--mn-glass); border: 1px solid rgba(196,181,253,.18); border-radius: 22px; padding: .4rem 1.1rem; }
.mm--neon .mm-activity li { border-bottom-color: rgba(255,255,255,.07); }
.mm--neon .mm-avatar { background: linear-gradient(135deg, #8b5cf6, #ec4899); color: #fff; }
.mm--neon .mm-activity time { color: #b5abd8; font-family: "Geist Mono", monospace; font-size: .8rem; }
.mm--neon .mm-order__amt { font-family: "Geist Mono", monospace; }
.mm--neon .mm-dl__zip { background: linear-gradient(135deg, #8b5cf6, #ec4899); box-shadow: 0 0 40px -8px #ec4899; }
.mm--neon .mm-qrmini { border-radius: 16px; box-shadow: 0 0 0 4px rgba(167,139,250,.35), 0 0 30px -6px #8b5cf6; }

/* ---------- Design Studio ---------- */
.mn-studio__head { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: 1.2rem; align-items: center; margin-bottom: 1.4rem; padding-bottom: 1.4rem; border-bottom: 1px solid rgba(255,255,255,.08); }
.mn-appicon { width: 64px; height: 64px; border-radius: 20px; display: grid; place-items: center; color: #fff; background: linear-gradient(140deg, #8b5cf6, #6a0dad 60%, #ec4899); box-shadow: inset 0 1px 0 rgba(255,255,255,.35), 0 14px 36px -10px rgba(139,92,246,.85); }
.mn-studio__title h3 { margin: 0; font: 600 clamp(1.6rem, 2.6vw, 2.1rem)/1.05 var(--mm-display); letter-spacing: -.02em; font-style: italic; }
.mn-studio__title p { margin: .35rem 0 0; color: #c6bde3; font-size: .95rem; max-width: 52ch; }
.mn-studio__steps { list-style: none; margin: 0; padding: 0; display: flex; gap: .45rem; flex-wrap: wrap; }
.mn-studio__steps li { display: flex; align-items: center; gap: .5rem; padding: .45rem .8rem .45rem .45rem; border-radius: 999px; font-size: .88rem; color: #c6bde3; background: rgba(255,255,255,.04); border: 1px solid rgba(255,255,255,.08); transition: all .4s cubic-bezier(.16,1,.3,1); }
.mn-studio__steps b { width: 26px; height: 26px; border-radius: 50%; display: grid; place-items: center; font: 500 .8rem "Geist Mono", monospace; border: 1.5px solid rgba(196,181,253,.5); }
.mn-studio__steps li.is-on { color: #fff; border-color: rgba(167,139,250,.6); background: linear-gradient(110deg, rgba(139,92,246,.3), rgba(236,72,153,.16)); }
.mn-studio__steps li.is-on b { background: #8b5cf6; border-color: #c4b5fd; box-shadow: 0 0 16px #8b5cf6; }
.mn-studio__steps li.is-done b { background: rgba(134,239,172,.2); border-color: rgba(134,239,172,.6); color: #bbf7d0; }
.mm--neon .mn-studio .mmd { grid-template-columns: 260px minmax(0, 1fr) 290px; gap: 1.1rem; }
.mm--neon .mn-studio .mmd-panel { padding: 1.1rem; max-height: 78vh; }
.mm--neon .mn-studio .mmd-stage { min-height: 520px; padding: 28px 16px 64px;
	background:
		radial-gradient(ellipse 32% 4.5% at 50% 93%, transparent 86%, rgba(244,114,182,.95) 90%, transparent 95%),
		radial-gradient(ellipse 42% 6% at 50% 94%, transparent 88%, rgba(167,139,250,.95) 91%, transparent 95%),
		radial-gradient(ellipse 48% 9% at 50% 95%, rgba(139,92,246,.55), transparent 70%),
		radial-gradient(circle at 50% 38%, rgba(106,13,173,.4), transparent 60%), #120a28; }
.mm--neon .mn-studio .mmd-status { color: #86efac; }
.mmd-swatches, .mmd-bgs { display: flex; flex-wrap: wrap; gap: .45rem; }
.mmd-sw { width: 30px; height: 30px; border-radius: 10px; border: 2px solid rgba(255,255,255,.18); cursor: pointer; padding: 0; transition: transform .3s cubic-bezier(.16,1,.3,1), box-shadow .3s; }
.mmd-sw:hover, .mmd-bgsw:hover { transform: translateY(-2px); }
.mmd-sw.is-on { border-color: #fff; box-shadow: 0 0 0 3px rgba(139,92,246,.5), 0 0 16px rgba(236,72,153,.7); }
.mmd-bgsw { width: 44px; height: 54px; border-radius: 12px; border: 2px solid rgba(255,255,255,.15); cursor: pointer; padding: 0; transition: transform .3s cubic-bezier(.16,1,.3,1), box-shadow .3s; }
.mmd-bgsw.is-on { border-color: #c4b5fd; box-shadow: 0 0 0 3px rgba(139,92,246,.45), 0 0 20px rgba(139,92,246,.8); }

/* ---------- v1.0.9 responsive ---------- */
@media (max-width: 1080px) {
	.mm--neon .mn-studio .mmd { grid-template-columns: 1fr; }
	.mn-studio__head { grid-template-columns: auto minmax(0, 1fr); }
	.mn-studio__steps { grid-column: 1 / -1; }
}
@media (max-width: 900px) {
	.mn-phero, .mn-auth, .mn-contact, .mn-faqgrid, .mn-final { grid-template-columns: 1fr; }
	.mn-phero { min-height: 0; padding-top: 2rem; }
	.mn-phero__art { height: 260px; order: -1; }
	.mn-help { position: static; }
	.mn-final__acts { justify-self: start; }
	.mn-foot__in { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.mn-foot__brand { grid-column: 1 / -1; }
	.mn-auth__art { text-align: left; }
	.mn-dhelp { display: none; }
	.mm--neon .mm-dash { grid-template-columns: minmax(0, 1fr); }
	.mm--neon .mm-dash__hello { display: none; }
	.mm--neon .mm-checkout__grid > .mn-ticket { position: static; }
	.mn-book { height: 340px; }
}
@media (max-width: 560px) {
	.mn-foot__in { grid-template-columns: 1fr; }
	.mn-pass--1 { transform: translateX(-80px) rotate(-12deg) translateY(16px); }
	.mn-pass--3 { transform: translateX(80px) rotate(11deg) translateY(16px); }
	.mn-phero__art--photos .mn-pol { width: 120px; }
	.mn-phero__art--photos .mn-pol .mn-shot { height: 100px; }
	.mn-stats > div { border-left: 0; border-top: 1px solid rgba(255,255,255,.08); }
	.mn-stats > div:first-child { border-top: 0; }
	.mn-wall { columns: 2 140px; column-gap: .9rem; }
}

/* ---------- Readability floor: no label under 12px in Neon ---------- */
.mm--neon .mm-pkg__flag, .mm--neon .mm-badge, .mm--neon .mm-mod__meta small, .mm--neon .mmd-mini, .mm--neon .mmd-cat, .mm--neon .mmd-thumb,
.mm--neon .mg-eyebrow, .mm--neon .mg-brand, .mm--neon .mg-filter, .mg-sheet .mg-filter, .mm--neon .mb-eyebrow, .mm--neon .mb-photo span,
.mm--neon .mg-actions--row .mg-action__txt small, .mn-mod b, .mm--neon .mg-rowtitle, .mg-sheet .mg-rowtitle { font-size: .78rem; }
.mm--neon .mm-tabs b { font-size: .75rem; }

/* ---------- v1.0.9.1 — photographic 3D hero (real wedding photos, glossy floor) ---------- */
.mn-scene { height: 700px; }
.mn-ambient { position: absolute; inset: -8% -14%; background-size: cover; background-position: center; opacity: .5; filter: saturate(1.25); pointer-events: none;
	-webkit-mask-image: radial-gradient(closest-side, #000 55%, transparent); mask-image: radial-gradient(closest-side, #000 55%, transparent); }
.mn-bokeh { position: absolute; inset: 0; pointer-events: none; opacity: .8; animation: mn-breathe 7s ease-in-out infinite;
	background:
		radial-gradient(circle at 8% 30%, rgba(255,240,250,.9) 0 2px, transparent 4px), radial-gradient(circle at 14% 62%, rgba(255,214,240,.8) 0 3px, transparent 6px),
		radial-gradient(circle at 92% 18%, rgba(255,240,250,.8) 0 2px, transparent 5px), radial-gradient(circle at 88% 55%, rgba(244,114,182,.7) 0 4px, transparent 9px),
		radial-gradient(circle at 30% 92%, rgba(255,255,255,.8) 0 2px, transparent 4px), radial-gradient(circle at 70% 8%, rgba(216,180,254,.8) 0 3px, transparent 7px),
		radial-gradient(circle at 4% 88%, rgba(249,168,212,.6) 0 7px, transparent 16px), radial-gradient(circle at 97% 82%, rgba(249,168,212,.55) 0 8px, transparent 18px); }
.mn-phone { width: 272px; height: 580px; }
.mn-screen > img.mn-shot { object-fit: cover; object-position: center top; }
.mn-pol--photo { padding: 12px 12px 0; }
.mn-pol--photo img { display: block; width: 100%; aspect-ratio: 1 / 1; object-fit: cover; border-radius: 2px; }
.mn-pol--photo span { display: flex; align-items: center; justify-content: center; gap: .35rem; font: 600 1.45rem "Caveat", var(--mm-script); color: #3b1a66; padding: .45rem 0 .7rem; }
.mn-pol--photo span svg { color: #7c3aed; }
.mn-pol--l { width: 232px; }
.mn-pol--r { width: 222px; }
.mn-tplcard { width: 236px; }
/* glossy floor: soft reflections under the phone and the lower polaroid (Chrome, Edge, Safari) */
.mn-phone, .mn-pol--r { -webkit-box-reflect: below 14px linear-gradient(transparent 72%, rgba(255,255,255,.16)); }
@media (max-width: 900px) { .mn-scene { height: 600px; } }
@media (max-width: 560px) { .mn-scene { height: 560px; } }
.mn-phone { transform: rotateY(-5deg) rotateX(2deg); }
.mn-pol--l { width: 206px; }
.mn-pol--r { width: 204px; }
.mn-tplcard { width: 214px; }
.mn-ambient { opacity: .62; }
.mn-scene__in > .mn-lay:has(.mn-vchip) { z-index: 3; }
@media (max-width: 560px) { .mn-scene__in > .mn-lay:has(.mn-cube) { display: none; } }

/* ---------- v1.0.10 ---------- */
/* Gallery: straight polaroid cards, three across */
.mn-gal { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(1rem, 2.4vw, 1.8rem); }
.mn-gcard { margin: 0; padding: 10px 10px 0; border-radius: 8px; background: linear-gradient(180deg, #fffdf9, #f4eee8); box-shadow: 0 30px 60px -26px rgba(5,0,20,.9), 0 0 0 1px rgba(255,255,255,.5); transition: transform .6s cubic-bezier(.16,1,.3,1), box-shadow .6s; }
.mn-gcard:hover { transform: translateY(-6px); box-shadow: 0 40px 70px -26px rgba(5,0,20,.95), 0 0 50px -14px rgba(236,72,153,.6); }
.mn-gcard img { display: block; width: 100%; height: auto; aspect-ratio: 16 / 10; object-fit: cover; border-radius: 4px; }
.mn-gcard figcaption { font: 600 clamp(1.3rem, 2vw, 1.65rem) "Caveat", var(--mm-script); color: #2e1065; text-align: center; padding: .55rem .4rem .7rem; }
@media (max-width: 900px) { .mn-gal { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 480px) { .mn-gal { grid-template-columns: 1fr; } }
/* Package cards: the four ways to share */
.mm--neon .mm-pkg__types li { background: rgba(255,255,255,.05); border-color: rgba(196,181,253,.2); }
.mm--neon .mm-pkg__types .mm-ico { color: #f0abfc; }
.mm--neon .mm-pkg__types strong { color: #fff; }
.mm--neon .mm-pkg__types small { color: #c6bde3; }
/* QR designer: WhatsApp block */
.mm--neon .mmd-wa { border-top-color: rgba(255,255,255,.1); }
.mm--neon .mmd-wamsg { background: rgba(8,3,24,.55); color: #fff; border-color: rgba(196,181,253,.25); }
.mm--neon .mmd-walink { background: linear-gradient(135deg, #22c55e, #15803d) !important; border: 0 !important; }
