/* ==========================================================================
   Venova Energy — Brand motif system
   Abstracted from the wing-sweep geometry of the Venova mark.
   Used as subtle background texture, never as a repeated literal logo.
   ========================================================================== */

/* Low-opacity swoosh-line grid, tiled. Navy variant for light sections,
   green variant for dark sections. Built as inline SVG data-URIs so no
   extra network request is needed. */
.motif-grid{
  position:relative;
  isolation:isolate;
}
.motif-grid::before{
  content:"";
  position:absolute; inset:0;
  z-index:-1;
  pointer-events:none;
  background-repeat:repeat;
  background-size:210px 72px;
  opacity:.05;
  background-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPScxMDc5JyBoZWlnaHQ9JzM3MScgdmlld0JveD0nMCAwIDEwNzkgMzcxJz48ZyB0cmFuc2Zvcm09J3RyYW5zbGF0ZSgwLDM3MSkgc2NhbGUoMC4xLC0wLjEpJyBmaWxsPSdub25lJyBzdHJva2U9JyMwMjI0NEEnIHN0cm9rZS13aWR0aD0nMTYnIHN0cm9rZS1saW5lam9pbj0ncm91bmQnPjxwYXRoIGQ9J00xOTAgMzUyNSBjMCAtMiAyOCAtMjAgNjMgLTQxIDM0IC0yMSAxODYgLTExNCAzMzcgLTIwOCAxNTEgLTkzIDMxMyAtMTkzIDM2MCAtMjIyIGw4NSAtNTIgMTE1IC03IGMxMTQ2IC02NCAyMTM0IC0yNTYgMzExMiAtNjA0IDM2NCAtMTMwIDYzMCAtMjQxIDEyMDggLTUwMyAzMjYgLTE0OSA1NTggLTI0NyA2NTcgLTI3OSA0MCAtMTMgNzMgLTI3IDczIC0zMCAwIC03IC0zMjYgLTE2NSAtNDUwIC0yMTcgLTI2NyAtMTEyIC02MDEgLTE5OCAtODcwIC0yMjIgLTIxNSAtMjAgLTI5OCAtNSAtNTQ4IDk0IC00ODcgMTk0IC05NTQgMzIyIC0xNDQyIDM5NSAtMTU1IDIzIC0zNzkgNDUgLTM4NiAzOCAtNCAtNCAxMDggLTEwOCA0MTIgLTM4MyBsMTEyIC0xMDEgNzUgLTYgYzE1OSAtMTQgNDc3IC04NSA5MTUgLTIwNyAyODcgLTc5IDQwMCAtMTAzIDU1NyAtMTIxIDMxMSAtMzMgNzU5IDU4IDExNTUgMjM2IDMyMSAxNDQgNTUwIDI2NSA3NjggNDA1IDIwIDE0IDI5IDEzIDg1IC05IDg1IC0zMiAxMDcgLTM1IDE0MSAtMTggbDI4IDE1IC03OCAzNiBjLTQ0IDIxIC03NCA0MCAtNjggNDUgNSA0IDEwNSA3MiAyMjIgMTUxIDExNiA3OCAyMTIgMTQ0IDIxMiAxNDYgMCAyIC0xOCAtNiAtNDAgLTE3IC0yMiAtMTIgLTQ5IC0xOSAtNjAgLTE2IC0xNyA0IC02MCAtMjggLTUyIC0zOSA2IC0xMSAxIC0yNCAtMTEgLTI0IC03IDAgLTIzIC05IC0zNSAtMjAgLTI3IC0yNSAtNDMgLTI1IC02NCAtMSAtMTUgMTggLTE1IDIxIDIgMzYgMTQgMTMgMTcgMjUgMTMgNDcgLTUgMjggLTUgMjggMjAgMTcgMTQgLTYgMjkgLTI1IDM1IC00MyA5IC0yNyAxMCAtMjEgMTEgNDYgMSA0MiA2IDgwIDExIDgzIDYgMyAxMCAwIDExIC03IDAgLTcgNiAzIDEzIDIyIDcgMTkgMTcgMzUgMjIgMzUgMTMgMCA0NSAyNiA3NCA1OSAyNyAzMSAxOSAyOSAtNDUgLTE0IC01NyAtMzkgLTQ3MyAtMjkzIC01MzMgLTMyNyBsLTUxIC0yOCAtMTc4IDg5IGMtMTg1IDkyIC02ODYgMzU4IC04NzggNDY1IC0xODkgMTA3IC03ODAgMzk2IC0xMDAzIDQ5MSAtMTA5MyA0NjYgLTIxODkgNjk1IC0zODQyIDgwMCAtOTEgNiAtMTg5IDEyIC0yMTcgMTQgLTI5IDMgLTUzIDMgLTUzIDF6Jy8+PHBhdGggZD0nTTE1NzAgMjU0NSBjMTEgLTEzIDQzMyAtMzY5IDUwOCAtNDI5IDE5IC0xNSA1MCAtMjAgMTU1IC0yNyA4NjkgLTU4IDE2NDMgLTIzMiAyNzIyIC02MTQgNDYwIC0xNjMgNDMzIC0xNTUgNTI3IC0xNTUgODIgMCAyMDYgMjYgMTkxIDQwIC00IDQgLTY5IDM1IC0xNDMgNjggLTc0IDMzIC0yMjkgMTA2IC0zNDUgMTYyIC01NzQgMjc4IC04MTkgMzgzIC0xMTkwIDUwOCAtNzE2IDI0MiAtMTIzOSAzNDcgLTIxODQgNDQyIC0yNTIgMjUgLTI1OCAyNSAtMjQxIDV6Jy8+PHBhdGggZD0nTTY4NjUgMTQxMSBjLTcgLTEyIDMgLTE4IDkyIC01NyA2MSAtMjcgNzUgLTMwIDkwIC0xOSAyMCAxNSAyNSAxMiAtOTYgNjAgLTcyIDI4IC03NyAyOSAtODYgMTZ6Jy8+PHBhdGggZD0nTTcyNDcgMTI0NyBsLTI4IC0yMyAxMjggLTQyIGM3MSAtMjMgMTc1IC01NSAyMzMgLTcyIDU4IC0xNyAxMTIgLTMzIDEyMCAtMzUgOSAtMyA3IDEgLTQgMTAgLTExIDggLTIzIDE1IC0yNyAxNSAtNCAwIC05NCAzOCAtMTk5IDg1IC0xMDUgNDcgLTE5MiA4NSAtMTkzIDg1IC0xIC0xIC0xNCAtMTEgLTMwIC0yM3onLz48cGF0aCBkPSdNMzUwMCA3MDAgYzAgLTIxIDI4NiAtMjUxIDQwMSAtMzIzIDY0IC00MCAyNTggLTEzNyAyNzQgLTEzNyAzIDAgNSA1IDUgMTAgMCAxMCAtNDkgMzUgLTEyMCA2MSAtMzMgMTMgLTM0IDEzIC0xMCAxOSAyMiA1IDI1IDEyIDI4IDUzIDIgMjggLTEgNDcgLTcgNDcgLTYgMCAtMTEgNyAtMTEgMTYgMCA5IC0xMCAyNCAtMjIgMzMgLTM1IDI5IC0xNiAzOSA1NCAyOSAzNSAtNCA3MCAtMTEgNzggLTE0IDggLTMgMzggLTcgNjUgLTEwIDMyIC0yIDEwIDUgLTYwIDIwIC0xNDEgMzEgLTM1MCA5MSAtNTMyIDE1NCAtNzkgMjYgLTE0MyA0NiAtMTQzIDQyeicvPjwvZz48ZyB0cmFuc2Zvcm09J3RyYW5zbGF0ZSgwLDM3MSkgc2NhbGUoMC4xLC0wLjEpJyBmaWxsPSdub25lJyBzdHJva2U9JyMwRTlBNDgnIHN0cm9rZS13aWR0aD0nMTYnIHN0cm9rZS1saW5lam9pbj0ncm91bmQnPjxwYXRoIGQ9J00xMDQ5MCAzNDc5IGMtMTkgLTQgLTY5IC0xMyAtMTEwIC0xOSAtNDEgLTYgLTk1IC0xNSAtMTIwIC0xOSAtMjUgLTUgLTcyIC0xNCAtMTA1IC0yMSAtMTEzIC0yMSAtMTUwIC0yOSAtMjgwIC02MCAtMTQ2IC0zNCAtMTQyIC0zMyAtMzU1IC05NCAtMzU0IC0xMDIgLTcwNCAtMjI5IC0xMDMwIC0zNzQgLTE5NyAtODcgLTU5NSAtMjkwIC04MDAgLTQxMCAtMjEzIC0xMjMgLTM0MyAtMjAyIC01NjYgLTM0NCAtNDEgLTI3IC03NyAtNDggLTgwIC00OCAtMyAwIC00MCAtMjUgLTgyIC01NSAtNjQgLTQ2IC0xNDMgLTEwMCAtMjUzIC0xNzAgLTkgLTUgLTMyIC0xOCAtNTAgLTI5IC0xOSAtMTAgLTUwIC0zMSAtNjkgLTQ2IC0xOSAtMTUgLTQzIC0yOSAtNTIgLTMzIC05IC0zIC0yMiAtMTUgLTI4IC0yNiAtOSAtMTkgLTggLTIxIDE1IC0yMSAxNCAwIDI4IDAgMzEgMSA5IDEgMjQgLTIzIDI0IC0zOCAwIC03IC02IC0xMyAtMTMgLTEzIC03IDAgLTIyIC02IC0zMyAtMTQgLTE3IC0xNCAtMTggLTE2IC0zIC0zMSAxOCAtMTggMTI5IC0zNCAxMjkgLTE4IDAgMTIgNjkgNjAgMTIwIDg0IDE5IDkgNjkgNDEgMTEwIDcwIDQyIDMwIDk2IDY1IDEyMCA3OCAyNSAxNCA1MCAzMCA1NSAzNiA2IDcgNzggNTYgMTYwIDExMCA4MyA1NSAxNTIgMTAyIDE1MyAxMDcgMiA0IDggOCAxMyA4IDggMCA4NSA0OSAzMjggMjA4IDk2IDYzIDM1OSAyMjIgMzY2IDIyMiAzIDAgMjMgMTEgNDUgMjUgMTA5IDY5IDU2NiAyOTggNzY1IDM4MyAyNTggMTExIDYwOSAyNDUgNzk1IDMwNCAzNiAxMSA5MCAyOSAxMjAgMzkgMzAgMTAgMTA1IDMyIDE2NSA0OSA2MSAxNyAxMTkgMzUgMTMwIDQwIDExIDUgMzQgMTEgNTAgMTMgMTcgMiA3MyAxNSAxMjUgMjkgNTIgMTQgMTE5IDMwIDE0OCAzNiAxMTkgMjcgMTUyIDM2IDE1MiA0NCAwIDEwIC00MiA4IC05MCAtM3onLz48cGF0aCBkPSdNOTg2NSAzMTIwIGMtMTEgLTQgLTY1IC0yMCAtMTIwIC0zNSAtMzE0IC04NSAtNzE5IC0yNDQgLTEwODUgLTQyNiAtNTIyIC0yNjAgLTEwMDEgLTU1NiAtMTYwMyAtOTg5IC0yMDUgLTE0NiAtMjg0IC0xOTggLTM2OSAtMjQxIC00MyAtMjIgLTc4IC00NCAtNzggLTUwIDAgLTEyIDc3IC00OCAxMDQgLTQ5IDQzIDAgMzc0IDE4OSA1ODYgMzM1IDEyMSA4NCAxOTggMTM4IDM0NSAyNDAgODggNjIgMjA1IDE0MiAyNjAgMTc4IDU1IDM3IDEwNSA3MCAxMTAgNzQgNTcgNDUgNTEwIDMyNCA2ODkgNDI0IDg1IDQ4IDQyOCAyMTkgNTQxIDI3MCAxMTAgNTEgMzMwIDE0MCA0NTAgMTg0IDEwMiAzNyAxMzcgNTEgMTY3IDY2IDEwIDUgMjQgOSAzMiA5IDggMCAxOCA1IDIxIDEwIDcgMTIgLTIyIDEyIC01MCAweicvPjxwYXRoIGQ9J005MjgwIDI2MTggYy0zMjIgLTEzMCAtNjUwIC0yODQgLTg1NSAtNDA0IC00NCAtMjYgLTEyMyAtNzEgLTE3NSAtMTAyIC0xMzggLTgwIC0zMDUgLTE4NiAtNTU1IC0zNTIgLTQ3MiAtMzE0IC01NjEgLTM3MCAtODE1IC01MTAgLTk2IC01MyAtMjQ5IC0xMzggLTMzOSAtMTg5IC0zNDQgLTE5MyAtNjQ1IC0zMzQgLTk1NiAtNDQ2IC0xMDMgLTM3IC0zNzcgLTExMCAtNDc1IC0xMjYgLTE0MiAtMjMgLTMyNSAtMzkgLTQyNSAtMzcgLTE1MSAyIC00NDkgMzUgLTUyMyA1NyAtMTggNSAtMzUgMTAgLTM3IDEwIC0zMSAtMiAtMTk4IDM4IC0yOTUgNzAgLTMwIDEwIC03NSAyNCAtMTAwIDMxIC0yNSA3IC02OSAyMSAtOTggMzEgLTc1IDI3IC05NSAyNSAtNTYgLTYgMTcgLTEzIDYxIC01NCA5NyAtOTAgMzcgLTM2IDczIC02NSA4MSAtNjUgNyAwIDI5IC0xMyA0NyAtMzAgNDMgLTM4IDE3NiAtMTMwIDE4NyAtMTMwIDUgMCAyMCAtOCAzMyAtMTggMTMgLTEwIDUxIC0yOSA4NCAtNDIgMzMgLTEzIDY2IC0yOCA3MiAtMzMgMTggLTEzIDE2MCAtNTUgMjczIC03OSAxMzIgLTI5IDQ4MCAtMzIgNjE1IC01IDIyMSA0NCA0NzYgMTE0IDU3MiAxNTggMjQgMTAgNDkgMTkgNTYgMTkgNyAwIDE3IDQgMjIgOCA2IDUgNTcgMjggMTE1IDUyIDIxMiA4OCA0NjEgMjI0IDcxMCAzODUgMjQ4IDE2MSAzMDkgMjAzIDU0MCAzNzUgNzggNTggMTU2IDExNCAxNzMgMTI0IDM2IDIyIDkxIDYyIDM2NyAyNjggMzI4IDI0NCA1MTcgMzc5IDcwNyA1MDYgMTAxIDY3IDE4NSAxMjIgMTg4IDEyMiAzIDAgNDcgMjYgOTggNTggNTEgMzIgMTMzIDgwIDE4MiAxMDcgNTAgMjcgMTA3IDU5IDEyOCA3MyAyMiAxMyAxMTIgNTkgMjAwIDEwMyA4OSA0NCAxNzkgODkgMjAwIDk5IDIyIDExIDQ1IDIwIDUzIDIwIDggMCAxNCA1IDE0IDEwIDAgMTYgLTMwIDEwIC0xMTAgLTIyeicvPjwvZz48L3N2Zz4=");
}
.motif-grid.on-dark::before{
  opacity:.08;
  background-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPScxMDc5JyBoZWlnaHQ9JzM3MScgdmlld0JveD0nMCAwIDEwNzkgMzcxJz48ZyB0cmFuc2Zvcm09J3RyYW5zbGF0ZSgwLDM3MSkgc2NhbGUoMC4xLC0wLjEpJyBmaWxsPSdub25lJyBzdHJva2U9JyM0RkNCNzknIHN0cm9rZS13aWR0aD0nMTYnIHN0cm9rZS1saW5lam9pbj0ncm91bmQnPjxwYXRoIGQ9J00xOTAgMzUyNSBjMCAtMiAyOCAtMjAgNjMgLTQxIDM0IC0yMSAxODYgLTExNCAzMzcgLTIwOCAxNTEgLTkzIDMxMyAtMTkzIDM2MCAtMjIyIGw4NSAtNTIgMTE1IC03IGMxMTQ2IC02NCAyMTM0IC0yNTYgMzExMiAtNjA0IDM2NCAtMTMwIDYzMCAtMjQxIDEyMDggLTUwMyAzMjYgLTE0OSA1NTggLTI0NyA2NTcgLTI3OSA0MCAtMTMgNzMgLTI3IDczIC0zMCAwIC03IC0zMjYgLTE2NSAtNDUwIC0yMTcgLTI2NyAtMTEyIC02MDEgLTE5OCAtODcwIC0yMjIgLTIxNSAtMjAgLTI5OCAtNSAtNTQ4IDk0IC00ODcgMTk0IC05NTQgMzIyIC0xNDQyIDM5NSAtMTU1IDIzIC0zNzkgNDUgLTM4NiAzOCAtNCAtNCAxMDggLTEwOCA0MTIgLTM4MyBsMTEyIC0xMDEgNzUgLTYgYzE1OSAtMTQgNDc3IC04NSA5MTUgLTIwNyAyODcgLTc5IDQwMCAtMTAzIDU1NyAtMTIxIDMxMSAtMzMgNzU5IDU4IDExNTUgMjM2IDMyMSAxNDQgNTUwIDI2NSA3NjggNDA1IDIwIDE0IDI5IDEzIDg1IC05IDg1IC0zMiAxMDcgLTM1IDE0MSAtMTggbDI4IDE1IC03OCAzNiBjLTQ0IDIxIC03NCA0MCAtNjggNDUgNSA0IDEwNSA3MiAyMjIgMTUxIDExNiA3OCAyMTIgMTQ0IDIxMiAxNDYgMCAyIC0xOCAtNiAtNDAgLTE3IC0yMiAtMTIgLTQ5IC0xOSAtNjAgLTE2IC0xNyA0IC02MCAtMjggLTUyIC0zOSA2IC0xMSAxIC0yNCAtMTEgLTI0IC03IDAgLTIzIC05IC0zNSAtMjAgLTI3IC0yNSAtNDMgLTI1IC02NCAtMSAtMTUgMTggLTE1IDIxIDIgMzYgMTQgMTMgMTcgMjUgMTMgNDcgLTUgMjggLTUgMjggMjAgMTcgMTQgLTYgMjkgLTI1IDM1IC00MyA5IC0yNyAxMCAtMjEgMTEgNDYgMSA0MiA2IDgwIDExIDgzIDYgMyAxMCAwIDExIC03IDAgLTcgNiAzIDEzIDIyIDcgMTkgMTcgMzUgMjIgMzUgMTMgMCA0NSAyNiA3NCA1OSAyNyAzMSAxOSAyOSAtNDUgLTE0IC01NyAtMzkgLTQ3MyAtMjkzIC01MzMgLTMyNyBsLTUxIC0yOCAtMTc4IDg5IGMtMTg1IDkyIC02ODYgMzU4IC04NzggNDY1IC0xODkgMTA3IC03ODAgMzk2IC0xMDAzIDQ5MSAtMTA5MyA0NjYgLTIxODkgNjk1IC0zODQyIDgwMCAtOTEgNiAtMTg5IDEyIC0yMTcgMTQgLTI5IDMgLTUzIDMgLTUzIDF6Jy8+PHBhdGggZD0nTTE1NzAgMjU0NSBjMTEgLTEzIDQzMyAtMzY5IDUwOCAtNDI5IDE5IC0xNSA1MCAtMjAgMTU1IC0yNyA4NjkgLTU4IDE2NDMgLTIzMiAyNzIyIC02MTQgNDYwIC0xNjMgNDMzIC0xNTUgNTI3IC0xNTUgODIgMCAyMDYgMjYgMTkxIDQwIC00IDQgLTY5IDM1IC0xNDMgNjggLTc0IDMzIC0yMjkgMTA2IC0zNDUgMTYyIC01NzQgMjc4IC04MTkgMzgzIC0xMTkwIDUwOCAtNzE2IDI0MiAtMTIzOSAzNDcgLTIxODQgNDQyIC0yNTIgMjUgLTI1OCAyNSAtMjQxIDV6Jy8+PHBhdGggZD0nTTY4NjUgMTQxMSBjLTcgLTEyIDMgLTE4IDkyIC01NyA2MSAtMjcgNzUgLTMwIDkwIC0xOSAyMCAxNSAyNSAxMiAtOTYgNjAgLTcyIDI4IC03NyAyOSAtODYgMTZ6Jy8+PHBhdGggZD0nTTcyNDcgMTI0NyBsLTI4IC0yMyAxMjggLTQyIGM3MSAtMjMgMTc1IC01NSAyMzMgLTcyIDU4IC0xNyAxMTIgLTMzIDEyMCAtMzUgOSAtMyA3IDEgLTQgMTAgLTExIDggLTIzIDE1IC0yNyAxNSAtNCAwIC05NCAzOCAtMTk5IDg1IC0xMDUgNDcgLTE5MiA4NSAtMTkzIDg1IC0xIC0xIC0xNCAtMTEgLTMwIC0yM3onLz48cGF0aCBkPSdNMzUwMCA3MDAgYzAgLTIxIDI4NiAtMjUxIDQwMSAtMzIzIDY0IC00MCAyNTggLTEzNyAyNzQgLTEzNyAzIDAgNSA1IDUgMTAgMCAxMCAtNDkgMzUgLTEyMCA2MSAtMzMgMTMgLTM0IDEzIC0xMCAxOSAyMiA1IDI1IDEyIDI4IDUzIDIgMjggLTEgNDcgLTcgNDcgLTYgMCAtMTEgNyAtMTEgMTYgMCA5IC0xMCAyNCAtMjIgMzMgLTM1IDI5IC0xNiAzOSA1NCAyOSAzNSAtNCA3MCAtMTEgNzggLTE0IDggLTMgMzggLTcgNjUgLTEwIDMyIC0yIDEwIDUgLTYwIDIwIC0xNDEgMzEgLTM1MCA5MSAtNTMyIDE1NCAtNzkgMjYgLTE0MyA0NiAtMTQzIDQyeicvPjwvZz48ZyB0cmFuc2Zvcm09J3RyYW5zbGF0ZSgwLDM3MSkgc2NhbGUoMC4xLC0wLjEpJyBmaWxsPSdub25lJyBzdHJva2U9JyM0RkNCNzknIHN0cm9rZS13aWR0aD0nMTYnIHN0cm9rZS1saW5lam9pbj0ncm91bmQnPjxwYXRoIGQ9J00xMDQ5MCAzNDc5IGMtMTkgLTQgLTY5IC0xMyAtMTEwIC0xOSAtNDEgLTYgLTk1IC0xNSAtMTIwIC0xOSAtMjUgLTUgLTcyIC0xNCAtMTA1IC0yMSAtMTEzIC0yMSAtMTUwIC0yOSAtMjgwIC02MCAtMTQ2IC0zNCAtMTQyIC0zMyAtMzU1IC05NCAtMzU0IC0xMDIgLTcwNCAtMjI5IC0xMDMwIC0zNzQgLTE5NyAtODcgLTU5NSAtMjkwIC04MDAgLTQxMCAtMjEzIC0xMjMgLTM0MyAtMjAyIC01NjYgLTM0NCAtNDEgLTI3IC03NyAtNDggLTgwIC00OCAtMyAwIC00MCAtMjUgLTgyIC01NSAtNjQgLTQ2IC0xNDMgLTEwMCAtMjUzIC0xNzAgLTkgLTUgLTMyIC0xOCAtNTAgLTI5IC0xOSAtMTAgLTUwIC0zMSAtNjkgLTQ2IC0xOSAtMTUgLTQzIC0yOSAtNTIgLTMzIC05IC0zIC0yMiAtMTUgLTI4IC0yNiAtOSAtMTkgLTggLTIxIDE1IC0yMSAxNCAwIDI4IDAgMzEgMSA5IDEgMjQgLTIzIDI0IC0zOCAwIC03IC02IC0xMyAtMTMgLTEzIC03IDAgLTIyIC02IC0zMyAtMTQgLTE3IC0xNCAtMTggLTE2IC0zIC0zMSAxOCAtMTggMTI5IC0zNCAxMjkgLTE4IDAgMTIgNjkgNjAgMTIwIDg0IDE5IDkgNjkgNDEgMTEwIDcwIDQyIDMwIDk2IDY1IDEyMCA3OCAyNSAxNCA1MCAzMCA1NSAzNiA2IDcgNzggNTYgMTYwIDExMCA4MyA1NSAxNTIgMTAyIDE1MyAxMDcgMiA0IDggOCAxMyA4IDggMCA4NSA0OSAzMjggMjA4IDk2IDYzIDM1OSAyMjIgMzY2IDIyMiAzIDAgMjMgMTEgNDUgMjUgMTA5IDY5IDU2NiAyOTggNzY1IDM4MyAyNTggMTExIDYwOSAyNDUgNzk1IDMwNCAzNiAxMSA5MCAyOSAxMjAgMzkgMzAgMTAgMTA1IDMyIDE2NSA0OSA2MSAxNyAxMTkgMzUgMTMwIDQwIDExIDUgMzQgMTEgNTAgMTMgMTcgMiA3MyAxNSAxMjUgMjkgNTIgMTQgMTE5IDMwIDE0OCAzNiAxMTkgMjcgMTUyIDM2IDE1MiA0NCAwIDEwIC00MiA4IC05MCAtM3onLz48cGF0aCBkPSdNOTg2NSAzMTIwIGMtMTEgLTQgLTY1IC0yMCAtMTIwIC0zNSAtMzE0IC04NSAtNzE5IC0yNDQgLTEwODUgLTQyNiAtNTIyIC0yNjAgLTEwMDEgLTU1NiAtMTYwMyAtOTg5IC0yMDUgLTE0NiAtMjg0IC0xOTggLTM2OSAtMjQxIC00MyAtMjIgLTc4IC00NCAtNzggLTUwIDAgLTEyIDc3IC00OCAxMDQgLTQ5IDQzIDAgMzc0IDE4OSA1ODYgMzM1IDEyMSA4NCAxOTggMTM4IDM0NSAyNDAgODggNjIgMjA1IDE0MiAyNjAgMTc4IDU1IDM3IDEwNSA3MCAxMTAgNzQgNTcgNDUgNTEwIDMyNCA2ODkgNDI0IDg1IDQ4IDQyOCAyMTkgNTQxIDI3MCAxMTAgNTEgMzMwIDE0MCA0NTAgMTg0IDEwMiAzNyAxMzcgNTEgMTY3IDY2IDEwIDUgMjQgOSAzMiA5IDggMCAxOCA1IDIxIDEwIDcgMTIgLTIyIDEyIC01MCAweicvPjxwYXRoIGQ9J005MjgwIDI2MTggYy0zMjIgLTEzMCAtNjUwIC0yODQgLTg1NSAtNDA0IC00NCAtMjYgLTEyMyAtNzEgLTE3NSAtMTAyIC0xMzggLTgwIC0zMDUgLTE4NiAtNTU1IC0zNTIgLTQ3MiAtMzE0IC01NjEgLTM3MCAtODE1IC01MTAgLTk2IC01MyAtMjQ5IC0xMzggLTMzOSAtMTg5IC0zNDQgLTE5MyAtNjQ1IC0zMzQgLTk1NiAtNDQ2IC0xMDMgLTM3IC0zNzcgLTExMCAtNDc1IC0xMjYgLTE0MiAtMjMgLTMyNSAtMzkgLTQyNSAtMzcgLTE1MSAyIC00NDkgMzUgLTUyMyA1NyAtMTggNSAtMzUgMTAgLTM3IDEwIC0zMSAtMiAtMTk4IDM4IC0yOTUgNzAgLTMwIDEwIC03NSAyNCAtMTAwIDMxIC0yNSA3IC02OSAyMSAtOTggMzEgLTc1IDI3IC05NSAyNSAtNTYgLTYgMTcgLTEzIDYxIC01NCA5NyAtOTAgMzcgLTM2IDczIC02NSA4MSAtNjUgNyAwIDI5IC0xMyA0NyAtMzAgNDMgLTM4IDE3NiAtMTMwIDE4NyAtMTMwIDUgMCAyMCAtOCAzMyAtMTggMTMgLTEwIDUxIC0yOSA4NCAtNDIgMzMgLTEzIDY2IC0yOCA3MiAtMzMgMTggLTEzIDE2MCAtNTUgMjczIC03OSAxMzIgLTI5IDQ4MCAtMzIgNjE1IC01IDIyMSA0NCA0NzYgMTE0IDU3MiAxNTggMjQgMTAgNDkgMTkgNTYgMTkgNyAwIDE3IDQgMjIgOCA2IDUgNTcgMjggMTE1IDUyIDIxMiA4OCA0NjEgMjI0IDcxMCAzODUgMjQ4IDE2MSAzMDkgMjAzIDU0MCAzNzUgNzggNTggMTU2IDExNCAxNzMgMTI0IDM2IDIyIDkxIDYyIDM2NyAyNjggMzI4IDI0NCA1MTcgMzc5IDcwNyA1MDYgMTAxIDY3IDE4NSAxMjIgMTg4IDEyMiAzIDAgNDcgMjYgOTggNTggNTEgMzIgMTMzIDgwIDE4MiAxMDcgNTAgMjcgMTA3IDU5IDEyOCA3MyAyMiAxMyAxMTIgNTkgMjAwIDEwMyA4OSA0NCAxNzkgODkgMjAwIDk5IDIyIDExIDQ1IDIwIDUzIDIwIDggMCAxNCA1IDE0IDEwIDAgMTYgLTMwIDEwIC0xMTAgLTIyeicvPjwvZz48L3N2Zz4=");
}

