/* Variant: Lava — huge morphing colour blobs drift behind the headline on dark. */
:root {
  --bg: #0d0a14; --surface: rgba(28, 22, 40, 0.75); --muted: #120e1b; --ink: #f7f2ff; --ink-2: #b2a8c6; --line: #2a2238;
  --accent: #ff7a59; --accent-ink: #1a0b06; --accent-soft: #3a1e22; --green-soft: #22183a; --amber-soft: #3a2418;
  --night: #16111f; --night-2: #201a2c; --night-line: rgba(255, 255, 255, 0.09); --night-ink: #f7f2ff; --night-ink-2: #b2a8c6;
  --ui-bg: #ffffff; --ui-line: #eceaf2; --ui-fill: #e3e0ea; --ui-fill-2: #f3f1f7; --ui-strong: #1a1424;
  --ui-accent: #ff3d81; --ui-img: #ffe8f0; --ui-tint-a: #ffd9e6; --ui-tint-b: #ffe6d6; --ui-tint-c: #e7e0ff;
  color-scheme: dark;
}
.lv-hero { position: relative; overflow: hidden; isolation: isolate; }
.lv-blobs { position: absolute; inset: 0; z-index: -1; filter: blur(60px) saturate(1.2); }
.lv-blob { position: absolute; width: 46vw; max-width: 44rem; aspect-ratio: 1; opacity: 0.75; }
.lv-blob--1 { left: -8%; top: -10%; background: #ff3d81; border-radius: 42% 58% 63% 37% / 45% 39% 61% 55%; }
.lv-blob--2 { right: -10%; top: 10%; background: #ff8a3d; border-radius: 60% 40% 35% 65% / 55% 60% 40% 45%; }
.lv-blob--3 { left: 25%; bottom: -25%; background: #7a5cff; border-radius: 38% 62% 50% 50% / 60% 40% 60% 40%; }
@media (prefers-reduced-motion: no-preference) {
  .lv-blob { animation: lv-morph 18s ease-in-out infinite alternate; }
  .lv-blob--2 { animation-duration: 22s; animation-delay: -6s; }
  .lv-blob--3 { animation-duration: 26s; animation-delay: -12s; }
  @keyframes lv-morph {
    33% { border-radius: 60% 40% 45% 55% / 40% 60% 40% 60%; translate: 6vw 4vh; rotate: 40deg; }
    66% { border-radius: 35% 65% 60% 40% / 60% 35% 65% 40%; translate: -4vw 8vh; rotate: -30deg; }
    100% { border-radius: 50% 50% 38% 62% / 45% 55% 45% 55%; translate: 3vw -6vh; rotate: 20deg; }
  }
}
.lv-inner { display: flex; flex-direction: column; align-items: center; padding-block: clamp(3.5rem, 8vw, 6rem) clamp(2rem, 4vw, 3rem); text-align: center; }
.lv-title { max-width: 14ch; font-size: clamp(3rem, 7vw, 6.75rem); line-height: 0.95; letter-spacing: -0.055em; }
.lv-hero .hero__lead { margin-top: 1.5rem; color: #e2d8f0; }
.lv-hero .hero__actions { justify-content: center; align-self: center; margin-top: 2rem; }
.lv-hero .pill--accent { background: #ffffff; color: #1a0b06; }
.lv-glass { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; width: 100%; margin-top: clamp(3rem, 6vw, 4.5rem); padding: clamp(16px, 2.5vw, 28px); border: 1px solid rgba(255, 255, 255, 0.25); border-radius: 28px; background: rgba(255, 255, 255, 0.12); -webkit-backdrop-filter: blur(16px); backdrop-filter: blur(16px); }
@media (max-width: 47.99em) { .lv-glass { grid-template-columns: minmax(0, 1fr); } .lv-glass .ui:nth-child(n+2) { display: none; } }
.tile, .faq details, .contact__card { -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); }
.tile--dark { background: linear-gradient(160deg, #4a1530, #16111f 70%); }
.tile--dark .focus strong { color: #ffb08a; }
.section--contact { background: radial-gradient(50% 70% at 85% 20%, rgba(255, 61, 129, 0.25), transparent), radial-gradient(40% 60% at 10% 90%, rgba(122, 92, 255, 0.25), transparent), var(--night); }
