:root{
  --bg:#fbfaf7;
  --bg-alt:#f3f0e8;
  --ink:#14130f;
  --ink-soft:#4a4842;
  --ink-muted:#7a7870;
  --line:#d9d4c5;
  --line-soft:#eae5d6;
  --accent:#2f5c4a;
  --accent-ink:#1d3a2e;
  --accent-soft:#e7efea;
  --card:#ffffff;
  --display:"Fraunces","Times New Roman",serif;
  --body:"Manrope",-apple-system,BlinkMacSystemFont,"Segoe UI",system-ui,sans-serif;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  font-family:var(--body);
  font-size:16px;
  line-height:1.62;
  color:var(--ink);
  background:var(--bg);
  -webkit-font-smoothing:antialiased;
}
a{color:var(--accent);text-decoration:underline;text-underline-offset:3px}
a:hover{color:var(--accent-ink)}
.container{width:100%;max-width:820px;margin:0 auto;padding:0 28px}

header{
  border-bottom:1px solid var(--line-soft);
  padding:18px 0;
  background:rgba(251,250,247,.9);
  backdrop-filter:blur(12px);
  position:sticky;top:0;z-index:10;
}
.nav{display:flex;align-items:center;justify-content:space-between}
.brand{
  display:flex;align-items:center;gap:10px;
  font-family:var(--display);
  font-weight:500;
  font-size:19px;
  letter-spacing:-.01em;
  color:var(--ink);
  text-decoration:none;
}
.brand-mark{
  width:26px;height:26px;
  display:grid;place-items:center;
  background:var(--accent);
  color:#fff;
  border-radius:6px;
  font-family:var(--display);
  font-weight:600;
  font-size:14px;
}
.back-link{
  font-size:14px;
  color:var(--ink-soft);
  text-decoration:none;
  display:inline-flex;align-items:center;gap:6px;
}
.back-link:hover{color:var(--ink)}

main{padding:60px 0 80px}

.doc-meta{
  margin-bottom:48px;
  padding-bottom:28px;
  border-bottom:1px solid var(--line-soft);
}
.doc-eyebrow{
  display:inline-block;
  font-size:12px;
  font-weight:600;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--accent);
  margin-bottom:18px;
}
.doc-title{
  font-family:var(--display);
  font-weight:400;
  font-size:clamp(32px,5vw,46px);
  line-height:1.12;
  letter-spacing:-.02em;
  margin-bottom:14px;
}
.doc-subtitle{
  font-size:16px;
  color:var(--ink-soft);
  max-width:640px;
}
.doc-date{
  display:block;
  margin-top:16px;
  font-size:13px;
  color:var(--ink-muted);
}

.doc-body h2{
  font-family:var(--display);
  font-weight:500;
  font-size:24px;
  letter-spacing:-.01em;
  margin:42px 0 14px;
  color:var(--ink);
}
.doc-body h2:first-child{margin-top:0}
.doc-body h3{
  font-family:var(--body);
  font-weight:600;
  font-size:17px;
  margin:28px 0 10px;
  color:var(--ink);
}
.doc-body p{margin-bottom:14px;color:var(--ink-soft)}
.doc-body ul, .doc-body ol{
  margin:12px 0 18px 22px;
  color:var(--ink-soft);
}
.doc-body li{margin-bottom:7px;padding-left:4px}
.doc-body strong, .doc-body b{color:var(--ink);font-weight:600}

.clause{
  display:flex;gap:14px;
  margin-bottom:14px;
  color:var(--ink-soft);
}
.clause-num{
  font-family:var(--display);
  font-weight:500;
  color:var(--accent);
  min-width:36px;
  flex-shrink:0;
}

.req-box{
  background:var(--bg-alt);
  border:1px solid var(--line-soft);
  border-radius:12px;
  padding:24px 26px;
  margin:28px 0;
  font-size:14.5px;
  line-height:1.75;
}
.req-box h3{
  margin-top:0;
  font-family:var(--display);
  font-weight:500;
  font-size:18px;
  color:var(--ink);
}
.req-box dl{display:grid;grid-template-columns:170px 1fr;gap:6px 18px;margin-top:12px}
.req-box dt{color:var(--ink-muted);font-size:13px}
.req-box dd{color:var(--ink)}
@media (max-width:520px){
  .req-box dl{grid-template-columns:1fr}
  .req-box dt{margin-top:8px}
}

.footer{
  background:#0f0e0a;
  color:#8b867a;
  font-size:13px;
  padding:32px 0;
  border-top:1px solid #1c1a15;
  margin-top:80px;
}
.footer-grid{
  display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;
}
.footer-links{display:flex;gap:24px;flex-wrap:wrap}
.footer-links a{color:#8b867a;text-decoration:none}
.footer-links a:hover{color:#f0ecdd}

@media print{
  header,.footer,.back-link{display:none}
  body{font-size:11pt;color:#000;background:#fff}
  .container{max-width:100%;padding:0}
  main{padding:0}
  a{color:#000;text-decoration:none}
}
