:root{
  --ink:#0B0E11;
  --ink-2:#151A1F;
  --ink-3:#1E252C;
  --parchment:#EDE6D6;
  --parchment-2:#F7F3E8;
  --gold:#C9A227;
  --gold-bright:#E8C766;
  --gold-dim:#8a7326;
  --vault-green:#12513E;
  --seal-red:#7A1F2B;
  --graphite:#8A8F98;
  --hair:rgba(201,162,39,0.18);
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  background:
    radial-gradient(ellipse at 20% -10%, rgba(201,162,39,0.10), transparent 45%),
    radial-gradient(ellipse at 100% 0%, rgba(18,81,62,0.18), transparent 40%),
    var(--ink);
  color:var(--parchment);
  font-family:'Inter',sans-serif;
  min-height:100vh;
}
@media (prefers-reduced-motion: reduce){
  *{animation-duration:0.001ms !important; animation-iteration-count:1 !important; transition-duration:0.001ms !important;}
}

.display{font-family:'Fraunces',serif;}
.mono{font-family:'IBM Plex Mono',monospace; font-variant-numeric:tabular-nums;}
.eyebrow{
  font-family:'IBM Plex Mono',monospace;
  letter-spacing:.18em;
  text-transform:uppercase;
  font-size:.72rem;
  color:var(--gold-bright);
}

