/* Veklom · Legal Pages · Shared Styles */

:root{
  --ink:#0c0c0e; --ink-2:#131318; --ink-3:#1c1c23;
  --rule:rgba(245,241,232,.10); --rule-2:rgba(245,241,232,.18);
  --bone:#f5f1e8; --bone-2:#d6cfbe; --mute:#908a7c;
  --brass:#c4925b; --brass-2:#d4a574;
  --serif:'Newsreader',Georgia,serif;
  --sans:'Inter',-apple-system,BlinkMacSystemFont,sans-serif;
  --mono:'JetBrains Mono',ui-monospace,Menlo,monospace;
}

*{ box-sizing:border-box; margin:0; padding:0; }

html{ scroll-behavior:smooth; }

body{
  font-family:var(--sans);
  background:var(--ink);
  color:var(--bone-2);
  font-size:16px;
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}

.legal-nav{
  border-bottom:1px solid var(--rule);
  padding:24px 0;
  background:rgba(12,12,14,.85);
  backdrop-filter:blur(8px);
  position:sticky;
  top:0;
  z-index:10;
}
.legal-nav .container{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
}
.legal-nav .brand{
  display:flex;
  align-items:center;
  gap:12px;
  font-family:var(--serif);
  font-size:20px;
  color:var(--bone);
  text-decoration:none;
  letter-spacing:-.01em;
}
.legal-nav .brand img{ width:28px; height:28px; }
.legal-nav .crumb{
  font-family:var(--mono);
  font-size:11px;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--mute);
}
.legal-nav .crumb a{
  color:var(--mute);
  text-decoration:none;
  border-bottom:1px solid transparent;
}
.legal-nav .crumb a:hover{ color:var(--brass); border-bottom-color:var(--brass); }
.legal-nav .crumb .sep{ margin:0 10px; opacity:.4; }

.container{
  width:100%;
  max-width:880px;
  margin:0 auto;
  padding:0 24px;
}

.legal-head{
  padding:80px 0 40px;
  border-bottom:1px solid var(--rule);
}
.legal-eyebrow{
  font-family:var(--mono);
  font-size:11px;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--brass);
  margin-bottom:24px;
}
.legal-title{
  font-family:var(--serif);
  font-weight:500;
  font-size:clamp(36px,5vw,56px);
  line-height:1.05;
  letter-spacing:-.025em;
  color:var(--bone);
  margin-bottom:24px;
}
.legal-title .it{ font-style:italic; color:var(--brass); }
.legal-meta{
  font-family:var(--mono);
  font-size:12px;
  color:var(--mute);
  letter-spacing:.04em;
  display:flex;
  flex-wrap:wrap;
  gap:24px;
}
.legal-meta strong{ color:var(--bone-2); font-weight:500; }

.legal-disclaimer{
  margin:32px 0 0;
  padding:20px 24px;
  border-left:3px solid var(--brass);
  background:rgba(196,146,91,.06);
  font-family:var(--serif);
  font-size:15px;
  font-style:italic;
  color:var(--bone-2);
  line-height:1.55;
}

.legal-toc{
  padding:36px 0;
  border-bottom:1px solid var(--rule);
}
.legal-toc h2{
  font-family:var(--mono);
  font-size:11px;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--mute);
  font-weight:500;
  margin-bottom:18px;
}
.legal-toc ol{
  list-style:none;
  counter-reset:toc-counter;
  display:grid;
  grid-template-columns:1fr;
  gap:8px;
}
@media(min-width:720px){
  .legal-toc ol{ grid-template-columns:1fr 1fr; gap:8px 32px; }
}
.legal-toc li{
  counter-increment:toc-counter;
  font-family:var(--serif);
  font-size:15px;
  line-height:1.5;
}
.legal-toc li::before{
  content:counter(toc-counter,decimal-leading-zero) '.';
  color:var(--brass);
  font-family:var(--mono);
  font-size:11px;
  margin-right:10px;
  letter-spacing:.05em;
}
.legal-toc li a{
  color:var(--bone-2);
  text-decoration:none;
  border-bottom:1px solid transparent;
  transition:color .15s, border-color .15s;
}
.legal-toc li a:hover{ color:var(--brass); border-bottom-color:var(--brass); }

