/* Hammer & Pixel, glossary.
   Loaded after style.css on glossary/index.html and glossary/<slug>/index.html.
   Everything here is scoped to body.glossary-page so it cannot touch another page.
   Warm off white ground, compact dark header band, Inter throughout.
   British English. No long dashes in this file. */

body.glossary-page{
  --ground:#f3f3f1;
  --ground-2:#eceae6;
  --card:#fcfcfb;
  --g-ink:#181818;
  --g-ink-2:#4f4d49;
  --g-ink-3:#67635d;
  --g-hair:rgba(24,24,24,.12);
  --g-hair-soft:rgba(24,24,24,.07);
  --g-accent-text:#8a5200;          /* yellow family, dark enough for AA on paper */
  --g-accent-soft:rgba(245,200,66,.18);
  --g-r:14px;
  background:var(--ground);
  color:var(--g-ink);
}
body.glossary-page a{color:inherit}
body.glossary-page a:focus-visible,body.glossary-page button:focus-visible{outline:2px solid var(--g-accent-text);outline-offset:3px}

/* ---------- light fixed nav ---------- */
body.glossary-page .nav{
  background:linear-gradient(to bottom,rgba(243,243,241,.94),rgba(243,243,241,.72));
  color:var(--g-ink);
}
body.glossary-page .nav.scrolled{
  background:rgba(252,252,251,.94);
  backdrop-filter:blur(12px);
  border-bottom:1px solid var(--g-hair-soft);
}
body.glossary-page .brand{color:var(--g-ink)}
body.glossary-page .nav-links a{color:var(--g-ink-2)}
body.glossary-page .nav-links a:hover{color:var(--g-ink)}
body.glossary-page .nav-links a[aria-current="page"]{color:var(--g-ink);font-weight:700}
body.glossary-page .nav-toggle span{background:var(--g-ink)}
body.glossary-page .nav .pill-accent{background:var(--accent);color:#141004;border-color:transparent}
body.glossary-page .nav .pill-accent:hover{background:var(--accent-deep)}
body.glossary-page .nav .pill-accent .arrow{background:#141004;color:var(--accent)}
/* the full screen menu stays dark, so keep its own colours */
body.glossary-page .menu{color:var(--ink)}
body.glossary-page .menu a:focus-visible,body.glossary-page .menu button:focus-visible{outline-color:var(--accent)}

/* ---------- compact dark header band ---------- */
body.glossary-page .ghead{
  background:var(--page);
  color:var(--ink);
  padding-block:clamp(5.6rem,12vh,7.2rem) clamp(2rem,5vh,2.8rem);
  border-bottom:1px solid rgba(255,255,255,.08);
}
body.glossary-page .ghead .shell{max-width:920px}
body.glossary-page .ghead .eyebrow-pill{
  display:inline-flex;align-items:center;gap:.55rem;
  font-size:.74rem;font-weight:650;letter-spacing:.14em;text-transform:uppercase;
  color:#f1f1f1;background:rgba(255,255,255,.06);
  border:1px solid var(--hair);border-radius:999px;padding:.44rem .9rem;
}
body.glossary-page .ghead .eyebrow-pill .dot{width:7px;height:7px;border-radius:50%;background:var(--accent);flex:none}
body.glossary-page .ghead h1{
  margin-top:1rem;
  font-size:clamp(30px,4.6vw,54px);
  font-weight:800;letter-spacing:-.03em;line-height:1.06;
  max-width:20ch;
}
body.glossary-page .ghead h1 .acc{color:var(--accent)}
body.glossary-page .ghead .ghead-line{
  margin-top:.9rem;max-width:58ch;color:#e2e2e2;
  font-size:clamp(1rem,.96rem + .3vw,1.12rem);line-height:1.55;
}
body.glossary-page .gmeta{
  display:flex;flex-wrap:wrap;align-items:center;gap:.55rem .9rem;
  margin-top:1.2rem;font-size:.84rem;color:#b9b9b9;
}
body.glossary-page .gmeta span{display:inline-flex;align-items:center;gap:.5rem}
body.glossary-page .gmeta .sep{width:4px;height:4px;border-radius:50%;background:rgba(255,255,255,.35);flex:none}
body.glossary-page .ghead a{color:var(--accent);font-weight:640}
body.glossary-page .ghead a:focus-visible{outline-color:var(--accent)}

/* ---------- article body ---------- */
body.glossary-page .gbody{background:var(--ground);padding-block:clamp(2.2rem,6vh,3.4rem) clamp(2.8rem,8vh,4.5rem)}
body.glossary-page .gbody .shell{max-width:920px}
body.glossary-page .gwrap{max-width:66ch}
body.glossary-page .gwrap > * + *{margin-top:1.05rem}
body.glossary-page .gwrap .lede{
  font-size:clamp(1.05rem,1rem + .4vw,1.2rem);line-height:1.55;color:var(--g-ink-2);
}
body.glossary-page .gwrap p{color:var(--g-ink-2);line-height:1.62}
body.glossary-page .gwrap h2{
  margin-top:2.3rem;
  font-size:clamp(1.35rem,1.15rem + 1.1vw,1.85rem);
  font-weight:800;letter-spacing:-.025em;line-height:1.14;color:var(--g-ink);
}
body.glossary-page .gwrap h3{
  margin-top:1.6rem;
  font-size:clamp(1.05rem,1rem + .45vw,1.22rem);
  font-weight:750;letter-spacing:-.015em;line-height:1.25;color:var(--g-ink);
}
body.glossary-page .gwrap strong{color:var(--g-ink);font-weight:700}
body.glossary-page .gwrap a{color:var(--g-accent-text);font-weight:640;border-bottom:1px solid var(--g-accent-soft)}
body.glossary-page .gwrap a:hover{border-bottom-color:var(--g-accent-text)}

/* ---------- the why it matters box ---------- */
body.glossary-page .gbox{
  margin-top:2rem;
  background:var(--card);border:1px solid var(--g-hair);border-left:3px solid var(--accent);
  border-radius:var(--g-r);
  padding:1.3rem 1.3rem 1.45rem;
}
body.glossary-page .gbox .gbox-k{
  font-size:.74rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--g-accent-text);
}
body.glossary-page .gbox h2{
  margin-top:.55rem;
  font-size:clamp(1.08rem,1rem + .5vw,1.28rem);font-weight:750;letter-spacing:-.02em;
}
body.glossary-page .gbox ul{display:grid;gap:.7rem;margin-top:1rem}
body.glossary-page .gbox li{display:flex;gap:.7rem;align-items:flex-start;color:var(--g-ink-2);line-height:1.55;font-size:.97rem}
body.glossary-page .gbox li svg{width:19px;height:19px;flex:none;margin-top:.15rem;color:var(--g-accent-text)}

/* ---------- related service or trade link ---------- */
body.glossary-page .grelated{
  display:flex;flex-wrap:wrap;align-items:center;gap:.6rem 1rem;
  margin-top:2rem;padding:1.05rem 1.2rem;
  background:var(--ground-2);border:1px solid var(--g-hair-soft);border-radius:var(--g-r);
}
body.glossary-page .grelated .k{
  font-size:.74rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--g-ink-3);
}
body.glossary-page .grelated a{
  color:var(--g-accent-text);font-weight:700;font-size:1rem;
  display:inline-flex;align-items:center;min-height:30px;
}
body.glossary-page .grelated a:hover{text-decoration:underline}

