/* =========================================================
   Hive Bastion — Legal pages stylesheet
   Shared by /privacy /terms /security /cookies /acceptable-use
   /api-terms /subprocessors. Dark Engraver's-Plate palette to
   match the landing page; readable serif body for long legal text.
   Palette tokens mirror index.html :root.
   ========================================================= */

:root{
  --ink:#ECE6DA;
  --ink-dim:#B7B1A4;
  --ink-faint:#8A8479;
  --steel:#0E1013;
  --steel-2:#15181D;
  --panel:#1A1D22;
  --rule:#2A2D33;
  --rule-2:#3A3E46;
  --ember:#E8531C;
  --blueprint:#7FB8C9;
  --serif:"Fraunces","Iowan Old Style",Georgia,serif;
  --body:Georgia,"Iowan Old Style","Times New Roman",serif;
  --mono:ui-monospace,"JetBrains Mono","SF Mono",Menlo,monospace;
  --measure:760px;
}

*{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;}
body{
  background:var(--steel);
  color:var(--ink);
  font-family:var(--body);
  font-size:16.5px;
  line-height:1.75;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}

/* ---------- Header ---------- */
.legal-header{
  display:flex;align-items:center;justify-content:space-between;gap:20px;
  padding:18px clamp(20px,4vw,48px);
  border-bottom:1px solid var(--rule);
  position:sticky;top:0;z-index:5;
  background:rgba(14,16,19,.92);
  backdrop-filter:blur(4px);
}
.legal-header .brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--ink);}
.legal-header .brand svg{width:34px;height:34px;flex-shrink:0;}
.legal-header .brand-name{font-family:var(--serif);font-weight:600;font-size:19px;letter-spacing:-0.01em;}
.legal-header .back{
  font-family:var(--mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;
  color:var(--ink-dim);text-decoration:none;transition:color .2s ease;
}
.legal-header .back:hover{color:var(--ember);}

/* ---------- Document column ---------- */
.legal-doc{
  max-width:var(--measure);
  margin:0 auto;
  padding:48px clamp(20px,5vw,40px) 96px;
}
.crumb{
  font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;
  color:var(--ink-faint);margin-bottom:28px;
}
.crumb a{color:var(--ink-dim);text-decoration:none;}
.crumb a:hover{color:var(--ember);}
.crumb span{margin:0 8px;color:var(--rule-2);}

.legal-doc h1{
  font-family:var(--serif);font-weight:700;letter-spacing:-0.02em;line-height:1.05;
  font-size:clamp(32px,5.5vw,46px);margin-bottom:14px;
}
.effective{
  font-family:var(--mono);font-size:12px;letter-spacing:.06em;color:var(--blueprint);
  padding-bottom:22px;margin-bottom:14px;border-bottom:1px solid var(--rule);
}

.legal-doc h2{
  font-family:var(--serif);font-weight:600;letter-spacing:-0.01em;line-height:1.2;
  font-size:clamp(22px,3.2vw,28px);margin:44px 0 14px;padding-top:10px;color:var(--ink);
}
.legal-doc h3{
  font-family:var(--serif);font-weight:600;font-size:clamp(18px,2.4vw,21px);
  margin:30px 0 10px;color:var(--ink);
}
.legal-doc h4{
  font-family:var(--mono);font-size:12px;letter-spacing:.14em;text-transform:uppercase;
  color:var(--ember);margin:24px 0 8px;
}
.legal-doc p{margin:0 0 16px;color:var(--ink-dim);}
.legal-doc strong{color:var(--ink);font-weight:600;}
.legal-doc em{color:var(--ink);}
.legal-doc a{color:var(--blueprint);text-decoration:none;border-bottom:1px solid var(--rule-2);}
.legal-doc a:hover{color:var(--ember);border-color:var(--ember);}

.legal-doc ul,.legal-doc ol{margin:0 0 18px 1.4em;color:var(--ink-dim);}
.legal-doc li{margin:0 0 8px;}
.legal-doc li::marker{color:var(--ember);}

.legal-doc hr{border:none;height:1px;background:var(--rule);margin:36px 0;}

/* Callout — the no-reliance / gateway clauses rendered as blockquotes */
.legal-doc blockquote{
  margin:22px 0;padding:16px 20px;
  background:var(--steel-2);
  border-left:3px solid var(--ember);
  color:var(--ink-dim);font-size:15px;line-height:1.7;
}
.legal-doc blockquote p:last-child{margin-bottom:0;}
.legal-doc blockquote strong{color:var(--ink);}

/* Tables */
.legal-doc .table-wrap{overflow-x:auto;margin:0 0 22px;}
.legal-doc table{
  width:100%;border-collapse:collapse;font-size:14px;line-height:1.55;
  border:1px solid var(--rule-2);
}
.legal-doc th,.legal-doc td{
  text-align:left;padding:10px 14px;border:1px solid var(--rule);vertical-align:top;color:var(--ink-dim);
}
.legal-doc thead th{
  background:var(--panel);color:var(--ink);font-family:var(--mono);
  font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;font-weight:500;
}
.legal-doc code{
  font-family:var(--mono);font-size:.86em;background:var(--steel-2);
  padding:1px 5px;border:1px solid var(--rule);border-radius:2px;color:var(--ink);
}

/* ---------- Footer ---------- */
.legal-footer{
  border-top:1px solid var(--rule);
  padding:32px clamp(20px,5vw,40px) 40px;
  max-width:var(--measure);margin:0 auto;
}
.legal-nav{display:flex;flex-wrap:wrap;gap:10px 22px;margin-bottom:20px;}
.legal-nav a{
  font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;
  color:var(--ink-dim);text-decoration:none;transition:color .2s ease;
}
.legal-nav a:hover{color:var(--ember);}
.legal-fine{font-size:12.5px;line-height:1.7;color:var(--ink-faint);font-family:var(--mono);letter-spacing:.01em;}
.legal-fine a{color:var(--ink-dim);text-decoration:none;border-bottom:1px solid var(--rule-2);}
.legal-fine a:hover{color:var(--ember);border-color:var(--ember);}

@media (max-width:560px){
  body{font-size:16px;}
  .legal-doc{padding:32px 20px 72px;}
  .legal-header .brand-name{font-size:17px;}
}
