/* ==========================================================
   V — Custom Styles
   80s Penthouse · Dark crimson · Cheetah print · Gold accents
   ========================================================== */

:root {
  --v-black:    #0a0506;
  --v-ink:      #120a0c;
  --v-wine:     #3a0a0a;
  --v-deep:     #1a0608;
  --v-red:      #c41e3a;
  --v-crimson:  #8b1a1a;
  --v-gold:     #c9a84c;
  --v-tan:      #c4956a;
  --v-cream:    #f5e6d0;
  --v-mist:     #b8a898;
  --v-cheetah:  #b8860b;
}

/* ---------- Typography ---------- */
body {
  font-family: 'Inter', system-ui, sans-serif;
  background-color: var(--v-black);
  color: var(--v-cream);
  letter-spacing: 0.01em;
}
.font-cinzel    { font-family: 'Cinzel', serif; }
.font-cormorant { font-family: 'Cormorant Garamond', serif; }

/* ---------- Tailwind utility overrides ---------- */
.bg-v-black   { background-color: var(--v-black); }
.bg-v-ink     { background-color: var(--v-ink); }
.bg-v-wine    { background-color: var(--v-wine); }
.text-v-cream { color: var(--v-cream); }
.text-v-rose,
.text-v-red   { color: var(--v-red); }
.text-v-gold  { color: var(--v-gold); }
.text-v-mist  { color: var(--v-mist); }
.border-v-rose { border-color: var(--v-red); }

/* ==========================================================
   CHEETAH PRINT PATTERN (SVG + CSS)
   ========================================================== */

.cheetah-bg {
  background-color: #b3863a;
  background-image:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cellipse cx='30' cy='25' rx='12' ry='9' fill='none' stroke='%233a1a00' stroke-width='3'/%3E%3Cellipse cx='90' cy='15' rx='8' ry='11' fill='none' stroke='%233a1a00' stroke-width='3'/%3E%3Cellipse cx='160' cy='30' rx='11' ry='8' fill='none' stroke='%233a1a00' stroke-width='3'/%3E%3Cellipse cx='55' cy='65' rx='10' ry='7' fill='none' stroke='%233a1a00' stroke-width='3'/%3E%3Cellipse cx='125' cy='55' rx='9' ry='12' fill='none' stroke='%233a1a00' stroke-width='3'/%3E%3Cellipse cx='185' cy='70' rx='7' ry='10' fill='none' stroke='%233a1a00' stroke-width='3'/%3E%3Cellipse cx='20' cy='110' rx='11' ry='8' fill='none' stroke='%233a1a00' stroke-width='3'/%3E%3Cellipse cx='80' cy='100' rx='8' ry='10' fill='none' stroke='%233a1a00' stroke-width='3'/%3E%3Cellipse cx='140' cy='115' rx='12' ry='7' fill='none' stroke='%233a1a00' stroke-width='3'/%3E%3Cellipse cx='45' cy='155' rx='9' ry='11' fill='none' stroke='%233a1a00' stroke-width='3'/%3E%3Cellipse cx='110' cy='160' rx='10' ry='8' fill='none' stroke='%233a1a00' stroke-width='3'/%3E%3Cellipse cx='175' cy='150' rx='8' ry='10' fill='none' stroke='%233a1a00' stroke-width='3'/%3E%3Cellipse cx='15' cy='185' rx='7' ry='9' fill='none' stroke='%233a1a00' stroke-width='3'/%3E%3Cellipse cx='75' cy='180' rx='11' ry='7' fill='none' stroke='%233a1a00' stroke-width='3'/%3E%3Cellipse cx='150' cy='190' rx='9' ry='10' fill='none' stroke='%233a1a00' stroke-width='3'/%3E%3Ccircle cx='30' cy='25' r='3' fill='%231a0a00'/%3E%3Ccircle cx='90' cy='15' r='2.5' fill='%231a0a00'/%3E%3Ccircle cx='160' cy='30' r='3' fill='%231a0a00'/%3E%3Ccircle cx='55' cy='65' r='2' fill='%231a0a00'/%3E%3Ccircle cx='125' cy='55' r='3' fill='%231a0a00'/%3E%3Ccircle cx='185' cy='70' r='2' fill='%231a0a00'/%3E%3Ccircle cx='20' cy='110' r='2.5' fill='%231a0a00'/%3E%3Ccircle cx='80' cy='100' r='2' fill='%231a0a00'/%3E%3Ccircle cx='140' cy='115' r='3' fill='%231a0a00'/%3E%3Ccircle cx='45' cy='155' r='2.5' fill='%231a0a00'/%3E%3Ccircle cx='110' cy='160' r='2' fill='%231a0a00'/%3E%3Ccircle cx='175' cy='150' r='3' fill='%231a0a00'/%3E%3C/svg%3E");
  background-size: 200px 200px;
}

