/**
 * Everwind Servers - Brick & Brass theme (built on Open Props tokens)
 * Coal + iron surfaces, brick glow, copper edges, brass accents, old-paper text.
 */

/* ───────── Self-hosted fonts (latin + latin-ext) ───────── */
/* latin-ext */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(../../../vendor/fonts/cormorant-garamond-500-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(../../../vendor/fonts/cormorant-garamond-500-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(../../../vendor/fonts/cormorant-garamond-600-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(../../../vendor/fonts/cormorant-garamond-600-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(../../../vendor/fonts/cormorant-garamond-700-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(../../../vendor/fonts/cormorant-garamond-700-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 400 800;
  font-display: swap;
  src: url(../../../vendor/fonts/manrope-400-800-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 400 800;
  font-display: swap;
  src: url(../../../vendor/fonts/manrope-400-800-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}


/* ───────── Palette ───────── */
:root {
    color-scheme: dark;

    --coal: #0b0c0d;
    --iron: #17191a;
    --iron-2: #202324;
    --iron-3: #2a2d2e;
    --brick: #8f3f2e;
    --brick-light: #b75a40;
    --rust: #a64b32;
    --copper: #b87333;
    --brass: #c59b5b;
    --aged-gold: #9d8150;
    --paper: #d8cbb7;
    --paper-bright: #e4d8c5;
    --stone: #8e887d;

    --glow-brick: oklch(55% .16 35);
    --glow-copper: oklch(70% .12 65);

    --copper-line: rgb(184 115 51 / .35);
    --copper-line-strong: rgb(184 115 51 / .7);

    --font-body: 'Manrope', var(--font-humanist);
    --font-head: 'Cormorant Garamond', 'Iowan Old Style', Georgia, serif;

    /* Bootstrap 5.3 bridge */
    --bs-body-bg: var(--coal);
    --bs-body-color: var(--paper);
    --bs-body-font-family: var(--font-body);
    --bs-secondary-color: var(--stone);
    --bs-tertiary-bg: var(--iron);
    --bs-border-color: var(--copper-line);
    --bs-link-color: var(--brass);
    --bs-link-hover-color: var(--brick-light);
    --bs-primary: var(--brick);
    --bs-primary-rgb: 143, 63, 46;
    --bs-success: #6f8f4e;
    --bs-info: var(--aged-gold);
    --bs-warning: var(--brass);
    --bs-danger: var(--brick-light);
    --bs-border-radius: 6px;
    --bs-border-radius-lg: 10px;
}

/* ───────── Base ───────── */
html { scroll-behavior: smooth; background: var(--coal); }
body.theme-openprops {
    background:
        radial-gradient(circle at 20% 10%, rgb(143 63 46 / .14), transparent 30%),
        radial-gradient(circle at 80% 90%, rgb(184 115 51 / .08), transparent 30%),
        var(--coal);
    background-attachment: fixed;
    color: var(--paper);
    font-family: var(--font-body);
    font-size: var(--font-size-1);
    line-height: var(--font-lineheight-3);
    -webkit-font-smoothing: antialiased;
}
body.theme-openprops::before {
    content: "";
    position: fixed;
    inset: 0;
    pointer-events: none;
    z-index: 0;
    opacity: .035;
    mix-blend-mode: overlay;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}
body.theme-openprops h1, body.theme-openprops h2, body.theme-openprops h3,
body.theme-openprops h4, body.theme-openprops h5, body.theme-openprops h6 {
    font-family: var(--font-head);
    font-weight: 600;
    line-height: 1.05;
    letter-spacing: -.02em;
    color: var(--paper-bright);
    text-wrap: balance;
}
body.theme-openprops p { text-wrap: pretty; }
body.theme-openprops a { color: var(--brass); text-underline-offset: .2em; transition: color .2s var(--ease-2); }
body.theme-openprops a:hover { color: var(--brick-light); }
body.theme-openprops .text-muted, body.theme-openprops .text-secondary { color: var(--stone) !important; }
body.theme-openprops ::selection { background: var(--brick); color: var(--paper-bright); }
body.theme-openprops :focus-visible { outline: 2px solid var(--brass); outline-offset: 3px; border-radius: 4px; }

/* ───────── Navigation (instrument style) ───────── */
.main-header, .navbar {
    background: color-mix(in oklab, var(--coal) 85%, transparent) !important;
    backdrop-filter: blur(14px) saturate(1.2);
    border-bottom: 1px solid var(--copper-line);
    transition: box-shadow .3s var(--ease-3);
}
.main-header.scrolled { box-shadow: 0 10px 40px rgb(0 0 0 / .5); }
.navbar-brand {
    font-family: var(--font-head);
    font-weight: 700;
    font-size: 1.5rem;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: var(--paper-bright) !important;
    text-shadow: 0 0 40px rgb(184 115 51 / .25);
}
.navbar .nav-link {
    color: var(--stone) !important;
    font-size: .72rem;
    font-weight: 600;
    letter-spacing: .18em;
    text-transform: uppercase;
    padding-inline: 1rem !important;
    position: relative;
    transition: color .2s var(--ease-2);
}
.navbar .nav-link::after {
    content: "";
    position: absolute;
    left: 1rem; right: 1rem; bottom: .2rem;
    height: 1px;
    background: linear-gradient(90deg, var(--copper), transparent);
    transform: scaleX(0);
    transform-origin: left;
    transition: transform .3s var(--ease-3);
}
.navbar .nav-link:hover, .navbar .nav-link.active { color: var(--brass) !important; }
.navbar .nav-link:hover::after, .navbar .nav-link.active::after { transform: scaleX(1); }
.dropdown-menu {
    background: var(--iron);
    border: 1px solid var(--copper-line);
    border-radius: 8px;
    box-shadow: 0 20px 60px rgb(0 0 0 / .55);
}
.dropdown-item { color: var(--paper); font-size: .85rem; }
.dropdown-item:hover { background: var(--iron-3); color: var(--brass); }

/* ───────── Hero ───────── */
.hero-section {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    background:
        radial-gradient(ellipse at 25% 30%, rgb(143 63 46 / .35), transparent 65%),
        radial-gradient(ellipse at 90% 100%, rgb(184 115 51 / .14), transparent 55%),
        linear-gradient(160deg, var(--iron), var(--coal));
    color: var(--paper);
    border: 1px solid var(--copper-line);
    border-radius: 14px;
    margin: var(--size-3);
    padding-block: clamp(2.5rem, 6vw, 5rem);
    box-shadow: inset 0 1px rgb(255 255 255 / .06), 0 30px 80px rgb(0 0 0 / .5);
}
.hero-section::after {
    content: "";
    position: absolute;
    inset: auto -10% -40% 20%;
    height: 80%;
    z-index: -1;
    background: radial-gradient(ellipse at center, rgb(143 63 46 / .35), transparent 65%);
    filter: blur(30px);
}
.hero-section h1, .hero-section h2 { color: var(--paper-bright); }
.hero-section p { color: var(--paper); }
.hero-section h1 {
    font-size: clamp(3rem, 8vw, 6.5rem);
    line-height: .9;
    letter-spacing: -.045em;
    font-weight: 600;
    text-shadow: 0 0 50px rgb(184 115 51 / .12);
}
.hero-section .form-control, .hero-section .search-form input {
    background: rgb(0 0 0 / .45); color: var(--paper); border-color: var(--copper-line);
}
.hero-section .form-control::placeholder { color: var(--stone); }

/* ───────── Panels / cards ───────── */
.card, .stat-card, .server-card, .glass {
    background: linear-gradient(145deg, rgb(255 255 255 / .055), rgb(255 255 255 / .015)), var(--iron);
    color: var(--paper);
    border: 1px solid var(--copper-line);
    border-radius: 10px;
    box-shadow: inset 0 1px rgb(255 255 255 / .06), 0 12px 50px rgb(0 0 0 / .35);
    backdrop-filter: blur(18px);
    transition: transform .3s var(--ease-3), box-shadow .3s var(--ease-3), border-color .25s var(--ease-2);
}
.card-header, .card-footer { background: rgb(0 0 0 / .25); border-color: var(--copper-line); }
.server-card:hover, .stat-card:hover, .hover-lift:hover, .card:hover {
    transform: translateY(-3px);
    border-color: var(--copper-line-strong);
    box-shadow: inset 0 1px rgb(255 255 255 / .08), 0 0 35px rgb(184 115 51 / .12), 0 20px 60px rgb(0 0 0 / .45);
}
.server-card.featured { border-color: var(--brass); box-shadow: 0 0 0 1px var(--aged-gold), 0 0 40px rgb(197 155 91 / .15); }
.rank-badge {
    background: linear-gradient(135deg, var(--brick), var(--copper));
    color: var(--paper-bright);
    border-radius: 50%;
    font-weight: 800;
}
.server-ip {
    font-family: var(--font-monospace-code);
    background: rgb(0 0 0 / .4);
    border: 1px solid var(--copper-line);
    color: var(--brass);
    border-radius: 4px;
    padding: 2px .5rem;
}
.stat-value { font-family: var(--font-head); font-weight: 700; color: var(--brass); }
.text-gradient { background: linear-gradient(90deg, var(--brass), var(--brick-light)); -webkit-background-clip: text; background-clip: text; color: transparent; }
.section-padding { padding-block: var(--size-fluid-8); }

/* ───────── Buttons ───────── */
.btn {
    border-radius: 4px;
    font-size: .78rem;
    font-weight: 700;
    letter-spacing: .14em;
    text-transform: uppercase;
    padding: .65rem 1.4rem;
    transition: transform .2s var(--ease-3), box-shadow .25s var(--ease-3), background .2s var(--ease-2), border-color .2s var(--ease-2);
}
.btn:active { transform: scale(.98); }
.btn-primary, .btn-gradient, .btn-vote {
    background: linear-gradient(180deg, var(--brick-light), var(--brick));
    border: 1px solid var(--copper);
    color: var(--paper-bright);
    box-shadow: inset 0 1px rgb(255 255 255 / .15), 0 6px 24px rgb(143 63 46 / .35);
}
.btn-primary:hover, .btn-gradient:hover, .btn-vote:hover {
    background: linear-gradient(180deg, #c8684a, var(--rust));
    border-color: var(--brass);
    color: #fff;
    box-shadow: inset 0 1px rgb(255 255 255 / .2), 0 0 35px rgb(184 115 51 / .3);
    transform: translateY(-1px);
}
.btn-outline-primary, .btn-outline-light, .btn-outline-secondary { color: var(--paper); border-color: var(--copper-line-strong); background: transparent; }
.btn-outline-primary:hover, .btn-outline-light:hover, .btn-outline-secondary:hover {
    background: rgb(184 115 51 / .14); border-color: var(--brass); color: var(--brass);
}
.btn-success { background: #587040; border-color: #6f8f4e; color: var(--paper-bright); }
.btn-success:hover { background: #6f8f4e; border-color: var(--brass); color: #fff; }
.btn-danger { background: var(--brick); border-color: var(--brick-light); }

/* ───────── Forms ───────── */
.form-control, .form-select, .input-group-text {
    background: rgb(0 0 0 / .4);
    color: var(--paper);
    border: 1px solid var(--copper-line);
    border-radius: 4px;
}
.form-control:focus, .form-select:focus {
    background: rgb(0 0 0 / .55); color: var(--paper-bright);
    border-color: var(--brass);
    box-shadow: 0 0 0 3px rgb(184 115 51 / .2);
}
.form-control::placeholder { color: var(--stone); opacity: .85; }
.form-check-input { background-color: var(--iron-3); border-color: var(--copper-line-strong); }
.form-check-input:checked { background-color: var(--brick); border-color: var(--copper); }
.form-label { font-size: .75rem; letter-spacing: .12em; text-transform: uppercase; color: var(--stone); font-weight: 600; }

/* ───────── Tables, lists, alerts ───────── */
.table { --bs-table-bg: transparent; --bs-table-color: var(--paper); --bs-table-border-color: var(--copper-line); --bs-table-striped-bg: rgb(255 255 255 / .03); --bs-table-hover-bg: rgb(184 115 51 / .08); }
.list-group-item { background: var(--iron); color: var(--paper); border-color: var(--copper-line); }
.alert { border-radius: 6px; }
.badge { border-radius: 3px; font-weight: 700; letter-spacing: .08em; }
.breadcrumb { --bs-breadcrumb-divider-color: var(--stone); font-size: .75rem; letter-spacing: .12em; text-transform: uppercase; }
.breadcrumb-item.active { color: var(--stone); }
.pagination .page-link { background: var(--iron); color: var(--paper); border-color: var(--copper-line); border-radius: 4px; margin-inline: 2px; }
.pagination .page-link:hover { color: var(--brass); border-color: var(--brass); }
.pagination .active .page-link { background: var(--brick); border-color: var(--copper); color: var(--paper-bright); }
.bg-white, .bg-light { background: var(--iron) !important; color: var(--paper) !important; }
.bg-dark { background: var(--coal) !important; color: var(--paper) !important; }
.text-dark { color: var(--paper) !important; }
.border { border-color: var(--copper-line) !important; }
hr { border-color: var(--copper-line); opacity: 1; }

/* ───────── Footer ───────── */
.footer, .main-footer {
    background: linear-gradient(180deg, var(--iron), var(--coal));
    color: var(--stone);
    border-top: 1px solid var(--copper-line);
}
.footer a, .footer-link { color: var(--stone); font-size: .85rem; }
.footer a:hover, .footer-link:hover { color: var(--brass); }
.footer h5, .footer h6 { color: var(--paper-bright); letter-spacing: .12em; text-transform: uppercase; font-size: .8rem; font-family: var(--font-body); font-weight: 700; }

/* ───────── Cookie banner + misc ───────── */
#cookie-consent-banner {
    background: linear-gradient(145deg, rgb(255 255 255 / .05), rgb(255 255 255 / .01)), var(--iron) !important;
    color: var(--paper) !important;
    border: 1px solid var(--copper-line-strong);
    animation: op-rise .5s var(--ease-3);
}
#cookie-consent-banner .text-white-50, #cookie-consent-banner .text-muted { color: var(--stone) !important; }
.back-to-top { background: var(--brick); color: var(--paper-bright); border: 1px solid var(--copper); border-radius: 50%; }
.toast { background: var(--iron); color: var(--paper); border: 1px solid var(--copper-line); border-radius: 8px; }

@keyframes op-rise { from { opacity: 0; } }
.fade-in { animation: op-fade .6s var(--ease-3) both; }
@keyframes op-fade { from { opacity: 0; transform: translateY(var(--size-3)); } }

@media (prefers-reduced-motion: reduce) {
    * { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}

/* ═════════════ Polish layer ═════════════ */
[hidden] { display: none !important; }

/* scrollbar + selection */
html { scrollbar-color: var(--copper) var(--coal); scrollbar-width: thin; }
::-webkit-scrollbar { width: 10px; height: 10px; }
::-webkit-scrollbar-track { background: var(--coal); }
::-webkit-scrollbar-thumb { background: linear-gradient(var(--brick), var(--copper)); border-radius: 10px; border: 2px solid var(--coal); }

/* brand emblem before the wordmark */
.navbar-brand { display: inline-flex; align-items: center; gap: .65rem; }
.navbar-brand::before {
    content: "";
    width: 1.55rem; aspect-ratio: 1;
    background: url("../../../img/favicon.svg") center / contain no-repeat;
    filter: drop-shadow(0 0 10px rgb(184 115 51 / .45));
}

/* section titles get a copper rule */
.section-title, main h2.text-center, .section-padding h2 {
    position: relative;
    padding-bottom: .9rem;
}
.section-title::after, main h2.text-center::after, .section-padding h2::after {
    content: "";
    position: absolute; left: 50%; bottom: 0;
    width: 64px; height: 2px; translate: -50% 0;
    background: linear-gradient(90deg, transparent, var(--copper), transparent);
}

/* light sweep on primary buttons */
.btn-primary, .btn-gradient, .btn-vote { position: relative; overflow: hidden; isolation: isolate; }
.btn-primary::after, .btn-gradient::after, .btn-vote::after {
    content: ""; position: absolute; inset: 0; z-index: -1;
    background: linear-gradient(105deg, transparent 35%, rgb(255 255 255 / .28) 50%, transparent 65%);
    translate: -120% 0; transition: translate .7s var(--ease-3);
}
.btn-primary:hover::after, .btn-gradient:hover::after, .btn-vote:hover::after { translate: 120% 0; }

/* stat cards and step icons */
.stat-card { border-left: 3px solid var(--copper); }
.stat-card i, .stat-card .bi { color: var(--brass); }
.card .rounded-circle, .step-icon {
    background: linear-gradient(145deg, var(--brick), var(--copper)) !important;
    box-shadow: 0 0 30px rgb(184 115 51 / .25), inset 0 1px rgb(255 255 255 / .2);
    color: var(--paper-bright) !important;
}
.card-title, .card h5 { font-family: var(--font-head); font-size: 1.35rem; letter-spacing: -.01em; }

/* banners inside cards */
.server-banner-container { overflow: hidden; border-radius: 9px 9px 0 0; }
.server-banner-container img, .server-thumb { transition: transform .6s var(--ease-3); }
.server-card:hover .server-banner-container img, .server-card:hover .server-thumb { transform: scale(1.05); }

/* footer ornament */
.footer, .main-footer { position: relative; }
.footer::before, .main-footer::before {
    content: ""; position: absolute; top: -1px; left: 50%; translate: -50% 0;
    width: min(420px, 60%); height: 1px;
    background: linear-gradient(90deg, transparent, var(--brass), transparent);
}
.footer hr { border-color: var(--copper-line); }

/* alerts, badges, dropdowns */
.alert { background: rgb(255 255 255 / .04); color: var(--paper); border-color: var(--copper-line); }
.alert-success { border-left: 3px solid #6f8f4e; }
.alert-danger { border-left: 3px solid var(--brick-light); }
.alert-info, .alert-warning { border-left: 3px solid var(--brass); }
.badge.bg-primary { background: var(--brick) !important; }
.badge.bg-success { background: #587040 !important; }
.badge.bg-secondary { background: var(--iron-3) !important; color: var(--paper) !important; }

/* reveal on scroll (progressive enhancement) */
@supports (animation-timeline: view()) {
    .card, .stat-card, .glossary-item, .hero-section .container {
        animation: op-reveal linear both;
        animation-timeline: view();
        animation-range: entry 0% entry 35%;
    }
}
@keyframes op-reveal { from { opacity: 0; translate: 0 22px; } to { opacity: 1; translate: 0 0; } }

/* ═════════════ Glossary ═════════════ */
.glossary-head { text-align: center; max-width: 820px; margin-inline: auto; }
.glossary-kicker { font-size: .72rem; letter-spacing: .3em; text-transform: uppercase; color: var(--brass); font-weight: 700; }
.glossary-head h1 { font-size: clamp(2.6rem, 6vw, 4.6rem); letter-spacing: -.035em; }
.glossary-lead { color: var(--stone); max-width: 640px; margin-inline: auto; }
.glossary-tools { display: grid; gap: .9rem; margin-top: 1.75rem; }
.glossary-tools .form-control { height: 3.1rem; text-align: center; font-size: 1rem; }
.glossary-cats { display: flex; flex-wrap: wrap; gap: .4rem; justify-content: center; }
.glossary-cats .btn { padding: .35rem .9rem; font-size: .68rem; }
.glossary-cats .btn.active { background: rgb(184 115 51 / .2); border-color: var(--brass); color: var(--brass); }
.glossary-az { display: flex; flex-wrap: wrap; gap: .25rem; justify-content: center; margin-top: 1.5rem; }
.glossary-az a {
    display: grid; place-items: center; width: 2rem; aspect-ratio: 1; border-radius: 4px;
    border: 1px solid var(--copper-line); color: var(--stone); font-size: .78rem; font-weight: 700; text-decoration: none;
    transition: all .2s var(--ease-2);
}
.glossary-az a:hover { background: rgb(184 115 51 / .16); color: var(--brass); border-color: var(--brass); }

.glossary-group { margin-top: 3rem; scroll-margin-top: 90px; }
.glossary-letter {
    display: flex; align-items: center; gap: 1rem;
    font-size: clamp(3rem, 7vw, 5rem); line-height: .8; color: var(--copper); font-weight: 600; margin-bottom: 1rem;
}
.glossary-letter::after { content: ""; flex: 1; height: 1px; background: linear-gradient(90deg, var(--copper-line-strong), transparent); }
.glossary-list { display: grid; gap: .8rem; margin: 0; }
.glossary-list { grid-template-columns: repeat(auto-fit, minmax(min(100%, 380px), 1fr)); }
.glossary-item {
    scroll-margin-top: 96px;
    padding: 1.15rem 1.3rem;
    background: linear-gradient(145deg, rgb(255 255 255 / .05), rgb(255 255 255 / .012)), var(--iron);
    border: 1px solid var(--copper-line);
    border-radius: 10px;
    transition: border-color .25s var(--ease-2), transform .25s var(--ease-3), box-shadow .25s var(--ease-3);
}
.glossary-item:hover, .glossary-item:target { border-color: var(--copper-line-strong); transform: translateY(-2px); box-shadow: 0 0 30px rgb(184 115 51 / .12); }
.glossary-item:target { border-color: var(--brass); }
.glossary-item dt { display: flex; align-items: center; justify-content: space-between; gap: .75rem; margin-bottom: .4rem; }
.glossary-term { font-family: var(--font-head); font-size: 1.5rem; font-weight: 700; color: var(--paper-bright) !important; text-decoration: none; letter-spacing: -.01em; }
.glossary-term:hover { color: var(--brass) !important; }
.glossary-badge { background: transparent; border: 1px solid var(--copper-line); color: var(--stone); font-size: .6rem; letter-spacing: .14em; text-transform: uppercase; white-space: nowrap; }
.glossary-item dd { margin: 0; color: var(--paper); line-height: 1.6; }
.glossary-cta { margin-top: 4rem; padding: 2.2rem 1rem; border-top: 1px solid var(--copper-line); }
.glossary-cta p { font-family: var(--font-head); font-size: 1.6rem; color: var(--paper-bright); }