/* Oversized cropped wing fragment, used once per section as a large soft
   backdrop element (hero backdrop, footer watermark). Not tiled. */
.motif-watermark{
  position:absolute;
  pointer-events:none;
  user-select:none;
  opacity:.05;
  filter:saturate(0) brightness(0) invert(1);
  z-index:0;
}
.motif-watermark.is-navy{ filter:none; opacity:.035; }

/* Thin brand rule with a traveling energy pulse. Structure:
   <div class="energy-line"><span class="energy-pulse"></span></div>       */
.energy-line{
  position:relative;
  height:2px;
  width:100%;
  background:linear-gradient(90deg, transparent, var(--slate-200) 15%, var(--slate-200) 85%, transparent);
  overflow:visible;
}
.on-dark .energy-line{
  background:linear-gradient(90deg, transparent, rgba(255,255,255,.16) 15%, rgba(255,255,255,.16) 85%, transparent);
}
.energy-pulse{
  position:absolute; top:50%; left:0;
  width:64px; height:6px;
  margin-top:-3px;
  border-radius:99px;
  background:linear-gradient(90deg, transparent, var(--green-400) 45%, var(--green-300) 55%, transparent);
  filter:drop-shadow(0 0 6px rgba(28,180,88,.6));
  animation:energy-travel 3.2s var(--ease-in-out) infinite;
  will-change:transform;
}
@keyframes energy-travel{
  0%{ transform:translateX(-64px); opacity:0; }
  8%{ opacity:1; }
  92%{ opacity:1; }
  100%{ transform:translateX(calc(100% + 64px)); opacity:0; }
}

