/* AgreeVia — Terms / Privacy. Loads after site.css. */

html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

.blob{max-width:44rem}
.sheet{max-width:74rem}
.sheet-inner{display:grid;grid-template-columns:15.5rem 1fr;gap:0}

/* ---------- left rail / binding ---------- */
.rail{
  border-right:1px solid var(--rule-soft);
  padding:3.2rem 1.5rem 4rem 2.2rem;position:relative;
}
.rail::before{
  content:"";position:absolute;left:1.05rem;top:0;bottom:0;width:2px;background:var(--tape);opacity:.85;
}
.rail-sticky{position:sticky;top:2rem}
.rail h2{
  font-family:'IBM Plex Mono',monospace;font-size:.66rem;letter-spacing:.16em;
  text-transform:uppercase;color:var(--muted);margin:0 0 1rem;font-weight:600;
}
.toc{list-style:none;margin:0;padding:0;font-size:.86rem;line-height:1.35}
.toc li{margin:0 0 .1rem}
.toc a{
  display:flex;gap:.6rem;text-decoration:none;padding:.34rem .5rem .34rem .55rem;
  border-radius:3px;color:#3D423E;transition:background .15s,color .15s;
}
.toc a span{font-family:'IBM Plex Mono',monospace;font-size:.72rem;color:#A9A79C;padding-top:.08rem}
.toc a:hover{background:var(--chip)}
.toc a.on{background:var(--chip);color:var(--ink);font-weight:600}
.toc a.on span{color:var(--tape)}
.rail-foot{margin-top:2rem;padding-top:1.2rem;border-top:1px solid var(--rule-soft);font-size:.76rem;color:var(--muted);line-height:1.5}
.rail-foot a{color:var(--tape);text-decoration-thickness:1px;text-underline-offset:2px}

/* ---------- body column ---------- */
.doc{padding:3.2rem 3.4rem 5rem;min-width:0}
.doc h1,.blob h1{
  font-family:Newsreader,serif;font-weight:500;font-size:clamp(2.2rem,4.2vw,3rem);
  line-height:1.08;letter-spacing:-.025em;margin:0 0 1.1rem;
}
.standfirst{margin-bottom:2.2rem}

.stamp{margin-bottom:3.2rem;max-width:38rem}

/* ---------- clauses ---------- */
.clause{scroll-margin-top:1.5rem;padding:2.4rem 0 0;position:relative}
.clause + .clause{border-top:1px solid var(--rule-soft)}
.clause h2{
  font-family:Newsreader,serif;font-weight:600;font-size:1.62rem;letter-spacing:-.018em;
  line-height:1.2;margin:0 0 .9rem;display:flex;gap:.85rem;align-items:baseline;
}
.num{
  font-family:'IBM Plex Mono',monospace;font-size:.82rem;font-weight:500;color:var(--tape);
  flex:none;width:2.1rem;letter-spacing:.02em;
}
.clause h3{
  font-family:Karla,sans-serif;font-size:.95rem;font-weight:700;letter-spacing:.01em;
  margin:1.8rem 0 .5rem;color:#2A2E2A;
}
.clause p,.clause li{max-width:var(--measure)}
.clause p{margin:0 0 1rem}
.clause ul,.clause ol{margin:0 0 1.15rem;padding-left:1.1rem}
.clause li{margin:0 0 .45rem}
.clause li::marker{color:var(--tape)}
.clause a{color:var(--tape);text-underline-offset:2px;text-decoration-thickness:1px}
.body-indent{padding-left:2.95rem}
@media (max-width:900px){.body-indent{padding-left:0}}

/* ---------- tables ---------- */
.table-wrap{overflow-x:auto;margin:0 0 1.4rem;-webkit-overflow-scrolling:touch}
table{border-collapse:collapse;width:100%;min-width:31rem;font-size:.875rem}
th{
  text-align:left;font-family:'IBM Plex Mono',monospace;font-size:.65rem;letter-spacing:.13em;
  text-transform:uppercase;color:var(--muted);font-weight:600;
  padding:0 .9rem .55rem 0;border-bottom:1.5px solid var(--ink);vertical-align:bottom;
}
td{padding:.7rem .9rem .7rem 0;border-bottom:1px solid var(--rule-soft);vertical-align:top;line-height:1.5}
td:first-child{font-weight:600;padding-right:1.2rem}
td .sub{display:block;color:var(--muted);font-size:.8rem;font-weight:400;margin-top:.12rem}

/* ---------- callouts ---------- */
.flag{
  border-left:2px dashed #8A6D2F;background:#FBF3E4;
  padding:.85rem 1.1rem;margin:0 0 1.4rem;max-width:var(--measure);
  font-family:'IBM Plex Mono',monospace;font-size:.78rem;line-height:1.6;color:#5C4A1E;
}
.flag strong{display:block;font-size:.66rem;letter-spacing:.13em;text-transform:uppercase;
  color:#8A6D2F;margin-bottom:.35rem;font-family:inherit}

/* unfilled placeholders */
.fill{
  background:var(--chip);color:#5B4F36;font-family:'IBM Plex Mono',monospace;
  font-size:.82em;padding:.08em .38em;border-radius:2px;white-space:nowrap;
}

/* ---------- contact block ---------- */
.contact{
  margin-top:3.4rem;border-top:2px solid var(--ink);padding-top:1.5rem;
  display:grid;grid-template-columns:repeat(auto-fit,minmax(13rem,1fr));gap:1.6rem;
}
.contact h4{font-family:'IBM Plex Mono',monospace;font-size:.65rem;letter-spacing:.14em;
  text-transform:uppercase;color:var(--muted);margin:0 0 .45rem;font-weight:600}
.contact p{margin:0;font-size:.9rem;line-height:1.55}
.contact a{color:var(--tape)}

/* ---------- mobile ---------- */
.toc-mobile{display:none}
@media (max-width:900px){
  .page-hero{padding:0 1rem 2.2rem}
  .blob{padding:1.8rem 1.6rem;border-radius:20px 20px 26px 26px}
  .sheet{margin-top:-1.4rem}
  .sheet-inner{grid-template-columns:1fr}
  .rail{display:none}
  .doc{padding:2.4rem 1.5rem 3.5rem;border-left:2px solid var(--tape)}
  .toc-mobile{display:block;margin:0 0 2.6rem;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}
  .toc-mobile summary{
    cursor:pointer;padding:.85rem 0;font-family:'IBM Plex Mono',monospace;
    font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);font-weight:600;
  }
  .toc-mobile .toc{padding-bottom:.9rem}
  .clause h2{font-size:1.4rem;display:block}
  .num{display:block;width:auto;margin-bottom:.3rem}
  .stamp dl{grid-template-columns:1fr;gap:.15rem}
  .stamp dd{margin-bottom:.55rem}
}
