/* Shared header + help panel. Pasted header/help markup lives in site-source/partials/. */
@keyframes rn-logo-swivel { 0% { transform: rotateY(-45deg); } 50% { transform: rotateY(45deg); } 100% { transform: rotateY(-45deg); } }
@keyframes rn-bot-in { from { opacity: 0; transform: translateY(14px) scale(0.97); } to { opacity: 1; transform: none; } }
@keyframes rn-bot-nudge { 0%, 88%, 100% { transform: translateY(0) rotate(0deg); } 92% { transform: translateY(-7px) rotate(-2deg); } 96% { transform: translateY(-3px) rotate(1deg); } }

html { color-scheme: dark; -webkit-text-size-adjust: 100%; text-size-adjust: 100%; scrollbar-color: #2a3050 #0B0E1C; }
body { -moz-osx-font-smoothing: grayscale; text-rendering: optimizeLegibility; }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { animation-duration: 0.01ms !important; animation-iteration-count: 1 !important; transition-duration: 0.01ms !important; scroll-behavior: auto !important; } }
[id] { scroll-margin-top: 84px; }
.rn-hspace { height: 69px; }
.rn-header { position: fixed; top: 0; left: 0; right: 0; z-index: 1000; background: rgba(11,14,28,0.92); backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px); border-bottom: 1px solid #1B2038; }
.rn-hbar { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 14px 24px; max-width: 1180px; margin: 0 auto; }
.rn-brand { display: flex; align-items: center; gap: 12px; flex: 0 0 auto; perspective: 520px; }
.rn-brand img { height: 40px; width: auto; transform-style: preserve-3d; animation: rn-logo-swivel 10s ease-in-out infinite; }
.rn-brand > span { font-family: Oswald, Arial, sans-serif; font-weight: 600; font-size: 1.15rem; color: #F1F2F4; letter-spacing: 0.03em; text-transform: uppercase; }
.rn-brand > span span { color: #148f82; }
.rn-brand:hover { color: inherit; }
.rn-nav-cb { position: absolute; opacity: 0; pointer-events: none; }
.rn-burger { display: none; flex-direction: column; gap: 5px; cursor: pointer; padding: 10px; order: 3; }
.rn-burger span { width: 24px; height: 2px; background: #F1F2F4; border-radius: 2px; display: block; }
.rn-nav > ul { display: flex; list-style: none; gap: 2px; flex-wrap: nowrap; }
.rn-item { position: relative; list-style: none; display: flex; align-items: center; }
.rn-item > a { display: flex; align-items: center; padding: 8px 11px; font-weight: 600; font-size: 0.88rem; border-radius: 6px; min-height: 44px; white-space: nowrap; color: #F1F2F4; }
.rn-caret { display: flex; align-items: center; justify-content: center; width: 22px; height: 32px; margin-left: -4px; color: #F1F2F4; }
.rn-caret::before { content: ""; width: 8px; height: 8px; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: rotate(45deg); margin-top: -3px; }
.rn-item.is-active > a, .rn-item.has-drop:hover > a, .rn-item.has-drop:focus-within > a { color: #148f82; background: rgba(20,143,130,0.08); }
.rn-item.is-active > .rn-caret, .rn-item.has-drop:hover > .rn-caret, .rn-item.has-drop:focus-within > .rn-caret { color: #148f82; }
.rn-item.has-drop:hover > .rn-caret::before, .rn-item.has-drop:focus-within > .rn-caret::before { transform: rotate(225deg); margin-top: 3px; }
.rn-drop { position: absolute; top: calc(100% + 8px); left: 0; min-width: 220px; background: #1B2038; border: 1px solid #14182B; border-radius: 10px; box-shadow: 0 18px 40px rgba(0,0,0,0.45); padding: 8px; list-style: none; z-index: 20; visibility: hidden; opacity: 0; transition: visibility 0s 0.32s, opacity 0s 0.32s; }
.rn-drop::before { content: ""; position: absolute; left: 0; right: 0; top: -10px; height: 10px; }
.rn-item:hover > .rn-drop, .rn-item:focus-within > .rn-drop { visibility: visible; opacity: 1; transition-delay: 0s; }
.rn-drop li { list-style: none; }
.rn-drop a { display: block; padding: 10px 14px; border-radius: 6px; font-size: 0.9rem; color: #9AA0BC; }
.rn-drop a:hover { background: #14182B; color: #F1F2F4; }

@media (max-width: 760px) {
  .rn-hbar { flex-wrap: wrap; }
  .rn-burger { display: flex; }
  .rn-nav { display: none; order: 4; flex: 1 0 100%; flex-direction: column; gap: 6px; padding: 12px 0 8px; max-height: calc(100vh - 140px); overflow-y: auto; -webkit-overflow-scrolling: touch; }
  .rn-nav-cb:checked ~ .rn-nav { display: flex; }
  .rn-nav-cb:focus-visible ~ .rn-burger { outline: 2px solid #e88c17; outline-offset: 3px; border-radius: 4px; }
  .rn-nav > ul { flex-direction: column; width: 100%; }
  .rn-item { flex-wrap: wrap; width: 100%; }
  .rn-item > a { flex: 1; white-space: normal; }
  .rn-caret { display: none; }
  .rn-drop { position: static; visibility: visible; opacity: 1; flex: 1 0 100%; min-width: 0; background: #14182B; border: 0; box-shadow: none; border-radius: 8px; padding: 6px; margin: 4px 0 8px 12px; }
  .rn-drop::before { display: none; }
  .rn-drop a { padding: 12px 14px; min-height: 44px; }
}

.rn-bot { position: fixed; right: 18px; bottom: 18px; z-index: 1200; display: flex; flex-direction: column; align-items: flex-end; gap: 10px; pointer-events: none; }
.rn-bot-cb { position: absolute; opacity: 0; pointer-events: none; }
.rn-bot-panel { display: none; pointer-events: auto; width: min(340px, calc(100vw - 36px)); background: #14182B; border: 1px solid #1B2038; border-radius: 14px; box-shadow: 0 26px 60px rgba(0,0,0,0.55); padding: 22px 22px 24px; animation: rn-bot-in 0.22s ease-out; position: relative; }
.rn-bot-cb:checked ~ .rn-bot-panel { display: block; }
.rn-bot-x { position: absolute; top: 10px; right: 10px; width: 34px; height: 34px; border-radius: 100px; border: 1px solid #1B2038; background: #0B0E1C; color: #9AA0BC; font-size: 1rem; line-height: 1; cursor: pointer; display: flex; align-items: center; justify-content: center; }
.rn-bot-x:hover { border-color: #e88c17; color: #e88c17; }
.rn-bot-kicker { display: block; font-size: 0.72rem; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; color: #148f82; margin-bottom: 8px; }
.rn-bot-panel h3 { font-family: Oswald, Arial, sans-serif; font-size: 1.15rem; font-weight: 600; text-transform: uppercase; color: #F1F2F4; margin: 0 0 8px; line-height: 1.15; }
.rn-bot-lede { color: #9AA0BC; font-size: 0.9rem; line-height: 1.55; margin: 0 0 14px; }
.rn-bot-note { display: flex; align-items: center; gap: 8px; color: #c9cee0; font-size: 0.82rem; line-height: 1.5; margin: 0 0 18px; padding: 10px 12px; border-radius: 8px; background: rgba(20,143,130,0.10); border: 1px solid rgba(20,143,130,0.28); }
.rn-bot-note > span:first-child, .rn-bot-link > span:first-child { color: #148f82; }
.rn-bot-links { display: flex; flex-direction: column; gap: 10px; margin-bottom: 18px; }
.rn-bot-link { display: flex; align-items: center; gap: 10px; padding: 12px 14px; border-radius: 8px; border: 1px solid #1B2038; background: #0B0E1C; color: #F1F2F4; font-size: 0.9rem; font-weight: 600; min-height: 44px; }
.rn-bot-link:hover { border-color: #148f82; color: #148f82; }
.rn-bot-cta { display: block; text-align: center; font-family: Oswald, Arial, sans-serif; font-weight: 700; font-size: 0.85rem; letter-spacing: 0.04em; text-transform: uppercase; padding: 15px 20px; border-radius: 6px; background: #e88c17; color: #0B0E1C; }
.rn-bot-cta:hover { background: #c2680e; color: #0B0E1C; }
.rn-bot-btn { pointer-events: auto; cursor: pointer; -webkit-tap-highlight-color: transparent; height: clamp(104px, 15vw, 148px); transition: transform 0.22s ease; animation: rn-bot-nudge 9s ease-in-out infinite; }
.rn-bot-cb:checked ~ .rn-bot-btn { animation: none; transform: scale(1.02); }
.rn-bot-cb:focus-visible ~ .rn-bot-btn { outline: 2px solid #e88c17; outline-offset: 3px; border-radius: 8px; }
.rn-bot-btn { display: block; }
.rn-bot-btn img { display: block; width: auto; height: 100%; max-width: none; filter: drop-shadow(0 12px 18px rgba(0,0,0,0.45)); }