/* Vertical variant, used to connect stacked story steps */
.energy-line--v{
  width:2px; height:100%;
  background:linear-gradient(180deg, transparent, var(--slate-200) 15%, var(--slate-200) 85%, transparent);
}
.energy-line--v .energy-pulse{
  top:0; left:50%; width:6px; height:64px; margin-top:0; margin-left:-3px;
  background:linear-gradient(180deg, transparent, var(--green-400) 45%, var(--green-300) 55%, transparent);
  animation:energy-travel-v 3.2s var(--ease-in-out) infinite;
}
@keyframes energy-travel-v{
  0%{ transform:translateY(-64px); opacity:0; }
  8%{ opacity:1; }
  92%{ opacity:1; }
  100%{ transform:translateY(calc(100% + 64px)); opacity:0; }
}

/* Hero / section energy-mark: the actual traced Venova wing geometry,
   used once per section as a large soft backdrop with a traveling
   energy-sweep highlight masked to its exact silhouette. Markup pattern:
   <svg class="energy-mark ..."><defs><mask>...<path>(from
   assets/icons/venova-mark-motif.svg)...</mask></defs>
   <g class="mk-base">(same paths)</g>
   <g mask="url(#...)"><rect class="mk-sweep" fill="url(#...)"/></g></svg> */