/* Subtle cheetah texture overlay — used as ::before on sections */
.cheetah-overlay::before {
  content: "";
  position: absolute; inset: 0;
  background-image:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cellipse cx='30' cy='25' rx='12' ry='9' fill='none' stroke='%23c9a84c' stroke-width='1.5' opacity='0.06'/%3E%3Cellipse cx='90' cy='15' rx='8' ry='11' fill='none' stroke='%23c9a84c' stroke-width='1.5' opacity='0.06'/%3E%3Cellipse cx='160' cy='30' rx='11' ry='8' fill='none' stroke='%23c9a84c' stroke-width='1.5' opacity='0.06'/%3E%3Cellipse cx='55' cy='65' rx='10' ry='7' fill='none' stroke='%23c9a84c' stroke-width='1.5' opacity='0.06'/%3E%3Cellipse cx='125' cy='55' rx='9' ry='12' fill='none' stroke='%23c9a84c' stroke-width='1.5' opacity='0.06'/%3E%3Cellipse cx='185' cy='70' rx='7' ry='10' fill='none' stroke='%23c9a84c' stroke-width='1.5' opacity='0.06'/%3E%3Cellipse cx='20' cy='110' rx='11' ry='8' fill='none' stroke='%23c9a84c' stroke-width='1.5' opacity='0.06'/%3E%3Cellipse cx='80' cy='100' rx='8' ry='10' fill='none' stroke='%23c9a84c' stroke-width='1.5' opacity='0.06'/%3E%3Cellipse cx='140' cy='115' rx='12' ry='7' fill='none' stroke='%23c9a84c' stroke-width='1.5' opacity='0.06'/%3E%3Cellipse cx='45' cy='155' rx='9' ry='11' fill='none' stroke='%23c9a84c' stroke-width='1.5' opacity='0.06'/%3E%3Cellipse cx='110' cy='160' rx='10' ry='8' fill='none' stroke='%23c9a84c' stroke-width='1.5' opacity='0.06'/%3E%3Cellipse cx='175' cy='150' rx='8' ry='10' fill='none' stroke='%23c9a84c' stroke-width='1.5' opacity='0.06'/%3E%3C/svg%3E");
  background-size: 200px 200px;
  pointer-events: none;
  z-index: 1;
}

