/* ============================================================
   RGM GLOBAL NAV + COMMAND-PALETTE SEARCH — v1.0 (2026-06-04)
   Self-contained: ships its own tokens, themes via
   html[data-theme="light"]. Class namespace: .gnv- / .rgms-
   Loaded on every deployable page. One source of truth.
   ============================================================ */

:root{
  --gnv-bg: rgba(11,30,56,.78);
  --gnv-bg-solid:#0E2A4E;
  --gnv-ink:#EAF1FA;
  --gnv-mute:rgba(234,241,250,.62);
  --gnv-rule:rgba(123,176,255,.22);
  --gnv-blue:#7FB2F0;
  --gnv-green:#3FB46B;
  --gnv-green-bright:#4CCB7E;
  --gnv-mono:'JetBrains Mono',ui-monospace,'SFMono-Regular',Menlo,monospace;
  --gnv-sans:'Archivo',system-ui,-apple-system,'Segoe UI',sans-serif;
  --gnv-z:2147483000;
}
html[data-theme="light"]{
  --gnv-bg: rgba(244,244,241,.88);
  --gnv-bg-solid:#F4F4F1;
  --gnv-ink:#0A0B0D;
  --gnv-mute:rgba(10,11,13,.55);
  --gnv-rule:rgba(10,11,13,.14);
  --gnv-blue:#1F4E8C;
  --gnv-green:#1F8A4C;
  --gnv-green-bright:#1F8A4C;
}

/* Hide legacy standalone theme toggles — the global nav owns the control now */
body > .bp-toggle, #rgmTheme, #bp-toggle:not(.gnv-el){ display:none !important; }

/* ---------------- BAR ---------------- */
.gnv{ position:sticky; top:0; z-index:var(--gnv-z);
  background:var(--gnv-bg); backdrop-filter:blur(10px) saturate(1.15); -webkit-backdrop-filter:blur(10px) saturate(1.15);
  border-bottom:1px solid var(--gnv-rule); font-family:var(--gnv-sans); }
.gnv *{ box-sizing:border-box; }
.gnv-row{ max-width:1280px; margin:0 auto; padding:0 clamp(16px,3vw,40px);
  display:flex; align-items:center; justify-content:space-between; gap:24px; min-height:58px; }
.gnv-brand{ display:flex; align-items:center; gap:10px; text-decoration:none; color:var(--gnv-ink); flex:none; }
.gnv-glyph{ width:21px; height:21px; color:var(--gnv-green); display:inline-flex; }
.gnv-glyph svg{ width:100%; height:100%; }
.gnv-word{ font-family:var(--gnv-mono); font-size:11px; letter-spacing:.22em; text-transform:uppercase; white-space:nowrap; }
.gnv-word em{ font-style:normal; color:var(--gnv-green); padding:0 1px; }
.gnv-menu{ display:flex; align-items:center; gap:clamp(12px,1.6vw,26px); }
.gnv-menu > a:not(.gnv-cta){ position:relative; font-family:var(--gnv-mono); font-size:11px; letter-spacing:.16em;
  text-transform:uppercase; color:var(--gnv-ink); text-decoration:none; padding:20px 0; white-space:nowrap; }
.gnv-menu > a:not(.gnv-cta)::after{ content:''; position:absolute; left:0; right:0; bottom:14px; height:1px;
  background:var(--gnv-green); transform:scaleX(0); transform-origin:left; transition:transform .3s cubic-bezier(.2,.7,.1,1); }
.gnv-menu > a:not(.gnv-cta):hover::after, .gnv-menu > a[aria-current]::after{ transform:scaleX(1); }
.gnv-menu > a[aria-current]{ color:var(--gnv-green-bright); }
.gnv-search{ display:inline-flex; align-items:center; gap:8px; font-family:var(--gnv-mono); font-size:11px;
  letter-spacing:.16em; text-transform:uppercase; color:var(--gnv-ink); text-decoration:none; cursor:pointer;
  border:1px solid var(--gnv-rule); background:transparent; padding:7px 12px; transition:border-color .2s,color .2s; }