.energy-mark{
  position:absolute;
  pointer-events:none;
  user-select:none;
  z-index:0;
}
.energy-mark .mk-base{ opacity:.06; }
.energy-mark.on-dark .mk-base{ opacity:.09; }
/* Continuous energy flow: two staggered passes of the same highlight share
   one full-length traverse (no hold/pause at either end), so a new pulse is
   always mid-flight — the wing reads as actively, continuously carrying
   energy rather than animating once and going idle between loops. */
.energy-mark .mk-sweep{
  animation:energy-mark-sweep 3.2s linear infinite;
  will-change:transform;
}
.energy-mark .mk-sweep-2{
  animation-delay:-1.6s;
}
@keyframes energy-mark-sweep{
  0%{ transform:translateX(-420px); }
  100%{ transform:translateX(1570px); }
}
@media (prefers-reduced-motion: reduce){
  .energy-mark .mk-sweep{ animation:none; opacity:0; }
  .energy-mark .mk-base{ opacity:.08; }
}

/* Hero-specific placement: one massive abstract mark centered behind the
   whole composition, cropped by the hero's overflow:hidden on most
   viewports. Kept at very low opacity so it reads as environment/texture,
   not a literal logo pasted behind the text. */
.hero-energy-mark{
  width:1560px;
  max-width:none;
  left:50%;
  top:52%;
  transform:translate(-50%, -50%);
}
/* Slightly quieter than the original .055 — the wing stays fully in place at
   its full cinematic size (unchanged) and still reads clearly as the mark,
   but no longer competes with the headline/copy sitting on top of it. The
   green energy sweep is untouched so the animated pulse stays just as
   visible. */
