:root {
  --legal-ink: #080909;
  --legal-surface: #101112;
  --legal-surface-2: #151719;
  --legal-line: #2a2d30;
  --legal-line-light: #3b3f43;
  --legal-text: #f1f2f2;
  --legal-muted: #94999e;
  --legal-metal: #c3c7ca;
  --legal-mint: #79d8c4;
  --legal-violet: #aeb1d9;
}

.legal-disclaimer-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 36px;
  padding: 8px 12px;
  border: 1px solid var(--legal-line-light);
  border-radius: 3px;
  color: var(--legal-text);
  font: 600 0.66rem/1 "Archivo", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  letter-spacing: 0.04em;
  text-decoration: none;
  text-transform: uppercase;
  transition: border-color 160ms ease, color 160ms ease, background 160ms ease;
}

.legal-disclaimer-link:hover,
.legal-disclaimer-link:focus-visible {
  border-color: var(--legal-mint);
  color: var(--legal-mint);
  outline: none;
  background: rgba(121, 216, 196, 0.05);
}

.legal-only-footer {
  width: min(1500px, calc(100% - 40px));
  margin: 34px auto 0;
  padding: 22px 0;
  border-top: 1px solid var(--legal-line);
  text-align: center;
}

body.legal-page {
  margin: 0;
  min-width: 320px;
  min-height: 100vh;
  color: var(--legal-text);
  background:
    linear-gradient(rgba(255,255,255,0.018) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,0.018) 1px, transparent 1px),
    var(--legal-ink);
  background-size: 48px 48px;
  font-family: "Archivo", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.legal-shell { width: min(1200px, 100%); min-height: 100vh; margin: 0 auto; padding: 0 42px; }
.legal-topbar { height: 78px; display: flex; align-items: center; justify-content: space-between; border-bottom: 1px solid var(--legal-line); }
.legal-brand { display: inline-flex; align-items: center; gap: 12px; color: var(--legal-text); font: 700 1.08rem "Barlow Condensed", sans-serif; text-decoration: none; }
.legal-brand img { width: 34px; height: 34px; object-fit: cover; }
.legal-back { color: var(--legal-muted); font-size: 0.72rem; font-weight: 600; text-decoration: none; text-transform: uppercase; }
.legal-back:hover, .legal-back:focus-visible { color: var(--legal-mint); outline: none; }
.legal-layout { display: grid; grid-template-columns: 280px minmax(0, 720px); gap: 70px; justify-content: center; padding: 70px 0 90px; }
.legal-rail { position: sticky; top: 32px; align-self: start; }
.legal-eyebrow { margin: 0 0 12px; color: var(--legal-muted); font-size: 0.66rem; font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; }
.legal-title { margin: 0; font: 600 4.5rem/0.82 "Barlow Condensed", sans-serif; text-transform: uppercase; }
.legal-title span { color: transparent; -webkit-text-stroke: 1px var(--legal-line-light); }
.legal-summary { margin: 24px 0; color: var(--legal-muted); font-size: 0.9rem; line-height: 1.7; }
.legal-stamp { display: inline-block; padding: 7px 9px; border: 1px solid var(--legal-mint); color: var(--legal-mint); font-size: 0.58rem; font-weight: 700; letter-spacing: 0.09em; text-transform: uppercase; }
.legal-notice { margin-bottom: 18px; padding: 22px 24px; border: 1px solid rgba(121,216,196,0.45); border-radius: 5px; background: rgba(121,216,196,0.045); }
.legal-notice strong { display: block; color: var(--legal-mint); font: 600 1.45rem "Barlow Condensed", sans-serif; text-transform: uppercase; }
.legal-notice p { margin: 8px 0 0; color: var(--legal-metal); font-size: 0.88rem; line-height: 1.65; }
.legal-section { margin: 0 0 10px; overflow: hidden; border: 1px solid var(--legal-line); border-radius: 5px; background: var(--legal-surface); }
.legal-section summary { display: flex; align-items: center; justify-content: space-between; padding: 21px 24px; cursor: pointer; font: 600 1.15rem "Barlow Condensed", sans-serif; list-style: none; text-transform: uppercase; }
.legal-section summary::-webkit-details-marker { display: none; }
.legal-section summary::after { content: "+"; color: var(--legal-mint); font: 400 1.4rem "Archivo", sans-serif; }
.legal-section[open] summary::after { content: "–"; }
.legal-section summary:focus-visible { outline: 2px solid var(--legal-mint); outline-offset: -3px; }
.legal-section-body { padding: 0 24px 24px; border-top: 1px solid var(--legal-line); color: var(--legal-muted); font-size: 0.88rem; line-height: 1.75; }
.legal-section-body p { margin: 18px 0 0; }
.legal-section-body strong { color: var(--legal-text); }
.legal-short { margin-top: 24px; padding: 22px 24px; border-left: 3px solid var(--legal-violet); background: var(--legal-surface-2); }
.legal-short h2 { margin: 0 0 8px; font: 600 1.3rem "Barlow Condensed", sans-serif; text-transform: uppercase; }
.legal-short p { margin: 0; color: var(--legal-muted); font-size: 0.84rem; line-height: 1.65; }
.legal-page-footer { min-height: 88px; display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; border-top: 1px solid var(--legal-line); color: var(--legal-muted); font-size: 0.68rem; text-transform: uppercase; }
.legal-page-footer span:last-child { text-align: right; }

@media (max-width: 760px) {
  .legal-shell { padding: 0 20px; }
  .legal-layout { display: block; padding: 42px 0 70px; }
  .legal-rail { position: static; margin-bottom: 34px; }
  .legal-title { font-size: 3.8rem; }
  .legal-page-footer { grid-template-columns: 1fr 1fr; gap: 16px; padding: 20px 0; }
  .legal-page-footer .legal-disclaimer-link { grid-column: 1 / -1; grid-row: 1; }
}

