.fn-glossary { --glossary-ink:#25152d; --glossary-pink:#a92370; color:var(--glossary-ink); }
.fn-glossary [hidden] { display:none!important; }
.fn-glossary:not(.is-ready) .fn-glossary-toolbar,.fn-glossary:not(.is-ready) .fn-glossary-empty { display:none; }
.fn-glossary-hero { display:flex; align-items:center; justify-content:space-between; gap:28px; padding:32px; margin-bottom:24px; border:1px solid #eed7e5; border-radius:20px; background:linear-gradient(120deg,#fff3f8,#faf8ff); }
.fn-glossary-eyebrow { color:#a92370; font-size:11px; font-weight:700; letter-spacing:1.8px; text-transform:uppercase; }
.fn-glossary .fn-glossary-hero h2 { color:var(--glossary-ink); font-size:28px; line-height:1.25; margin:10px 0 12px; }
.fn-glossary .fn-glossary-hero p { max-width:710px; font-size:15px; line-height:1.7; margin:0; }
.fn-glossary-total { flex:none; display:flex; flex-direction:column; align-items:center; justify-content:center; width:112px; height:112px; border-radius:50%; background:#fff; box-shadow:0 8px 24px #54273b08; border:1px solid #f0d7e6; }
.fn-glossary-total strong { color:var(--glossary-pink); font-size:35px; line-height:1.1; }
.fn-glossary-total span { font-size:12px; margin-top:5px; }
.fn-glossary-toolbar { display:grid; grid-template-columns:minmax(0,1fr) 230px auto; gap:14px; align-items:end; padding:22px; border:1px solid #eddae7; border-radius:16px; background:#fff; }
.fn-glossary-toolbar label { display:flex; flex-direction:column; gap:8px; min-width:0; margin:0; font-weight:600; font-size:13px; text-align:left; }
.fn-glossary-toolbar input,.fn-glossary-toolbar select { box-sizing:border-box; width:100%; min-height:48px; border:1px solid #dcc7d9; border-radius:10px; padding:11px 14px; background:#fff; color:var(--glossary-ink); font:inherit; font-weight:400; }
.fn-glossary-toolbar input:focus,.fn-glossary-toolbar select:focus { outline:2px solid #aa2c76; outline-offset:2px; }
.fn-glossary-clear { min-height:48px; border:1px solid #d6bad0; border-radius:10px; padding:10px 18px; color:#9f1b66; background:#fcf4f9; font-weight:600; cursor:pointer; }
.fn-glossary-clear:hover:not(:disabled) { background:#f8e1ef; }
.fn-glossary-clear:disabled { opacity:.5; cursor:default; }
.fn-glossary-status { margin:18px 2px!important; font-size:13px; color:#67586a; }
.fn-glossary-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.fn-glossary-entry { position:relative; border:1px solid #ecdae7; border-radius:16px; padding:25px; background:#fff; transition:border-color .15s,box-shadow .15s; scroll-margin-top:30px; }
.fn-glossary-entry:hover,.fn-glossary-entry:target { border-color:#d48ab9; box-shadow:0 7px 22px #61264d08; }
.fn-glossary .fn-glossary-entry h2 { font-size:21px; line-height:1.35; margin:11px 0 13px; color:var(--glossary-ink); }
.fn-glossary .fn-glossary-entry h2 a { color:inherit; text-decoration:none; }
.fn-glossary .fn-glossary-entry h2 a:hover { color:var(--glossary-pink); }
.fn-glossary .fn-glossary-entry p { font-size:14px; line-height:1.8; margin:0; color:#625367; text-align:left; }
.fn-glossary-tag { display:inline-block; border-radius:6px; padding:4px 8px; background:#fbf0f7; color:#a3226b; font-size:10px; letter-spacing:.65px; font-weight:600; text-transform:uppercase; }
.fn-glossary-reference { display:inline-block; font-size:12px; margin-top:14px; color:#a3226b; }
.fn-glossary-empty { padding:36px 24px; text-align:center; background:#fff7fb; border-radius:14px; border:1px dashed #d9adc9; }
.fn-glossary-footnote { border-top:1px solid #efdeea; margin-top:28px; padding-top:18px; font-size:12px; line-height:1.7; color:#756778; }
@media(max-width:767px) {
 .fn-glossary-hero { padding:23px; gap:15px; align-items:flex-start; }
 .fn-glossary .fn-glossary-hero h2 { font-size:23px; }
 .fn-glossary-total { width:66px; height:66px; }
 .fn-glossary-total strong { font-size:25px; }
 .fn-glossary-total span { font-size:9px; }
 .fn-glossary-toolbar { grid-template-columns:1fr; padding:18px; }
 .fn-glossary-grid { grid-template-columns:1fr; }
 .fn-glossary-entry { padding:22px; }
}

/* Topic shortcuts and related terms, 260-entry glossary. */
.fn-glossary:not(.is-ready) .fn-glossary-topics{display:none}
.fn-glossary-topics{display:flex;flex-wrap:wrap;gap:9px;margin:0 0 18px}
.fn-glossary-topic{display:inline-flex;align-items:center;gap:10px;padding:10px 13px;border:1px solid #e8cfe0;border-radius:10px;background:#fff;color:#704560;font:inherit;font-size:12px;line-height:1.5;cursor:pointer}
.fn-glossary-topic strong{display:inline-flex;align-items:center;justify-content:center;min-width:25px;padding:2px 6px;border-radius:20px;background:#fcf0f7;color:#a3236c;font-size:10px}
.fn-glossary-topic:hover,.fn-glossary-topic[aria-pressed=true]{background:#fff1f9;border-color:#b4568d;color:#942461}
.fn-glossary-topic:focus-visible{outline:2px solid #a92370;outline-offset:3px}
.fn-glossary-related{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 10px;margin-top:17px;padding-top:12px;border-top:1px solid #f1e3ed;font-size:11px;line-height:1.6}
.fn-glossary-related>span{color:#96818f}
.fn-glossary-related a{color:#9c2e6d;text-decoration:none;border-bottom:1px dotted #d2a4c0}
.fn-glossary-related a:hover{color:#6f184b;border-bottom-style:solid}
.fn-glossary-entry{scroll-margin-top:calc(var(--fn-sticky-navigation-height,70px) + 20px)}
@media(max-width:575px){.fn-glossary-topics{gap:7px}.fn-glossary-topic{padding:8px 10px;font-size:11px;gap:7px}}

/* Native CMS category pages and All navigation. */
.fn-glossary .fn-glossary-page-nav{display:flex;flex-wrap:wrap;gap:9px;margin-bottom:20px}
.fn-glossary-page-nav a.fn-glossary-topic{flex:1 1 130px;justify-content:space-between;text-decoration:none;min-height:46px}
.fn-glossary-page-nav a.fn-glossary-topic[aria-current=page]{border-color:#a52b70;background:#a52b70;color:#fff;box-shadow:0 4px 12px #a52b7015}
.fn-glossary-page-nav a.fn-glossary-topic[aria-current=page] strong{background:#ffffff25;color:#fff}
.fn-glossary .fn-glossary-page-search{grid-template-columns:minmax(0,1fr) auto}
@media(max-width:767px){.fn-glossary .fn-glossary-page-search{grid-template-columns:1fr}.fn-glossary-page-nav a.fn-glossary-topic{flex-basis:calc(50% - 9px)}}

.fn-glossary:not(.is-ready) .fn-glossary-page-nav{display:flex}.fn-glossary .fn-glossary-hero p{text-align:left}

/* Expandable glossary category introductions. */
.fn-glossary-hero>div:first-child{min-width:0;flex:1}.fn-glossary-category-more{margin-top:16px;max-width:710px}.fn-glossary-category-more summary{display:inline-flex;align-items:center;gap:12px;padding:8px 15px;border:1px solid #dfb4cf;border-radius:9px;background:#fff9fc;color:#9d236b;font-size:12px;font-weight:600;cursor:pointer;list-style:none;transition:background .18s,border-color .18s}.fn-glossary-category-more summary::-webkit-details-marker{display:none}.fn-glossary-category-more summary:after{content:'+';font-size:18px;line-height:1}.fn-glossary-category-more[open] summary:after{content:'−'}.fn-glossary-category-more summary:hover{background:#fbe5f1;border-color:#b84b88}.fn-glossary-category-more summary:focus-visible{outline:2px solid #a92370;outline-offset:3px}.fn-glossary-category-more .fn-category-more-close{display:none}.fn-glossary-category-more[open] .fn-category-more-close{display:inline}.fn-glossary-category-more[open] .fn-category-more-open{display:none}.fn-glossary .fn-glossary-category-more p{margin:16px 0 0;padding-top:15px;border-top:1px solid #ecd5e3;font-size:14px;line-height:1.8}

/* Balanced category tiles: five columns on desktop, no stretched final tile. */
.fn-glossary .fn-glossary-page-nav,.fn-glossary:not(.is-ready) .fn-glossary-page-nav{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px}.fn-glossary-page-nav a.fn-glossary-topic{width:100%;min-width:0;min-height:46px;padding:10px 11px;gap:8px;box-sizing:border-box}.fn-glossary-page-nav a.fn-glossary-topic>span{white-space:nowrap;text-align:left;line-height:1.4}.fn-glossary-page-nav a.fn-glossary-topic>strong{flex:none;min-width:25px}.fn-glossary-page-nav a.fn-glossary-topic:hover{background:#fff1f9;border-color:#b4568d}.fn-glossary-page-nav a.fn-glossary-topic[aria-current=page]:hover{background:#8e215f;color:#fff}
@media(min-width:768px) and (max-width:1199px){.fn-glossary .fn-glossary-page-nav{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:767px){.fn-glossary .fn-glossary-page-nav{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:575px){.fn-glossary .fn-glossary-page-nav{grid-template-columns:1fr}.fn-glossary-page-nav a.fn-glossary-topic{min-height:43px}}
/* All terms remains distinct on every glossary category page. */
.fn-glossary-page-nav a.fn-glossary-topic:first-child{font-weight:700;border-color:#aa6b94;border-width:2px;background:#fff2f9;color:#782352;box-shadow:0 3px 10px #6f234512}
.fn-glossary-page-nav a.fn-glossary-topic:first-child strong{background:#f0d5e5;color:#782352}
.fn-glossary-page-nav a.fn-glossary-topic:first-child:hover{background:#f8e1ef;border-color:#a52b70}
.fn-glossary-page-nav a.fn-glossary-topic:first-child[aria-current=page]{background:#25152d;border-color:#25152d;color:#fff;box-shadow:0 4px 12px #25152d20}
.fn-glossary-page-nav a.fn-glossary-topic:first-child[aria-current=page] strong{background:#ffffff25;color:#fff}
.fn-glossary-page-nav a.fn-glossary-topic:first-child[aria-current=page]:hover{background:#40213e;border-color:#40213e}
/* All terms follows the category tiles and spans their full row. */
.fn-glossary-page-nav a.fn-glossary-topic:first-child{order:1;grid-column:1 / -1;justify-content:center;gap:12px}