.legal-body{
  padding:48px 0 96px;
}
.legal-body section{
  padding:36px 0;
  border-bottom:1px solid var(--rule);
}
.legal-body section:last-child{ border-bottom:none; }

.legal-body h2{
  font-family:var(--serif);
  font-weight:500;
  font-size:28px;
  line-height:1.18;
  letter-spacing:-.018em;
  color:var(--bone);
  margin-bottom:18px;
  scroll-margin-top:100px;
}
.legal-body h2 .num{
  font-family:var(--mono);
  font-size:13px;
  color:var(--brass);
  letter-spacing:.1em;
  display:block;
  margin-bottom:6px;
  font-weight:500;
}

.legal-body h3{
  font-family:var(--serif);
  font-weight:500;
  font-size:19px;
  line-height:1.3;
  letter-spacing:-.01em;
  color:var(--bone);
  margin:24px 0 10px;
}

.legal-body p{
  font-family:var(--serif);
  font-size:16.5px;
  line-height:1.7;
  color:var(--bone-2);
  margin-bottom:14px;
}
.legal-body p strong{ color:var(--bone); font-weight:500; }
.legal-body p em{ color:var(--bone-2); font-style:italic; }

.legal-body ul,
.legal-body ol{
  font-family:var(--serif);
  font-size:16.5px;
  line-height:1.7;
  color:var(--bone-2);
  padding-left:24px;
  margin:8px 0 18px;
}
.legal-body li{ margin-bottom:8px; }
.legal-body li::marker{ color:var(--brass); }

.legal-body code,
.legal-body .term{
  font-family:var(--mono);
  font-size:14px;
  color:var(--brass);
  background:rgba(196,146,91,.08);
  padding:1px 7px;
  border-radius:2px;
}

.legal-body .callout{
  margin:24px 0;
  padding:18px 22px;
  border:1px solid var(--rule-2);
  background:rgba(245,241,232,.02);
  border-left:3px solid var(--brass);
}
.legal-body .callout p{ margin:0; font-size:15px; }
.legal-body .callout p+p{ margin-top:10px; }

.legal-body .uppercase-block{
  font-family:var(--mono);
  font-size:13px;
  letter-spacing:.04em;
  line-height:1.65;
  color:var(--bone-2);
  text-transform:uppercase;
  background:rgba(196,146,91,.04);
  padding:18px 22px;
  border:1px solid var(--rule-2);
  margin:18px 0;
}

.legal-body table{
  width:100%;
  border-collapse:collapse;
  margin:18px 0;
  font-family:var(--sans);
  font-size:14px;
}
.legal-body th,
.legal-body td{
  text-align:left;
  padding:12px 14px;
  border-bottom:1px solid var(--rule);
  vertical-align:top;
}
.legal-body th{
  font-family:var(--mono);
  font-size:11px;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--mute);
  font-weight:500;
}
.legal-body td{ color:var(--bone-2); line-height:1.55; }

.legal-body a{
  color:var(--brass);
  text-decoration:none;
  border-bottom:1px solid rgba(196,146,91,.4);
}
.legal-body a:hover{ border-bottom-color:var(--brass); }

.legal-foot{
  border-top:1px solid var(--rule);
  padding:48px 0;
  font-family:var(--mono);
  font-size:11px;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:var(--mute);
}
.legal-foot .container{
  display:flex;
  flex-wrap:wrap;
  gap:24px;
  justify-content:space-between;
  align-items:center;
}
.legal-foot a{
  color:var(--mute);
  text-decoration:none;
  border-bottom:1px solid transparent;
}
.legal-foot a:hover{ color:var(--brass); border-bottom-color:var(--brass); }
.legal-foot .links{ display:flex; flex-wrap:wrap; gap:18px; }

::selection{ background:rgba(196,146,91,.3); color:var(--bone); }
