:root {
  --color-primary: #2E9B38;   /* Brand Green */
  --color-secondary: #E31E24; /* Brand Red */
  --color-accent: #F5B400;    /* Brand Gold */
  --color-dark: #0A0A0A;      /* Brand Black */
}
html { scroll-behavior: smooth; overflow-x: hidden; max-width: 100vw; }
body { font-family: 'Poppins', sans-serif; overflow-x: hidden; max-width: 100vw; }
img { max-width: 100%; height: auto; }
.marquee-track img, .marquee-track span { max-width: none; }
h1, h2, h3, h4, h5, .heading-font { font-family: 'Outfit', sans-serif; }

.gradient-btn {
  background: linear-gradient(135deg, var(--color-secondary), var(--color-primary));
  transition: all .3s ease;
}
.gradient-btn:hover {
  filter: brightness(1.1);
  transform: translateY(-2px);
  box-shadow: 0 10px 25px -5px rgba(227,30,36,.4);
}
.gradient-text {
  background: linear-gradient(135deg, var(--color-secondary), var(--color-primary));
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}
.glass {
  background: rgba(255,255,255,0.08);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  border: 1px solid rgba(255,255,255,0.18);
}
.glass-light {
  background: rgba(255,255,255,0.75);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border: 1px solid rgba(255,255,255,0.4);
}
.float-anim { animation: floatY 4s ease-in-out infinite; }
@keyframes floatY { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-14px); } }

.marquee-track { animation: marquee 25s linear infinite; }
@keyframes marquee { 0% { transform: translateX(0); } 100% { transform: translateX(-50%); } }

.top-accent-line {
  background: linear-gradient(90deg, var(--color-secondary), var(--color-accent), var(--color-primary));
}

.card-hover { transition: all .35s cubic-bezier(.2,.8,.2,1); }
.card-hover:hover { transform: translateY(-8px); box-shadow: 0 20px 40px -12px rgba(10,10,10,.18); }

::-webkit-scrollbar { width: 9px; }
::-webkit-scrollbar-track { background: #f1f1f1; }
::-webkit-scrollbar-thumb { background: var(--color-primary); border-radius: 10px; }

.dark body { background: #0A0A0A; }

[x-cloak] { display: none !important; }

/* Inner page banner */
.page-banner {
  background: linear-gradient(120deg, var(--color-dark) 0%, var(--color-dark) 55%, var(--color-primary) 100%);
}

/* Basic prose styling for admin-authored (CKEditor) blog body content */
.blog-body { color: inherit; }
.blog-body p { margin-bottom: 1.1rem; line-height: 1.75; color: #6b7280; }
.dark .blog-body p { color: #9ca3af; }
.blog-body h2, .blog-body h3 { font-family: 'Outfit', sans-serif; font-weight: 700; margin-top: 1.75rem; margin-bottom: 0.75rem; }
.blog-body ul, .blog-body ol { margin: 1rem 0 1.25rem 1.5rem; }
.blog-body ul { list-style: disc; }
.blog-body ol { list-style: decimal; }
.blog-body li { margin-bottom: 0.4rem; color: #6b7280; }
.dark .blog-body li { color: #9ca3af; }
.blog-body a { color: var(--color-secondary); text-decoration: underline; }
.blog-body blockquote { border-left: 4px solid var(--color-accent); padding: 0.75rem 1.25rem; font-style: italic; background: rgba(245,180,0,0.08); border-radius: 0 0.75rem 0.75rem 0; margin: 1.25rem 0; }
