/* ==========================================================================
   AVREN — READING PAGES
   Utilitarian document surface: policy, terms, and anything else that is
   read rather than experienced. Light ground, one column, no atmosphere.

   This is the light-surface counterpart to the landing page's inverse world,
   and it is deliberately plain. A policy page that performs is a policy page
   people distrust.

   Depends on avren-tokens.css.
   ========================================================================== */

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

body{
  font-family:var(--font-sans);
  background:var(--color-bg);
  color:var(--text-primary);
  font-size:17px;
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
}

.sheet{
  max-width:860px;
  margin:0 auto;
  padding:clamp(28px,5vw,56px) clamp(20px,5vw,40px) 96px;
}

.skip-link{
  position:fixed;left:16px;top:12px;z-index:10;
  transform:translateY(-160%);padding:10px 14px;border-radius:var(--radius-sm);
  background:var(--surface-inverse);color:var(--text-on-inverse);
  font-weight:700;text-decoration:none;
}
.skip-link:focus{transform:translateY(0)}

/* ── masthead ─────────────────────────────────────────────────────────── */

.mast{
  display:flex;align-items:center;justify-content:space-between;
  gap:20px;padding-bottom:26px;margin-bottom:44px;
  border-bottom:1px solid var(--border-subtle);
}
.mark{
  display:inline-flex;align-items:center;gap:6px;text-decoration:none;
  font-family:var(--font-display);font-weight:800;font-size:23px;
  letter-spacing:var(--tracking-display);color:var(--text-primary);
}
.mark svg{width:15px;height:15px;color:var(--accent)}
.mast .back{
  font-size:14px;font-weight:600;color:var(--text-accent);text-decoration:none;
  border-bottom:1px solid transparent;transition:border-color var(--dur) var(--ease-out);
}
.mast .back:hover{border-bottom-color:var(--border-accent)}

/* ── title ────────────────────────────────────────────────────────────── */

h1{
  font-family:var(--font-display);font-weight:800;
  font-size:clamp(2.1rem,5vw,2.9rem);line-height:1.05;
  letter-spacing:var(--tracking-display);margin-bottom:14px;
}
.updated{
  font-family:var(--font-mono);font-size:12.5px;letter-spacing:.04em;
  text-transform:uppercase;color:var(--text-secondary);
}

/* A stronger flag for sections that are blocked on a pending decision,
   not merely awaiting legal review. */
.blocked{
  margin:0 0 28px;padding:16px 18px;
  background:var(--surface-accent-soft);
  border-left:3px solid var(--accent);
  border-radius:var(--radius-sm);
  font-size:14.5px;line-height:1.55;color:var(--text-accent);
}

/* ── body ─────────────────────────────────────────────────────────────── */

h2{
  font-family:var(--font-display);font-weight:700;
  font-size:clamp(1.2rem,2.4vw,1.45rem);line-height:1.25;
  letter-spacing:var(--tracking-heading);scroll-margin-top:24px;
  margin:48px 0 14px;
}
h2:first-of-type{margin-top:0}
p{margin-bottom:16px;color:var(--text-primary)}
p.lede{font-size:18.5px;color:var(--text-secondary)}
ul,ol{margin:0 0 18px 24px;padding-left:8px}
li{margin-bottom:8px}
a{color:var(--text-accent);text-underline-offset:3px}
.legal-document{overflow-wrap:anywhere}
.legal-document strong{font-weight:700}
.legal-document .in-short{
  margin:18px 0;font-family:var(--font-serif);font-size:18px;
  line-height:1.55;color:var(--text-secondary);
}
.source-underline{text-decoration:underline;text-underline-offset:3px}

.legal-toc{
  margin:0 0 42px;padding:22px 24px;
  background:var(--surface-raised);border:1px solid var(--border-subtle);
  border-radius:var(--radius-md);
}
.legal-toc ol{margin:0;padding-left:24px}
.legal-toc li{padding-left:4px;margin-bottom:9px}
.legal-toc li:last-child{margin-bottom:0}
.legal-toc a{font-size:14px;font-weight:600;line-height:1.45}

.table-scroll{
  width:100%;margin:26px 0 34px;overflow-x:auto;
  border:1px solid var(--border-subtle);border-radius:var(--radius-sm);
  background:var(--surface-raised);-webkit-overflow-scrolling:touch;
}
table{width:100%;min-width:760px;border-collapse:collapse;font-size:14px;line-height:1.45}
th:last-child,
td:last-child{width:96px;min-width:96px}
th,td{padding:13px 14px;text-align:left;vertical-align:top;border-bottom:1px solid var(--border-subtle)}
th{font-weight:700;background:var(--surface-accent-soft);color:var(--text-primary)}
tr:last-child td{border-bottom:0}
th p,td p{margin:0;color:inherit}

/* A stated position. The reserved serif — used once per page at most. */
.position{
  font-family:var(--font-serif);font-size:19px;line-height:1.55;
  margin:24px 0;padding-left:18px;border-left:2px solid var(--accent);
  color:var(--text-primary);
}

.placeholder{color:var(--text-secondary)}

/* ── footer ───────────────────────────────────────────────────────────── */

.foot{
  margin-top:72px;padding-top:24px;
  border-top:1px solid var(--border-subtle);
  font-size:13.5px;color:var(--text-secondary);
  display:flex;flex-wrap:wrap;gap:8px;align-items:center;
}
.foot a{text-decoration:none;border-bottom:1px solid transparent;
  transition:border-color var(--dur) var(--ease-out)}
.foot a:hover{border-bottom-color:var(--border-accent)}
.foot .sep{opacity:.4}

@media(max-width:600px){
  body{font-size:16px}
  .sheet{padding-inline:18px;padding-bottom:72px}
  .mast{margin-bottom:34px}
  .mast .back{font-size:13px}
  h2{margin-top:40px}
  .legal-toc{padding:18px 16px}
  .table-scroll{margin-inline:0}
}
