.legal-page-template {
  --bg:#060609;
  --surface:#1a1a24;
  --text:#f2f2f7;
  --text2:#8e8eaa;
  --text3:#55556e;
  --blue:#3d7eff;
  --violet:#7c3aed;
  --purple:#a855f7;
  --emerald:#10b981;
  --amber:#f59e0b;
  --border:rgba(255,255,255,.06);
  --border2:rgba(255,255,255,.10);
  --col:700px;
 --font: 'Figtree',sans-serif;
    --display: 'Bricolage Grotesque',sans-serif;
  color:var(--text);
  background:var(--bg);
 
}

/* ================= ANIMATIONS ================= */
@keyframes legal-morphBlob {
  0%,100% { border-radius:60% 40% 30% 70% / 60% 30% 70% 40%; }
  50% { border-radius:30% 60% 70% 40% / 50% 60% 30% 60%; }
}
@keyframes legal-pulse {
  0%,100% { opacity:.2; }
  50% { opacity:1; }
}

/* ================= HERO ================= */
.legal-page-template .hero {
  position:relative;
  overflow:hidden;
  padding:108px 0 60px;
  border-bottom:1px solid var(--border);
}
.legal-page-template .hbg,
.legal-page-template .hbg-grid,
.legal-page-template .hbg-dots,
.legal-page-template .hbg-fade {
  position:absolute;
  inset:0;
  pointer-events:none;
}
.legal-page-template .hbg-grid {
  background:
    linear-gradient(rgba(255,255,255,.022) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.022) 1px, transparent 1px);
  background-size:52px 52px;
}
.legal-page-template .hbg-dots {
  background:
    radial-gradient(rgba(255,255,255,.07) 1px, transparent 1px);
  background-size:52px 52px;
  background-position:26px 26px;
}
.legal-page-template .hbg-fade {
  background:radial-gradient(ellipse 90% 80% at 50% 50%, transparent 20%, var(--bg) 72%);
}
.legal-page-template .hbg-orb1,
.legal-page-template .hbg-orb2 {
  position:absolute;
  border-radius:50%;
  animation:legal-morphBlob 24s ease-in-out infinite;
}
.legal-page-template .hbg-orb1 {
  width:600px;height:600px;
  background:radial-gradient(circle, rgba(61,126,255,.12), transparent 68%);
  top:-240px;right:-120px;
}
.legal-page-template .hbg-orb2 {
  width:480px;height:480px;
  background:radial-gradient(circle, rgba(124,58,237,.09), transparent 68%);
  bottom:-200px;left:-100px;
  animation-direction:reverse;
}

.legal-page-template .hero-inner {
  position:relative;
  z-index:2;
  max-width:var(--col);
  margin:0 auto;
  padding:0 32px;
  text-align:center;
}

.legal-page-template .hero-title {
  font-size:clamp(30px,4.5vw,50px);
  font-weight:800;
  letter-spacing:-.02em;
}

/* ================= CONTENT ================= */
.legal-page-template .content-wrap {
  max-width:var(--col);
  margin:0 auto;
  padding:52px 32px 100px;
}

.legal-page-template .prose {
  font-size:15px;
  line-height:1.85;
  color:var(--text2);
}
.legal-page-template .prose h2 {
  font-size:clamp(17px,2.2vw,21px);
  font-weight:800;
  color:var(--text);
  margin:48px 0 14px;
  padding-bottom:10px;
  border-bottom:1px solid var(--border);
}
.legal-page-template .prose h3 {
  font-size:16px;
  font-weight:700;
  color:var(--text);
  margin:28px 0 10px;
}
.legal-page-template .prose p { margin-bottom:16px; }
.legal-page-template .prose a {
  color:#fff;
  border-bottom:1px solid rgba(61,126,255,.25);
  text-decoration:none;
}
.legal-page-template .prose ul {
  padding-left:20px;
  display:flex;
  flex-direction:column;
  gap:7px;
}
.legal-page-template .prose li::marker { color:var(--blue); }

.legal-page-template .prose hr {
  border:none;
  height:1px;
  background:linear-gradient(90deg,transparent,var(--border2),transparent);
  margin:40px 0;
}

/* ================= CONTACT CARD ================= */
.legal-page-template .contact-card {
  display:flex;
  align-items:center;
  gap:16px;
  padding:20px;
  margin-top:48px;
  background:var(--surface);
  border:1px solid var(--border);
  border-radius:14px;
}
.legal-page-template .cc-ico { font-size:24px; }
.legal-page-template .cc-body { flex:1; }
.legal-page-template .cc-title {
  font-size:15px;
  font-weight:700;
  color:var(--text);
}
.legal-page-template .cc-desc {
  font-size:13px;
  color:var(--text3);
}
.legal-page-template .cc-btn {
  padding:8px 18px;
  border-radius:999px;
  background:linear-gradient(135deg,var(--blue),var(--violet));
  color:#fff;
  text-decoration:none;
  font-weight:700;
}

.callout{border-radius:10px;padding:14px 16px;margin:20px 0;display:flex;gap:11px;align-items:flex-start}
.callout.info{background:rgba(61,126,255,.06);border:1px solid rgba(61,126,255,.15)}
.callout.tip{background:rgba(16,185,129,.05);border:1px solid rgba(16,185,129,.14)}
.callout.warn{background:rgba(245,158,11,.05);border:1px solid rgba(245,158,11,.14)}
.ci{font-size:14px;flex-shrink:0;margin-top:1px}
.ct{font-family:var(--display);font-size:13px;font-weight:700;margin-bottom:4px}
.callout.info .ct{color:#93c5fd}
.callout.tip .ct{color:var(--emerald)}
.callout.warn .ct{color:var(--amber)}
.cb-text{font-size:13px;color:var(--text2);line-height:1.65}
.hero-eyebrow{display:inline-flex;align-items:center;gap:7px;padding:4px 13px 4px 7px;background:rgba(61,126,255,.07);border:1px solid rgba(61,126,255,.18);border-radius:50px;font-family:var(--mono);font-size:10px;color:#93c5fd;margin-bottom:18px;animation:fadeUp .5s ease both}
.hero-eyebrow-dot{width:5px;height:5px;border-radius:50%;background:var(--blue);animation:pulse 2s infinite;flex-shrink:0}
.hero-title{font-family:var(--display);font-size:clamp(30px,4.5vw,50px);font-weight:800;line-height:1.05;letter-spacing:-2px;margin-bottom:14px;animation:fadeUp .5s ease .06s both}
.hero-meta{display:flex;align-items:center;justify-content:center;gap:14px;font-family:var(--mono);font-size:11px;color:var(--text3);animation:fadeUp .5s ease .1s both;flex-wrap:wrap}


/* ================= MOBILE ================= */
@media (max-width:767px){
  .legal-page-template .hero { padding:96px 0 44px; }
  .legal-page-template .hero-inner,
  .legal-page-template .content-wrap {
    padding-left:20px;
    padding-right:20px;
  }
  .legal-page-template .contact-card {
    flex-direction:column;
    align-items:flex-start;
  }
  .legal-page-template .cc-btn {
    width:100%;
    text-align:center;
  }
}