.site-header nav a:hover,.site-header nav a:focus-visible{color:var(--blue)}
.nav-dictionary{border-bottom:3px solid var(--lime);padding:6px 1px}
.nav-dictionary[aria-current="page"]{color:var(--blue)}
.method a{color:inherit;text-decoration-color:var(--lime);text-underline-offset:4px}

.dictionary-hero{padding:72px 0 58px;background:linear-gradient(135deg,var(--night) 0%,#173756 100%);color:#fff}
.dictionary-hero-grid{display:grid;grid-template-columns:1fr auto;gap:50px;align-items:end}
.dictionary-hero .eyebrow{color:var(--lime)}
.dictionary-hero h1{font-size:clamp(44px,7vw,76px);line-height:1;letter-spacing:-.04em;margin:0 0 22px}
.dictionary-hero .lead{color:#d8e0e7;margin:0;max-width:750px}
.dictionary-stat{width:190px;min-height:160px;background:var(--lime);color:var(--night);border-radius:18px;padding:24px;display:flex;flex-direction:column;justify-content:flex-end}
.dictionary-stat strong{font-size:58px;line-height:.9;letter-spacing:-.05em}
.dictionary-stat span{font-weight:800;line-height:1.25;margin-top:10px}
.dictionary-tools{position:sticky;top:78px;z-index:30;background:#fff;border-bottom:1px solid var(--line);box-shadow:0 8px 24px rgba(16,36,63,.06);padding:24px 0 20px}
.search-label{display:block;font-size:13px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;margin-bottom:8px}
.search-row{display:grid;grid-template-columns:1fr auto;gap:18px;align-items:center}
.search-row input{width:100%;border:1px solid #afbbc5;border-radius:10px;padding:13px 15px;font:inherit;color:var(--night);background:#fff}
.search-row input:focus{outline:3px solid rgba(35,87,217,.2);border-color:var(--blue)}
.search-row p{margin:0;font-size:14px;font-weight:800;color:#526476;white-space:nowrap}
.alphabet{display:grid;grid-template-columns:repeat(26,1fr);gap:5px;margin-top:18px}
.alphabet a,.alphabet span{display:grid;place-items:center;min-height:32px;border-radius:6px;font-size:13px;font-weight:900;text-decoration:none}
.alphabet a{background:var(--mist);color:var(--night)}
.alphabet a:hover,.alphabet a:focus-visible{background:var(--blue);color:#fff}
.alphabet span{color:#a7b0b8;background:#fafbfc}
.dictionary-content{padding-top:46px;padding-bottom:80px}
.dictionary-note{max-width:850px;margin:0 0 44px;border-left:5px solid var(--lime);background:var(--mist);padding:18px 22px;color:#46596b}
.letter-section{scroll-margin-top:225px;margin-bottom:58px}
.letter-heading{display:flex;align-items:end;justify-content:space-between;border-bottom:2px solid var(--night);margin-bottom:18px}
.letter-heading h2{font-size:52px;line-height:1;margin:0 0 10px}
.letter-heading a{color:var(--blue);font-size:13px;font-weight:800;text-decoration:none;margin-bottom:13px}
.definition-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.definition-card{position:relative;border:1px solid var(--line);border-radius:12px;padding:22px 22px 42px;background:#fff;scroll-margin-top:230px}
.definition-card:target{border-color:var(--blue);box-shadow:0 0 0 4px rgba(35,87,217,.12)}
.definition-card h3{font-size:22px;line-height:1.2;margin:0 0 9px}
.definition-card>p{margin:0;color:#4d6071}
.definition-card .term-aliases{font-size:13px;color:#71808d;margin-top:10px}
.term-link{position:absolute;left:22px;bottom:16px;color:var(--blue);font-size:12px;font-weight:800;text-decoration:none;opacity:0}
.definition-card:hover .term-link,.definition-card:focus-within .term-link{opacity:1}
.no-results{background:#fff4d6;border-radius:10px;padding:20px;font-weight:800}
.definition-card[hidden],.letter-section[hidden],.no-results[hidden]{display:none}

.glossary-term{position:relative;font-style:normal;text-decoration:underline;text-decoration-style:dotted;text-decoration-color:var(--blue);text-underline-offset:4px;cursor:help}
.glossary-bubble{position:absolute;left:50%;bottom:calc(100% + 12px);z-index:60;width:min(310px,80vw);transform:translateX(-50%) translateY(5px);background:var(--night);color:#fff;border-radius:10px;padding:14px 16px;font-size:14px;font-weight:400;line-height:1.45;box-shadow:0 12px 36px rgba(16,36,63,.22);opacity:0;visibility:hidden;pointer-events:none;transition:.15s ease}
.glossary-bubble::after{content:"";position:absolute;left:50%;top:100%;transform:translateX(-50%);border:7px solid transparent;border-top-color:var(--night)}
.glossary-bubble a{display:inline-block;color:var(--lime);font-weight:800;margin-top:7px}
.glossary-term:hover .glossary-bubble,.glossary-term:focus .glossary-bubble,.glossary-term.is-open .glossary-bubble{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0);pointer-events:auto}

@media(max-width:900px){
  .site-header nav a:not(.nav-cta):not(.nav-dictionary){display:none}
  .dictionary-hero-grid{grid-template-columns:1fr}
  .dictionary-stat{width:100%;min-height:auto;display:block}
  .dictionary-stat strong{font-size:42px;margin-right:10px}
  .alphabet{grid-template-columns:repeat(13,1fr)}
  .definition-grid{grid-template-columns:1fr}
}
@media(max-width:600px){
  .site-header nav{gap:10px}
  .site-header .nav-cta{display:none}
  .nav-dictionary{display:inline-block!important;font-size:13px!important}
  .dictionary-hero{padding:50px 0 42px}
  .dictionary-tools{top:68px;padding:17px 0 14px}
  .search-row{grid-template-columns:1fr}
  .search-row p{display:none}
  .alphabet{grid-template-columns:repeat(9,1fr);margin-top:13px}
  .alphabet a,.alphabet span{min-height:27px}
  .letter-section{scroll-margin-top:280px}
  .definition-card{scroll-margin-top:285px}
  .dictionary-content{padding-top:30px}
  .glossary-bubble{left:0;transform:translateX(0) translateY(5px)}
  .glossary-bubble::after{left:18px}
  .glossary-term:hover .glossary-bubble,.glossary-term:focus .glossary-bubble,.glossary-term.is-open .glossary-bubble{transform:translateX(0) translateY(0)}
}
