/* HC2 Glossary v2 — hub, term page and the strip on Insights. Built on HC2's own tokens. */
.hc2g, .hc2g-strip {
  --g-dark:#002939; --g-slate:#27404A; --g-soft:#5C7480; --g-gold:#BBA072;
  --g-goldsoft:rgba(187,160,114,.28); --g-goldbg:#FBF8F3; --g-line:#E5E7EB; --g-mist:#F4F6F7;
  --g-pale:#DFE8EC; --g-steel:#8FA4AE; --g-hero-top:118px; /* the theme header sits over the first block */
  font-family:"proxima-nova","Proxima Nova",Helvetica,Arial,sans-serif; color:var(--g-slate);
}
.hc2g *, .hc2g-strip * { box-sizing:border-box; }
.hc2g-wrap { max-width:1088px; margin:0 auto; padding:0 16px; }

/* ---------- hero (hub and term page) ---------- */
.hc2g-hero { background:var(--g-dark); color:#fff; padding:var(--g-hero-top) 0 clamp(34px,5vw,60px); }
.hc2g-crumb { display:flex; flex-wrap:wrap; gap:8px; align-items:center; font-size:12px; letter-spacing:1.3px;
  text-transform:uppercase; color:var(--g-steel); margin:0 0 14px; }
.hc2g-crumb a { color:inherit; text-decoration:none; padding-block:5px; }
.hc2g-crumb a:hover { color:var(--g-gold); }
.hc2g-hero h1 { font-family:"Kopius",Georgia,serif; font-weight:300; font-size:clamp(32px,5.2vw,58px);
  line-height:1.08; margin:0; color:#fff; }
.hc2g-abbr { display:inline-block; vertical-align:middle; position:relative; top:-.18em; margin-left:.3em;
  font-family:"proxima-nova",Helvetica,Arial,sans-serif; font-size:.3em; font-weight:800; letter-spacing:1.6px;
  text-transform:uppercase; color:#08222C; background:var(--g-gold); border-radius:6px; padding:.35em .7em; }
.hc2g-intro { margin:18px 0 0; font-size:17px; line-height:1.7; color:var(--g-pale); max-width:68ch; }

/* ---------- term page ---------- */
.hc2g-layout { display:grid; grid-template-columns:minmax(0,1fr) 300px; gap:44px; padding-block:clamp(34px,5vw,60px); }
.hc2g-def { background:var(--g-goldbg); border:1px solid var(--g-goldsoft); border-left:4px solid var(--g-gold);
  border-radius:0 12px 12px 0; padding:22px 26px; margin:0 0 30px; }
.hc2g-def-h, .hc2g-box-h { font-size:11px; font-weight:800; letter-spacing:1.8px; text-transform:uppercase;
  color:var(--g-gold); margin:0 0 8px; }
.hc2g-def-t { font-family:"Kopius",Georgia,serif; font-size:clamp(19px,2.2vw,23px); line-height:1.5; color:var(--g-slate); margin:0; }
.hc2g-body p, .hc2g-box p { font-size:17px; line-height:1.75; color:var(--g-slate); margin:0 0 18px; }
.hc2g-body ul { margin:0 0 18px; padding-left:22px; }
.hc2g-body li { font-size:17px; line-height:1.7; margin-bottom:8px; }
.hc2g-box { border:1px solid var(--g-line); border-radius:12px; padding:20px 24px; margin:8px 0 22px; background:#fff; }
.hc2g-box p:last-child { margin-bottom:0; }
.hc2g-ex { background:var(--g-mist); }
.hc2g-hc2 { border-left:4px solid var(--g-dark); }
.hc2g-src { margin-top:30px; padding-top:22px; border-top:1px solid var(--g-line); }
.hc2g-src h2, .hc2g-card h2 { font-family:"proxima-nova",Helvetica,Arial,sans-serif; font-size:12px; font-weight:800;
  letter-spacing:1.6px; text-transform:uppercase; color:var(--g-soft); margin:0 0 12px; }
.hc2g-src ul { list-style:none; margin:0; padding:0; }
.hc2g-src li { margin:0 0 6px; font-size:15px; line-height:1.5; }
.hc2g-src a { color:var(--g-dark); font-weight:600; text-decoration:none; border-bottom:1px solid var(--g-goldsoft);
  display:inline-block; padding-block:5px; }
.hc2g-src a:hover { color:var(--g-gold); }
.hc2g-upd { margin:18px 0 0; font-size:13px; color:var(--g-steel); }

.hc2g-side { align-self:start; position:sticky; top:110px; display:flex; flex-direction:column; gap:18px; }
.hc2g-card { border:1px solid var(--g-line); border-radius:12px; padding:18px 20px; background:#fff; }
.hc2g-chips { list-style:none; margin:0; padding:0; display:flex; flex-wrap:wrap; gap:8px; }
.hc2g-chips a { display:inline-block; font-size:13.5px; font-weight:600; color:var(--g-dark); background:var(--g-goldbg);
  border:1px solid var(--g-goldsoft); border-radius:20px; padding:7px 12px; text-decoration:none; }
.hc2g-chips a:hover { background:var(--g-dark); color:#fff; border-color:var(--g-dark); }
.hc2g-list { list-style:none; margin:0; padding:0; }
.hc2g-list li { border-top:1px solid var(--g-line); }
.hc2g-list li:first-child { border-top:0; }
.hc2g-list a { display:block; padding:9px 0; font-size:15px; color:var(--g-slate); text-decoration:none; }
.hc2g-list a:hover { color:var(--g-gold); }
.hc2g-back { font-size:14px; font-weight:700; color:var(--g-dark); text-decoration:none; padding-block:6px; }
.hc2g-back:hover { color:var(--g-gold); }

.hc2g-pn { display:flex; justify-content:space-between; gap:16px; padding-bottom:clamp(40px,6vw,72px); }
.hc2g-pn a { flex:0 1 48%; border:1px solid var(--g-line); border-radius:12px; padding:16px 20px; text-decoration:none;
  color:var(--g-slate); background:#fff; transition:border-color .2s, box-shadow .2s; }
.hc2g-pn a:hover { border-color:var(--g-gold); box-shadow:0 10px 26px rgba(0,41,57,.08); }
.hc2g-pn span { display:block; font-size:11.5px; font-weight:800; letter-spacing:1.4px; text-transform:uppercase; color:var(--g-steel); }
.hc2g-pn b { display:block; margin-top:6px; font-family:"Kopius",Georgia,serif; font-weight:400; font-size:18px; line-height:1.3; }
.hc2g-next { text-align:right; margin-left:auto; }

/* ---------- hub ---------- */
.hc2g-hub { padding-block:clamp(30px,4.5vw,56px); }
.hc2g-tools { display:flex; flex-direction:column; gap:16px; margin-bottom:34px; }
.hc2g-tools input { width:100%; max-width:560px; border:1px solid var(--g-line); border-radius:10px; padding:14px 16px;
  font:inherit; font-size:16px; color:var(--g-slate); background:#fff; }
.hc2g-tools input:focus { outline:none; border-color:var(--g-gold); box-shadow:0 0 0 3px var(--g-goldsoft); }
.hc2g-cats { display:flex; flex-wrap:wrap; gap:8px; }
.hc2g-cats a { font-size:13.5px; font-weight:700; color:var(--g-dark); border:1px solid var(--g-line); border-radius:20px;
  padding:8px 14px; text-decoration:none; background:#fff; }
.hc2g-cats a:hover { border-color:var(--g-gold); color:var(--g-gold); }
.hc2g-group { margin:0 0 46px; scroll-margin-top:110px; }
.hc2g-group h2 { font-family:"Kopius",Georgia,serif; font-weight:300; font-size:clamp(25px,3.4vw,36px); color:var(--g-slate); margin:0 0 6px; }
.hc2g-group-i { margin:0 0 20px; font-size:15.5px; line-height:1.6; color:var(--g-soft); max-width:72ch; }
.hc2g-terms { display:grid; grid-template-columns:repeat(auto-fill,minmax(280px,1fr)); gap:16px; }
.hc2g-t { display:flex; flex-direction:column; gap:9px; border:1px solid var(--g-line); border-left:4px solid var(--g-gold);
  border-radius:0 12px 12px 0; background:#fff; padding:18px 20px; text-decoration:none; color:var(--g-slate);
  transition:box-shadow .2s, transform .2s; }
.hc2g-t:hover { box-shadow:0 12px 30px rgba(0,41,57,.09); transform:translateY(-2px); }
.hc2g-t[hidden], .hc2g-group[hidden] { display:none !important; }
.hc2g-t-n { font-family:"Kopius",Georgia,serif; font-size:19px; line-height:1.3; }
.hc2g-t-n em { font-style:normal; font-family:"proxima-nova",Helvetica,Arial,sans-serif; font-size:11px; font-weight:800;
  letter-spacing:1.3px; text-transform:uppercase; color:var(--g-gold); margin-left:4px; }
.hc2g-t-d { font-size:14.5px; line-height:1.6; color:var(--g-soft); }
.hc2g-t-m { margin-top:auto; font-size:13px; font-weight:700; color:var(--g-dark); }
.hc2g-empty { padding:30px; text-align:center; color:var(--g-soft); }
.hc2g-all a { font-weight:700; color:var(--g-dark); border-bottom:1.5px solid var(--g-gold); text-decoration:none; padding-bottom:2px; }

/* ---------- strip at the end of an Insight ---------- */
.hc2g-strip { background:var(--g-goldbg); border:1px solid var(--g-goldsoft); border-radius:12px; padding:20px 24px; margin:40px 0 0; }
.hc2g-strip p { margin:0; }
.hc2g-strip-h { font-size:10.5px; font-weight:800; letter-spacing:1.8px; text-transform:uppercase; color:var(--g-gold); }
.hc2g-strip-l { margin-top:10px !important; font-size:15px; line-height:2; color:var(--g-slate); }
.hc2g-strip-l a { color:var(--g-dark); font-weight:600; text-decoration:none; border-bottom:1px solid var(--g-goldsoft); padding-block:4px; }
.hc2g-strip-l a:hover { color:var(--g-gold); }
.hc2g-strip-l i { color:var(--g-gold); font-style:normal; padding:0 4px; }
.hc2g-strip-f { margin-top:12px !important; font-size:13.5px; }
.hc2g-strip-f a { color:var(--g-dark); font-weight:700; text-decoration:none; border-bottom:1.5px solid var(--g-gold); padding-block:4px; }

/* ---------- Chinese typography ---------- */
.lang-zh .hc2g-hero h1, .lang-zh .hc2g-def-t, .lang-zh .hc2g-t-n, .lang-zh .hc2g-pn b, .lang-zh .hc2g-group h2 {
  font-family:"PingFang SC","Microsoft YaHei","Noto Sans SC",sans-serif; font-weight:400; }

@media (min-width:1024px) { .hc2g { --g-hero-top:196px; } }
@media (max-width:900px) { .hc2g-layout { grid-template-columns:1fr; gap:28px; } .hc2g-side { position:static; } }
@media (max-width:600px) { .hc2g-pn { flex-direction:column; } .hc2g-pn a { flex-basis:auto; } .hc2g-next { text-align:left; margin-left:0; } }
