/* Tolmere — shared legal/policy page styles (dark oxide brand) */
:root{
  --ink:#16130f; --panel:#1d1913; --panel-2:#221d16; --panel-3:#2a241b;
  --line:rgba(239,233,219,0.09); --line-2:rgba(239,233,219,0.05);
  --text:#efe9db; --muted:#a39b8b; --dim:#7d7566;
  --oxide:#c2472a; --oxide-light:#e0674a; --brass:#c79a4a; --green:#5fa981;
}
*{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{
  background:var(--ink);color:var(--text);
  font-family:'Noto Sans SC','IBM Plex Sans',-apple-system,sans-serif;
  -webkit-font-smoothing:antialiased;line-height:1.7;
}
body::before{
  content:'';position:fixed;inset:0;z-index:-1;pointer-events:none;
  background:
    radial-gradient(720px 480px at 12% -6%, rgba(194,71,42,0.10), transparent 60%),
    radial-gradient(680px 520px at 100% 0%, rgba(199,154,74,0.06), transparent 55%);
}
a{color:var(--oxide-light);text-decoration:none;}
a:hover{text-decoration:underline;}
.mono{font-family:'IBM Plex Mono','Noto Sans SC',monospace;}

/* top bar */
.lg-top{
  position:sticky;top:0;z-index:10;
  display:flex;align-items:center;gap:18px;
  padding:16px 28px;background:rgba(22,19,15,0.82);
  backdrop-filter:blur(14px);box-shadow:inset 0 -1px 0 var(--line);
}
.lg-top .brand{display:flex;align-items:center;}
.lg-top .brand img{height:30px;width:auto;display:block;}
.lg-top .sp{flex:1;}
.lg-top a.navlink{
  font-size:14px;color:var(--muted);padding:7px 14px;border-radius:9px;
}
.lg-top a.navlink:hover{color:var(--text);background:var(--panel);text-decoration:none;}
.lg-top .lang{
  font-family:'IBM Plex Mono','Noto Sans SC',monospace;font-size:12.5px;
  color:var(--text);padding:7px 13px;border-radius:9px;
  box-shadow:inset 0 0 0 1px var(--line);
}
.lg-top .lang:hover{background:var(--panel);text-decoration:none;}

/* layout */
.lg-wrap{max-width:880px;margin:0 auto;padding:54px 28px 80px;}
.lg-hero{margin-bottom:38px;padding-bottom:30px;box-shadow:inset 0 -1px 0 var(--line);}
.lg-kicker{
  font-family:'IBM Plex Mono','Noto Sans SC',monospace;font-size:12px;
  letter-spacing:0.16em;text-transform:uppercase;color:var(--oxide-light);margin-bottom:16px;
}
.lg-hero h1{
  font-family:'Big Shoulders Display','Noto Sans SC',sans-serif;font-weight:800;
  font-size:clamp(34px,6vw,54px);line-height:1.02;letter-spacing:0.01em;color:var(--text);
}
.lg-hero h1 .zh{font-family:'Noto Sans SC',sans-serif;font-weight:900;}
.lg-hero .sub{margin-top:16px;color:var(--muted);font-size:16px;max-width:64ch;}
.lg-meta{
  margin-top:20px;display:flex;flex-wrap:wrap;gap:10px 22px;
  font-family:'IBM Plex Mono','Noto Sans SC',monospace;font-size:12.5px;color:var(--dim);
}
.lg-meta b{color:var(--muted);font-weight:500;}

/* table of contents */
.lg-toc{
  background:var(--panel);box-shadow:inset 0 0 0 1px var(--line);border-radius:14px;
  padding:20px 24px;margin-bottom:44px;
}
.lg-toc .t{
  font-family:'IBM Plex Mono','Noto Sans SC',monospace;font-size:11.5px;letter-spacing:0.1em;
  text-transform:uppercase;color:var(--dim);margin-bottom:14px;
}
.lg-toc ol{list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:8px 26px;counter-reset:toc;}
.lg-toc li{counter-increment:toc;}
.lg-toc li a{color:var(--muted);font-size:14.5px;display:flex;gap:11px;}
.lg-toc li a::before{content:counter(toc,decimal-leading-zero);color:var(--brass);font-family:'IBM Plex Mono',monospace;font-size:12px;}
.lg-toc li a:hover{color:var(--text);text-decoration:none;}

/* article */
.lg-art h2{
  font-family:'Big Shoulders Display','Noto Sans SC',sans-serif;font-weight:700;
  font-size:27px;color:var(--text);letter-spacing:0.01em;
  margin:48px 0 6px;padding-top:18px;scroll-margin-top:80px;
}
.lg-art h2 .n{color:var(--oxide-light);margin-right:12px;}
.lg-art h2:first-of-type{margin-top:6px;}
.lg-art h3{font-size:17px;font-weight:650;color:var(--text);margin:26px 0 8px;}
.lg-art p{color:var(--muted);margin:12px 0;font-size:15.5px;}
.lg-art strong{color:var(--text);font-weight:600;}
.lg-art ul,.lg-art ol{margin:12px 0 12px 4px;padding-left:22px;color:var(--muted);font-size:15.5px;}
.lg-art li{margin:7px 0;}
.lg-art li::marker{color:var(--brass);}
.lg-art a{color:var(--oxide-light);}
.sec-rule{border:0;height:1px;background:var(--line);margin:8px 0 0;}

/* callout / note */
.lg-note{
  background:linear-gradient(180deg,rgba(199,154,74,0.08),rgba(199,154,74,0.02));
  box-shadow:inset 0 0 0 1px rgba(199,154,74,0.22);border-radius:12px;
  padding:16px 20px;margin:20px 0;color:var(--muted);font-size:14.5px;
}
.lg-note b{color:var(--brass);}

/* definition / info grid (company page) */
.lg-cards{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:24px 0;}
.lg-card{background:var(--panel);box-shadow:inset 0 0 0 1px var(--line);border-radius:14px;padding:22px 24px;}
.lg-card .cl{
  font-family:'IBM Plex Mono','Noto Sans SC',monospace;font-size:11px;letter-spacing:0.1em;
  text-transform:uppercase;color:var(--brass);margin-bottom:14px;
}
.lg-card .nm{font-size:18px;font-weight:600;color:var(--text);}
.lg-card dl{margin-top:14px;display:grid;grid-template-columns:auto 1fr;gap:9px 16px;font-size:14px;}
.lg-card dt{color:var(--dim);}
.lg-card dd{color:var(--text);}
.lg-card dd.code{font-family:'IBM Plex Mono',monospace;color:var(--brass);letter-spacing:0.02em;}

/* contact block */
.lg-contact{background:var(--panel);box-shadow:inset 0 0 0 1px var(--line);border-radius:14px;padding:22px 26px;margin:28px 0;}
.lg-contact .cl{font-family:'IBM Plex Mono','Noto Sans SC',monospace;font-size:11px;letter-spacing:0.1em;text-transform:uppercase;color:var(--dim);margin-bottom:12px;}
.lg-contact a{color:var(--oxide-light);}

/* footer */
.lg-foot{box-shadow:inset 0 1px 0 var(--line);margin-top:64px;}
.lg-foot .inner{max-width:880px;margin:0 auto;padding:40px 28px 60px;display:flex;flex-wrap:wrap;gap:26px;justify-content:space-between;align-items:flex-start;}
.lg-foot .fbrand img{height:30px;margin-bottom:12px;}
.lg-foot .fbrand p{color:var(--dim);font-size:13px;max-width:34ch;}
.lg-foot .flinks{display:flex;gap:22px;flex-wrap:wrap;}
.lg-foot .flinks a{color:var(--muted);font-size:14px;}
.lg-foot .flinks a:hover{color:var(--text);text-decoration:none;}
.lg-foot .copy{width:100%;margin-top:8px;padding-top:22px;box-shadow:inset 0 1px 0 var(--line);color:var(--dim);font-size:12.5px;line-height:1.7;}

@media (max-width:680px){
  .lg-toc ol{grid-template-columns:1fr;}
  .lg-cards{grid-template-columns:1fr;}
  .lg-top{padding:14px 18px;gap:10px;}
  .lg-top a.navlink{display:none;}
}
