/* ============================================================
   _sitebg.css — Fond Immersif Premium
   Ordre des Bannis · Perf Edition
   Optimisé : décor statique sans flous ni animations permanentes.
   Règle critique : TOUTES les couches s'appuient sur des % relatifs
   au parent .site-bg (width:100%, pas 100vw). Aucune vw interne,
   aucun overflow : visible sur le container — sinon le clip du
   html/body/app-shell coupe latéralement en mobile.
   ============================================================ */

.site-bg {
  position: fixed;
  top: 0;
  left: 0;
  /* On n'utilise PAS right:0 + bottom:0 pour éviter le bug de
     l'overflow combiné à la scrollbar verticale. On impose une
     largeur 100% (viewport réel) via left/width/top/height. */
  width: 100%;
  height: 100dvh;
  z-index: 0;
  pointer-events: none;
  overflow: hidden;
  background: #090709;
  /* Fallback pour les navigateurs qui ne supportent pas dvh */
  height: 100vh;
}
/* dvh après vh pour prendre le dessus sur les navigateurs modernes */
@supports (height: 100dvh) {
  .site-bg { height: 100dvh; }
}

/* The page backdrop follows the preloader's dark red-to-orange palette. */
.site-bg-grad {
  position: absolute;
  z-index: 0;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background:
    radial-gradient(ellipse 56% 84% at 110% 42%, rgba(111, 13, 34, .34), transparent 76%),
    radial-gradient(ellipse 40% 62% at 100% 0%, rgba(91, 13, 43, .24), transparent 74%),
    radial-gradient(ellipse 42% 64% at -10% 52%, rgba(31, 25, 34, .22), transparent 78%),
    linear-gradient(105deg, #0b090e 0%, #09070e 42%, #10070c 100%);
}

/* ============================================================
   LISERÉ ORANGE — VAGUES SUPERPOSÉES
   - 3 plans (principal + ::before + ::after)
   - chaque plan porte une crête SVG répétée + un halo doux
   - mouvement latéral lent pour rester lisible sur mobile
   ============================================================ */
.site-bg-fire {
  position: fixed;
  z-index: 6;
  left: 0;
  right: 0;
  width: 100vw;
  min-width: 100vw;
  bottom: 0;
  height: 24vh;
  transform: translateY(calc(var(--scroll, 0px) * 0.55));
  pointer-events: none;
  will-change: transform;
  opacity: .22;
  filter:
    drop-shadow(0 -5px 14px rgba(250,100,41,.26))
    drop-shadow(0 -14px 32px rgba(245,151,12,.14));
  background:
    radial-gradient(ellipse 110% 80% at 50% 100%, rgba(250,100,41,.16), rgba(254,49,69,.04) 45%, transparent 82%),
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 200' preserveAspectRatio='none'%3E%3Cdefs%3E%3ClinearGradient id='g' x1='0' y1='0' x2='1' y2='0'%3E%3Cstop offset='0' stop-color='%23fe3145'/%3E%3Cstop offset='.5' stop-color='%23fa6429'/%3E%3Cstop offset='1' stop-color='%23f5970c'/%3E%3C/linearGradient%3E%3C/defs%3E%3Cpath fill='url(%23g)' d='M0 110c140-24 260 18 400 6 140-12 220-44 360-20 140 24 220-8 360-12 140-4 220 28 320 16v100H0Z'/%3E%3C/svg%3E") no-repeat center bottom / 100% 100%;
  animation: fire-wave-c 9s ease-in-out infinite alternate;
}

.site-bg-fire::before {
  content: "";
  position: absolute;
  inset: 0;
  opacity: .82;
  filter: drop-shadow(0 -4px 12px rgba(250,100,41,.22));
  background:
    radial-gradient(ellipse 110% 70% at 50% 100%, rgba(250,100,41,.12), rgba(254,49,69,.03) 45%, transparent 78%),
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 200' preserveAspectRatio='none'%3E%3Cdefs%3E%3ClinearGradient id='g' x1='0' y1='0' x2='1' y2='0'%3E%3Cstop offset='0' stop-color='%23fe3145'/%3E%3Cstop offset='.5' stop-color='%23fa6429'/%3E%3Cstop offset='1' stop-color='%23f5970c'/%3E%3C/linearGradient%3E%3C/defs%3E%3Cpath fill='url(%23g)' d='M0 140c140-16 260 24 400 12 140-12 220-44 360-20 140 24 220 4 360-10 140-14 220 28 320 14v74H0Z'/%3E%3C/svg%3E") no-repeat center bottom / 100% 100%;
  transform-origin: center bottom;
  animation: fire-wave-a 7s ease-in-out infinite alternate;
  will-change: transform;
  translate: 0 calc(var(--scroll, 0px) * 0.25);
}

.site-bg-fire::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  top: 0;
  opacity: .70;
  filter: drop-shadow(0 -3px 8px rgba(254,49,69,.18));
  background:
    radial-gradient(ellipse 110% 60% at 50% 100%, rgba(254,49,69,.10), rgba(254,49,69,.025) 45%, transparent 75%),
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 200' preserveAspectRatio='none'%3E%3Cdefs%3E%3ClinearGradient id='g' x1='0' y1='0' x2='1' y2='0'%3E%3Cstop offset='0' stop-color='%23fe3145'/%3E%3Cstop offset='.5' stop-color='%23fa6429'/%3E%3Cstop offset='1' stop-color='%23f5970c'/%3E%3C/linearGradient%3E%3C/defs%3E%3Cpath fill='url(%23g)' d='M0 165c140-10 260 16 400 8 140-8 220-26 360-12 140 14 220 2 360-6 140-8 220 16 320 8v47H0Z'/%3E%3C/svg%3E") no-repeat center bottom / 100% 100%;
  transform-origin: center bottom;
  animation: fire-wave-b 11s ease-in-out infinite alternate;
  will-change: transform;
  translate: 0 0;
}