.hero-energy-mark .mk-base{ opacity:.04; }
.hero-energy-mark .mk-sweep{ opacity:.85; }

@media (max-width:980px){
  .hero-energy-mark{ width:1100px; }
}

/* Dedicated mobile treatment — deliberately NOT the desktop's oversized
   cinematic crop scaled down or re-cropped. Cropping a wide (2.9:1) mark
   this tightly on a narrow phone screen leaves only an arbitrary slice of
   line-work on screen, which reads as unrelated decorative strokes rather
   than the Venova mark. On mobile the COMPLETE silhouette is shown instead:
   sized so the whole wing fits within the viewport width (width-only, so
   the SVG's own viewBox keeps its exact aspect ratio — no stretch/squeeze),
   still substantially larger than the 87px-wide header logo so it reads as
   an intentional brand element, not a stray sliver. It sits low in the hero
   — behind the gap between the supporting copy and the CTA row, the area
   with the least running text — so its lines have the smallest chance of
   crossing words, and opacity is kept low enough that the headline and
   paragraphs stay fully legible even where the mark's soft edge grazes
   them. display:none is never used — the complete mark and its energy
   sweep always render on mobile, just quieter than on desktop. */
@media (max-width:560px){
  .hero-energy-mark{
    width:min(92vw, 460px);
    left:50%;
    top:64%;
    transform:translate(-50%, -50%);
  }
  .hero-energy-mark .mk-base{ opacity:.1; }
  .hero-energy-mark .mk-sweep{ opacity:.7; }
}

