
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box;}
:root{
  --bg:#f5f2ec;--ink:#0f0f0f;--ink2:#3a3a3a;--muted:#888;
  --accent:#c8401a;--accent-dark:#8f2e12;--accent-light:#f7ede8;--accent-mid:#e5b9a8;
  --surface:#fff;--border:#e0dcd4;--green:#2a7a4b;--green-light:#eef7f2;
}
html{scroll-behavior:smooth;}
body{font-family:'DM Sans',sans-serif;background:var(--bg);color:var(--ink);
  -webkit-font-smoothing:antialiased;min-height:100vh;}

/* ══ NAV ══ */
nav{
  position:sticky;top:0;z-index:100;height:60px;padding:0 48px;
  display:flex;align-items:center;justify-content:space-between;
  background:rgba(245,242,236,.95);backdrop-filter:blur(18px);
  border-bottom:1.5px solid var(--border);
}
.nav-logo{font-size:14px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;
  color:var(--ink);text-decoration:none;display:flex;align-items:center;gap:8px;}
.nav-logo-mark{width:26px;height:26px;border-radius:7px;background:var(--ink);
  display:flex;align-items:center;justify-content:center;font-size:13px;}
.nav-logo span{color:var(--accent);}
.back-btn{font-size:12.5px;font-weight:600;color:var(--muted);text-decoration:none;
  padding:8px 16px;border-radius:8px;transition:all .15s;border:1.5px solid var(--border);}
.back-btn:hover{color:var(--ink);border-color:var(--ink);}
@media(max-width:600px){nav{padding:0 20px;}}

/* ══ TOC ══ */
.page-wrap{display:grid;grid-template-columns:220px 1fr;gap:48px;
  max-width:1080px;margin:0 auto;padding:64px 48px 96px;align-items:start;}
@media(max-width:900px){.page-wrap{grid-template-columns:1fr;padding:48px 24px 80px;}}
.toc{position:sticky;top:80px;}
@media(max-width:900px){.toc{display:none;}}
.toc-title{font-size:10px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;
  color:var(--muted);margin-bottom:14px;}
.toc-list{list-style:none;display:flex;flex-direction:column;gap:2px;}
.toc-list a{font-size:12.5px;color:var(--muted);text-decoration:none;
  padding:5px 10px;border-radius:7px;display:block;transition:all .15s;
  border-left:2px solid transparent;}
.toc-list a:hover{color:var(--ink);background:rgba(0,0,0,.04);}
.toc-list a.active{color:var(--accent);border-left-color:var(--accent);background:var(--accent-light);}

/* ══ CONTENT ══ */
.content{}
.page-eyebrow{font-size:10px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;
  color:var(--accent);margin-bottom:14px;display:block;}
.page-title{font-family:'DM Serif Display',serif;font-size:clamp(36px,4vw,52px);
  line-height:.95;letter-spacing:-.5px;margin-bottom:10px;}
.page-meta{font-size:13px;color:var(--muted);margin-bottom:48px;}
.page-divider{height:1.5px;background:var(--border);margin:36px 0;}

.section{margin-bottom:36px;scroll-margin-top:80px;}
.section-num{font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;
  color:var(--muted);margin-bottom:6px;display:block;}
.section h2{font-family:'DM Serif Display',serif;font-size:22px;letter-spacing:-.2px;margin-bottom:14px;}
.section p{font-size:14.5px;line-height:1.78;color:var(--ink2);margin-bottom:10px;}
.section p:last-child{margin-bottom:0;}
.section a{color:var(--accent);text-decoration:none;}
.section a:hover{text-decoration:underline;}
.section ul,.section ol{padding-left:0;list-style:none;margin:12px 0;}
.section ul li,.section ol li{font-size:14.5px;line-height:1.78;color:var(--ink2);
  padding:3px 0 3px 20px;position:relative;}
.section ul li::before{content:'–';position:absolute;left:0;color:var(--muted);}
.section ol{counter-reset:ol-counter;}
.section ol li{counter-increment:ol-counter;}
.section ol li::before{content:counter(ol-counter)'.';position:absolute;left:0;
  color:var(--accent);font-weight:700;font-size:13px;}

/* ══ INFO TABLE ══ */
.data-table{width:100%;border-collapse:collapse;margin:16px 0;font-size:13.5px;}
.data-table th{background:var(--ink);color:#f0ede8;font-size:10px;font-weight:700;
  letter-spacing:.1em;text-transform:uppercase;padding:10px 16px;text-align:left;}
.data-table td{padding:10px 16px;border-bottom:1px solid var(--border);
  color:var(--ink2);vertical-align:top;line-height:1.6;}
.data-table tr:last-child td{border-bottom:none;}
.data-table tr:nth-child(even) td{background:rgba(0,0,0,.015);}

/* ══ BOXES ══ */
.box{border-radius:14px;padding:20px 24px;margin:18px 0;font-size:14px;line-height:1.65;}
.box-green{background:var(--green-light);border:1.5px solid rgba(42,122,75,.25);color:#1a5530;}
.box-amber{background:#fff8ec;border:1.5px solid #f0d898;color:#7a5000;}
.box-accent{background:var(--accent-light);border:1.5px solid var(--accent-mid);color:var(--accent);}
.box strong{display:block;margin-bottom:4px;font-weight:700;}
.box a{color:inherit;text-decoration:underline;}

/* ══ RIGHTS GRID ══ */
.rights-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin:16px 0;}
@media(max-width:600px){.rights-grid{grid-template-columns:1fr;}}
.right-card{background:var(--surface);border:2px solid var(--border);border-radius:14px;
  padding:18px 20px;transition:border-color .2s;}
.right-card:hover{border-color:var(--green);}
.right-card-icon{font-size:20px;margin-bottom:8px;}
.right-card-title{font-size:13px;font-weight:700;margin-bottom:5px;}
.right-card-desc{font-size:12.5px;color:var(--muted);line-height:1.55;}

/* ══ FOOTER ══ */
footer{background:var(--ink);padding:32px 48px;
  display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:14px;}
@media(max-width:600px){footer{padding:28px 24px;flex-direction:column;text-align:center;}}
.footer-logo{font-size:13px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;
  color:#f0ede8;text-decoration:none;}
.footer-logo span{color:var(--accent);}
.footer-links{display:flex;gap:20px;flex-wrap:wrap;}
.footer-link{font-size:11px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;
  color:#444;text-decoration:none;transition:color .2s;}
.footer-link:hover{color:#aaa;}
.footer-copy{font-size:11px;color:#2a2a2a;}