@keyframes fire-wave-a {
  0%   { transform: translateY(2px)  scaleY(.92); }
  25%  { transform: translateY(-6px) scaleY(1.00); }
  50%  { transform: translateY(-12px) scaleY(1.08); }
  75%  { transform: translateY(-5px) scaleY(1.02); }
  100% { transform: translateY(-1px) scaleY(.98); }
}
@keyframes fire-wave-b {
  0%   { transform: translateY(0)     scaleY(.94); }
  22%  { transform: translateY(-3px)  scaleY(1.02); }
  50%  { transform: translateY(-9px)  scaleY(1.06); }
  78%  { transform: translateY(-2px)  scaleY(1.01); }
  100% { transform: translateY(0)     scaleY(.99); }
}
@keyframes fire-wave-c {
  0%   { transform: translateY(calc(var(--scroll, 0px) * 0.55 + 3px))  scaleY(.92) skewX(.2deg); }
  30%  { transform: translateY(calc(var(--scroll, 0px) * 0.55 - 7px))  scaleY(1.04) skewX(-.15deg); }
  60%  { transform: translateY(calc(var(--scroll, 0px) * 0.55 - 13px)) scaleY(1.09) skewX(.18deg); }
  100% { transform: translateY(calc(var(--scroll, 0px) * 0.55 - 2px))  scaleY(.99) skewX(0); }
}
@keyframes site-fire-breathe {
  from { filter: brightness(.94); }
  to   { filter: brightness(1.06); }
}

@media (prefers-reduced-motion: reduce) {
  .site-bg-embers { display: none; }
  .site-bg-fire::before,
  .site-bg-fire::after { animation: none !important; }
  .site-bg-fire { animation: site-fire-breathe 12s ease-in-out infinite alternate !important; }
}

.site-bg-mark {
  position: absolute;
  z-index: 1;
  top: 50%;
  left: 50%;
  width: 110%;
  max-width: 1500px;
  transform: translate(-50%, -50%);
  user-select: none;
  pointer-events: none;
}

