:root {
  color-scheme: dark;
  --legal-bg: #101923;
  --legal-panel: rgb(25 39 52 / 84%);
  --legal-line: #344957;
  --legal-text: #edf5f8;
  --legal-muted: #b0c2d1;
  --legal-accent: #8be1d5;
  --legal-focus: #94ece0;
  font: 1rem/1.65 'Heebo', 'Arial Hebrew', Arial, sans-serif;
}

*, *::before, *::after { box-sizing: border-box; }

body {
  min-block-size: 100vh;
  margin: 0;
  background: radial-gradient(ellipse at 92% 0%, #223e4a 0%, transparent 38rem), var(--legal-bg);
  color: var(--legal-text);
}

a { color: var(--legal-accent); text-underline-offset: .22em; }
a:hover { color: #c0fff5; }
a:focus-visible { outline: 2px solid var(--legal-focus); outline-offset: 4px; }
[hidden] { display: none !important; }

.legal-width { inline-size: min(100% - 4rem, 71rem); margin-inline: auto; }

.legal-skip {
  position: fixed;
  z-index: 4;
  inset-block-start: .75rem;
  inset-inline-start: .75rem;
  padding: .55rem 1rem;
  border-radius: .5rem;
  background: #13232f;
  transform: translateY(-160%);
}

.legal-skip:focus { transform: none; }

.legal-header {
  border-block-end: 1px solid var(--legal-line);
  background: rgb(17 28 38 / 75%);
  backdrop-filter: blur(16px);
  padding-block-start: env(safe-area-inset-top);
}

.legal-topbar, .legal-footer-inner {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: .75rem 1.5rem;
  padding-block: .85rem;
}

.legal-brand {
  display: inline-flex;
  align-items: center;
  gap: .7rem;
  color: var(--legal-text);
  text-decoration: none;
  font-size: 1.27rem;
  font-weight: 700;
  line-height: 1.1;
}

.legal-brand img { display: block; }
.legal-brand small {
  display: block;
  margin-block-start: .2rem;
  color: var(--legal-muted);
  font: 600 .59rem/1 Arial, sans-serif;
  letter-spacing: .16em;
}

.legal-toplink, .legal-primary {
  display: inline-flex;
  min-block-size: 2.75rem;
  align-items: center;
  gap: .6rem;
  border: 1px solid var(--legal-line);
  border-radius: .65rem;
  padding: .45rem .75rem;
  text-decoration: none;
  font-weight: 700;
}

.legal-toplink { color: var(--legal-text); }
.legal-toplink:hover { border-color: #658e96; background: rgb(136 225 213 / 8%); }
.legal-primary { background: var(--legal-accent); color: #11292c; padding-inline: 1rem; }
.legal-primary:hover { background: #b3f1e7; color: #0e2628; }

.legal-layout {
  display: grid;
  grid-template-columns: minmax(12rem, 16rem) minmax(0, 1fr);
  gap: clamp(1rem, 3vw, 2.25rem);
  align-items: start;
  margin-block: clamp(1.25rem, 5vw, 3.5rem);
}

.legal-panel {
  border: 1px solid var(--legal-line);
  border-radius: 1.25rem;
  background: var(--legal-panel);
  box-shadow: 0 24px 65px rgb(2 10 16 / 25%);
  backdrop-filter: blur(12px);
}

.legal-nav { position: sticky; inset-block-start: 1.5rem; padding: .85rem; }
.legal-nav-title { margin: .2rem .55rem .55rem; color: var(--legal-muted); font-size: .83rem; }
.legal-nav a {
  display: flex;
  align-items: center;
  min-block-size: 2.75rem;
  border: 1px solid transparent;
  border-radius: .7rem;
  padding: .4rem .55rem;
  color: var(--legal-text);
  text-decoration: none;
}

.legal-nav a:hover, .legal-nav a[aria-current='page'] {
  border-color: #4b7276;
  background: rgb(136 225 213 / 10%);
  color: var(--legal-accent);
}

.legal-nav .legal-contact { margin-block-start: .4rem; }
.legal-content { min-inline-size: 0; }
.legal-preview {
  margin-block-end: 1rem;
  border: 1px solid #755c40;
  border-radius: .95rem;
  padding: .72rem 1rem;
  background: #352b23;
  color: #fae4c1;
  font-size: .91rem;
}

.legal-preview p { margin: .1rem 0 0; }
.legal-document { padding: clamp(1.15rem, 4vw, 2.5rem); overflow-wrap: anywhere; }
.legal-document + .legal-document { margin-block-start: 1rem; }
.legal-document[hidden] + .legal-document { margin-block-start: 0; }

.legal-heading {
  margin-block-end: 1.45rem;
  border-block-end: 1px solid var(--legal-line);
  padding-block-end: 1.2rem;
}

.legal-heading h1 { margin: 0; font-size: clamp(1.68rem, 4vw, 2.8rem); line-height: 1.22; }
.legal-heading p { margin: .5rem 0 0; color: var(--legal-muted); }
.legal-version {
  display: inline-flex;
  margin-block-start: .7rem;
  border: 1px solid #45636c;
  border-radius: 1rem;
  padding: .12rem .6rem;
  color: var(--legal-accent);
  font-size: .78rem;
  unicode-bidi: plaintext;
}

.legal-document section + section { margin-block-start: 1.55rem; }
.legal-document h2 { margin: 0 0 .18rem; font-size: 1.14rem; }
.legal-document section p { max-inline-size: 68ch; margin: .28rem 0 0; color: var(--legal-muted); }
.legal-facts { display: flex; flex-wrap: wrap; gap: .6rem 1.25rem; margin: .8rem 0; }
.legal-facts > div { border-inline-start: 2px solid var(--legal-line); padding-inline-start: .6rem; }
.legal-facts dt { color: var(--legal-muted); font-size: .85rem; }
.legal-facts dd { margin: .12rem 0 0; }
.legal-document .legal-action-copy { margin: 0 0 .55rem; color: var(--legal-muted); }
.legal-document .legal-primary { margin-block-end: 1.4rem; }
.legal-separator { margin-inline: .4rem; }

.legal-footer {
  border-block-start: 1px solid var(--legal-line);
  color: var(--legal-muted);
  padding-block-end: env(safe-area-inset-bottom);
  font-size: .88rem;
}

@media (max-width: 47rem) {
  .legal-width { inline-size: calc(100% - 1.5rem); }
  .legal-layout { grid-template-columns: minmax(0, 1fr); gap: .8rem; }
  .legal-nav { position: static; display: flex; flex-wrap: wrap; gap: .15rem .35rem; padding: .55rem; }
  .legal-nav-title { flex-basis: 100%; margin-block-end: 0; }
  .legal-nav .legal-contact { margin-block-start: 0; }
  .legal-nav a { font-size: .88rem; }
}

@media (prefers-contrast: more) {
  :root { --legal-line: #738f9c; }
  .legal-panel { background: #192734; }
}
