/* Legal pages: privacy, terms, cookies, accessibility. Generated by scripts/build-legal.mjs.
   Plain prose on the site's own tokens. No Lenis, no WebGL, no scroll machinery: these pages have to
   stay readable with JavaScript off, so everything here is static CSS and logical properties only,
   which is what lets the same file serve the RTL pages. */

.gf-legal-body{
  background:var(--bg);
  color:var(--ink-80);
  min-height:100vh;
  display:flex;flex-direction:column;
}

/* the one thing the main site is missing, so at least these pages have it */
.gf-legal-skip{
  position:absolute;inset-inline-start:0;top:0;z-index:10;
  transform:translateY(-140%);
  padding:10px 16px;border-radius:0 0 var(--radius) 0;
  background:var(--white);color:#000;font-size:14px;text-decoration:none;
}
/* Moved by transform, not by inset-inline-start:-9999px: in an RTL document that offset is 9999px
   of page to the RIGHT of the viewport, which is a horizontal scroll gutter on every Arabic page. */
.gf-legal-skip:focus{transform:none}

/* ---------- header ---------- */
.gf-legal-top{
  display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:16px;
  width:100%;max-width:var(--container);margin-inline:auto;
  padding:28px 24px;
}
.gf-legal-home{
  display:inline-flex;align-items:center;gap:10px;
  color:var(--ink);font-size:16px;letter-spacing:-.16px;text-decoration:none;
}
.gf-legal-home svg{flex:0 0 auto}
.gf-legal-lang{
  display:inline-flex;align-items:center;height:28px;padding:0 12px;
  border:1px solid var(--ink-10);border-radius:var(--radius-pill);
  color:var(--ink-65);font-size:13px;line-height:26px;text-decoration:none;
  transition:color 250ms var(--ease-link),border-color 250ms var(--ease-link);
}
.gf-legal-lang:hover{color:var(--ink);border-color:var(--ink-25)}

/* ---------- body ---------- */
.gf-legal-main{
  flex:1 0 auto;
  width:100%;max-width:var(--container);margin-inline:auto;
  padding:40px 24px 96px;
}
.gf-legal{max-width:700px}
.gf-legal-eyebrow{
  font-size:13px;letter-spacing:.04em;text-transform:uppercase;
  color:var(--ink-65);margin:0 0 20px;
}
.gf-legal h1{
  font-family:var(--font-display);
  font-size:44px;line-height:1.18;letter-spacing:-1.4px;font-weight:400;
  color:var(--ink);margin:0 0 20px;
}
.gf-legal-lede{
  font-size:17px;line-height:27px;letter-spacing:-.2px;
  color:var(--ink-65);margin:0 0 8px;
}

.gf-legal-block{padding:36px 0 0}
.gf-legal-block + .gf-legal-block{border-top:1px solid var(--ink-10);margin-top:36px}
.gf-legal h2{
  font-size:20px;line-height:28px;letter-spacing:-.4px;font-weight:500;
  color:var(--ink);margin:0 0 14px;
}
.gf-legal p{
  font-size:15px;line-height:25px;letter-spacing:-.2px;
  color:var(--ink-80);margin:0 0 14px;
}
.gf-legal p:last-child{margin-bottom:0}
.gf-legal a{color:var(--ink);text-decoration:underline;text-underline-offset:3px}
.gf-legal a:hover{text-decoration-color:var(--ink-25)}

.gf-legal-list{
  margin:0 0 14px;padding:0;list-style:none;
  display:flex;flex-direction:column;gap:10px;
}
.gf-legal-list li{
  position:relative;
  padding-inline-start:20px;
  font-size:15px;line-height:25px;letter-spacing:-.2px;color:var(--ink-80);
}
.gf-legal-list li::before{
  content:"";position:absolute;inset-inline-start:2px;top:11px;
  width:5px;height:5px;border-radius:50%;background:var(--ink-25);
}

/* an unfilled owner fact. Deliberately loud: this must not reach production unnoticed. */
.gf-legal-todo{
  background:#ffd400;color:#000;
  padding:1px 8px;border-radius:4px;
  font-size:13px;font-weight:600;letter-spacing:0;
}

/* ---------- page switcher ---------- */
.gf-legal-nav{
  max-width:700px;margin-top:56px;padding-top:28px;
  border-top:1px solid var(--ink-10);
}
.gf-legal-nav ul{
  margin:0;padding:0;list-style:none;
  display:flex;flex-flow:row wrap;gap:8px 20px;
}
.gf-legal-nav a{
  font-size:14px;color:var(--ink-65);text-decoration:none;
  transition:color 250ms var(--ease-link);
}
.gf-legal-nav a:hover{color:var(--ink)}
.gf-legal-nav a[aria-current="page"]{color:var(--ink)}

/* ---------- footer ---------- */
.gf-legal-foot{
  width:100%;max-width:var(--container);margin-inline:auto;
  padding:28px 24px 40px;
  border-top:1px solid var(--ink-10);
}
.gf-legal-foot p{font-size:13px;line-height:20px;color:var(--ink-65);margin:0}
.gf-legal-foot a{color:var(--ink-65);text-decoration:underline;text-underline-offset:3px}
.gf-legal-foot a:hover{color:var(--ink)}

/* ---------- narrow ---------- */
@media (max-width:809.98px){
  .gf-legal h1{font-size:32px;line-height:1.22;letter-spacing:-1px}
  .gf-legal-lede{font-size:16px;line-height:26px}
  .gf-legal-main{padding:24px 20px 72px}
  .gf-legal-top{padding:20px}
  .gf-legal-foot{padding:24px 20px 32px}
}

/* Arabic: never letter-space Arabic, and give the prose the leading it needs. */
html[lang="ar"] .gf-legal h1,
html[lang="ar"] .gf-legal h2,
html[lang="ar"] .gf-legal-eyebrow{letter-spacing:0}
html[lang="ar"] .gf-legal h1{line-height:1.34}
html[lang="ar"] .gf-legal h2{line-height:1.5}
html[lang="ar"] .gf-legal p,
html[lang="ar"] .gf-legal-lede,
html[lang="ar"] .gf-legal-list li{letter-spacing:0;line-height:1.85}
html[lang="ar"] .gf-legal-eyebrow{text-transform:none}
html[lang="ar"] .gf-legal-list li::before{top:13px}