.site-bg-mark img {
  display: block;
  width: 100%;
  height: auto;
  opacity: .075;
  filter: saturate(.78) brightness(.72);
  mix-blend-mode: screen;
  -webkit-mask-image: radial-gradient(ellipse 80% 78% at 50% 50%, #000 20%, transparent 100%);
  mask-image: radial-gradient(ellipse 80% 78% at 50% 50%, #000 20%, transparent 100%);
}

.site-bg-tex {
  position: absolute;
  z-index: 2;
  top: -10%;
  left: -10%;
  width: 120%;
  height: 120%;
  background-image:
    radial-gradient(circle, rgba(255, 221, 207, .08) .55px, transparent .9px),
    linear-gradient(rgba(255, 104, 78, .018) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 104, 78, .018) 1px, transparent 1px);
  background-size: 24px 24px, 144px 144px, 144px 144px;
  -webkit-mask-image: radial-gradient(ellipse 96% 92% at 50% 48%, #000 26%, transparent 100%);
  mask-image: radial-gradient(ellipse 96% 92% at 50% 48%, #000 26%, transparent 100%);
  opacity: .42;
}

.site-bg-embers {
  position: absolute;
  z-index: 3;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  overflow: visible;
  pointer-events: none;
  transform: translate3d(var(--ember-x, 0px), var(--ember-y, 0px), 0);
}

.site-bg-embers--far  { z-index: 3; opacity: .74; }
.site-bg-embers--near { z-index: 4; opacity: .84; }

.site-bg-embers i {
  position: absolute;
  left: var(--ember-left);
  top: var(--ember-top);
  width: calc(var(--ember-size) * 1.35);
  height: calc(var(--ember-size) * 1.35);
  border-radius: 50%;
  background: radial-gradient(circle, #fffbdc 0%, #ffe29a 24%, #ffad52 52%, rgba(255, 101, 49, .62) 72%, transparent 100%);
  box-shadow: 0 0 8px 2px rgba(255, 177, 72, .54), 0 0 20px 5px rgba(255, 71, 39, .24);
  opacity: 0;
  animation: ember-rise var(--ember-duration) linear var(--ember-delay) infinite;
}

.site-bg-embers i::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 65%;
  width: 2px;
  height: calc(var(--ember-size) * 6);
  transform: translateX(-50%);
  transform-origin: top;
  background: linear-gradient(180deg, rgba(255, 219, 135, .92), rgba(255, 112, 53, .46) 42%, transparent);
  opacity: .7;
}

.site-bg-embers--near i {
  width: calc(var(--ember-size) * 1.75);
  height: calc(var(--ember-size) * 1.75);
}

.site-bg-embers--far i:nth-child(1)  { --ember-left: 8%;  --ember-top: 88%; --ember-size: 3px; --ember-duration: 9s;    --ember-delay: -3s;  --ember-drift: -24px; }
.site-bg-embers--far i:nth-child(2)  { --ember-left: 23%; --ember-top: 75%; --ember-size: 2px; --ember-duration: 11s;   --ember-delay: -8s;  --ember-drift: 19px;  }
.site-bg-embers--far i:nth-child(3)  { --ember-left: 39%; --ember-top: 94%; --ember-size: 3px; --ember-duration: 10s;   --ember-delay: -5s;  --ember-drift: -17px; }
.site-bg-embers--far i:nth-child(4)  { --ember-left: 58%; --ember-top: 82%; --ember-size: 2px; --ember-duration: 12s;   --ember-delay: -10s; --ember-drift: 25px;  }
.site-bg-embers--far i:nth-child(5)  { --ember-left: 73%; --ember-top: 91%; --ember-size: 3px; --ember-duration: 9.5s;  --ember-delay: -6s;  --ember-drift: -21px; }
.site-bg-embers--far i:nth-child(6)  { --ember-left: 88%; --ember-top: 78%; --ember-size: 2px; --ember-duration: 11.5s; --ember-delay: -2s;  --ember-drift: 17px;  }
.site-bg-embers--far i:nth-child(7)  { --ember-left: 96%; --ember-top: 96%; --ember-size: 2px; --ember-duration: 10.5s; --ember-delay: -7s;  --ember-drift: -14px; }
.site-bg-embers--far i:nth-child(8)  { --ember-left: 16%; --ember-top: 99%; --ember-size: 4px; --ember-duration: 11s;   --ember-delay: -9s;  --ember-drift: 21px;  }
.site-bg-embers--far i:nth-child(9)  { --ember-left: 34%; --ember-top: 84%; --ember-size: 3px; --ember-duration: 9.8s;  --ember-delay: -1s;  --ember-drift: -26px; }
.site-bg-embers--far i:nth-child(10) { --ember-left: 51%; --ember-top: 92%; --ember-size: 4px; --ember-duration: 12.5s; --ember-delay: -4s;  --ember-drift: 18px;  }
.site-bg-embers--far i:nth-child(11) { --ember-left: 68%; --ember-top: 98%; --ember-size: 3px; --ember-duration: 10.2s; --ember-delay: -11s; --ember-drift: -19px; }
.site-bg-embers--far i:nth-child(12) { --ember-left: 83%; --ember-top: 89%; --ember-size: 4px; --ember-duration: 11.8s; --ember-delay: -6s;  --ember-drift: 25px;  }
.site-bg-embers--far i:nth-child(13) { --ember-left: 44%; --ember-top: 78%; --ember-size: 3px; --ember-duration: 13s;   --ember-delay: -3s;  --ember-drift: -16px; }
.site-bg-embers--far i:nth-child(14) { --ember-left: 3%;  --ember-top: 94%; --ember-size: 4px; --ember-duration: 10.8s; --ember-delay: -8s;  --ember-drift: 22px;  }

.site-bg-embers--near i:nth-child(1)  { --ember-left: 14%; --ember-top: 90%; --ember-size: 4px; --ember-duration: 7.5s; --ember-delay: -4s;  --ember-drift: 32px;  }
.site-bg-embers--near i:nth-child(2)  { --ember-left: 31%; --ember-top: 80%; --ember-size: 3px; --ember-duration: 8.5s; --ember-delay: -7s;  --ember-drift: -28px; }
.site-bg-embers--near i:nth-child(3)  { --ember-left: 48%; --ember-top: 98%; --ember-size: 4px; --ember-duration: 7s;   --ember-delay: -2s;  --ember-drift: 24px;  }
.site-bg-embers--near i:nth-child(4)  { --ember-left: 65%; --ember-top: 86%; --ember-size: 3px; --ember-duration: 9s;   --ember-delay: -6s;  --ember-drift: -34px; }
.site-bg-embers--near i:nth-child(5)  { --ember-left: 79%; --ember-top: 95%; --ember-size: 4px; --ember-duration: 7.8s; --ember-delay: -5s;  --ember-drift: 29px;  }
.site-bg-embers--near i:nth-child(6)  { --ember-left: 91%; --ember-top: 83%; --ember-size: 3px; --ember-duration: 8.8s; --ember-delay: -1s;  --ember-drift: -23px; }
.site-bg-embers--near i:nth-child(7)  { --ember-left: 4%;  --ember-top: 76%; --ember-size: 3px; --ember-duration: 9.2s; --ember-delay: -8s;  --ember-drift: 27px;  }
.site-bg-embers--near i:nth-child(8)  { --ember-left: 21%; --ember-top: 96%; --ember-size: 6px; --ember-duration: 7.2s; --ember-delay: -3s;  --ember-drift: -38px; }
.site-bg-embers--near i:nth-child(9)  { --ember-left: 37%; --ember-top: 88%; --ember-size: 5px; --ember-duration: 8.2s; --ember-delay: -9s;  --ember-drift: 34px;  }
.site-bg-embers--near i:nth-child(10) { --ember-left: 55%; --ember-top: 97%; --ember-size: 6px; --ember-duration: 7.6s; --ember-delay: -5s;  --ember-drift: -31px; }
.site-bg-embers--near i:nth-child(11) { --ember-left: 72%; --ember-top: 82%; --ember-size: 5px; --ember-duration: 8.7s; --ember-delay: -2s;  --ember-drift: 37px;  }
.site-bg-embers--near i:nth-child(12) { --ember-left: 85%; --ember-top: 99%; --ember-size: 6px; --ember-duration: 7.4s; --ember-delay: -7s;  --ember-drift: -35px; }
.site-bg-embers--near i:nth-child(13) { --ember-left: 96%; --ember-top: 91%; --ember-size: 5px; --ember-duration: 8s;   --ember-delay: -4s;  --ember-drift: 29px;  }
.site-bg-embers--near i:nth-child(14) { --ember-left: 7%;  --ember-top: 84%; --ember-size: 5px; --ember-duration: 9.4s; --ember-delay: -10s; --ember-drift: -32px; }

@keyframes ember-rise {
  0%   { opacity: 0; transform: translate3d(0, 20px, 0) scale(.55); }
  12%  { opacity: .82; }
  72%  { opacity: .72; }
  100% { opacity: 0; transform: translate3d(var(--ember-drift), -82vh, 0) scale(.18); }
}

/* The gradient backdrop already contains the ambient light pools. */
.site-bg-orb {
  display: none;
}

/* Avoid adding a second vignette so the page stays consistent with loading. */
.site-bg-veil {
  display: none;
}

/* Keep atmospheric effects; remove only oversized marks and scattered ornaments. */
body:has(.pm) .pm-hero-watermark,
body:has(.cw) .cw-hero-wm,
body:has(.rb) .rb-hero-wm,
body:has(.su) .su-hero-wm,
body:has(.pa) .pa-hero-wm { display: none !important; }

body:has(.cw) .cw-hero-bg,
body:has(.cw) .cw-hero-veil,
body:has(.rb) .rb-hero-bg,
body:has(.rb) .rb-hero-veil,
body:has(.su) .su-hero-bg,
body:has(.su) .su-hero-veil,
body:has(.pa) :is(.pa-hero-bg, .pa-hero-tex, .pa-hero-veil) { display: none !important; }

body:has(.pm) .pm-fx :is(.pm-shape, .pm-ring2, .pm-glyph, .pm-dot, .pm-plus),
body:has(.cw) .cw-fx .cw-dot,
body:has(.rb) .rb-fx .rb-dot,
body:has(.su) .su-fx .su-dot { display: none !important; }

body:has(.pm) .pm-hero,
body:has(.cw) .cw-hero,
body:has(.rb) .rb-hero,
body:has(.su) .su-hero,
body:has(.pa) .pa-hero {
  margin: 0;
  border: 0;
  border-radius: 0;
  box-shadow: none;
}

body:has(.pm) .pm-hero h1,
body:has(.cw) .cw-hero h1,
body:has(.rb) .rb-hero h1,
body:has(.su) .su-hero h1,
body:has(.pa) .pa-hero h1 {
  font-weight: 800;
  letter-spacing: -.055em;
  text-shadow: 0 0 34px rgba(255, 72, 62, .2);
}

body:has(.pm) .pm-hero h1 .grad,
body:has(.cw) .cw-hero h1 .grad,
body:has(.rb) .rb-hero h1 .grad,
body:has(.su) .su-hero h1 .grad,
body:has(.pa) .pa-hero h1 .grad,
body:has(.pm) .pm-hero h1 .ghost {
  background: linear-gradient(110deg, #ff5967 0%, #ff6746 52%, #ffb047 100%);
  background-clip: text;
  color: transparent;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  filter: drop-shadow(0 0 18px rgba(255, 86, 56, .3));
  -webkit-text-stroke: 0;
  text-shadow: none;
}

body:has(.pm) .pm-h2,
body:has(.cw) .cw-h2 {
  font-weight: 800;
  letter-spacing: -.04em;
  text-shadow: 0 0 22px rgba(255, 70, 58, .14);
}

body:has(.pm) .pm-h2 .grad,
body:has(.cw) .cw-h2 .grad {
  background: linear-gradient(110deg, #ff5967 0%, #ff6746 52%, #ffb047 100%);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  filter: drop-shadow(0 0 14px rgba(255, 86, 56, .25));
}

body .app-main :is(h1, h2) {
  text-shadow: 0 0 22px rgba(255, 70, 58, .14);
}

body .app-main :is(h1, h2) .grad {
  background: linear-gradient(110deg, #ff5967 0%, #ff6746 52%, #ffb047 100%);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  filter: drop-shadow(0 0 14px rgba(255, 86, 56, .25));
}

html[data-theme="light"] body:has(.pm) .pm-hero h1,
html[data-theme="light"] body:has(.cw) .cw-hero h1,
html[data-theme="light"] body:has(.rb) .rb-hero h1,
html[data-theme="light"] body:has(.su) .su-hero h1,
html[data-theme="light"] body:has(.pa) .pa-hero h1 {
  color: #14141b;
  text-shadow: 0 0 28px rgba(225, 29, 29, .12);
}

html[data-theme="light"] body .app-main :is(h1, h2) {
  text-shadow: 0 0 20px rgba(225, 29, 29, .1);
}

.app-shell { position: relative; z-index: 1; }

html::after { display: none; }

/* Keep the light theme legible while using the same grid and warm identity. */
html[data-theme="light"] .site-bg {
  background:
    radial-gradient(ellipse 50% 45% at 50% 48%, rgba(255, 210, 191, .32), transparent 72%),
    radial-gradient(ellipse 38% 52% at 8% 4%, rgba(255, 48, 79, .1), transparent 76%),
    radial-gradient(ellipse 40% 50% at 96% 100%, rgba(255, 117, 22, .09), transparent 76%),
    linear-gradient(145deg, #faf8f7 0%, #f5f0ee 48%, #f9f7f5 100%);
}
html[data-theme="light"] .site-bg-grad {
  background:
    radial-gradient(ellipse 50% 45% at 50% 48%, rgba(255, 210, 191, .32), transparent 72%),
    radial-gradient(ellipse 38% 52% at 8% 4%, rgba(255, 48, 79, .1), transparent 76%),
    radial-gradient(ellipse 40% 50% at 96% 100%, rgba(255, 117, 22, .09), transparent 76%),
    linear-gradient(145deg, #faf8f7 0%, #f5f0ee 48%, #f9f7f5 100%);
}
html[data-theme="light"] .site-bg-mark {
  opacity: 1;
}
html[data-theme="light"] .site-bg-mark img {
  opacity: .045;
  filter: saturate(.5) brightness(.8);
  mix-blend-mode: multiply;
  -webkit-mask-image: radial-gradient(ellipse 80% 78% at 50% 50%, #000 20%, transparent 100%);
  mask-image: radial-gradient(ellipse 80% 78% at 50% 50%, #000 20%, transparent 100%);
}
html[data-theme="light"] .site-bg-fire { opacity: .27; }
html[data-theme="light"] .site-bg-tex {
  background-image:
    radial-gradient(circle, rgba(74, 42, 38, .07) .55px, transparent .9px),
    linear-gradient(rgba(255, 93, 54, .025) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 93, 54, .025) 1px, transparent 1px);
  opacity: .38;
}
html[data-theme="light"] .site-bg-embers--far  { opacity: .5; }
html[data-theme="light"] .site-bg-embers--near { opacity: .62; }

/* ── prefers-reduced-motion : décor statique ── */
@media (prefers-reduced-motion: reduce) {
  .site-bg-orb { animation: none !important; will-change: auto !important; }
  .site-bg-embers { display: none; }
  .site-bg-fire { animation: none !important; opacity: .72; }
}

@media (max-width: 768px) {
  .site-bg-mark { width: 130%; }
  .site-bg-fire {
    left: 0; right: 0; width: 100vw; min-width: 100vw;
    bottom: 0;
    height: 20vh;
    transform: translateY(calc(var(--scroll, 0px) * 0.55));
    opacity: .22;
    filter:
      drop-shadow(0 -5px 14px rgba(250,100,41,.26))
      drop-shadow(0 -14px 32px rgba(245,151,12,.14));
    background:
      radial-gradient(ellipse 110% 80% at 50% 100%, rgba(250,100,41,.16), rgba(254,49,69,.04) 45%, transparent 82%),
      url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 200' preserveAspectRatio='none'%3E%3Cdefs%3E%3ClinearGradient id='g' x1='0' y1='0' x2='1' y2='0'%3E%3Cstop offset='0' stop-color='%23fe3145'/%3E%3Cstop offset='.5' stop-color='%23fa6429'/%3E%3Cstop offset='1' stop-color='%23f5970c'/%3E%3C/linearGradient%3E%3C/defs%3E%3Cpath fill='url(%23g)' d='M0 110c140-24 260 18 400 6 140-12 220-44 360-20 140 24 220-8 360-12 140-4 220 28 320 16v100H0Z'/%3E%3C/svg%3E") no-repeat center bottom / 100% 100%;
    animation: fire-wave-c 8s ease-in-out infinite alternate;
  }
  .site-bg-fire::before {
    opacity: .82;
    filter: drop-shadow(0 -4px 12px rgba(250,100,41,.22));
    background:
      radial-gradient(ellipse 110% 70% at 50% 100%, rgba(250,100,41,.12), rgba(254,49,69,.03) 45%, transparent 78%),
      url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 200' preserveAspectRatio='none'%3E%3Cdefs%3E%3ClinearGradient id='g' x1='0' y1='0' x2='1' y2='0'%3E%3Cstop offset='0' stop-color='%23fe3145'/%3E%3Cstop offset='.5' stop-color='%23fa6429'/%3E%3Cstop offset='1' stop-color='%23f5970c'/%3E%3C/linearGradient%3E%3C/defs%3E%3Cpath fill='url(%23g)' d='M0 140c140-16 260 24 400 12 140-12 220-44 360-20 140 24 220 4 360-10 140-14 220 28 320 14v74H0Z'/%3E%3C/svg%3E") no-repeat center bottom / 100% 100%;
    animation: fire-wave-a 6s ease-in-out infinite alternate;
    translate: 0 calc(var(--scroll, 0px) * 0.25);
  }
  .site-bg-fire::after {
    opacity: .70;
    filter: drop-shadow(0 -3px 8px rgba(254,49,69,.18));
    background:
      radial-gradient(ellipse 110% 60% at 50% 100%, rgba(254,49,69,.10), rgba(254,49,69,.025) 45%, transparent 75%),
      url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 200' preserveAspectRatio='none'%3E%3Cdefs%3E%3ClinearGradient id='g' x1='0' y1='0' x2='1' y2='0'%3E%3Cstop offset='0' stop-color='%23fe3145'/%3E%3Cstop offset='.5' stop-color='%23fa6429'/%3E%3Cstop offset='1' stop-color='%23f5970c'/%3E%3C/linearGradient%3E%3C/defs%3E%3Cpath fill='url(%23g)' d='M0 165c140-10 260 16 400 8 140-8 220-26 360-12 140 14 220 2 360-6 140-8 220 16 320 8v47H0Z'/%3E%3C/svg%3E") no-repeat center bottom / 100% 100%;
    animation: fire-wave-b 9s ease-in-out infinite alternate;
    translate: 0 0;
  }
  .site-bg-tex  { left: -15%; top: -15%; width: 130%; height: 130%; }
  .site-bg-embers--far  { opacity: .64; }
  .site-bg-embers--near { opacity: .76; }
  .site-bg-embers i::after { display: none; }
}
