*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
:root{
  --paper:#faf8f3; --ink:#1c1917; --ink-mid:#44403c; --ink-dim:#78716c; --rule:#d6d3cd; --max:1100px;
  --c0:#f9df6d; --c1:#a0c35a; --c2:#b0c4ef; --c3:#ba81c5;
}
body{
  font-family:'Source Serif 4',Georgia,serif;
  background:var(--paper); color:var(--ink); font-size:17px; line-height:1.75;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='300'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='300' height='300' filter='url(%23n)' opacity='0.03'/%3E%3C/svg%3E");
}
a{color:var(--ink);text-decoration:underline;text-underline-offset:3px;}
a:hover{color:var(--ink-mid);}

/* ── Site header ── */
.site-header{
  border-bottom:1px solid var(--rule); padding:0 24px;
  background:var(--paper); position:sticky; top:0; z-index:100;
}
.site-header-inner{
  max-width:var(--max); margin:0 auto; height:60px;
  display:flex; align-items:center; justify-content:space-between;
}
.header-logo{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink);}
.header-squares{display:grid;grid-template-columns:repeat(2,9px);grid-template-rows:repeat(2,9px);gap:2px;}
.header-squares span{border-radius:2px;display:block;}
.header-squares span:nth-child(1){background:var(--c0);}
.header-squares span:nth-child(2){background:var(--c1);}
.header-squares span:nth-child(3){background:var(--c2);}
.header-squares span:nth-child(4){background:var(--c3);}
.header-wordmark{font-family:'Playfair Display',Georgia,serif;font-size:17px;font-weight:700;letter-spacing:.04em;}
.header-back{
  font-family:'DM Mono',monospace;font-size:12px;font-weight:500;letter-spacing:.06em;
  text-transform:uppercase;color:var(--ink-dim);text-decoration:none;
  display:flex;align-items:center;gap:6px;transition:color .15s;
}
.header-back:hover{color:var(--ink);}

/* ── Page hero ── */
.doc-hero{
  border-bottom:1px solid var(--rule);
  padding:56px 24px 48px;
  background:#ffffff;
}
.doc-hero-inner{max-width:760px;margin:0 auto;}
.doc-tag{
  font-family:'DM Mono',monospace;font-size:11px;font-weight:500;letter-spacing:.12em;
  text-transform:uppercase;color:var(--ink-dim);margin-bottom:20px;
  display:flex;align-items:center;gap:10px;
}
.doc-tag::after{content:'';flex:1;max-width:60px;height:1px;background:var(--rule);}
.doc-title{
  font-family:'Playfair Display',Georgia,serif;
  font-size:clamp(32px,5vw,52px);font-weight:700;line-height:1.1;
  letter-spacing:-.02em;margin-bottom:16px;
}
.doc-meta{font-size:14px;color:var(--ink-dim);font-family:'DM Mono',monospace;letter-spacing:.04em;}

/* ── TOC ── */
.doc-layout{
  max-width:760px;margin:0 auto;padding:56px 24px 96px;
  display:grid;grid-template-columns:1fr 220px;gap:64px;align-items:start;
}
.doc-toc{
  position:sticky;top:80px;
  border:1.5px solid var(--rule);border-radius:10px;padding:24px 20px;
  order:2;
}
.doc-toc-title{
  font-family:'DM Mono',monospace;font-size:11px;font-weight:500;
  letter-spacing:.1em;text-transform:uppercase;color:var(--ink-dim);margin-bottom:14px;
}
.doc-toc ul{list-style:none;display:flex;flex-direction:column;gap:8px;}
.doc-toc a{
  font-size:14px;color:var(--ink-mid);text-decoration:none;font-weight:300;
  transition:color .15s;display:block;padding:2px 0;border-left:2px solid transparent;
  padding-left:10px;
}
.doc-toc a:hover{color:var(--ink);border-left-color:var(--ink);}

/* ── Content ── */
.doc-body{order:1;}
.doc-section{margin-bottom:48px;}
.doc-section:last-child{margin-bottom:0;}
.doc-section h2{
  font-family:'Playfair Display',Georgia,serif;
  font-size:22px;font-weight:700;margin-bottom:14px;padding-top:8px;
}
.doc-section p{color:var(--ink-mid);font-weight:300;margin-bottom:14px;}
.doc-section p:last-child{margin-bottom:0;}
.doc-section ul,
.doc-section ol{color:var(--ink-mid);font-weight:300;padding-left:20px;margin-bottom:14px;}
.doc-section li{margin-bottom:6px;}
.doc-section strong{color:var(--ink);font-weight:600;}
.highlight-box{
  background:#fff;border:1.5px solid var(--rule);border-radius:8px;
  padding:20px 22px;margin:20px 0;font-size:15px;color:var(--ink-mid);font-weight:300;
}
.highlight-box strong{display:block;color:var(--ink);margin-bottom:4px;font-weight:600;}


/* Footer */
footer { border-top:1px solid var(--rule); padding:28px 24px 36px; background:var(--paper); }
.footer-inner {
    max-width:var(--max); margin:0 auto;
    display:grid; grid-template-columns:2fr 1fr 1fr 1fr; gap:48px; margin-bottom:48px;
}
.footer-logo { display:flex; align-items:center; gap:10px; margin-bottom:16px; }
.footer-squares { display:grid; grid-template-columns:repeat(2,10px); grid-template-rows:repeat(2,10px); gap:2px; }
.footer-squares span { border-radius:2px; display:block; }
.footer-squares span:nth-child(1){background:var(--c0);}
.footer-squares span:nth-child(2){background:var(--c1);}
.footer-squares span:nth-child(3){background:var(--c2);}
.footer-squares span:nth-child(4){background:var(--c3);}
.footer-wordmark { font-family:'Playfair Display',Georgia,serif; font-size:18px; font-weight:700; letter-spacing:.04em; }
.footer-desc { font-size:14px; color:var(--ink-dim); font-weight:300; line-height:1.65; max-width:280px; }
.footer-col-title { font-family:'DM Mono',monospace; font-size:11px; font-weight:500; letter-spacing:.1em; text-transform:uppercase; color:var(--ink); margin-bottom:16px; }
.footer-links { list-style:none; display:flex; flex-direction:column; gap:10px; }
.footer-links a { font-size:14px; color:var(--ink-dim); text-decoration:none; font-weight:300; transition:color .15s; }
.footer-links a:hover { color:var(--ink); }
.footer-bottom {
    display:flex; justify-content:space-between; align-items:center; gap:16px; flex-wrap:wrap;
    max-width:var(--max); margin:0 auto;
}
.footer-copy { font-family:'DM Mono',monospace; font-size:12px; color:var(--ink-dim); letter-spacing:.04em; }
.footer-legal { display:flex; gap:24px; }
.footer-legal a { font-family:'DM Mono',monospace; font-size:12px; color:var(--ink-dim); text-decoration:none; letter-spacing:.04em; transition:color .15s; }
.footer-legal a:hover { color:var(--ink); }

@media(max-width:700px){
  .doc-layout{grid-template-columns:1fr;gap:40px;}
  .doc-toc{order:0;position:static;}
}
/* ── Terms-specific ── */
.warning-box{background:#fff8dc;border:1.5px solid #e8d060;border-radius:8px;padding:20px 22px;margin:20px 0;font-size:15px;color:#5a4800;font-weight:300;}
.warning-box strong{display:block;color:#3a2e00;margin-bottom:4px;font-weight:600;}
