/* privacy.css — improved Privacy page look */

.dag-legal{
  position:relative;
  padding:1.25rem 0 3.25rem;
}

.dag-legal::before{
  content:"";
  position:absolute;
  left:0; right:0; top:0;
  height:260px;
  pointer-events:none;
  background:
    radial-gradient(900px 260px at 25% 0%,
      color-mix(in oklab, var(--accent) 22%, transparent),
      transparent 70%),
    radial-gradient(900px 260px at 85% 10%,
      color-mix(in oklab, var(--accent-2) 18%, transparent),
      transparent 70%);
  opacity:.9;
}

.dag-legal .container{ position:relative; z-index:1; }

/* Top header card */
.dag-legal__top{ margin-bottom:1rem; }

.dag-legal__top-row{
  display:flex;
  flex-direction:column;
  gap:.9rem;
}

@media (min-width:900px){
  .dag-legal__top-row{
    flex-direction:row;
    align-items:flex-end;
    justify-content:space-between;
    gap:1.25rem;
  }
}

.dag-legal__kicker{
  margin:0 0 .35rem;
  text-transform:uppercase;
  letter-spacing:.18em;
  font-weight:800;
  font-size:.72rem;
}

.dag-legal__title{
  margin:0 0 .35rem;
  font-size:clamp(28px,3.2vw,44px);
  font-weight:900;
  letter-spacing:.06em;
  text-transform:uppercase;
}

.dag-legal__meta{ margin:0; }

.dag-legal__actions{ display:flex; gap:.5rem; }

/* Layout */
.dag-legal__grid{
  display:grid;
  gap:1rem;
  grid-template-columns:1fr;
  align-items:start;
}

@media (min-width:1024px){
  .dag-legal__grid{
    grid-template-columns:300px minmax(0,1fr);
    gap:1.25rem;
  }
  .dag-legal__toc{
    position:sticky;
    top:96px; /* offset for sticky header */
  }
}

/* TOC */
.dag-legal__toc .card-body{ padding:1rem 1rem; }

.dag-legal__toc-title{
  margin:0 0 .75rem;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.22em;
  font-size:.78rem;
  color:rgba(255,255,255,.86);
}

.dag-legal__toc-list{
  margin:0;
  padding:0;
  list-style:none;
  display:grid;
  gap:.3rem;
}

.dag-legal__toc-link{
  display:block;
  padding:.55rem .6rem;
  border-radius:10px;
  color:rgba(255,255,255,.88);
  text-decoration:none;
  font-weight:750;
  line-height:1.2;
  background:rgba(255,255,255,.03);
  border:1px solid rgba(255,255,255,.08);
}

.dag-legal__toc-link:hover{
  border-color:color-mix(in oklab, var(--accent) 55%, rgba(255,255,255,.12));
  background:color-mix(in oklab, var(--accent) 10%, rgba(255,255,255,.04));
  color:#fff;
}

/* Content typography */
.dag-legal__content .card-body{ padding:1.25rem; }

.dag-legal__prose{
  max-width:78ch;
  margin:0 auto;
  display:grid;
  gap:1rem;
}

.dag-legal__lead{
  margin:0;
  padding:1rem 1rem;
  border-radius:14px;
  background:rgba(255,255,255,.03);
  border:1px solid rgba(255,255,255,.10);
  line-height:1.75;
}

.dag-legal__prose p{
  margin:0;
  line-height:1.75;
  color:var(--main);
}

.dag-legal__prose strong{ color:var(--accent-2); }

.dag-legal__prose h2{
  margin:.75rem 0 0;
  font-size:1.25rem;
  font-weight:950;
  letter-spacing:.02em;
  text-transform:uppercase;
  padding-top:.35rem;
  border-top:1px solid rgba(255,255,255,.10);
  scroll-margin-top:120px;
}

.dag-legal__prose h3{
  margin:.35rem 0 0;
  font-size:1.08rem;
  font-weight:900;
  scroll-margin-top:120px;
}

.dag-legal__prose h4{
  margin:.2rem 0 0;
  font-size:1rem;
  font-weight:850;
  opacity:.95;
  scroll-margin-top:120px;
}

.dag-legal__prose ul,
.dag-legal__prose ol{
  margin:.1rem 0;
  padding-left:1.1rem;
  display:grid;
  gap:.35rem;
  color:var(--main);
}

.dag-legal__prose li::marker{
  color:var(--accent);
  font-weight:900;
}

/* Highlight active section when clicked from TOC */
.dag-legal__prose h2:target{
  border-top-color:color-mix(in oklab, var(--accent) 70%, rgba(255,255,255,.10));
  background:linear-gradient(
    90deg,
    color-mix(in oklab, var(--accent) 12%, transparent),
    transparent 55%
  );
  border-radius:12px;
  padding-left:.65rem;
  padding-right:.65rem;
  padding-bottom:.35rem;
}

/* Bottom */
.dag-legal__bottom{
  margin-top:.75rem;
  padding-top:.75rem;
  border-top:1px solid rgba(255,255,255,.10);
  display:flex;
  justify-content:flex-end;
}

.dag-legal__toplink{
  color:var(--accent);
  text-decoration:none;
  font-weight:850;
}

.dag-legal__toplink:hover{ text-decoration:underline; }

/* Mobile tweaks */
@media (max-width:640px){
  .dag-legal__title{ letter-spacing:.05em; }
  .dag-legal__content .card-body{ padding:1rem; }
  .dag-legal__prose{ max-width:unset; }
}

/* Print */
@media print{
  .site-header, .site-footer, .dag-legal__toc, .dag-legal__actions, .dag-legal__toplink { display:none !important; }
  body{ background:#fff !important; color:#000 !important; }
  .card{ box-shadow:none !important; border:0 !important; background:transparent !important; }
  .dag-legal{ padding:0 !important; }
  .dag-legal::before{ display:none !important; }
  .dag-legal__title{ color:#000 !important; }
  .dag-legal__prose p, .dag-legal__prose li{ color:#000 !important; }
}
