/* NYWD Glossary (G1) - Reference Index layout.
   Loads after style.css + nywd-chrome.css. Namespaced .gl-* */
:root{--nywd-green:#32908F;--nywd-green-dark:#267676;--nywd-muted:#F1F4F5}
html,body{scroll-behavior:smooth}
.gl-body{background:#fff}
.gl-wrap{max-width:72rem;margin:0 auto;padding:0 clamp(1.25rem,4vw,2.5rem)}

/* HERO */
.gl-hero{background:linear-gradient(160deg,#23272c 0%,#2f353c 100%);color:#fff}
.gl-hero__inner{max-width:72rem;margin:0 auto;padding:clamp(2.5rem,5vw,4rem) clamp(1.25rem,4vw,2.5rem);display:grid;grid-template-columns:1.35fr .65fr;gap:clamp(2rem,5vw,4rem);align-items:end}
.gl-hero__strap{font-family:var(--font-secondary);font-size:.7rem;letter-spacing:.24em;text-transform:uppercase;color:#79c3c2;font-weight:700;margin-bottom:1.25rem}
.gl-hero h1{font-family:var(--font-primary);font-weight:500;color:#fff;font-size:clamp(2.1rem,4.6vw,3.5rem);line-height:1.12;letter-spacing:-.015em;max-width:24ch;text-wrap:balance;margin-bottom:1.5rem}
.gl-hero h1 em{font-style:italic;color:#79c3c2;font-weight:400}
.gl-hero__sub{font-family:var(--font-secondary);font-size:clamp(1rem,1.5vw,1.15rem);line-height:1.7;color:rgba(255,255,255,.74);max-width:58ch}
.gl-stats{display:flex;gap:2rem;flex-wrap:wrap}
.gl-stat__n{font-family:var(--font-primary);font-weight:500;font-size:clamp(2rem,3.4vw,2.75rem);color:#fff;line-height:1}
.gl-stat__l{font-family:var(--font-secondary);font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.6);margin-top:.45rem}
@media (max-width:860px){.gl-hero__inner{grid-template-columns:1fr;gap:2rem;align-items:start}}

/* STICKY CONTROLS */
.gl-controls{position:sticky;top:0;z-index:12;background:rgba(255,255,255,.97);backdrop-filter:saturate(1.4) blur(6px);border-bottom:1px solid hsl(210,8%,88%)}
.gl-controls__inner{max-width:72rem;margin:0 auto;padding:1rem clamp(1.25rem,4vw,2.5rem)}
.gl-searchrow{display:grid;grid-template-columns:1fr auto;gap:1rem;align-items:center}
.gl-search{position:relative}
.gl-search svg{position:absolute;left:.9rem;top:50%;transform:translateY(-50%);width:17px;height:17px;color:var(--color-contrast-medium);pointer-events:none}
.gl-search input{width:100%;font-family:var(--font-secondary);font-size:.98rem;padding:.72rem .9rem .72rem 2.5rem;border:1px solid hsl(210,8%,80%);border-radius:4px;background:#fff;color:var(--color-contrast-high);transition:border-color .15s,box-shadow .15s}
.gl-search input::placeholder{color:hsl(210,8%,52%)}
.gl-search input:focus{outline:none;border-color:var(--nywd-green);box-shadow:0 0 0 3px hsl(179,30%,90%)}
.gl-count{font-family:var(--font-secondary);font-size:.8rem;color:var(--color-contrast-medium);white-space:nowrap}
.gl-count b{color:var(--color-contrast-high);font-weight:600}
.gl-chips{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.85rem}
.gl-chip{font-family:var(--font-secondary);font-size:.76rem;font-weight:600;letter-spacing:.02em;padding:.45rem .85rem;border-radius:4px;border:1px solid hsl(210,8%,84%);background:#fff;color:var(--color-contrast-medium);cursor:pointer;transition:border-color .15s,background .15s,color .15s}
.gl-chip:hover{border-color:var(--color-primary);color:var(--color-contrast-high)}
.gl-chip[aria-pressed="true"]{background:var(--color-primary);border-color:var(--color-primary);color:#fff}
@media (max-width:640px){.gl-searchrow{grid-template-columns:1fr}.gl-count{order:2}}

/* A-Z RAIL */
.gl-alpha{display:flex;flex-wrap:wrap;gap:.3rem;margin-top:.85rem;padding-top:.85rem;border-top:1px solid hsl(210,8%,92%)}
.gl-alpha a,.gl-alpha span{font-family:var(--font-secondary);font-size:.74rem;font-weight:600;min-width:26px;height:26px;display:inline-flex;align-items:center;justify-content:center;border-radius:3px;text-decoration:none;color:var(--color-contrast-medium);border:1px solid transparent}
.gl-alpha a:hover{background:hsl(179,30%,94%);color:var(--nywd-green-dark);border-color:hsl(179,25%,84%)}
.gl-alpha span{color:hsl(210,8%,74%)}

/* TERM LIST */
.gl-list{padding:clamp(2rem,4vw,3rem) 0 1rem;scroll-margin-top:190px}
.gl-group{margin-bottom:2.5rem;scroll-margin-top:190px}
.gl-group__head{display:flex;align-items:center;gap:1.25rem;margin-bottom:1.25rem}
.gl-group__letter{font-family:var(--font-primary);font-style:italic;font-weight:500;font-size:clamp(2rem,3.4vw,2.75rem);line-height:1;color:var(--nywd-green)}
.gl-group__rule{flex:1;height:1px;background:hsl(210,8%,88%)}
.gl-group__n{font-family:var(--font-secondary);font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:var(--color-contrast-medium)}
.gl-terms{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}
@media (max-width:820px){.gl-terms{grid-template-columns:1fr}}
.gl-term{border:1px solid hsl(210,8%,88%);background:#fff;padding:1.25rem 1.4rem;scroll-margin-top:200px;transition:border-color .15s,box-shadow .15s}
.gl-term:hover{border-color:hsl(210,8%,74%);box-shadow:0 14px 34px -26px rgba(31,35,41,.4)}
.gl-term:target{border-color:var(--nywd-green);box-shadow:inset 3px 0 0 var(--nywd-green)}
.gl-term__top{display:flex;align-items:flex-start;gap:.75rem;margin-bottom:.5rem}
.gl-term h3{font-family:var(--font-primary);font-weight:500;font-size:1.2rem;line-height:1.25;color:var(--color-contrast-high);margin:0;flex:1}
.gl-term__cat{font-family:var(--font-secondary);font-size:.6rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--nywd-green-dark);background:hsl(179,32%,95%);border:1px solid hsl(179,25%,86%);padding:.22rem .5rem;border-radius:3px;white-space:nowrap;flex-shrink:0}
.gl-term__link{font-family:var(--font-secondary);font-size:.85rem;font-weight:700;color:hsl(210,8%,78%);text-decoration:none;flex-shrink:0;line-height:1.4}
.gl-term__link:hover{color:var(--nywd-green)}
.gl-term p{font-family:var(--font-secondary);font-size:.93rem;line-height:1.65;color:hsl(210,9%,32%);margin:0}
@media (max-width:520px){
  .gl-term__top{flex-wrap:wrap;gap:.5rem}
  .gl-term h3{flex:1 1 100%;order:1}
  .gl-term__cat{white-space:normal;order:2}
  .gl-term__link{order:3;margin-left:auto}
}
.gl-empty{display:none;font-family:var(--font-secondary);font-size:1rem;color:var(--color-contrast-medium);padding:2.5rem 0;text-align:center;border:1px dashed hsl(210,8%,84%);background:var(--nywd-muted)}
.gl-empty b{color:var(--color-contrast-high)}

/* TOP LINK */
.gl-top{display:inline-flex;align-items:center;gap:.45rem;font-family:var(--font-secondary);font-size:.76rem;font-weight:600;letter-spacing:.02em;text-transform:uppercase;color:var(--color-contrast-medium);text-decoration:none;padding:.6rem 1rem;border:1px solid hsl(210,8%,84%);border-radius:4px;background:#fff;margin:1rem 0 clamp(2.5rem,5vw,3.5rem)}
.gl-top:hover{border-color:var(--color-primary);color:var(--color-contrast-high)}

/* CTA */
.b2-cta{margin:5rem 0 0;background:var(--color-primary);color:#fff;padding:clamp(3rem,6vw,5rem) clamp(1.5rem,4vw,3rem);text-align:center;position:relative;overflow:hidden}
.b2-cta::before{content:'';position:absolute;top:0;left:50%;transform:translateX(-50%);width:80px;height:3px;background:var(--nywd-green)}
.b2-cta .label{font-family:var(--font-secondary);font-size:.7rem;letter-spacing:.22em;text-transform:uppercase;color:var(--nywd-green);font-weight:700}
.b2-cta h4{font-family:var(--font-primary);font-weight:500;font-size:clamp(1.75rem,3.4vw,2.75rem);line-height:1.15;margin:1rem auto;color:#fff;letter-spacing:0;max-width:24ch;text-wrap:balance}
.b2-cta p{color:rgba(255,255,255,.78);max-width:42rem;margin:0 auto 2rem;font-size:1.0625rem;line-height:1.65}
.btn-pill{display:inline-flex;align-items:center;gap:.5rem;padding:.875rem 1.5rem;font-family:var(--font-secondary);font-size:.8125rem;letter-spacing:.06em;text-transform:uppercase;font-weight:600;line-height:1;background:var(--color-primary);color:#fff;border:1px solid var(--color-primary);border-radius:4px;text-decoration:none;transition:background .2s,border-color .2s}
.btn-pill:hover{background:hsl(210,9%,28%);border-color:hsl(210,9%,28%);text-decoration:none}
.btn-pill--light{background:#fff;color:var(--color-primary);border-color:#fff}
.btn-pill--light:hover{background:hsl(210,8%,92%);border-color:hsl(210,8%,92%);color:var(--color-primary)}

/* Footer alignment on glossary pages */
.footer-v4__nav{text-align:center}
.footer-v4__nav-list{list-style:none;padding-left:0;margin-left:auto;margin-right:auto;text-align:center}
@media (min-width:64rem){
  .footer-v4__nav-list{max-width:72rem;justify-content:center;gap:.75rem 1.5rem}
  .footer-v4__nav-item{margin:var(--space-xxxs) 0}
}
