/* =========================================================
   BASE
   Variables, Background, Global Reset
   ========================================================= */

/* =============================
   ROOT VARIABLES
============================= */

:root {
  --swamp-green-1: #7D9C00;
  --swamp-green-2: #6F8F00;
  --swamp-green-3: #5E7A00;

  --blood-red-1: #6b0f0f;
  --blood-red-2: #3a0505;
  --blood-red-3: #8a1a1a;

  --card-bg: rgba(0, 0, 0, 0.75);
  --modal-bg: rgba(0, 0, 0, 0.85);
  --accent: #7C675F;
  --white: #fff;

  --header-height: 150px;
}

/* =============================
   GLOBAL RESET
============================= */

*,
*::before,
*::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

html {
  scroll-behavior: auto;
  width: 100%;
  max-width: 100%;
  overflow-x: hidden;
  overflow-y: scroll;
  scrollbar-gutter: stable;
  background-color: #0a0a0a;
  color-scheme: dark;
}

/* =============================
   SAFARI-PROOF BACKGROUND LAYER
============================= */

html {
  background-color: #0a0a0a;
}

/* =============================
   BACKGROUND ANIMATION
============================= */

@keyframes swampToBlood {
  0%   { background-position: 0% 50%; }
  50%  { background-position: 100% 50%; }
  100% { background-position: 0% 50%; }
}

/* =============================
   BODY STRUCTURE
============================= */

body {
  font-family: 'Montserrat', sans-serif;
  color: var(--white);

  min-height: 100svh;
  min-height: 100%;
  position: relative;
  isolation: isolate;

  display: flex;
  flex-direction: column;

  padding-top: calc(var(--header-height) + env(safe-area-inset-top));
  padding-left: env(safe-area-inset-left);
  padding-right: env(safe-area-inset-right);
  padding-bottom: env(safe-area-inset-bottom);

  overflow-x: hidden;
}

body::before {
  content: "";
  position: fixed;
  inset: -25vmax;
  z-index: -1;
  pointer-events: none;
  background: linear-gradient(
    135deg,
    var(--swamp-green-1),
    var(--swamp-green-2),
    var(--swamp-green-3),
    var(--blood-red-1),
    var(--blood-red-2),
    var(--blood-red-3)
  );
  background-size: 600% 600%;
  background-position: 50% 50%;
  background-repeat: no-repeat;
}

/* =============================
   MEDIA ELEMENT SAFETY
============================= */

img,
video,
canvas {
  max-width: 100%;
  height: auto;
  display: block;
}

/* =============================
   MOBILE TWEAKS
============================= */

@media (max-width: 768px) {
  main {
    padding: 0 1.25rem;
  }

}








