@import url('https://fonts.googleapis.com/css2?family=Unbounded:wght@600;800;900&family=Sora:wght@300;400;500;600&family=Roboto+Mono:wght@400;500;600;700&display=swap');

:root{
  --bg:        #fbfaf7;
  --bg-flat:   #f2f1ec;
  --ink:       #0c0c0d;
  --ink-dim:   #58585c;
  --ink-faint: #9b9b9d;
  --line:      #dcdbd3;
  --line-hard: #0c0c0d;
  --holo-a:    #ff5fc4;
  --holo-b:    #45d8f0;
  --holo-c:    #b7e845;
}

*{ box-sizing:border-box; }
html{ scroll-behavior:smooth; }
body{
  margin:0;
  background:var(--bg);
  color:var(--ink);
  font-family:'Sora', system-ui, sans-serif;
  font-weight:300;
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
}
::selection{ background:var(--ink); color:var(--bg); }
a{ color:inherit; }

.mono{ font-family:'Roboto Mono', ui-monospace, monospace; }

.crop-mark{ position:fixed; z-index:7; width:22px; height:22px; pointer-events:none; opacity:.7; }
.crop-mark.tl{ top:16px; left:16px; border-top:2px solid var(--ink); border-left:2px solid var(--ink); }
.crop-mark.tr{ top:16px; right:16px; border-top:2px solid var(--ink); border-right:2px solid var(--ink); }

/* ---------- header ---------- */
.legal-header{
  border-bottom:1px solid var(--line);
  padding:22px clamp(20px,5vw,64px);
  display:flex; align-items:center; justify-content:space-between; gap:16px;
}
.legal-logo{ display:flex; align-items:center; text-decoration:none; }
.legal-logo img, .legal-logo svg{ height:20px; width:auto; display:block; }
.legal-logo svg{ aspect-ratio:412/117; overflow:visible; }
.legal-back{
  font-family:'Roboto Mono', monospace;
  font-size:.72rem; letter-spacing:.1em; text-transform:uppercase;
  color:var(--ink-dim); text-decoration:none;
  border:1px solid var(--line-hard); border-radius:2px;
  padding:8px 14px;
  transition:background .15s ease, color .15s ease;
  white-space:nowrap;
}
.legal-back:hover, .legal-back:focus-visible{ background:var(--ink); color:var(--bg); }

/* ---------- content ---------- */
.legal-wrap{ max-width:760px; margin:0 auto; padding:clamp(48px,8vw,96px) clamp(20px,5vw,64px) 120px; }

.legal-eyebrow{
  font-family:'Roboto Mono', monospace;
  font-size:.72rem; letter-spacing:.22em; text-transform:uppercase;
  color:var(--holo-c); background:var(--ink);
  display:inline-block; padding:5px 10px; border-radius:2px;
  margin-bottom:18px;
}

.legal-title{
  font-family:'Unbounded', system-ui, sans-serif;
  font-weight:800; text-transform:uppercase;
  font-size:clamp(1.7rem,4.4vw,2.6rem);
  line-height:1.08; letter-spacing:-.01em;
  margin:0 0 14px;
  max-width:20ch;
}

.legal-meta{
  font-family:'Roboto Mono', monospace;
  font-size:.78rem; color:var(--ink-faint);
  border-top:1px solid var(--line); border-bottom:1px solid var(--line);
  padding:14px 0; margin-bottom:44px;
  display:flex; flex-wrap:wrap; gap:6px 24px;
}
.legal-meta span b{ color:var(--ink-dim); font-weight:600; }

.legal-intro{ color:var(--ink-dim); font-size:1.02rem; margin-bottom:8px; }

.legal-section{ margin-top:44px; }
.legal-section h2{
  font-family:'Roboto Mono', monospace;
  font-weight:700; font-size:.95rem; letter-spacing:.04em; text-transform:uppercase;
  color:var(--ink); margin:0 0 14px;
  display:flex; align-items:baseline; gap:10px;
}
.legal-section h2 .n{ color:var(--holo-a); }
.legal-section p, .legal-section li{ font-size:.98rem; color:var(--ink-dim); }
.legal-section p{ margin:0 0 14px; }
.legal-section ul{ margin:0 0 14px; padding-left:1.2em; }
.legal-section li{ margin-bottom:8px; }
.legal-section a.inline{ color:var(--ink); text-decoration:underline; text-underline-offset:2px; }
.legal-section a.inline:hover{ color:var(--holo-a); }

.legal-disclaimer{
  margin-top:56px; padding:16px 18px;
  border:1px dashed var(--line-hard);
  font-family:'Roboto Mono', monospace; font-size:.74rem; line-height:1.6;
  color:var(--ink-faint);
}

/* ---------- footer bar ---------- */
.legal-footer-bottom{
  border-top:1px solid var(--line-hard);
  padding:18px clamp(20px,5vw,64px);
  display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:10px 24px;
  font-family:'Roboto Mono', monospace; font-size:.72rem; letter-spacing:.04em;
  color:var(--ink-faint);
}
.legal-footer-bottom .legal-crosslinks{ display:flex; flex-wrap:wrap; gap:16px; }
.legal-footer-bottom a{ text-decoration:none; transition:color .2s ease; }
.legal-footer-bottom a:hover, .legal-footer-bottom a:focus-visible{ color:var(--holo-a); }

@media (max-width:640px){
  .legal-footer-bottom{ flex-direction:column; align-items:flex-start; }
}
