.app-shell { position: relative; z-index: 1; min-height: 100vh; }
.main-content { min-height: 65vh; }
@media (min-width: 1101px) {
	.main-content > .view > .wrap,
	.main-content + #footer-mount .wrap { margin-left: 214px; }
}
.wrap { max-width: 1180px; margin: 0 auto; padding: 0 24px; }
.section { padding: 64px 0; }
.section-head { max-width: 640px; margin-bottom: 36px; }
.section-head h2 { margin: 8px 0 10px; font-size: 34px; }
.section-head p { margin: 0; color: var(--ink-soft); font-size: 15.5px; }
.mesh { position: fixed; inset: 0; z-index: 0; pointer-events: none; overflow: hidden; }
.mesh span { position: absolute; border-radius: 50%; filter: blur(70px); opacity: .55; animation: drift 22s ease-in-out infinite alternate; }
.mesh .b1 { width: 520px; height: 520px; top: -160px; left: -120px; background: var(--glow-c); animation-duration: 26s; }
.mesh .b2 { width: 460px; height: 460px; top: 120px; right: -160px; background: var(--glow-m); animation-delay: -6s; animation-duration: 30s; }
.mesh .b3 { width: 420px; height: 420px; bottom: -180px; left: 30%; background: var(--glow-y); animation-delay: -12s; animation-duration: 24s; }
@keyframes drift { 0% { transform: translate(0, 0) scale(1); } 50% { transform: translate(40px, -30px) scale(1.08); } 100% { transform: translate(-30px, 20px) scale(.96); } }
.footer { margin-top: 20px; padding: 40px 0; border-top: 1px solid var(--line); }
.footer .wrap { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 16px; }
.brand { display: flex; align-items: center; gap: 10px; cursor: pointer; font-size: 22px; font-weight: 900; letter-spacing: -.01em; }
.brand small { color: var(--ink-faint); font: 500 11px var(--mono); letter-spacing: .08em; }
.small-print { color: var(--ink-faint); font: 11px var(--mono); }
@media (max-width: 700px) { .footer .wrap { align-items: flex-start; flex-direction: column; } }