/* Cheetah strip — decorative border strip */
.cheetah-strip {
  height: 4px;
  background-color: #b3863a;
  background-image:
    radial-gradient(ellipse at 10% 50%, #3a1a00 30%, transparent 31%),
    radial-gradient(ellipse at 25% 50%, #3a1a00 25%, transparent 26%),
    radial-gradient(ellipse at 42% 50%, #3a1a00 28%, transparent 29%),
    radial-gradient(ellipse at 58% 50%, #3a1a00 30%, transparent 31%),
    radial-gradient(ellipse at 75% 50%, #3a1a00 25%, transparent 26%),
    radial-gradient(ellipse at 92% 50%, #3a1a00 28%, transparent 29%);
  background-size: 100% 100%;
}

/* ---------- Ambient backdrop ---------- */
.bg-gradient-radial {
  background:
    radial-gradient(ellipse at 25% 0%,   rgba(196,30,58,0.35),    transparent 55%),
    radial-gradient(ellipse at 80% 20%,  rgba(58,10,10,0.7),      transparent 60%),
    radial-gradient(ellipse at 50% 100%, rgba(201,168,76,0.08),   transparent 55%),
    radial-gradient(ellipse at 50% 50%,  rgba(139,26,26,0.15),    transparent 70%),
    linear-gradient(180deg, #080304 0%, #0a0506 50%, #080304 100%);
  animation: nebula-drift 30s ease-in-out infinite;
}
@media (prefers-reduced-motion: reduce) { .bg-gradient-radial { animation: none; } }

.noise-layer {
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 0.6  0 0 0 0 0.2  0 0 0 0 0.15  0 0 0 0.5 0'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>");
  mix-blend-mode: overlay;
}

.vignette {
  background: radial-gradient(ellipse at center, transparent 40%, rgba(10,5,6,0.95) 100%);
}

/* ---------- Halo ---------- */
.halo {
  width: 80vmin; height: 80vmin;
  border-radius: 50%;
  background: radial-gradient(circle at 50% 45%,
    rgba(196,30,58,0.22) 0%,
    rgba(196,30,58,0.08) 30%,
    rgba(201,168,76,0.04) 50%,
    transparent 75%);
  filter: blur(28px);
  animation: halo-pulse 8s ease-in-out infinite;
}
.halo::after {
  content: "";
  position: absolute; inset: 15%;
  border-radius: 50%;
  border: 1px solid rgba(196,30,58,0.08);
  animation: halo-pulse 8s ease-in-out 4s infinite;
}
@keyframes halo-pulse {
  0%, 100% { transform: scale(1);   opacity: 0.85; }
  50%       { transform: scale(1.1); opacity: 1; }
}

/* ---------- Reveal ---------- */
.reveal {
  opacity: 0;
  transform: translateY(28px) scale(0.985);
  transition: opacity 1.3s cubic-bezier(0.2,1,0.2,1), transform 1.3s cubic-bezier(0.2,1,0.2,1);
  will-change: opacity, transform;
}
.reveal.is-visible { opacity: 1; transform: translateY(0) scale(1); }

/* ---------- Sigil hero ---------- */
.sigil-hero {
  display: inline-block;
  animation: sigil-draw 2.5s cubic-bezier(0.2,0.8,0.2,1) forwards,
             sigil-pulse 8s ease-in-out 2.5s infinite;
  will-change: filter;
}
@keyframes sigil-draw {
  0%   { opacity: 0; transform: scale(0.55) rotate(-18deg); filter: blur(14px); }
  45%  { opacity: 0.9; transform: scale(1.1) rotate(5deg); filter: blur(2px) drop-shadow(0 0 40px rgba(196,30,58,1)); }
  100% { opacity: 1; transform: scale(1) rotate(0deg); filter: blur(0) drop-shadow(0 0 18px rgba(196,30,58,0.6)); }
}
@keyframes sigil-pulse {
  0%, 100% { filter: drop-shadow(0 0 8px rgba(196,30,58,0.3)); }
  50%       { filter: drop-shadow(0 0 30px rgba(196,30,58,0.8)); }
}
@media (prefers-reduced-motion: reduce) {
  .sigil-hero { animation: none; opacity: 1; filter: drop-shadow(0 0 18px rgba(196,30,58,0.5)); }
}

/* ---------- Divider ---------- */
.divider {
  width: 8rem; height: 1px;
  background: linear-gradient(90deg, transparent, var(--v-red), var(--v-gold), var(--v-red), transparent);
  position: relative;
}
.divider::after {
  content: "\2726";  /* ✦ */
  position: absolute; left: 50%; top: 50%;
  transform: translate(-50%, -50%);
  background: var(--v-black);
  color: var(--v-gold);
  padding: 0 0.6rem;
  font-size: 0.85rem;
}

/* ---------- Buttons ---------- */
.btn-primary {
  position: relative;
  display: inline-flex; align-items: center; justify-content: center;
  padding: 1rem 2.5rem;
  font-family: 'Cinzel', serif;
  font-size: 0.78rem; font-weight: 600;
  letter-spacing: 0.35em; text-transform: uppercase;
  color: #f5e6d0;
  background: linear-gradient(135deg, var(--v-crimson), var(--v-red));
  border: 1px solid var(--v-red);
  overflow: hidden; transition: all 0.5s ease; cursor: pointer;
  text-shadow: 0 1px 3px rgba(0,0,0,0.5);
}
.btn-primary::before {
  content: ""; position: absolute; inset: 0;
  background: linear-gradient(135deg, var(--v-red), #e8294d);
  opacity: 0; transition: opacity 0.5s ease;
}
.btn-primary:hover { transform: translateY(-2px); box-shadow: 0 12px 40px -10px rgba(196,30,58,0.7); }
.btn-primary:hover::before { opacity: 1; }

.btn-ghost {
  position: relative;
  display: inline-flex; align-items: center; justify-content: center;
  padding: 1rem 2.5rem;
  font-family: 'Cinzel', serif;
  font-size: 0.78rem; font-weight: 500;
  letter-spacing: 0.35em; text-transform: uppercase;
  color: var(--v-gold);
  background: transparent;
  border: 1px solid rgba(201,168,76,0.4);
  overflow: hidden; transition: all 0.5s ease; cursor: pointer;
}
.btn-ghost::before {
  content: ""; position: absolute; inset: 0;
  background: linear-gradient(135deg, rgba(196,30,58,0.15), transparent);
  opacity: 0; transition: opacity 0.5s ease;
}
.btn-ghost:hover { border-color: var(--v-gold); color: var(--v-cream); transform: translateY(-2px);
  box-shadow: 0 8px 30px -10px rgba(201,168,76,0.4); }
.btn-ghost:hover::before { opacity: 1; }

/* ---------- Platform cards ---------- */
.platform-card {
  position: relative;
  padding: 2.5rem 2rem;
  background: linear-gradient(180deg, rgba(58,10,10,0.6), rgba(10,5,6,0.85));
  border: 1px solid rgba(196,30,58,0.25);
  backdrop-filter: blur(8px);
  transition: all 0.6s ease;
  overflow: hidden;
}
.platform-card::before {
  content: ""; position: absolute; inset: 0;
  background: radial-gradient(circle at 50% 0%, rgba(196,30,58,0.2), transparent 60%);
  opacity: 0; transition: opacity 0.6s ease;
}
.platform-card::after {
  content: ""; position: absolute; inset: 0;
  background: linear-gradient(108deg, transparent 38%, rgba(201,168,76,0.08) 50%, transparent 62%);
  transform: translateX(-130%); pointer-events: none; transition: none;
}
.platform-card:hover { transform: translateY(-6px); border-color: rgba(201,168,76,0.5);
  box-shadow: 0 20px 60px -20px rgba(196,30,58,0.35), 0 0 40px -15px rgba(201,168,76,0.15); }
.platform-card:hover::before { opacity: 1; }
.platform-card:hover::after  { transform: translateX(130%); transition: transform 0.55s ease; }

/* Cheetah accent strip on platform cards */
.platform-card .cheetah-accent {
  position: absolute; bottom: 0; left: 0; right: 0; height: 3px;
  background-color: #b3863a;
  background-image:
    radial-gradient(ellipse at 15% 50%, #3a1a00 35%, transparent 36%),
    radial-gradient(ellipse at 35% 50%, #3a1a00 30%, transparent 31%),
    radial-gradient(ellipse at 55% 50%, #3a1a00 35%, transparent 36%),
    radial-gradient(ellipse at 75% 50%, #3a1a00 30%, transparent 31%),
    radial-gradient(ellipse at 95% 50%, #3a1a00 35%, transparent 36%);
  opacity: 0; transition: opacity 0.5s ease;
}
.platform-card:hover .cheetah-accent { opacity: 1; }

.platform-icon {
  display: inline-block; font-size: 2.5rem;
  color: var(--v-red); margin-bottom: 1.25rem;
  text-shadow: 0 0 30px rgba(196,30,58,0.6);
}

/* ---------- Gate modal ---------- */
#gate.show { display: flex !important; animation: fade-in 0.4s ease; }
@keyframes fade-in { from { opacity: 0; } to { opacity: 1; } }

.gate-card {
  position: relative;
  background: linear-gradient(180deg, rgba(58,10,10,0.8), rgba(10,5,6,0.97));
  border: 1px solid rgba(196,30,58,0.5);
  box-shadow: 0 30px 100px -20px rgba(196,30,58,0.3),
              inset 0 0 60px rgba(0,0,0,0.6);
  animation: gate-rise 0.7s cubic-bezier(0.2,0.8,0.2,1);
}
.gate-card::before {
  content: ""; position: absolute; top: 14px; left: 14px;
  width: 22px; height: 22px;
  border-top: 1px solid rgba(201,168,76,0.5);
  border-left: 1px solid rgba(201,168,76,0.5);
  pointer-events: none;
}
.gate-card::after {
  content: ""; position: absolute; bottom: 14px; right: 14px;
  width: 22px; height: 22px;
  border-bottom: 1px solid rgba(201,168,76,0.5);
  border-right: 1px solid rgba(201,168,76,0.5);
  pointer-events: none;
}
@keyframes gate-rise {
  from { transform: translateY(20px) scale(0.96); opacity: 0; }
  to   { transform: translateY(0) scale(1); opacity: 1; }
}

/* ---------- Perk list ---------- */
.perk-item {
  display: flex; align-items: flex-start; gap: 1rem;
  padding: 1.25rem 1.5rem;
  background: linear-gradient(135deg, rgba(58,10,10,0.4), rgba(10,5,6,0.7));
  border: 1px solid rgba(196,30,58,0.15);
  border-left: 3px solid var(--v-red);
  transition: all 0.4s ease;
}
.perk-item:hover { border-color: rgba(201,168,76,0.5); transform: translateX(4px);
  box-shadow: -4px 0 20px -8px rgba(196,30,58,0.4); }

/* ---------- Scrollbar ---------- */
::-webkit-scrollbar { width: 8px; }
::-webkit-scrollbar-track { background: var(--v-black); }
::-webkit-scrollbar-thumb { background: rgba(196,30,58,0.3); }
::-webkit-scrollbar-thumb:hover { background: var(--v-red); }

/* ---------- Selection ---------- */
::selection { background: var(--v-red); color: var(--v-cream); }

/* ---------- Nav underline ---------- */
nav a { position: relative; }
nav a::after {
  content: ""; position: absolute; left: 50%; bottom: -3px;
  width: 0; height: 1px; background: var(--v-gold);
  transition: width 0.35s ease, left 0.35s ease;
}
nav a:hover::after { width: 100%; left: 0; }

/* ---------- Section header gradient ---------- */
.font-cinzel.text-3xl,
.font-cinzel.text-4xl,
.font-cinzel.text-5xl {
  background: linear-gradient(180deg, var(--v-cream) 0%, var(--v-gold) 100%);
  -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text;
}

/* ---------- Gold metallic text utility ---------- */
.text-gold-metallic {
  background: linear-gradient(135deg, #c9a84c, #f0d68a, #c9a84c);
  -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text;
}

/* ---------- Mobile tightening ---------- */
@media (max-width: 640px) {
  .btn-primary, .btn-ghost { padding: 0.85rem 1.5rem; font-size: 0.7rem; }
  .platform-card { padding: 1.75rem 1.25rem; }
}

/* ==========================================================
   VISUAL ENHANCEMENT LAYER
   ========================================================== */

/* Scroll progress */
#scroll-progress {
  position: fixed; top: 0; left: 0; height: 2px; width: 0%;
  background: linear-gradient(90deg, var(--v-crimson), var(--v-red), var(--v-gold), var(--v-red), var(--v-crimson));
  z-index: 200; pointer-events: none;
  box-shadow: 0 0 12px rgba(196,30,58,0.9), 0 0 4px rgba(201,168,76,0.5);
  transition: width 0.08s linear;
}

/* Keyframes */
@keyframes shimmer-sweep {
  0%   { background-position: 100% center; }
  100% { background-position: -200% center; }
}
@keyframes ring-expand {
  0%   { transform: scale(0.1); opacity: 0.65; }
  100% { transform: scale(5.5); opacity: 0; }
}
@keyframes btn-ripple-anim { to { transform: scale(4); opacity: 0; } }
@keyframes tagline-pulse {
  0%, 100% { opacity: 0.85; text-shadow: 0 0 20px rgba(196,30,58,0.15); }
  50%       { opacity: 1;    text-shadow: 0 0 50px rgba(196,30,58,0.6), 0 0 18px rgba(201,168,76,0.3); }
}
@keyframes nebula-drift {
  0%, 100% { transform: scale(1)    translate(0, 0); }
  33%      { transform: scale(1.02) translate(0.7%, -0.4%); }
  66%      { transform: scale(1.01) translate(-0.4%, 0.7%); }
}
@keyframes sigil-ambient {
  0%   { transform: rotate(0deg)   translateY(0px) scale(1); }
  25%  { transform: rotate(90deg)  translateY(-12px) scale(1.03); }
  50%  { transform: rotate(180deg) translateY(0px) scale(1); }
  75%  { transform: rotate(270deg) translateY(10px) scale(0.97); }
  100% { transform: rotate(360deg) translateY(0px) scale(1); }
}

/* Hero outer ring */
#top { --ring-color: rgba(196,30,58,0.06); }
#top::before {
  content: ""; position: absolute; inset: 0;
  background: radial-gradient(ellipse 60% 50% at 50% 50%, transparent 60%, var(--ring-color) 70%, transparent 75%);
  pointer-events: none;
}

/* Small shake */
@keyframes shake {
  0%,100% { transform: translateX(0); }
  20% { transform: translateX(-6px); }
  40% { transform: translateX(6px); }
  60% { transform: translateX(-4px); }
  80% { transform: translateX(4px); }
}

/* ---------- Age gate ---------- */
#age-gate {
  backdrop-filter: blur(0px);
}
#age-gate .btn-primary,
#age-gate .btn-ghost {
  min-width: 160px;
}

/* ---------- Gallery teaser grid ---------- */
.gallery-item {
  position: relative;
  overflow: hidden;
  background: var(--v-wine);
}
.gallery-item img {
  width: 100%; display: block;
  transition: transform 0.7s ease;
}
.gallery-item:hover img { transform: scale(1.04); }

/* Cheetah-print frame on gallery hover */
.gallery-item::before {
  content: ""; position: absolute; inset: 0;
  border: 3px solid transparent;
  transition: border-color 0.4s ease;
  z-index: 2; pointer-events: none;
}
.gallery-item:hover::before {
  border-image: repeating-linear-gradient(
    45deg,
    #b3863a 0px, #b3863a 4px,
    #3a1a00 4px, #3a1a00 7px,
    #c9a84c 7px, #c9a84c 10px,
    #3a1a00 10px, #3a1a00 13px
  ) 3;
}

.gallery-item.locked img {
  filter: blur(14px);
  transform: scale(1.08);
  transition: filter 0.4s ease, transform 0.4s ease;
}
.gallery-item.locked:hover img { filter: blur(10px); transform: scale(1.1); }

.gallery-lock {
  position: absolute; inset: 0;
  display: flex; flex-direction: column;
  align-items: center; justify-content: center;
  gap: 0.6rem;
  background: rgba(10,5,6,0.5);
  transition: background 0.4s ease;
}
.gallery-item.locked:hover .gallery-lock { background: rgba(10,5,6,0.35); }
.lock-icon { font-size: 1.5rem; }
.lock-text {
  color: rgba(201,168,76,0.8);
  letter-spacing: 0.25em;
  text-transform: uppercase;
  font-size: 0.65rem;
  font-family: 'Cinzel', serif;
}

/* ---------- Cheetah print section accent bars ---------- */
.section-cheetah-top,
.section-cheetah-bottom {
  position: absolute; left: 0; right: 0; height: 3px; z-index: 2;
  background-color: #b3863a;
  background-image:
    radial-gradient(ellipse at 8% 50%, #3a1a00 30%, transparent 31%),
    radial-gradient(ellipse at 18% 50%, #3a1a00 25%, transparent 26%),
    radial-gradient(ellipse at 30% 50%, #3a1a00 28%, transparent 29%),
    radial-gradient(ellipse at 42% 50%, #3a1a00 30%, transparent 31%),
    radial-gradient(ellipse at 55% 50%, #3a1a00 25%, transparent 26%),
    radial-gradient(ellipse at 67% 50%, #3a1a00 28%, transparent 29%),
    radial-gradient(ellipse at 80% 50%, #3a1a00 30%, transparent 31%),
    radial-gradient(ellipse at 93% 50%, #3a1a00 25%, transparent 26%);
}
.section-cheetah-top    { top: 0; }
.section-cheetah-bottom { bottom: 0; }

/* ---------- Neon-ish red glow on hover for links ---------- */
a:hover { text-shadow: 0 0 12px rgba(196,30,58,0.3); }

/* ---------- 80s gold border frame utility ---------- */
.gold-frame {
  border: 2px solid rgba(201,168,76,0.4);
  box-shadow: inset 0 0 30px rgba(201,168,76,0.05), 0 0 20px rgba(196,30,58,0.1);
}

/* ---------- Velvet section background ---------- */
.velvet-bg {
  background:
    linear-gradient(180deg, rgba(58,10,10,0.12), transparent 30%, transparent 70%, rgba(58,10,10,0.12)),
    linear-gradient(90deg, rgba(10,5,6,0.3), transparent 15%, transparent 85%, rgba(10,5,6,0.3));
}
