/* Glossary page: reuses the site's glass, depth and FAQ rhythm. */
.qms-glossary-page .glossary-section { background:radial-gradient(ellipse at 100% 0,#e0f3ed8c,transparent 55%),linear-gradient(180deg,#fff,#f6fafb); }
.glossary-layout { display:grid; grid-template-columns:300px minmax(0,1fr); gap:90px; align-items:start; }
.glossary-aside { position:sticky; top:135px; }
.glossary-aside h2 { font-size:44px; margin-bottom:22px; }
.glossary-aside>p:not(.service-kicker) { font-size:16px; }
.glossary-aside .text-link { font-size:15px; }
.glossary-aside-note { margin:28px 0 6px; }
.glossary-index { display:grid; grid-template-columns:repeat(6,1fr); gap:7px; margin-top:22px; }
.glossary-index a { display:grid; place-items:center; height:38px; border-radius:9px; border:1px solid #d6e7ea; background:linear-gradient(130deg,#ffffffd6,#f2faf9b8); -webkit-backdrop-filter:blur(14px); backdrop-filter:blur(14px); color:var(--ink); font:600 14px var(--heading); box-shadow:inset 0 1px 0 #fff; transition:background .2s,color .2s,border-color .2s,transform .2s; }
.glossary-index a:hover,.glossary-index a:focus-visible,.glossary-index a.is-active { background:var(--teal); border-color:var(--teal); color:#fff; transform:translateY(-2px); }
.glossary-index a.is-empty { opacity:.35; pointer-events:none; }
.glossary-index .glossary-index-wide { grid-column:1 / -1; font-size:13px; letter-spacing:.02em; }
.glossary-search { margin-bottom:40px; }
.glossary-group { display:grid; grid-template-columns:72px minmax(0,1fr); gap:24px; padding:34px 0; border-top:1px solid var(--line); scroll-margin-top:130px; }
.glossary-group:first-of-type { border-top:0; padding-top:0; }
.glossary-letter span { position:sticky; top:130px; display:grid; place-items:center; width:62px; height:62px; border-radius:18px 6px 18px 18px; font:700 28px var(--heading); color:#fff; background:linear-gradient(135deg,var(--teal),var(--navy)); box-shadow:0 14px 30px #087f8326,inset 0 1px 0 #ffffff40; }
.glossary-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.glossary-term { position:relative; isolation:isolate; overflow:hidden; border:1px solid #fff; border-radius:18px; padding:24px 24px 22px; background:linear-gradient(130deg,#ffffffd6,#ffffff80); -webkit-backdrop-filter:blur(16px); backdrop-filter:blur(16px); box-shadow:0 10px 30px #0a3e5409,inset 0 1px 0 #fff,inset 0 0 0 1px #d9e9ec; }
.glossary-term::before { content:''; position:absolute; z-index:-1; inset:0; background:radial-gradient(380px circle at var(--light-x,50%) var(--light-y,0%),#8bd8d737,transparent 60%); opacity:0; transition:opacity .4s; pointer-events:none; }
.glossary-term:hover,.glossary-term:focus-within { transform:perspective(900px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg)) translateY(-5px); border-color:#8fc7ce; box-shadow:0 22px 45px #0a3e5414,inset 0 1px 0 #fff; }
.glossary-term:hover::before,.glossary-term:focus-within::before { opacity:1; }
.glossary-term h3 { font-size:19px; line-height:1.35; margin:0 0 10px; color:var(--ink); }
.glossary-term h3::before { content:''; display:inline-block; width:7px; height:7px; margin:0 10px 3px 0; border-radius:50%; background:var(--aqua); box-shadow:0 0 0 4px #71dedb26; }
.glossary-term p { font-size:15px; line-height:1.8; margin:0; }
.glossary-term mark { background:#c6f1ea; color:inherit; border-radius:3px; padding:0 2px; }
.glossary-abbreviations { margin-top:60px; padding:40px; border-radius:22px; background:radial-gradient(ellipse at 85% 0,#1a637c,transparent 70%),var(--navy); color:#b9d1df; scroll-margin-top:130px; }
.glossary-abbreviations-heading { margin-bottom:26px; }
.glossary-abbreviations-heading .service-kicker { color:var(--aqua); }
.glossary-abbreviations h2 { color:#fff; font-size:34px; margin:0; }
.glossary-abbr-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; margin:0; }
.glossary-abbr { display:flex; flex-direction:column; gap:4px; padding:15px 17px; border-radius:13px; background:linear-gradient(135deg,#b4e4ef1f,#78abbf0d); border:1px solid #d9ffff26; border-top-color:#f0ffff45; -webkit-backdrop-filter:blur(18px); backdrop-filter:blur(18px); transition:background .25s,border-color .25s,transform .25s; }
.glossary-abbr:hover { background:linear-gradient(135deg,#b4e4ef33,#78abbf1f); border-color:#a6f0ec66; transform:translateY(-3px); }
.glossary-abbr dt { font:700 15px var(--heading); color:#fff; letter-spacing:.01em; }
.glossary-abbr dd { margin:0; font-size:13px; line-height:1.6; color:#b9d1df; }
.glossary-disclaimer { margin:26px 0 0; font-size:13px; color:#6a7e8e; }
@media(max-width:1180px) {
    .glossary-layout { grid-template-columns:240px minmax(0,1fr); gap:50px; }
    .glossary-aside h2 { font-size:36px; }
    .glossary-index { grid-template-columns:repeat(5,1fr); }
    .glossary-grid { grid-template-columns:1fr; }
    .glossary-abbr-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:960px) {
    .glossary-layout { grid-template-columns:1fr; gap:35px; }
    .glossary-aside { position:static; }
    .glossary-aside h2 br { display:none; }
    .glossary-index { grid-template-columns:repeat(9,1fr); }
    .glossary-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:760px) {
    .glossary-aside h2 { font-size:32px; }
    .glossary-index { grid-template-columns:repeat(6,1fr); }
    .glossary-group { grid-template-columns:1fr; gap:16px; padding:28px 0; }
    .glossary-letter span { position:static; width:50px; height:50px; font-size:23px; }
    .glossary-grid { grid-template-columns:1fr; gap:12px; }
    .glossary-term { padding:21px 20px; }
    .glossary-term h3 { font-size:18px; }
    .glossary-abbreviations { padding:28px 20px; margin-top:45px; }
    .glossary-abbreviations h2 { font-size:28px; }
    .glossary-abbr-grid { grid-template-columns:1fr; }
}
@media(prefers-reduced-motion:reduce) { .glossary-term,.glossary-abbr,.glossary-index a { transform:none!important; transition:none; } }
