/* Searchable glossary, built on the Field + Edge site system. */

.glossary-hero{ padding:64px 0 72px; border-bottom:1px solid var(--line); }
.glossary-hero-grid{ display:grid; grid-template-columns:1.25fr .75fr; gap:64px; align-items:end; margin-top:34px; }
.glossary-h1{ font-size:clamp(42px,6.5vw,96px); }
.glossary-intro{ margin-top:18px; max-width:520px; }

.glossary-main{ padding:0 0 112px; }
.glossary-controls{ position:sticky; top:72px; z-index:20; display:grid; grid-template-columns:minmax(320px,1fr) minmax(190px,.4fr) minmax(150px,.28fr); gap:12px; padding:24px 0; background:rgba(248,247,240,.96); backdrop-filter:blur(10px); border-bottom:1px solid var(--line); }
.glossary-controls label{ display:block; margin-bottom:8px; font-family:var(--font-eyebrow); font-size:10px; font-weight:600; letter-spacing:.14em; text-transform:uppercase; color:var(--fg3); }
.glossary-search-input{ position:relative; }
.glossary-search-input svg{ position:absolute; left:17px; top:50%; width:19px; height:19px; transform:translateY(-50%); fill:none; stroke:var(--fg3); stroke-width:1.7; pointer-events:none; }
.glossary-controls input,.glossary-controls select{ width:100%; height:52px; border:1px solid var(--line); border-radius:var(--radius-md); background:var(--paper); color:var(--ink); font:500 15px/1 var(--font-body); outline:none; transition:border-color var(--dur-quick),box-shadow var(--dur-quick); }
.glossary-controls input{ padding:0 18px 0 48px; }
.glossary-controls select{ padding:0 40px 0 16px; }
.glossary-controls input::placeholder{ color:var(--smoke); font-weight:400; }
.glossary-controls input:focus,.glossary-controls select:focus{ border-color:var(--amber); box-shadow:0 0 0 3px rgba(140,149,248,.18); }

.glossary-status{ display:flex; justify-content:space-between; align-items:center; min-height:68px; border-bottom:1px solid var(--ink); font-family:var(--font-eyebrow); font-size:11px; font-weight:600; letter-spacing:.14em; text-transform:uppercase; color:var(--fg3); }
.glossary-status button{ border:0; padding:8px 0; background:transparent; color:var(--amber); font:inherit; letter-spacing:inherit; text-transform:inherit; }
.glossary-status button:hover{ color:var(--ink); }

.glossary-entry{ border-bottom:1px solid var(--line); scroll-margin-top:188px; }
.glossary-entry summary{ position:relative; display:grid; grid-template-columns:minmax(0,1fr) auto; gap:28px; align-items:center; padding:26px 52px 26px 0; list-style:none; cursor:pointer; }
.glossary-entry summary::-webkit-details-marker{ display:none; }
.glossary-entry summary::after{ content:"+"; position:absolute; right:5px; top:50%; transform:translateY(-50%); color:var(--amber); font:400 27px/1 var(--font-body); transition:transform var(--dur-quick); }
.glossary-entry[open] summary::after{ transform:translateY(-50%) rotate(45deg); }
.glossary-entry[open]{ background:rgba(235,225,217,.34); }
.glossary-term{ font-family:var(--font-display); font-size:clamp(25px,2.4vw,36px); font-weight:600; line-height:1.04; text-transform:uppercase; color:var(--ink); }
.glossary-meta{ display:flex; justify-content:flex-end; gap:8px; flex-wrap:wrap; }
.glossary-meta span{ border:1px solid var(--bone); border-radius:var(--radius-pill); padding:6px 10px; font-family:var(--font-eyebrow); font-size:10px; letter-spacing:.08em; text-transform:uppercase; color:var(--fg3); }
.glossary-entry-body{ display:grid; grid-template-columns:1fr 1fr; gap:26px 48px; max-width:980px; padding:4px 52px 34px 0; }
.glossary-entry-body p{ margin:0; font-family:var(--font-body); font-size:15.5px; line-height:1.65; color:var(--fg2); }
.glossary-entry-body .glossary-label{ margin-bottom:8px; font-family:var(--font-eyebrow); font-size:10px; font-weight:600; line-height:1.2; letter-spacing:.14em; text-transform:uppercase; color:var(--amber); }
.glossary-related-list{ display:flex; flex-wrap:wrap; gap:8px; }
.glossary-related{ border:1px solid var(--bone); border-radius:var(--radius-pill); padding:6px 10px; background:var(--paper); color:var(--fg2); font:500 12px/1.2 var(--font-body); transition:border-color var(--dur-quick),color var(--dur-quick); }
.glossary-related:hover{ border-color:var(--amber); color:var(--ink); }
.glossary-source{ margin-top:2px; }
.glossary-empty{ padding:80px 0; border-bottom:1px solid var(--line); text-align:center; color:var(--fg2); }
.glossary-empty p{ margin:0; }
.glossary-empty .glossary-empty-title{ margin-bottom:8px; font-family:var(--font-display); font-size:28px; font-weight:600; text-transform:uppercase; color:var(--ink); }
.glossary-noscript{ padding:32px 0; font-size:16px; color:var(--fg2); }
.glossary-news{ padding-top:88px; padding-bottom:88px; }

@media (max-width:900px){
  .glossary-hero-grid{ grid-template-columns:1fr; gap:30px; }
  .glossary-controls{ grid-template-columns:1fr 1fr; }
  .glossary-search-field{ grid-column:1 / -1; }
}

@media (max-width:620px){
  .glossary-hero{ padding:48px 0 56px; }
  .glossary-controls{ position:relative; top:auto; grid-template-columns:1fr; padding:22px 0; }
  .glossary-search-field{ grid-column:auto; }
  .glossary-entry summary{ grid-template-columns:1fr; gap:10px; padding:23px 42px 23px 0; }
  .glossary-meta{ justify-content:flex-start; }
  .glossary-entry-body{ grid-template-columns:1fr; gap:22px; padding:0 0 30px; }
  .glossary-status{ min-height:58px; }
}

@media (prefers-reduced-motion:reduce){
  .glossary-entry summary::after{ transition:none; }
}
