*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
  --canvas:#07100C; --panel:#0C1A14; --panel-2:#0F2018;
  --mint:#34E0A1; --mint-dim:#1aa978; --mint-deep:#0c6f4d;
  --sage:#6d8f81; --sage-2:#4f6b60;
  --ivory:#EAF2EC; --ivory-2:#cdd8d1;
  --red:#E0564F;
  --border:rgba(120,180,150,.14); --border-2:rgba(120,180,150,.22);
  --serif:'Noto Serif',Georgia,serif; --sans:'Inter',sans-serif; --mono:'JetBrains Mono',ui-monospace,monospace;
}
html{scroll-behavior:smooth}
body{font-family:var(--sans);background:var(--canvas);color:var(--ivory);-webkit-font-smoothing:antialiased;line-height:1.6;overflow-x:hidden}
.mono{font-family:var(--mono)}
.eyebrow{font-family:var(--mono);font-size:11px;font-weight:500;letter-spacing:.22em;text-transform:uppercase;color:var(--mint)}
.wrap{max-width:1180px;margin:0 auto;padding:0 32px}

/* nav */
.nav{position:sticky;top:0;z-index:40;background:rgba(7,16,12,.72);backdrop-filter:blur(14px);border-bottom:1px solid var(--border);height:64px;display:flex;align-items:center}
.nav .wrap{display:flex;align-items:center;justify-content:space-between;width:100%;gap:16px}
.brand{display:flex;align-items:center;gap:11px;text-decoration:none;color:inherit}
.brand .mk{width:26px;height:26px;flex:none}
.brand .w{font-family:var(--serif);font-size:22px;font-weight:500;line-height:1;letter-spacing:.01em}
.brand .w .dot{color:var(--mint)}
.nav-links{display:flex;align-items:center;gap:18px;flex-wrap:wrap;justify-content:flex-end}
.nav-links a{font-family:var(--mono);font-size:12px;font-weight:500;letter-spacing:.04em;color:var(--ivory-2);text-decoration:none;transition:color .15s}
.nav-links a:hover,.nav-links a.active{color:var(--mint)}
.nav-cta{font-family:var(--mono);font-size:12px;font-weight:600;letter-spacing:.04em;background:var(--mint);color:#04140d;padding:9px 16px;border-radius:7px;text-decoration:none}
.nav-links a.nav-cta{color:#04140d}

/* legal layout */
.legal-hero{padding:56px 0 28px;border-bottom:1px solid var(--border)}
.legal-hero h1{font-family:var(--serif);font-weight:500;font-size:42px;letter-spacing:-.02em;margin-top:14px;line-height:1.15}
.legal-hero .meta{margin-top:14px;font-family:var(--mono);font-size:12px;color:var(--sage);letter-spacing:.03em}
.legal-hero .meta time{color:var(--ivory-2)}

.legal-layout{display:grid;grid-template-columns:240px minmax(0,1fr);gap:48px;padding:40px 0 80px;align-items:start}
.toc{position:sticky;top:88px;max-height:calc(100vh - 110px);overflow:auto;padding-right:8px}
.toc .label{font-family:var(--mono);font-size:10.5px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--sage);margin-bottom:14px}
.toc a{display:block;font-size:13px;color:var(--ivory-2);text-decoration:none;padding:6px 0;border-left:2px solid transparent;padding-left:12px;line-height:1.35;transition:color .15s,border-color .15s}
.toc a:hover{color:var(--mint);border-left-color:var(--mint-dim)}
.toc a.toc-h3{font-size:12px;padding-left:22px;color:var(--sage)}

.prose{max-width:720px}
.prose section{padding-top:8px;margin-bottom:36px;scroll-margin-top:88px}
.prose h2{font-family:var(--serif);font-weight:500;font-size:26px;letter-spacing:-.015em;margin-bottom:14px;color:var(--ivory)}
.prose h3{font-family:var(--sans);font-weight:600;font-size:16px;margin:22px 0 10px;color:var(--ivory)}
.prose h4{font-family:var(--mono);font-size:12px;font-weight:600;letter-spacing:.04em;margin:16px 0 8px;color:var(--mint-dim)}
.prose p{margin:0 0 12px;color:var(--ivory-2);font-size:15px}
.prose ul,.prose ol{margin:0 0 14px;padding-left:1.25rem;color:var(--ivory-2);font-size:15px}
.prose li{margin:6px 0}
.prose a{color:var(--mint);text-decoration:none;border-bottom:1px solid rgba(52,224,161,.35)}
.prose a:hover{border-bottom-color:var(--mint)}
.prose strong{color:var(--ivory);font-weight:600}
.prose hr{border:none;border-top:1px solid var(--border);margin:28px 0}
.prose table{width:100%;border-collapse:collapse;margin:0 0 16px;font-size:13.5px}
.prose th,.prose td{border:1px solid var(--border);padding:10px 12px;text-align:left;vertical-align:top;color:var(--ivory-2)}
.prose th{font-family:var(--mono);font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--sage);background:var(--panel)}
.prose .note{font-size:13px;color:var(--sage);font-style:italic;margin-top:24px}

/* footer */
.footer{border-top:1px solid var(--border);padding:40px 0}
.footer .wrap{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px}
.footer .brand .w{font-size:18px}
.footer .meta{font-family:var(--mono);font-size:11px;color:var(--sage);letter-spacing:.04em}
.footer .meta a{color:var(--ivory-2);text-decoration:none;border-bottom:1px solid var(--border-2)}
.footer .meta a:hover{color:var(--mint)}
.footer-legal{display:flex;justify-content:center;flex-wrap:wrap;gap:8px 28px;padding:20px 32px 8px;border-top:1px solid var(--border);margin-top:8px}
.footer-legal a{font-family:var(--mono);font-size:12px;font-weight:500;letter-spacing:.04em;color:var(--sage);text-decoration:none;transition:color .15s}
.footer-legal a:hover,.footer-legal a.active{color:var(--mint)}

@media(max-width:880px){
  .legal-layout{grid-template-columns:1fr;gap:28px;padding-top:28px}
  .toc{position:static;max-height:none;display:flex;flex-wrap:wrap;gap:4px 0;padding:0 0 8px;border-bottom:1px solid var(--border);margin-bottom:8px}
  .toc .label{width:100%}
  .toc a{border-left:none;padding:6px 10px;background:var(--panel);border-radius:6px;margin:3px 6px 3px 0;border:1px solid var(--border)}
  .toc a.toc-h3{display:none}
  .legal-hero h1{font-size:32px}
  .nav-links a:not(.nav-cta){display:none}
}

@media print{
  .nav,.toc,.footer-legal,.nav-cta{display:none!important}
  body{background:#fff;color:#111}
  .prose p,.prose li,.prose td{color:#222}
  .legal-layout{display:block}
  .prose a{color:#000;border:none;text-decoration:underline}
}