.gnv-search:hover{ border-color:var(--gnv-green); color:var(--gnv-green-bright); }
.gnv-search .gnv-k{ font-family:var(--gnv-mono); font-size:9px; letter-spacing:.08em; border:1px solid var(--gnv-rule);
  padding:1px 5px; color:var(--gnv-mute); border-radius:2px; }
.gnv-theme{ font-family:var(--gnv-mono); font-size:13px; line-height:1; color:var(--gnv-ink); background:transparent;
  border:1px solid var(--gnv-rule); padding:7px 9px; cursor:pointer; transition:border-color .2s,color .2s; }
.gnv-theme:hover{ border-color:var(--gnv-green); color:var(--gnv-green-bright); }
.gnv-cta{ font-family:var(--gnv-mono); font-size:11px; letter-spacing:.18em; text-transform:uppercase; text-decoration:none;
  color:#07101D; background:var(--gnv-green); padding:9px 16px; white-space:nowrap; transition:filter .2s; }
html[data-theme="light"] .gnv-cta{ color:#F4F4F1; }
.gnv-cta:hover{ filter:brightness(1.12); }
.gnv-burger{ display:none; position:relative; width:54px; height:48px; padding:0; background:transparent; border:0;
  border-radius:10px; cursor:pointer; align-items:center; justify-content:center; font-size:0; color:var(--gnv-ink);
  -webkit-tap-highlight-color:transparent; transition:background .25s; }
.gnv-burger::before{ content:""; position:absolute; inset:5px; border-radius:10px;
  background:radial-gradient(circle at 66% 34%,rgba(76,203,126,.22),transparent 66%); opacity:0; transition:opacity .3s; }
.gnv-burger:hover::before,.gnv-burger:focus-visible::before{ opacity:1; }
.gnv-burger:focus-visible{ outline:1px solid var(--gnv-green); outline-offset:2px; }
.gnv-ico{ width:31px; height:31px; display:block; overflow:visible; }
.gnv-ico .grow,.gnv-ico .recl{ transition:opacity .3s ease,transform .45s cubic-bezier(.7,0,.2,1); transform-box:fill-box; transform-origin:center; }
.gnv-ico .curve{ stroke-dasharray:30; stroke-dashoffset:0; transition:stroke-dashoffset .5s cubic-bezier(.4,0,.2,1); }
.gnv-ico .arr{ transition:transform .4s cubic-bezier(.4,0,.2,1); }
.gnv-ico .v{ transition:transform .4s,opacity .3s; transform-box:fill-box; transform-origin:center; }
.gnv-ico .recl{ opacity:0; transform:scale(.45) rotate(-35deg); }
.gnv-ico .x{ stroke-dasharray:12; stroke-dashoffset:12; transition:stroke-dashoffset .35s ease; }
.gnv-ico .ring{ stroke-dasharray:58; stroke-dashoffset:58; transition:stroke-dashoffset .5s ease; }
.gnv-burger:hover .gnv-ico .grow{ transform:translateY(-1.5px); }
.gnv-burger:hover .gnv-ico .curve{ animation:gnvDraw .65s cubic-bezier(.4,0,.2,1); }
.gnv-burger:hover .gnv-ico .v4{ animation:gnvPulse 1.1s ease-in-out infinite; }
.gnv-burger:hover .gnv-ico .arr{ transform:translate(.5px,-1px); }
@keyframes gnvDraw{ 0%{ stroke-dashoffset:30; } 100%{ stroke-dashoffset:0; } }
@keyframes gnvPulse{ 0%,100%{ transform:scale(1); } 50%{ transform:scale(1.5); } }
.gnv-burger.gnv-on .gnv-ico .grow{ opacity:0; transform:translateY(-4px) scale(.55) rotate(8deg); }
.gnv-burger.gnv-on .gnv-ico .recl{ opacity:1; transform:none; }
.gnv-burger.gnv-on .gnv-ico .x{ stroke-dashoffset:0; transition:stroke-dashoffset .4s ease .12s; }
.gnv-burger.gnv-on .gnv-ico .ring{ stroke-dashoffset:0; transition:stroke-dashoffset .55s ease .06s; }
@media (prefers-reduced-motion:reduce){
  .gnv-ico .grow,.gnv-ico .recl,.gnv-ico .curve,.gnv-ico .x,.gnv-ico .ring{ transition:none; }
  .gnv-burger:hover .gnv-ico .curve,.gnv-burger:hover .gnv-ico .v4{ animation:none; }
  .gnv-ico .x,.gnv-ico .ring{ stroke-dasharray:none; stroke-dashoffset:0; }
}

@media (max-width:1080px){
  .gnv-word{ display:none; }
}
@media (max-width:880px){
  .gnv-burger{ display:inline-flex; align-items:center; gap:8px; }
  .gnv-menu{ display:none; position:fixed; inset:58px 0 auto 0; max-height:calc(100vh - 58px); overflow:auto;
    flex-direction:column; align-items:stretch; gap:0; background:var(--gnv-bg-solid);
    border-bottom:1px solid var(--gnv-rule); padding:8px 20px 20px; }
  .gnv-menu.gnv-open{ display:flex; }
  .gnv-menu > a:not(.gnv-cta){ padding:14px 4px; border-bottom:1px solid var(--gnv-rule); font-size:12px; }
  .gnv-menu > a:not(.gnv-cta)::after{ display:none; }
  .gnv-search{ margin:14px 4px 0; justify-content:center; }
  .gnv-theme{ margin:10px 4px 0; }
  .gnv-cta{ margin:10px 4px 0; text-align:center; }
  .gnv-word{ display:inline; }
}
@media print{ .gnv{ display:none; } }

/* ---------------- COMMAND PALETTE ---------------- */
.rgms-root{ position:fixed; inset:0; z-index:calc(var(--gnv-z) + 1); display:none; font-family:var(--gnv-sans); }
.rgms-root.rgms-on{ display:block; }
.rgms-veil{ position:absolute; inset:0; background:rgba(5,14,27,.86); backdrop-filter:blur(6px); -webkit-backdrop-filter:blur(6px); }
html[data-theme="light"] .rgms-veil{ background:rgba(14,33,56,.78); }
.rgms-veil::before{ content:''; position:absolute; inset:0; opacity:.5; pointer-events:none;
  background-image:linear-gradient(rgba(123,176,255,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(123,176,255,.07) 1px,transparent 1px);
  background-size:48px 48px; }
.rgms-coord{ position:absolute; font-family:var(--gnv-mono); font-size:10px; letter-spacing:.22em; color:rgba(127,178,240,.5);
  text-transform:uppercase; pointer-events:none; user-select:none; }
.rgms-coord.tl{ top:18px; left:22px; } .rgms-coord.tr{ top:18px; right:22px; text-align:right; }
.rgms-coord.bl{ bottom:18px; left:22px; } .rgms-coord.br{ bottom:18px; right:22px; text-align:right; }
@media (max-width:720px){ .rgms-coord{ display:none; } }

.rgms-panel{ position:relative; margin:11vh auto 0; width:min(740px,calc(100vw - 28px));
  background:#0B2240; border:1px solid rgba(123,176,255,.38); box-shadow:0 30px 90px rgba(0,0,0,.55), 0 0 0 1px rgba(63,180,107,.08), 0 0 44px rgba(63,180,107,.07);
  display:flex; flex-direction:column; max-height:74vh; animation:rgmsIn .18s cubic-bezier(.2,.7,.1,1); }
@media (max-width:720px){ .rgms-panel{ margin-top:8px; max-height:calc(100dvh - 16px); } }
@keyframes rgmsIn{ from{ opacity:0; transform:translateY(10px) scale(.985); } to{ opacity:1; transform:none; } }
.rgms-panel::after{ content:''; position:absolute; left:0; right:0; top:0; height:1px;
  background:linear-gradient(90deg,transparent,var(--gnv-green-bright),transparent);
  animation:rgmsSweep 1.1s cubic-bezier(.2,.7,.1,1) 1; opacity:0; }
@keyframes rgmsSweep{ 0%{ opacity:.9; transform:translateY(0); } 100%{ opacity:0; transform:translateY(min(72vh,520px)); } }
@media (prefers-reduced-motion:reduce){ .rgms-panel{ animation:none; } .rgms-panel::after{ animation:none; } }
/* corner ticks */
.rgms-tick{ position:absolute; width:10px; height:10px; border:1px solid var(--gnv-green); pointer-events:none; }
.rgms-tick.tl{ top:-1px; left:-1px; border-right:0; border-bottom:0; }
.rgms-tick.tr{ top:-1px; right:-1px; border-left:0; border-bottom:0; }
.rgms-tick.bl{ bottom:-1px; left:-1px; border-right:0; border-top:0; }
.rgms-tick.br{ bottom:-1px; right:-1px; border-left:0; border-top:0; }

.rgms-head{ display:flex; align-items:center; justify-content:space-between; padding:10px 16px 0; }
.rgms-sheet{ font-family:var(--gnv-mono); font-size:10px; letter-spacing:.24em; color:rgba(127,178,240,.65); text-transform:uppercase; }
.rgms-sheet b{ color:var(--gnv-green-bright); font-weight:400; }
.rgms-esc{ font-family:var(--gnv-mono); font-size:10px; letter-spacing:.14em; color:rgba(234,241,250,.45);
  background:transparent; border:1px solid rgba(123,176,255,.25); padding:3px 8px; cursor:pointer; text-transform:uppercase; }
.rgms-esc:hover{ color:#EAF1FA; border-color:var(--gnv-green); }

.rgms-inrow{ display:flex; align-items:center; gap:14px; padding:14px 18px 14px; border-bottom:1px solid rgba(123,176,255,.22); }
.rgms-lens{ width:20px; height:20px; flex:none; color:var(--gnv-green-bright); }
.rgms-input{ flex:1; background:transparent; border:0; outline:0; color:#FFFFFF; font-family:var(--gnv-mono);
  font-size:clamp(15px,2.4vw,19px); letter-spacing:.04em; caret-color:var(--gnv-green-bright); min-width:0; }
.rgms-input::placeholder{ color:rgba(234,241,250,.38); }
.rgms-count{ font-family:var(--gnv-mono); font-size:10px; letter-spacing:.18em; color:rgba(127,178,240,.7);
  text-transform:uppercase; white-space:nowrap; }
.rgms-count b{ color:var(--gnv-green-bright); font-weight:400; }
@media (max-width:560px){ .rgms-count{ display:none; } }

.rgms-head,.rgms-inrow,.rgms-filters,.rgms-foot{ flex:none; }
.rgms-filters{ display:flex; gap:8px; padding:10px 16px; overflow-x:auto; scrollbar-width:none; border-bottom:1px solid rgba(123,176,255,.14); }
.rgms-filters::-webkit-scrollbar{ display:none; }
.rgms-chip{ font-family:var(--gnv-mono); font-size:10px; letter-spacing:.16em; text-transform:uppercase;
  color:rgba(234,241,250,.6); background:transparent; border:1px solid rgba(123,176,255,.25); padding:5px 11px;
  cursor:pointer; white-space:nowrap; transition:all .15s; }
.rgms-chip:hover{ color:#EAF1FA; border-color:rgba(123,176,255,.6); }
.rgms-chip.on{ color:#07101D; background:var(--gnv-green); border-color:var(--gnv-green); }
.rgms-chip .n{ opacity:.65; margin-left:5px; }

.rgms-body{ overflow-y:auto; overscroll-behavior:contain; flex:1; }
.rgms-list{ list-style:none; margin:0; padding:6px 0; }
.rgms-item{ display:block; padding:10px 18px; cursor:pointer; border-left:2px solid transparent; text-decoration:none; }
.rgms-item.sel{ background:rgba(63,180,107,.10); border-left-color:var(--gnv-green-bright); }
.rgms-t{ color:#EAF1FA; font-size:15px; line-height:1.35; font-family:var(--gnv-sans); }
.rgms-t mark{ background:transparent; color:var(--gnv-green-bright); text-decoration:underline; text-underline-offset:3px; }
.rgms-p{ display:flex; align-items:center; gap:10px; margin-top:3px; }
.rgms-url{ font-family:var(--gnv-mono); font-size:10.5px; letter-spacing:.06em; color:rgba(127,178,240,.66); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.rgms-tag{ font-family:var(--gnv-mono); font-size:9px; letter-spacing:.18em; text-transform:uppercase; color:rgba(234,241,250,.5);
  border:1px solid rgba(123,176,255,.22); padding:1px 6px; flex:none; }
.rgms-item.sel .rgms-tag{ color:var(--gnv-green-bright); border-color:rgba(63,180,107,.5); }
.rgms-ret{ float:right; font-family:var(--gnv-mono); font-size:10px; color:var(--gnv-green-bright); opacity:0; }
.rgms-item.sel .rgms-ret{ opacity:1; }

.rgms-zero,.rgms-load{ padding:34px 18px 38px; text-align:center; font-family:var(--gnv-mono); color:rgba(234,241,250,.55);
  font-size:12px; letter-spacing:.12em; text-transform:uppercase; }
.rgms-load .bar{ width:min(320px,70%); height:2px; margin:16px auto 0; background:rgba(123,176,255,.18); position:relative; overflow:hidden; }
.rgms-load .bar i{ position:absolute; inset:0; transform-origin:left; background:var(--gnv-green-bright); animation:rgmsBar 1.1s ease-in-out infinite; }
@keyframes rgmsBar{ 0%{ transform:scaleX(0); } 60%{ transform:scaleX(.8); } 100%{ transform:scaleX(1); opacity:0; } }

.rgms-sect{ font-family:var(--gnv-mono); font-size:9.5px; letter-spacing:.26em; text-transform:uppercase;
  color:rgba(127,178,240,.55); padding:14px 18px 4px; }
.rgms-quick{ display:grid; grid-template-columns:repeat(auto-fill,minmax(150px,1fr)); gap:8px; padding:8px 18px 16px; }
.rgms-quick a{ font-family:var(--gnv-mono); font-size:11px; letter-spacing:.14em; text-transform:uppercase; text-decoration:none;
  color:#EAF1FA; border:1px solid rgba(123,176,255,.25); padding:10px 12px; transition:all .15s; position:relative; }
.rgms-quick a:hover{ border-color:var(--gnv-green); color:var(--gnv-green-bright); }
.rgms-quick a::before{ content:'›'; color:var(--gnv-green-bright); margin-right:8px; }

.rgms-foot{ display:flex; align-items:center; justify-content:space-between; gap:12px; padding:9px 16px;
  border-top:1px solid rgba(123,176,255,.22); }
.rgms-keys{ display:flex; gap:14px; font-family:var(--gnv-mono); font-size:9.5px; letter-spacing:.1em;
  color:rgba(234,241,250,.45); text-transform:uppercase; }
.rgms-keys kbd{ font-family:inherit; border:1px solid rgba(123,176,255,.25); padding:0 5px; border-radius:2px; margin-right:4px; }
.rgms-stat{ font-family:var(--gnv-mono); font-size:9.5px; letter-spacing:.16em; color:rgba(127,178,240,.65); text-transform:uppercase; }
.rgms-stat .dot{ display:inline-block; width:5px; height:5px; border-radius:50%; background:var(--gnv-green-bright);
  margin-right:7px; vertical-align:1px; animation:rgmsPulse 2s infinite; }
@keyframes rgmsPulse{ 0%,100%{ opacity:1; } 50%{ opacity:.3; } }
@media (max-width:560px){ .rgms-keys{ display:none; } }

body.rgms-lock{ overflow:hidden; }

/* ---------------- /search/ FULL PAGE ---------------- */
.rgms-page{ max-width:860px; margin:0 auto; padding:40px clamp(16px,4vw,40px) 80px; font-family:var(--gnv-sans); }
.rgms-page .rgms-inrow{ border:1px solid rgba(123,176,255,.35); }
.rgms-page .rgms-filters{ border-bottom:0; padding-left:0; padding-right:0; }
.rgms-page .rgms-item{ padding-left:0; padding-right:0; border-left:0; }
.rgms-page .rgms-item.sel{ background:transparent; }
.rgms-page .rgms-item:hover .rgms-t{ color:var(--gnv-green-bright); }
.rgms-page-title{ font-family:var(--gnv-mono); font-size:11px; letter-spacing:.26em; text-transform:uppercase; color:rgba(127,178,240,.8); margin:0 0 18px; }


/* ---------------- MOBILE BLUEPRINT MENU (RGMM) ---------------- */
.rgmm-root{ position:fixed; inset:0; z-index:calc(var(--gnv-z) - 1); visibility:hidden; pointer-events:none; font-family:var(--gnv-sans); }
.rgmm-root.rgmm-on{ visibility:visible; pointer-events:auto; }
.rgmm-veil{ position:absolute; inset:0; background:#0A1F3C; opacity:0; transition:opacity .4s ease; }
html[data-theme="light"] .rgmm-veil{ background:#EEEFEA; }
.rgmm-root.rgmm-on .rgmm-veil{ opacity:1; }
.rgmm-veil::before{ content:""; position:absolute; inset:0; opacity:.6;
  background-image:linear-gradient(rgba(123,176,255,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(123,176,255,.06) 1px,transparent 1px);
  background-size:44px 44px; }
html[data-theme="light"] .rgmm-veil::before{ background-image:linear-gradient(rgba(31,78,140,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(31,78,140,.07) 1px,transparent 1px); }
.rgmm-fig{ position:absolute; right:-60px; bottom:-40px; width:380px; max-width:90vw; opacity:.16; color:var(--gnv-blue); pointer-events:none; }
.rgmm-fig svg{ width:100%; height:auto; }
.rgmm-coord{ position:absolute; font-family:var(--gnv-mono); font-size:10px; letter-spacing:.2em; color:rgba(127,178,240,.55); text-transform:uppercase; }
.rgmm-coord.tl{ top:70px; left:22px; } .rgmm-coord.tr{ top:70px; right:22px; text-align:right; }
.rgmm-sweep{ position:absolute; left:0; right:0; top:0; height:1px; background:linear-gradient(90deg,transparent,var(--gnv-green-bright),transparent); opacity:0; }
.rgmm-root.rgmm-on .rgmm-sweep{ animation:rgmmSweep 1s cubic-bezier(.2,.7,.1,1) .05s 1; }
@keyframes rgmmSweep{ 0%{ opacity:.9; transform:translateY(58px); } 100%{ opacity:0; transform:translateY(100vh); } }
.rgmm-inner{ position:absolute; inset:0; display:flex; flex-direction:column; padding:104px 22px 26px; overflow-y:auto; }
.rgmm-eyebrow{ font-family:var(--gnv-mono); font-size:10px; letter-spacing:.28em; text-transform:uppercase; color:rgba(127,178,240,.7);
  opacity:0; transform:translateY(8px); transition:opacity .4s .08s,transform .4s .08s; }
.rgmm-root.rgmm-on .rgmm-eyebrow{ opacity:1; transform:none; }
.rgmm-list{ margin:18px 0 0; display:flex; flex-direction:column; }
.rgmm-link{ display:flex; align-items:baseline; gap:16px; text-decoration:none; color:var(--gnv-ink); padding:14px 0; position:relative;
  border-bottom:1px solid var(--gnv-rule); opacity:0; transform:translateY(14px);
  transition:opacity .5s cubic-bezier(.2,.7,.1,1),transform .5s cubic-bezier(.2,.7,.1,1); transition-delay:calc(var(--i)*55ms + .12s); }
.rgmm-root.rgmm-on .rgmm-link{ opacity:1; transform:none; }
.rgmm-num{ font-family:var(--gnv-mono); font-size:12px; letter-spacing:.1em; color:var(--gnv-green-bright); min-width:26px; flex:none; }
.rgmm-lab{ font-size:clamp(30px,9vw,40px); font-weight:800; letter-spacing:-.01em; line-height:1; flex:1; }
.rgmm-ar{ font-family:var(--gnv-mono); font-size:18px; color:var(--gnv-mute); transition:transform .3s,color .3s; }
.rgmm-link::after{ content:""; position:absolute; left:0; bottom:-1px; height:1px; width:0; background:var(--gnv-green-bright); transition:width .35s cubic-bezier(.2,.7,.1,1); }
.rgmm-link:hover::after,.rgmm-link:active::after{ width:100%; }
.rgmm-link:hover .rgmm-ar,.rgmm-link:active .rgmm-ar{ transform:translateX(6px); color:var(--gnv-green-bright); }
.rgmm-link:hover .rgmm-lab{ color:var(--gnv-green-bright); }
.rgmm-tools{ display:flex; gap:10px; margin-top:22px; opacity:0; transform:translateY(12px); transition:opacity .5s,transform .5s; transition-delay:.5s; }
.rgmm-root.rgmm-on .rgmm-tools{ opacity:1; transform:none; }
.rgmm-tool{ flex:1; display:flex; align-items:center; justify-content:center; gap:9px; font-family:var(--gnv-mono); font-size:11px;
  letter-spacing:.14em; text-transform:uppercase; color:var(--gnv-ink); background:transparent; border:1px solid var(--gnv-rule);
  padding:13px 12px; cursor:pointer; transition:border-color .2s,color .2s; }
.rgmm-tool:hover{ border-color:var(--gnv-green); color:var(--gnv-green-bright); }
.rgmm-tool kbd{ font-family:var(--gnv-mono); font-size:9px; border:1px solid var(--gnv-rule); padding:1px 5px; border-radius:2px; color:var(--gnv-mute); }
.rgmm-cta{ margin-top:12px; display:flex; align-items:center; justify-content:space-between; font-family:var(--gnv-mono); font-size:13px;
  letter-spacing:.16em; text-transform:uppercase; text-decoration:none; color:#07101D; background:var(--gnv-green); padding:16px 18px;
  opacity:0; transform:translateY(12px); transition:opacity .5s,transform .5s,filter .2s; transition-delay:.56s; }
html[data-theme="light"] .rgmm-cta{ color:#F4F4F1; }
.rgmm-root.rgmm-on .rgmm-cta{ opacity:1; transform:none; }
.rgmm-cta:hover{ filter:brightness(1.12); }
.rgmm-foot{ margin-top:auto; padding-top:22px; display:flex; align-items:center; justify-content:space-between; gap:12px;
  font-family:var(--gnv-mono); font-size:10px; letter-spacing:.16em; text-transform:uppercase; color:rgba(127,178,240,.6);
  opacity:0; transition:opacity .5s; transition-delay:.62s; }
.rgmm-root.rgmm-on .rgmm-foot{ opacity:1; }
.rgmm-status .dot{ display:inline-block; width:6px; height:6px; border-radius:50%; background:var(--gnv-green-bright); margin-right:8px;
  vertical-align:1px; animation:rgmmPulse 2s infinite; }
@keyframes rgmmPulse{ 0%,100%{ opacity:1; } 50%{ opacity:.3; } }
body.rgmm-lock{ overflow:hidden; }
@media (min-width:881px){ .rgmm-root{ display:none; } }
@media (prefers-reduced-motion:reduce){
  .rgmm-link,.rgmm-eyebrow,.rgmm-tools,.rgmm-cta,.rgmm-foot{ transition:none!important; opacity:1!important; transform:none!important; }
  .rgmm-root.rgmm-on .rgmm-sweep{ animation:none; }
}

/* search: relevance tiers + did-you-mean (2026-06-11) */
.rgms-tier{ display:flex; align-items:center; justify-content:space-between; }
.rgms-tier-n{ font-family:var(--gnv-mono); font-size:9px; letter-spacing:.14em; color:var(--gnv-green-bright);
  border:1px solid rgba(63,180,107,.4); border-radius:3px; padding:1px 6px; }
.rgms-sect.rgms-tier:first-child{ color:var(--gnv-green-bright); }
.rgms-dymlab{ margin:18px 0 10px; font-family:var(--gnv-mono); font-size:9.5px; letter-spacing:.26em; text-transform:uppercase; opacity:.6; }
.rgms-dym{ display:flex; flex-wrap:wrap; gap:8px; justify-content:center; }
.rgms-dym button{ font-family:var(--gnv-sans); font-size:13px; color:#EAF1FA; cursor:pointer;
  background:rgba(63,180,107,.10); border:1px solid rgba(63,180,107,.34); border-radius:999px; padding:6px 14px; transition:all .14s; }
.rgms-dym button:hover{ background:var(--gnv-green); color:#07101D; border-color:var(--gnv-green); }

/* nav brand logo — monochrome (theme ink, never green) + continuous swirl, matching the footer mark (2026-06-11) */
.gnv-glyph svg path{ stroke-dasharray:40 20; animation:rgm-mark-swirl 4s linear infinite; }
@keyframes rgm-mark-swirl{ to{ stroke-dashoffset:-60; } }
@media (prefers-reduced-motion:reduce){ .gnv-glyph svg path{ animation:none; stroke-dasharray:none; } }