/* ---------- Global ambient energy field ---------- */
/* One continuously-animated backdrop, shared by every page: a single fixed,
   full-viewport layer sitting behind all content (inserted once, right
   after <body>). Two cheap, GPU-friendly layers so it can run indefinitely
   without touching scroll performance:
     1) the same brand line-texture as .motif-grid, tiled and drifting
     2) a soft diagonal glow band, seamlessly looped via a repeating
        gradient + background-position (the tile width matches the travel
        distance exactly, so the loop has no visible restart/jump)
   Deliberately restrained everywhere by default — content sections that
   need full attention (the calculator, forms) sit on opaque card surfaces
   that naturally read the layer as quiet texture rather than motion. Hero
   and the energy-flow section layer their own stronger, dedicated motion
   (.hero-energy-mark, .flow-path) on top of this same ambient base. */
.ambient-field{
  position:fixed; inset:0; z-index:-1; pointer-events:none; overflow:hidden;
  background:var(--bg-page);
}
.ambient-field::before{
  content:""; position:absolute; inset:-10%;
  background-repeat:repeat;
  background-size:210px 72px;
  background-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPScxMDc5JyBoZWlnaHQ9JzM3MScgdmlld0JveD0nMCAwIDEwNzkgMzcxJz48ZyB0cmFuc2Zvcm09J3RyYW5zbGF0ZSgwLDM3MSkgc2NhbGUoMC4xLC0wLjEpJyBmaWxsPSdub25lJyBzdHJva2U9JyMwMjI0NEEnIHN0cm9rZS13aWR0aD0nMTYnIHN0cm9rZS1saW5lam9pbj0ncm91bmQnPjxwYXRoIGQ9J00xOTAgMzUyNSBjMCAtMiAyOCAtMjAgNjMgLTQxIDM0IC0yMSAxODYgLTExNCAzMzcgLTIwOCAxNTEgLTkzIDMxMyAtMTkzIDM2MCAtMjIyIGw4NSAtNTIgMTE1IC03IGMxMTQ2IC02NCAyMTM0IC0yNTYgMzExMiAtNjA0IDM2NCAtMTMwIDYzMCAtMjQxIDEyMDggLTUwMyAzMjYgLTE0OSA1NTggLTI0NyA2NTcgLTI3OSA0MCAtMTMgNzMgLTI3IDczIC0zMCAwIC03IC0zMjYgLTE2NSAtNDUwIC0yMTcgLTI2NyAtMTEyIC02MDEgLTE5OCAtODcwIC0yMjIgLTIxNSAtMjAgLTI5OCAtNSAtNTQ4IDk0IC00ODcgMTk0IC05NTQgMzIyIC0xNDQyIDM5NSAtMTU1IDIzIC0zNzkgNDUgLTM4NiAzOCAtNCAtNCAxMDggLTEwOCA0MTIgLTM4MyBsMTEyIC0xMDEgNzUgLTYgYzE1OSAtMTQgNDc3IC04NSA5MTUgLTIwNyAyODcgLTc5IDQwMCAtMTAzIDU1NyAtMTIxIDMxMSAtMzMgNzU5IDU4IDExNTUgMjM2IDMyMSAxNDQgNTUwIDI2NSA3NjggNDA1IDIwIDE0IDI5IDEzIDg1IC05IDg1IC0zMiAxMDcgLTM1IDE0MSAtMTggbDI4IDE1IC03OCAzNiBjLTQ0IDIxIC03NCA0MCAtNjggNDUgNSA0IDEwNSA3MiAyMjIgMTUxIDExNiA3OCAyMTIgMTQ0IDIxMiAxNDYgMCAyIC0xOCAtNiAtNDAgLTE3IC0yMiAtMTIgLTQ5IC0xOSAtNjAgLTE2IC0xNyA0IC02MCAtMjggLTUyIC0zOSA2IC0xMSAxIC0yNCAtMTEgLTI0IC03IDAgLTIzIC05IC0zNSAtMjAgLTI3IC0yNSAtNDMgLTI1IC02NCAtMSAtMTUgMTggLTE1IDIxIDIgMzYgMTQgMTMgMTcgMjUgMTMgNDcgLTUgMjggLTUgMjggMjAgMTcgMTQgLTYgMjkgLTI1IDM1IC00MyA5IC0yNyAxMCAtMjEgMTEgNDYgMSA0MiA2IDgwIDExIDgzIDYgMyAxMCAwIDExIC03IDAgLTcgNiAzIDEzIDIyIDcgMTkgMTcgMzUgMjIgMzUgMTMgMCA0NSAyNiA3NCA1OSAyNyAzMSAxOSAyOSAtNDUgLTE0IC01NyAtMzkgLTQ3MyAtMjkzIC01MzMgLTMyNyBsLTUxIC0yOCAtMTc4IDg5IGMtMTg1IDkyIC02ODYgMzU4IC04NzggNDY1IC0xODkgMTA3IC03ODAgMzk2IC0xMDAzIDQ5MSAtMTA5MyA0NjYgLTIxODkgNjk1IC0zODQyIDgwMCAtOTEgNiAtMTg5IDEyIC0yMTcgMTQgLTI5IDMgLTUzIDMgLTUzIDF6Jy8+PHBhdGggZD0nTTE1NzAgMjU0NSBjMTEgLTEzIDQzMyAtMzY5IDUwOCAtNDI5IDE5IC0xNSA1MCAtMjAgMTU1IC0yNyA4NjkgLTU4IDE2NDMgLTIzMiAyNzIyIC02MTQgNDYwIC0xNjMgNDMzIC0xNTUgNTI3IC0xNTUgODIgMCAyMDYgMjYgMTkxIDQwIC00IDQgLTY5IDM1IC0xNDMgNjggLTc0IDMzIC0yMjkgMTA2IC0zNDUgMTYyIC01NzQgMjc4IC04MTkgMzgzIC0xMTkwIDUwOCAtNzE2IDI0MiAtMTIzOSAzNDcgLTIxODQgNDQyIC0yNTIgMjUgLTI1OCAyNSAtMjQxIDV6Jy8+PHBhdGggZD0nTTY4NjUgMTQxMSBjLTcgLTEyIDMgLTE4IDkyIC01NyA2MSAtMjcgNzUgLTMwIDkwIC0xOSAyMCAxNSAyNSAxMiAtOTYgNjAgLTcyIDI4IC03NyAyOSAtODYgMTZ6Jy8+PHBhdGggZD0nTTcyNDcgMTI0NyBsLTI4IC0yMyAxMjggLTQyIGM3MSAtMjMgMTc1IC01NSAyMzMgLTcyIDU4IC0xNyAxMTIgLTMzIDEyMCAtMzUgOSAtMyA3IDEgLTQgMTAgLTExIDggLTIzIDE1IC0yNyAxNSAtNCAwIC05NCAzOCAtMTk5IDg1IC0xMDUgNDcgLTE5MiA4NSAtMTkzIDg1IC0xIC0xIC0xNCAtMTEgLTMwIC0yM3onLz48cGF0aCBkPSdNMzUwMCA3MDAgYzAgLTIxIDI4NiAtMjUxIDQwMSAtMzIzIDY0IC00MCAyNTggLTEzNyAyNzQgLTEzNyAzIDAgNSA1IDUgMTAgMCAxMCAtNDkgMzUgLTEyMCA2MSAtMzMgMTMgLTM0IDEzIC0xMCAxOSAyMiA1IDI1IDEyIDI4IDUzIDIgMjggLTEgNDcgLTcgNDcgLTYgMCAtMTEgNyAtMTEgMTYgMCA5IC0xMCAyNCAtMjIgMzMgLTM1IDI5IC0xNiAzOSA1NCAyOSAzNSAtNCA3MCAtMTEgNzggLTE0IDggLTMgMzggLTcgNjUgLTEwIDMyIC0yIDEwIDUgLTYwIDIwIC0xNDEgMzEgLTM1MCA5MSAtNTMyIDE1NCAtNzkgMjYgLTE0MyA0NiAtMTQzIDQyeicvPjwvZz48ZyB0cmFuc2Zvcm09J3RyYW5zbGF0ZSgwLDM3MSkgc2NhbGUoMC4xLC0wLjEpJyBmaWxsPSdub25lJyBzdHJva2U9JyMwRTlBNDgnIHN0cm9rZS13aWR0aD0nMTYnIHN0cm9rZS1saW5lam9pbj0ncm91bmQnPjxwYXRoIGQ9J00xMDQ5MCAzNDc5IGMtMTkgLTQgLTY5IC0xMyAtMTEwIC0xOSAtNDEgLTYgLTk1IC0xNSAtMTIwIC0xOSAtMjUgLTUgLTcyIC0xNCAtMTA1IC0yMSAtMTEzIC0yMSAtMTUwIC0yOSAtMjgwIC02MCAtMTQ2IC0zNCAtMTQyIC0zMyAtMzU1IC05NCAtMzU0IC0xMDIgLTcwNCAtMjI5IC0xMDMwIC0zNzQgLTE5NyAtODcgLTU5NSAtMjkwIC04MDAgLTQxMCAtMjEzIC0xMjMgLTM0MyAtMjAyIC01NjYgLTM0NCAtNDEgLTI3IC03NyAtNDggLTgwIC00OCAtMyAwIC00MCAtMjUgLTgyIC01NSAtNjQgLTQ2IC0xNDMgLTEwMCAtMjUzIC0xNzAgLTkgLTUgLTMyIC0xOCAtNTAgLTI5IC0xOSAtMTAgLTUwIC0zMSAtNjkgLTQ2IC0xOSAtMTUgLTQzIC0yOSAtNTIgLTMzIC05IC0zIC0yMiAtMTUgLTI4IC0yNiAtOSAtMTkgLTggLTIxIDE1IC0yMSAxNCAwIDI4IDAgMzEgMSA5IDEgMjQgLTIzIDI0IC0zOCAwIC03IC02IC0xMyAtMTMgLTEzIC03IDAgLTIyIC02IC0zMyAtMTQgLTE3IC0xNCAtMTggLTE2IC0zIC0zMSAxOCAtMTggMTI5IC0zNCAxMjkgLTE4IDAgMTIgNjkgNjAgMTIwIDg0IDE5IDkgNjkgNDEgMTEwIDcwIDQyIDMwIDk2IDY1IDEyMCA3OCAyNSAxNCA1MCAzMCA1NSAzNiA2IDcgNzggNTYgMTYwIDExMCA4MyA1NSAxNTIgMTAyIDE1MyAxMDcgMiA0IDggOCAxMyA4IDggMCA4NSA0OSAzMjggMjA4IDk2IDYzIDM1OSAyMjIgMzY2IDIyMiAzIDAgMjMgMTEgNDUgMjUgMTA5IDY5IDU2NiAyOTggNzY1IDM4MyAyNTggMTExIDYwOSAyNDUgNzk1IDMwNCAzNiAxMSA5MCAyOSAxMjAgMzkgMzAgMTAgMTA1IDMyIDE2NSA0OSA2MSAxNyAxMTkgMzUgMTMwIDQwIDExIDUgMzQgMTEgNTAgMTMgMTcgMiA3MyAxNSAxMjUgMjkgNTIgMTQgMTE5IDMwIDE0OCAzNiAxMTkgMjcgMTUyIDM2IDE1MiA0NCAwIDEwIC00MiA4IC05MCAtM3onLz48cGF0aCBkPSdNOTg2NSAzMTIwIGMtMTEgLTQgLTY1IC0yMCAtMTIwIC0zNSAtMzE0IC04NSAtNzE5IC0yNDQgLTEwODUgLTQyNiAtNTIyIC0yNjAgLTEwMDEgLTU1NiAtMTYwMyAtOTg5IC0yMDUgLTE0NiAtMjg0IC0xOTggLTM2OSAtMjQxIC00MyAtMjIgLTc4IC00NCAtNzggLTUwIDAgLTEyIDc3IC00OCAxMDQgLTQ5IDQzIDAgMzc0IDE4OSA1ODYgMzM1IDEyMSA4NCAxOTggMTM4IDM0NSAyNDAgODggNjIgMjA1IDE0MiAyNjAgMTc4IDU1IDM3IDEwNSA3MCAxMTAgNzQgNTcgNDUgNTEwIDMyNCA2ODkgNDI0IDg1IDQ4IDQyOCAyMTkgNTQxIDI3MCAxMTAgNTEgMzMwIDE0MCA0NTAgMTg0IDEwMiAzNyAxMzcgNTEgMTY3IDY2IDEwIDUgMjQgOSAzMiA5IDggMCAxOCA1IDIxIDEwIDcgMTIgLTIyIDEyIC01MCAweicvPjxwYXRoIGQ9J005MjgwIDI2MTggYy0zMjIgLTEzMCAtNjUwIC0yODQgLTg1NSAtNDA0IC00NCAtMjYgLTEyMyAtNzEgLTE3NSAtMTAyIC0xMzggLTgwIC0zMDUgLTE4NiAtNTU1IC0zNTIgLTQ3MiAtMzE0IC01NjEgLTM3MCAtODE1IC01MTAgLTk2IC01MyAtMjQ5IC0xMzggLTMzOSAtMTg5IC0zNDQgLTE5MyAtNjQ1IC0zMzQgLTk1NiAtNDQ2IC0xMDMgLTM3IC0zNzcgLTExMCAtNDc1IC0xMjYgLTE0MiAtMjMgLTMyNSAtMzkgLTQyNSAtMzcgLTE1MSAyIC00NDkgMzUgLTUyMyA1NyAtMTggNSAtMzUgMTAgLTM3IDEwIC0zMSAtMiAtMTk4IDM4IC0yOTUgNzAgLTMwIDEwIC03NSAyNCAtMTAwIDMxIC0yNSA3IC02OSAyMSAtOTggMzEgLTc1IDI3IC05NSAyNSAtNTYgLTYgMTcgLTEzIDYxIC01NCA5NyAtOTAgMzcgLTM2IDczIC02NSA4MSAtNjUgNyAwIDI5IC0xMyA0NyAtMzAgNDMgLTM4IDE3NiAtMTMwIDE4NyAtMTMwIDUgMCAyMCAtOCAzMyAtMTggMTMgLTEwIDUxIC0yOSA4NCAtNDIgMzMgLTEzIDY2IC0yOCA3MiAtMzMgMTggLTEzIDE2MCAtNTUgMjczIC03OSAxMzIgLTI5IDQ4MCAtMzIgNjE1IC01IDIyMSA0NCA0NzYgMTE0IDU3MiAxNTggMjQgMTAgNDkgMTkgNTYgMTkgNyAwIDE3IDQgMjIgOCA2IDUgNTcgMjggMTE1IDUyIDIxMiA4OCA0NjEgMjI0IDcxMCAzODUgMjQ4IDE2MSAzMDkgMjAzIDU0MCAzNzUgNzggNTggMTU2IDExNCAxNzMgMTI0IDM2IDIyIDkxIDYyIDM2NyAyNjggMzI4IDI0NCA1MTcgMzc5IDcwNyA1MDYgMTAxIDY3IDE4NSAxMjIgMTg4IDEyMiAzIDAgNDcgMjYgOTggNTggNTEgMzIgMTMzIDgwIDE4MiAxMDcgNTAgMjcgMTA3IDU5IDEyOCA3MyAyMiAxMyAxMTIgNTkgMjAwIDEwMyA4OSA0NCAxNzkgODkgMjAwIDk5IDIyIDExIDQ1IDIwIDUzIDIwIDggMCAxNCA1IDE0IDEwIDAgMTYgLTMwIDEwIC0xMTAgLTIyeicvPjwvZz48L3N2Zz4=");
  opacity:.045;
  animation:ambient-texture-drift 90s linear infinite;
}
.ambient-field::after{
  content:""; position:absolute; inset:-20% -50%;
  background-image:repeating-linear-gradient(115deg,
    transparent 0, transparent 18vw,
    rgba(14,154,72,.05) 18vw, rgba(14,154,72,.05) 20vw,
    transparent 20vw, transparent 38vw);
  background-size:38vw 100%;
  animation:ambient-sweep-drift 24s linear infinite;
}
@keyframes ambient-texture-drift{ from{ transform:translate3d(0,0,0); } to{ transform:translate3d(-210px,-72px,0); } }
@keyframes ambient-sweep-drift{ from{ background-position:0 0; } to{ background-position:38vw 0; } }

@media (max-width:760px){
  .ambient-field::after{ display:none; }
  .ambient-field::before{ opacity:.03; animation-duration:150s; }
}
@media (prefers-reduced-motion: reduce){
  .ambient-field::before, .ambient-field::after{ animation:none; }
}

/* Reveal-on-scroll primitive (paired with js/animations.js IntersectionObserver) */
.reveal{
  opacity:0;
  transform:translateY(28px);
  transition:opacity var(--dur-slow) var(--ease-out), transform var(--dur-slow) var(--ease-out);
}
.reveal.is-visible{ opacity:1; transform:none; }
.reveal-stagger > *{ transition-delay:calc(var(--stagger-i, 0) * 70ms); }

.reveal-scale{ opacity:0; transform:scale(.94); transition:opacity var(--dur-slow) var(--ease-out), transform var(--dur-slow) var(--ease-spring); }
.reveal-scale.is-visible{ opacity:1; transform:none; }

@media (prefers-reduced-motion: reduce){
  .reveal, .reveal-scale{ opacity:1; transform:none; transition:none; }
  .energy-pulse{ animation:none; opacity:.9; left:20%; }
}
