:root{
  --gold:#c9a24a;
  --ink:#1f2023;
}

body{
  font-family:Inter,system-ui;
  background:#f4f1ec;
  color:var(--ink);
}

/* header */

.hero-legal{
  background:linear-gradient(180deg,#faf6ef,#f1e8d6);
  padding:6rem 1.5rem 4rem;
  position:relative;
  overflow:hidden;
}

.hero-legal:after{
  content:'';
  position:absolute;
  inset:0;
  background:radial-gradient(circle at top,rgba(201,162,74,.12),transparent 65%);
}

/* cards */

.glass-card{
  background:rgba(255,255,255,.94);
  border:1.5px solid rgba(201,162,74,.28);
  border-radius:1.5rem;
  padding:3rem;
  box-shadow:0 20px 60px rgba(0,0,0,.08);
  transition:.35s ease;
}

.glass-card:hover{
  transform:translateY(-4px);
  box-shadow:0 32px 90px rgba(0,0,0,.12);
  border-color:rgba(201,162,74,.45);
}

/* TOC */

.toc{
  position:sticky;
  top:90px; /* sits right under nav.php */
  max-height:calc(100vh - 120px);
  overflow:auto;

  background:rgba(255,255,255,.96);
  border:1.5px solid rgba(201,162,74,.35);
  border-radius:1.25rem;
  padding:2.25rem;

  box-shadow:0 18px 55px rgba(0,0,0,.1);
  backdrop-filter: blur(12px);
}

.toc::-webkit-scrollbar{
  width:6px;
}
.toc::-webkit-scrollbar-thumb{
  background:rgba(201,162,74,.45);
  border-radius:999px;
}



.toc a{
  display:block;
  padding:.6rem 1rem;
  border-radius:.5rem;
  color:#555;
  font-weight:500;
  transition:.25s ease;
}

.toc a:hover{
  background:rgba(201,162,74,.1);
  color:var(--gold);
  transform:translateX(6px);
}

.toc a.active{
  background:rgba(201,162,74,.15);
  color:var(--gold);
  font-weight:600;
}

/* section numbers */

.sec-num{
  width:46px;height:46px;
  background:linear-gradient(135deg,#c9a24a,#e6c98b);
  border-radius:12px;
  display:flex;
  align-items:center;
  justify-content:center;
  font-weight:900;
  box-shadow:0 12px 28px rgba(201,162,74,.3);
  margin-bottom:1rem;
}

/* notice */

.notice{
  background:linear-gradient(135deg,rgba(201,162,74,.1),rgba(201,162,74,.04));
  border-left:4px solid var(--gold);
  padding:1.5rem 2rem;
  border-radius:.75rem;
  margin:2rem 0;
  font-weight:500;
}

/* progress */

#progress{
  position:fixed;
  top:80px;
  left:0;
  right:0;
  height:3px;
  background:linear-gradient(90deg,#c9a24a,#e6c98b);
  transform-origin:left;
  transform:scaleX(0);
  z-index:9999;
}