/* ---------- questions ---------- */
body.glossary-page .gfaq-item{
  margin-top:1.4rem;padding-top:1.3rem;border-top:1px solid var(--g-hair-soft);
}
body.glossary-page .gfaq-item h3{margin-top:0}
body.glossary-page .gfaq-item p{margin-top:.55rem}

/* ---------- read next ---------- */
body.glossary-page .gsib{
  margin-top:2.2rem;padding:1.2rem 1.25rem 1.3rem;
  background:var(--card);border:1px solid var(--g-hair);border-radius:var(--g-r);
}
body.glossary-page .gsib .gsib-k{
  font-size:.74rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--g-ink-3);
}
body.glossary-page .gsib ul{display:grid;gap:.15rem;margin-top:.55rem}
body.glossary-page .gsib li{display:block}
body.glossary-page .gsib a{
  display:flex;align-items:center;min-height:44px;
  color:var(--g-accent-text);font-weight:680;font-size:.98rem;line-height:1.4;
}
body.glossary-page .gsib a:hover{text-decoration:underline}

/* ---------- closing offer ---------- */
body.glossary-page .gcta{
  background:var(--page);color:var(--ink);
  padding-block:clamp(2.6rem,8vh,4.2rem);text-align:center;
}
body.glossary-page .gcta .shell{max-width:920px}
body.glossary-page .gcta h2{
  font-size:clamp(1.4rem,1.2rem + 1.4vw,2.1rem);font-weight:800;letter-spacing:-.03em;
  line-height:1.12;max-width:24ch;margin-inline:auto;
}
body.glossary-page .gcta p{margin-top:.9rem;color:var(--muted);max-width:52ch;margin-inline:auto;line-height:1.6}
body.glossary-page .gcta .btn-row{display:flex;flex-wrap:wrap;gap:.75rem;justify-content:center;margin-top:1.5rem}
body.glossary-page .gbtn{
  display:inline-flex;align-items:center;gap:.55rem;min-height:46px;
  font:650 1rem/1 var(--font);padding:.85rem 1.35rem;border-radius:999px;
  border:1px solid transparent;white-space:nowrap;
  transition:background .2s,color .2s,border-color .2s,transform .2s var(--ease);
}
body.glossary-page .gbtn:active{transform:scale(.98)}
body.glossary-page .gbtn svg{width:18px;height:18px;flex:none}
body.glossary-page .gbtn-accent{background:var(--accent);color:#141004}
body.glossary-page .gbtn-accent:hover{background:var(--accent-deep)}
body.glossary-page .gbtn-ghost{background:transparent;color:var(--ink);border-color:var(--hair)}
body.glossary-page .gbtn-ghost:hover{border-color:rgba(255,255,255,.45)}
body.glossary-page .gcta .micro{margin-top:1.1rem;font-size:.88rem;color:var(--muted)}

/* keep the footer on the same measure as the article */
body.glossary-page .foot .shell{max-width:920px}

/* ---------- hub grid, for glossary/index.html ---------- */
body.glossary-page .ggrid{
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));
  gap:1.1rem;margin-top:1.8rem;
}
body.glossary-page .gcard{
  background:var(--card);border:1px solid var(--g-hair);border-radius:var(--g-r);
  padding:1.2rem 1.2rem 1.3rem;
  display:flex;flex-direction:column;gap:.5rem;
  transition:border-color .2s,transform .2s var(--ease);
}
body.glossary-page .gcard:hover{border-color:var(--g-ink);transform:translateY(-2px)}
body.glossary-page .gcard h2{font-size:clamp(1.05rem,1rem + .45vw,1.25rem);font-weight:780;letter-spacing:-.02em;line-height:1.2}
body.glossary-page .gcard p{font-size:.94rem;color:var(--g-ink-2);line-height:1.55}
body.glossary-page .gintro{max-width:62ch;margin-top:1rem;color:var(--g-ink-2);line-height:1.62}

/* ---------- responsive ---------- */
@media (max-width:860px){
  body.glossary-page .ggrid{grid-template-columns:1fr}
}
@media (max-width:700px){
  body.glossary-page .nav .pill-accent{display:inline-flex;padding:.6rem .6rem .6rem .95rem;font-size:.9rem}
  body.glossary-page .ghead{padding-block:5.2rem 2rem}
  body.glossary-page .ghead h1{max-width:none}
  body.glossary-page .gcta .btn-row .gbtn{flex:1 1 100%;justify-content:center}
  body.glossary-page .gbox{padding:1.1rem 1.05rem 1.2rem}
  body.glossary-page .gsib{padding:1.05rem 1rem 1.15rem}
}