/* ---------- NAV ---------- */
.navbar-custom{
  background:linear-gradient(180deg, rgba(11,14,17,0.96), rgba(11,14,17,0.85));
  border-bottom:1px solid var(--hair);
  backdrop-filter:blur(8px);
}
.brand-mark{
  font-family:'Fraunces',serif;
  font-weight:900;
  font-size:1.45rem;
  letter-spacing:-.01em;
  color:var(--parchment-2);
}
.brand-mark .accent{color:var(--gold-bright); font-style:italic; font-weight:500;}
.btn-gold{
  background:linear-gradient(180deg,var(--gold-bright),var(--gold));
  border:none; color:#1a1300; font-weight:700;
  box-shadow:0 2px 0 var(--gold-dim), 0 8px 24px rgba(201,162,39,0.25);
  transition:transform .15s ease, box-shadow .15s ease;
}
.btn-gold:hover{transform:translateY(-1px); box-shadow:0 3px 0 var(--gold-dim), 0 12px 28px rgba(201,162,39,0.35); color:#1a1300;}
.btn-outline-parchment{
  border:1px solid var(--hair); color:var(--parchment-2); background:transparent;
}
.btn-outline-parchment:hover{border-color:var(--gold); color:var(--gold-bright); background:rgba(201,162,39,0.06);}

/* ---------- TICKER ---------- */
.ticker-wrap{
  border-top:1px solid var(--hair);
  border-bottom:1px solid var(--hair);
  background:var(--ink-2);
  overflow:hidden;
  white-space:nowrap;
  position:relative;
}
.ticker-wrap::before, .ticker-wrap::after{
  content:""; position:absolute; top:0; bottom:0; width:60px; z-index:2;
}
.ticker-wrap::before{left:0; background:linear-gradient(90deg,var(--ink-2), transparent);}
.ticker-wrap::after{right:0; background:linear-gradient(270deg,var(--ink-2), transparent);}
.ticker-track{
  display:inline-flex;
  animation:scrollTicker 38s linear infinite;
  padding:10px 0;
}
.ticker-wrap:hover .ticker-track{animation-play-state:paused;}
@keyframes scrollTicker{
  0%{transform:translateX(0);}
  100%{transform:translateX(-50%);}
}
.ticker-item{
  font-family:'IBM Plex Mono',monospace; font-size:.82rem; color:var(--graphite);
  padding:0 2rem; border-right:1px solid var(--hair);
}
.ticker-item .amt{color:var(--gold-bright); font-weight:600;}
.ticker-item .name{color:var(--parchment-2);}

/* ---------- HERO ---------- */
.hero{padding:5.5rem 0 3rem;}
.hero-title{
  font-size:clamp(2.4rem, 5vw, 4.2rem);
  line-height:1.02;
  font-weight:600;
  color:var(--parchment-2);
}
.hero-title em{font-style:italic; color:var(--gold-bright); font-weight:500;}
.hero-sub{color:var(--graphite); font-size:1.08rem; max-width:46ch;}

.throne-card{
  position:relative;
  border-radius:18px;
  padding:2.2rem 1.8rem 1.6rem;
  background:linear-gradient(160deg, var(--ink-3), var(--ink-2));
  border:1px solid var(--hair);
  box-shadow:0 30px 80px rgba(0,0,0,0.55), inset 0 1px 0 rgba(255,255,255,0.03);
  overflow:hidden;
}
.throne-card::before{
  content:"";
  position:absolute; inset:-40% -20% auto -20%; height:220px;
  background:radial-gradient(ellipse at center, rgba(201,162,39,0.22), transparent 70%);
  pointer-events:none;
}
.throne-crown{
  font-size:2rem; color:var(--gold-bright);
  filter:drop-shadow(0 4px 10px rgba(201,162,39,0.5));
  animation:float 3.2s ease-in-out infinite;
}
@keyframes float{
  0%,100%{transform:translateY(0);}
  50%{transform:translateY(-6px);}
}
.throne-name{font-family:'Fraunces',serif; font-weight:700; font-size:1.9rem; color:var(--parchment-2);}
.throne-amount{
  font-family:'IBM Plex Mono',monospace; font-weight:600; font-size:2.4rem; color:var(--gold-bright);
  letter-spacing:-0.02em;
}
.throne-avatar{
  width:76px;height:76px;border-radius:50%;
  background:linear-gradient(135deg,var(--gold-bright),var(--vault-green));
  display:flex;align-items:center;justify-content:center;
  font-family:'Fraunces',serif; font-weight:700; font-size:1.7rem; color:#0B0E11;
  border:3px solid var(--gold);
  box-shadow:0 0 0 4px rgba(201,162,39,0.12);
}
.verified-seal{
  display:inline-flex; align-items:center; gap:.35rem;
  font-family:'IBM Plex Mono',monospace; font-size:.68rem; letter-spacing:.08em;
  color:var(--vault-green); background:rgba(18,81,62,0.16);
  border:1px solid rgba(18,81,62,0.5);
  padding:.25rem .55rem; border-radius:100px; text-transform:uppercase;
}

/* ---------- STATS STRIP ---------- */
.stat-box{border-left:1px solid var(--hair); padding-left:1rem;}
.stat-num{font-family:'IBM Plex Mono',monospace; font-size:1.5rem; color:var(--parchment-2); font-weight:600;}
.stat-label{font-size:.72rem; letter-spacing:.1em; text-transform:uppercase; color:var(--graphite);}

/* ---------- LEDGER ---------- */
.ledger-section{padding:2rem 0 4rem;}
.ledger-head{
  display:flex; align-items:baseline; justify-content:space-between;
  border-bottom:1px solid var(--hair); padding-bottom:1rem; margin-bottom:.5rem;
}
.ledger-title{font-family:'Fraunces',serif; font-size:1.9rem; font-weight:600; color:var(--parchment-2);}
.ledger-row{
  display:grid;
  grid-template-columns:56px 1fr auto 160px;
  align-items:center;
  gap:1rem;
  padding:.85rem .25rem;
  border-bottom:1px solid rgba(255,255,255,0.045);
  transition:background .2s ease;
  position:relative;
}
.ledger-row:hover{background:rgba(201,162,39,0.045);}
.rank-cell{font-family:'IBM Plex Mono',monospace; font-size:1rem; color:var(--graphite); text-align:center;}
.rank-medal{
  width:34px;height:34px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  font-family:'Fraunces',serif; font-weight:700; font-size:.95rem;
  margin:0 auto;
}
.medal-1{background:radial-gradient(circle at 30% 30%, var(--gold-bright), var(--gold-dim)); color:#241b00; box-shadow:0 0 14px rgba(201,162,39,0.55);}
.medal-2{background:radial-gradient(circle at 30% 30%, #e8e8ee, #8b8e97); color:#1a1a1d;}
.medal-3{background:radial-gradient(circle at 30% 30%, #cf9a6b, #8a5a34); color:#241505;}
.name-cell{display:flex; align-items:center; gap:.7rem;}
.avatar-sm{
  width:38px;height:38px;border-radius:50%;
  background:linear-gradient(135deg,#3a4148,#1c2126);
  display:flex;align-items:center;justify-content:center;
  font-family:'Fraunces',serif; font-weight:700; font-size:.95rem; color:var(--parchment-2);
  border:1px solid var(--hair); flex-shrink:0;
}
.donor-name{color:var(--parchment-2); font-weight:600;}
.donor-sub{color:var(--graphite); font-size:.75rem;}
.reset-note{display:block; margin-top:.25rem; color:var(--gold-bright);}
.social-links{display:flex; gap:.5rem; margin-top:.15rem;}
.social-links a{
  color:var(--graphite); font-size:.68rem; text-transform:uppercase; letter-spacing:.05em;
  text-decoration:none; border-bottom:1px dotted var(--hair);
}
.social-links a:hover{color:var(--gold-bright); border-color:var(--gold);}
.amount-cell{font-family:'IBM Plex Mono',monospace; font-weight:600; color:var(--gold-bright); text-align:right; font-size:1.05rem;}
.bar-cell{position:relative; height:8px; background:rgba(255,255,255,0.05); border-radius:100px; overflow:hidden;}
.bar-fill{
  position:absolute; top:0; left:0; bottom:0; border-radius:100px;
  background:linear-gradient(90deg, var(--gold-dim), var(--gold-bright));
  width:0%;
  transition:width 1.1s cubic-bezier(.16,1,.3,1);
}

@keyframes stampPop{
  0%{transform:scale(2.4) rotate(-8deg); opacity:0;}
  35%{transform:scale(0.92) rotate(-8deg); opacity:1;}
  55%{transform:scale(1.05) rotate(-8deg); opacity:1;}
  100%{transform:scale(1) rotate(-8deg); opacity:0;}
}
.stamp-mark{
  position:absolute; right:8px; top:-4px;
  font-family:'IBM Plex Mono',monospace; font-size:.62rem; letter-spacing:.06em;
  color:var(--seal-red); border:2px solid var(--seal-red); border-radius:6px;
  padding:1px 6px; text-transform:uppercase; opacity:0;
  animation:stampPop 1.4s ease-out forwards;
}
.row-new{animation:rowGlow 1.6s ease-out;}
@keyframes rowGlow{
  0%{background:rgba(201,162,39,0.28);}
  100%{background:transparent;}
}

/* ---------- INNER CIRCLE ---------- */
.inner-circle{
  background:linear-gradient(160deg, rgba(18,81,62,0.14), rgba(11,14,17,0));
  border:1px solid rgba(18,81,62,0.4);
  border-radius:20px;
  padding:2.5rem;
  position:relative;
  overflow:hidden;
}
.inner-circle::after{
  content:"";
  position:absolute; right:-60px; top:-60px; width:220px; height:220px; border-radius:50%;
  background:radial-gradient(circle, rgba(201,162,39,0.14), transparent 70%);
}
.locked-feature{
  display:flex; gap:.85rem; align-items:flex-start;
  padding:.9rem 0; border-bottom:1px solid rgba(255,255,255,0.05);
}
.locked-feature:last-child{border-bottom:none;}
.locked-icon{
  width:34px;height:34px; border-radius:8px; flex-shrink:0;
  background:rgba(201,162,39,0.1); border:1px solid var(--hair);
  display:flex; align-items:center; justify-content:center; color:var(--gold-bright);
}
.blur-tag{filter:blur(3px); user-select:none; color:var(--graphite);}

/* ---------- TRUST ---------- */
.trust-item{
  border:1px solid var(--hair); border-radius:14px; padding:1.4rem;
  background:rgba(255,255,255,0.015);
  height:100%;
}
.trust-icon{color:var(--gold-bright); font-size:1.4rem;}

/* ---------- FAQ ---------- */
.accordion-item{
  background:rgba(255,255,255,0.015); border:1px solid var(--hair); margin-bottom:.6rem; border-radius:10px !important; overflow:hidden;
}
.accordion-button{
  background:transparent; color:var(--parchment-2); font-family:'Fraunces',serif; font-weight:600; font-size:1rem;
  box-shadow:none !important;
}
.accordion-button:not(.collapsed){background:rgba(201,162,39,0.06); color:var(--gold-bright);}
.accordion-button::after{filter:invert(72%) sepia(48%) saturate(400%) hue-rotate(1deg);}
.accordion-body{color:var(--graphite); font-size:.9rem; line-height:1.6;}

/* ---------- FOOTER ---------- */
footer{border-top:1px solid var(--hair); padding:2.5rem 0; color:var(--graphite); font-size:.85rem;}

/* ---------- FORM CONTROLS ---------- */
.form-control.vault-input, .form-select.vault-input, .input-group-text.vault-input{
  background:var(--ink); color:var(--parchment-2); border:1px solid var(--hair);
}
.form-control.vault-input:focus{
  background:var(--ink); color:var(--parchment-2); border-color:var(--gold);
  box-shadow:0 0 0 .2rem rgba(201,162,39,0.18);
}
.amount-quick-btn{
  border:1px solid var(--hair); background:transparent; color:var(--parchment-2);
  border-radius:8px; padding:.4rem .75rem; font-family:'IBM Plex Mono',monospace; font-size:.85rem;
}
.amount-quick-btn:hover, .amount-quick-btn.active{
  border-color:var(--gold); color:var(--gold-bright); background:rgba(201,162,39,0.08);
}

a:focus-visible, button:focus-visible, input:focus-visible{
  outline:2px solid var(--gold-bright); outline-offset:2px;
}

.section-divider{
  height:1px; background:linear-gradient(90deg, transparent, var(--hair), transparent);
  margin:0;
}
