﻿:root{
  --green:#1D9E75;--gl:#E1F5EE;--gm:#9FE1CB;--gd:#085041;--gdp:#0F6E56;
  --amber:#FAEEDA;--at:#633806;--am:#FAC775;--ab:#854F0B;
  --pl:#EEEDFE;--pt:#3C3489;--pm:#534AB7;
  --bl:#E6F1FB;--bt:#0C447C;--bm:#378ADD;
  --g50:#F7F6F3;--g100:#EEEDE8;--g200:#D3D1C7;--g400:#888780;
  --tx:#1A1A18;--ts:#5F5E5A;--tt:#888780;
  --bd:rgba(26,26,24,0.10);--bdm:rgba(26,26,24,0.18);
  --rl:14px;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{font-family:'DM Sans',sans-serif;background:#FAFAF8;color:var(--tx);font-size:15px;line-height:1.6;-webkit-font-smoothing:antialiased;}
[id]{scroll-margin-top:80px;}

nav{position:sticky;top:0;z-index:100;background:rgba(250,250,248,0.93);backdrop-filter:blur(12px);border-bottom:1px solid var(--bd);display:flex;align-items:center;justify-content:space-between;padding:0 40px;height:60px;}
.nav-logo{display:flex;align-items:center;gap:5px;font-size:16px;font-weight:500;color:var(--tx);text-decoration:none;letter-spacing:-.01em;}
.lmk{width:30px;height:30px;background:var(--green);border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.nav-links{display:flex;align-items:center;gap:28px;font-size:13px;color:var(--ts);list-style:none;}
.nav-links a{color:inherit;text-decoration:none;transition:color .15s;}
.nav-links a:hover{color:var(--tx);}
.btn-n{font-size:13px;font-weight:500;padding:7px 18px;border-radius:8px;cursor:pointer;font-family:inherit;border:1px solid var(--bdm);background:transparent;color:var(--ts);transition:all .15s;}
.btn-np{background:var(--green);color:#fff;border-color:var(--green);}
.btn-np:hover{background:var(--gdp);}

.page-outer{display:grid;grid-template-columns:210px 1fr;max-width:1060px;margin:0 auto;padding:0 40px;}
.sidebar{padding:40px 28px 80px 0;position:sticky;top:60px;height:calc(100vh - 60px);overflow-y:auto;}
.sidebar-title{font-size:10px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--tt);font-family:'DM Mono',monospace;margin-bottom:14px;}
.snav a{display:block;font-size:12px;color:var(--tt);text-decoration:none;padding:5px 0;border-left:2px solid var(--bd);padding-left:12px;line-height:1.4;margin-bottom:2px;}
.snav a:hover{color:var(--tx);border-left-color:var(--gm);}
.snav a.active{color:var(--gdp);border-left-color:var(--green);font-weight:500;}

.page-wrap{max-width:800px;margin:0 auto;padding:72px 40px 96px;}
.main-content{padding-left:40px;border-left:1px solid var(--bd);max-width:none;}
.ey{font-size:11px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--gdp);margin-bottom:16px;}
.page-h{font-size:36px;font-weight:300;line-height:1.1;color:var(--tx);letter-spacing:-.025em;margin-bottom:14px;}
.page-h strong{font-weight:500;}
.meta{font-size:12px;color:var(--tt);font-family:'DM Mono',monospace;margin-bottom:36px;}

/* OPENING STATEMENT */
.opening{border-left:2px solid var(--green);padding:16px 0 16px 24px;margin-bottom:48px;}
.opening p{font-size:15px;color:var(--ts);line-height:1.8;}
.opening strong{font-weight:500;color:var(--tx);}

/* LICENCE LEGEND */
.legend{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:40px;align-items:center;}
.legend-label{font-size:11px;color:var(--tt);margin-right:4px;}
.lic-badge{font-size:10px;font-weight:500;padding:3px 10px;border-radius:20px;font-family:'DM Mono',monospace;display:inline-flex;align-items:center;gap:5px;}
.lic-dot{width:5px;height:5px;border-radius:50%;}
.lic-open{background:var(--gl);color:var(--gdp);}
.lic-open .lic-dot{background:var(--green);}
.lic-cite{background:var(--amber);color:var(--at);}
.lic-cite .lic-dot{background:var(--ab);}
.lic-restricted{background:var(--g100);color:var(--tt);}
.lic-restricted .lic-dot{background:var(--g400);}
.lic-caution{background:var(--pl);color:var(--pt);}
.lic-caution .lic-dot{background:var(--pm);}

/* SOURCE CARDS */
.source-card{border:1px solid var(--bd);border-radius:var(--rl);overflow:hidden;margin-bottom:16px;background:#fff;}
.source-card:hover{border-color:var(--bdm);}
.source-header{padding:18px 22px 14px;border-bottom:1px solid var(--bd);background:var(--g50);display:flex;align-items:flex-start;justify-content:space-between;gap:16px;}
.source-header-left{}
.source-org{font-size:10px;font-weight:500;letter-spacing:.07em;text-transform:uppercase;color:var(--tt);font-family:'DM Mono',monospace;margin-bottom:4px;}
.source-name{font-size:15px;font-weight:500;color:var(--tx);margin-bottom:2px;line-height:1.3;}
.source-edition{font-size:12px;color:var(--tt);}
.source-body{padding:18px 22px;}
.source-desc{font-size:13px;color:var(--ts);line-height:1.75;margin-bottom:14px;}
.source-meta{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:14px;}
.source-meta-item{}
.sm-label{font-size:10px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:var(--tt);font-family:'DM Mono',monospace;margin-bottom:3px;}
.sm-val{font-size:12px;color:var(--ts);}
.source-used{font-size:12px;color:var(--ts);line-height:1.6;padding-top:12px;border-top:1px solid var(--bd);}
.source-used strong{font-weight:500;color:var(--tx);}
.source-link{display:inline-flex;align-items:center;gap:5px;font-size:12px;color:var(--green);text-decoration:none;font-weight:500;margin-top:10px;transition:color .15s;}
.source-link:hover{color:var(--gdp);}
.source-link svg{flex-shrink:0;}

/* CAUTION CARD (BNEF) */
.caution-banner{background:var(--pl);border-bottom:1px solid rgba(83,74,183,.15);padding:8px 22px;display:flex;align-items:center;gap:8px;}
.caution-banner p{font-size:11px;color:var(--pt);}
.caution-banner strong{font-weight:500;}

/* INFRINGEMENT SECTION */
.infringement{background:var(--g50);border:1px solid var(--bd);border-radius:var(--rl);padding:28px 32px;margin:40px 0;}
.infringement-title{font-size:16px;font-weight:500;color:var(--tx);margin-bottom:4px;}
.infringement-sub{font-size:13px;color:var(--tt);margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid var(--bd);}
.infringement .prose p{font-size:13px;}

/* WHAT WE DON'T REPRODUCE */
.dont-list{margin:16px 0;}
.dont-item{display:flex;align-items:flex-start;gap:10px;margin-bottom:10px;font-size:13px;color:var(--ts);line-height:1.6;}
.dont-item:last-child{margin-bottom:0;}
.dont-dot{width:4px;height:4px;border-radius:50%;background:var(--ab);flex-shrink:0;margin-top:7px;}
.do-dot{width:4px;height:4px;border-radius:50%;background:var(--green);flex-shrink:0;margin-top:7px;}

/* UPDATE CADENCE */
.cadence{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px;margin:16px 0;}
.cadence-card{background:#fff;border:1px solid var(--bd);border-radius:10px;padding:14px 16px;}
.cadence-label{font-size:10px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:var(--tt);font-family:'DM Mono',monospace;margin-bottom:6px;}
.cadence-val{font-size:13px;font-weight:500;color:var(--tx);margin-bottom:3px;}
.cadence-note{font-size:11px;color:var(--ts);}

/* CONTACT */
.contact-strip{border-top:1px solid var(--bd);padding-top:32px;margin-top:48px;}
.contact-strip p{font-size:13px;color:var(--ts);margin-bottom:8px;}
.contact-strip a{color:var(--green);text-decoration:none;font-weight:500;}

.divider{height:1px;background:var(--bd);margin:40px 0;}

footer{border-top:1px solid var(--bd);padding:20px 40px;display:flex;align-items:center;justify-content:space-between;}
.flinks{display:flex;gap:20px;}
.flinks a{font-size:12px;color:var(--tt);text-decoration:none;transition:color .15s;}
.flinks a:hover{color:var(--tx);}
.fcopy{font-size:12px;color:var(--tt);}

@media(max-width:680px){
  nav{padding:0 20px;}
  .page-outer{grid-template-columns:1fr;padding:0 20px;}
  .sidebar{display:none;}
  .page-wrap{padding:48px 0 72px;}
  .main-content{padding-left:0;border-left:none;}
  .page-h{font-size:26px;}
  .source-meta{grid-template-columns:1fr 1fr;}
  .cadence{grid-template-columns:1fr;}
  footer{flex-direction:column;gap:12px;padding:20px;}
}
