/* ══════════════════════════════════════════════════════════
   Legal pages — shared styles for /legal/:slug
   Uses variables.css tokens, fully responsive
══════════════════════════════════════════════════════════ */

body{
  background:var(--bg);color:var(--ink);
  font-family:var(--f-body);font-size:15px;line-height:1.7;
  min-height:100vh;display:flex;flex-direction:column;
  background-image:radial-gradient(rgba(255,255,255,0.028) 1px,transparent 1px);
  background-size:24px 24px
}
body::before{
  content:'';position:fixed;top:-180px;left:50%;transform:translateX(-50%);
  width:900px;height:600px;pointer-events:none;z-index:0;
  background:radial-gradient(ellipse,rgba(245,166,35,0.055) 0%,transparent 68%)
}

.legal-header{
  position:sticky;top:0;z-index:100;
  padding:16px 0;background:rgba(11,11,11,0.88);
  border-bottom:1px solid var(--border);
  backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)
}
.legal-header-inner{
  display:flex;align-items:center;justify-content:space-between;gap:16px
}
.legal-brand{
  display:flex;align-items:center;gap:8px;
  font-family:var(--f-display);font-size:18px;font-weight:800;
  color:var(--ink);letter-spacing:-0.02em
}
.legal-brand img{height:28px;width:auto}
.legal-brand em{font-style:normal;color:var(--amber)}
.legal-back{
  font-size:14px;color:var(--ink3);
  transition:color 0.15s;font-weight:500
}
.legal-back:hover{color:var(--amber)}

.legal-main{
  flex:1;padding:64px 0 96px;position:relative;z-index:1
}
.legal-main .wrap{max-width:820px}

.legal-main h1{
  font-family:var(--f-display);
  font-size:clamp(32px,5vw,52px);
  font-weight:800;letter-spacing:-0.035em;line-height:1.08;
  margin-bottom:12px;color:var(--ink)
}
.legal-main h1 em{font-style:normal;color:var(--amber)}

.legal-updated{
  font-size:13px;color:var(--ink4);
  padding-bottom:28px;margin-bottom:40px;
  border-bottom:1px solid var(--border)
}

.legal-section{margin-bottom:40px}
.legal-section h2{
  font-family:var(--f-display);
  font-size:clamp(19px,2.4vw,24px);
  font-weight:700;color:var(--ink);
  margin-bottom:14px;letter-spacing:-0.02em
}
.legal-section p{
  font-size:15px;color:var(--ink2);
  margin-bottom:12px;line-height:1.75
}
.legal-section p:last-child{margin-bottom:0}
.legal-section ul{
  padding-left:22px;margin-bottom:12px;list-style:disc
}
.legal-section ul li{
  font-size:15px;color:var(--ink2);
  margin-bottom:8px;line-height:1.7
}
.legal-section ul li::marker{color:var(--amber)}
.legal-section a{
  color:var(--amber);font-weight:600;
  border-bottom:1px dashed rgba(245,166,35,0.4);
  transition:border-color 0.15s
}
.legal-section a:hover{border-bottom-color:var(--amber)}

.legal-footer{
  padding:28px 0;border-top:1px solid var(--border);
  font-size:13px;color:var(--ink3);
  position:relative;z-index:1
}
.legal-footer-inner{
  display:flex;align-items:center;justify-content:space-between;
  gap:16px;flex-wrap:wrap
}
.legal-footer-links{display:flex;gap:20px;flex-wrap:wrap}
.legal-footer-links a{
  color:var(--ink3);transition:color 0.15s
}
.legal-footer-links a:hover,
.legal-footer-links a.active{color:var(--amber)}

/* ── Responsive ─────────────────────────────────────────── */
@media (max-width: 768px){
  .legal-main{padding:48px 0 72px}
  .legal-updated{margin-bottom:32px;padding-bottom:20px}
  .legal-section{margin-bottom:32px}
}
@media (max-width: 640px){
  .legal-main{padding:36px 0 56px}
  .legal-footer-inner{flex-direction:column;align-items:flex-start;gap:12px}
  .legal-section{margin-bottom:28px}
  .legal-section p,.legal-section ul li{font-size:14px}
}
@media (max-width: 480px){
  .legal-header{padding:12px 0}
  .legal-brand{font-size:16px}
  .legal-brand img{height:24px}
  .legal-back{font-size:13px}
}
