/* Anpheros Research hub, sub-navigation and /research/signals (17 Oct 2026). Loaded after research.css and reuses
   its night palette (--rs-*); only what the hub and the signals page add lives here. */

/* sub-navigation shared by /research, /research/patterns and /research/signals */
.rs-hubnav { position: relative; z-index: 2; max-width: 1200px; margin: 0 auto; padding: 1.4rem 2rem 0; display: flex; flex-wrap: wrap; gap: .45rem; align-items: center; font-size: .86rem; }
.rs-hubnav a { padding: .42rem .95rem; border-radius: 980px; border: 1px solid var(--rs-line); color: var(--rs-dim); transition: color .2s, border-color .2s; }
.rs-hubnav a:hover { color: var(--rs-text); border-color: rgba(255,255,255,.2); }
.rs-hubnav a.on { color: var(--rs-text); border-color: rgba(79,224,192,.45); background: rgba(79,224,192,.1); }
.rs-hubnav a.rs-hubnav-home { border-color: transparent; padding-left: 0; font-family: var(--rs-mono); font-size: .76rem; text-transform: uppercase; }
.rs-hubnav a.rs-hubnav-home.on { background: none; color: var(--rs-teal); }

/* signals hero: text and chart side by side */
.gs-hero { min-height: min(84vh, 800px); padding-top: 3rem; }
.gs-hero-grid { display: grid; grid-template-columns: 1.05fr .95fr; gap: 3rem; align-items: center; }
.gs-hero h1 { font-size: clamp(2.2rem, 4.6vw, 3.8rem); }
.gs-hero-art svg { width: 100%; height: auto; display: block; }
.gs-hero-art .rs-fig { margin-top: .8rem; }
.gs-status { font-size: .74rem; color: var(--rs-dim); margin: 2rem 0 0; }

.gs-grid4 { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1rem; }
.gs-grid4 .rs-method h3 { font-size: 1.1rem; }
.gs-grid4 .rs-method p { font-size: .92rem; }

/* protection */
.gs-rules { display: grid; grid-template-columns: .8fr 1.2fr; gap: 3rem; align-items: start; margin-top: 2.4rem; }
.gs-20 { font-size: clamp(6rem, 15vw, 11rem); font-weight: 700; letter-spacing: -.06em; line-height: .9; color: var(--rs-teal); margin: 0 0 1rem;
  text-shadow: 0 0 60px rgba(79,224,192,.35); }
.gs-twenty .rs-dim { max-width: 300px; margin: 0; }
.gs-list { list-style: none; margin: 0; padding: 0; }
.gs-list li { display: grid; grid-template-columns: 2.4rem 1fr; gap: .6rem; padding: 1.15rem 0; border-bottom: 1px solid var(--rs-line); }
.gs-list li:last-child { border-bottom: 0; }
.gs-list b { font-weight: 500; font-size: .78rem; color: var(--rs-teal); padding-top: .2rem; }
.gs-list s { display: block; text-decoration: none; font-weight: 600; margin-bottom: .2rem; color: var(--rs-text); }
.gs-list span { color: #b4bcc9; font-size: .95rem; }

/* access */
.gs-doors { display: grid; grid-template-columns: 1.3fr .7fr; gap: 1.2rem; }
.gs-door { background: var(--rs-surface); border: 1px solid var(--rs-line); border-radius: 22px; padding: 2rem; }
.gs-door > p.rs-mono { font-size: .74rem; text-transform: uppercase; margin: 0 0 .5rem; }
.gs-door h3 { font-size: 1.4rem; letter-spacing: -.02em; margin: 0 0 .5rem; }
.gs-door > p.rs-dim { margin: 0 0 1.5rem; font-size: .96rem; }
.gs-form { display: grid; grid-template-columns: 1fr 1fr; gap: .85rem; }
.gs-form label { display: grid; gap: .35rem; font-size: .8rem; color: var(--rs-dim); }
.gs-form .gs-full { grid-column: 1 / -1; }
.gs-form input, .gs-form select, .gs-form textarea { font: inherit; font-size: .95rem; color: var(--rs-text); background: #0a0d13; border: 1px solid var(--rs-line);
  border-radius: 12px; padding: .7rem .85rem; width: 100%; }
.gs-form input:focus, .gs-form select:focus, .gs-form textarea:focus { outline: none; border-color: rgba(79,224,192,.55); }
.gs-form textarea { min-height: 96px; resize: vertical; }
.gs-form .gs-check { display: flex; gap: .6rem; align-items: flex-start; font-size: .88rem; color: #b4bcc9; }
.gs-form .gs-check input { width: auto; margin-top: .2rem; accent-color: var(--rs-teal); }
.gs-trap { position: absolute !important; left: -9999px !important; width: 1px !important; height: 1px !important; opacity: 0; }
#cf-turnstile-widget:empty { display: none; }
.gs-error { margin: 0; color: var(--rs-red); font-size: .9rem; }
.gs-submit { grid-column: 1 / -1; justify-self: start; border: 0; cursor: pointer; font: inherit; font-weight: 600; }
.gs-submit:disabled { opacity: .6; cursor: default; }
.gs-done h3 { color: var(--rs-teal); }
.gs-report { list-style: none; margin: 0; padding: 0; }
.gs-report li { display: flex; justify-content: space-between; gap: 1rem; padding: .85rem 0; border-bottom: 1px solid var(--rs-line); font-size: .93rem; }
.gs-report li span:last-child { color: var(--rs-dim); font-family: var(--rs-mono); font-size: .76rem; text-align: right; }
.gs-empty { margin: 1.4rem 0 0; padding: 1rem 1.1rem; border-radius: 14px; background: rgba(255,181,71,.08); border: 1px solid rgba(255,181,71,.2); color: #d9c6a3; font-size: .9rem; }

/* hub (/research) */
.rh-hero { min-height: 0; padding-top: 5rem; padding-bottom: 4rem; }
.rh-products { display: grid; grid-template-columns: 1fr 1fr; gap: 1.2rem; }
.rh-product { display: flex; flex-direction: column; background: var(--rs-surface); border: 1px solid var(--rs-line); border-radius: 24px; padding: 2rem; transition: border-color .25s, transform .25s; }
.rh-product:hover { border-color: rgba(255,255,255,.24); transform: translateY(-3px); }
.rh-product svg { width: 100%; height: auto; display: block; border-radius: 14px; background: rgba(255,255,255,.02); margin-bottom: 1.4rem; }
.rh-product p { margin: 0 0 1rem; color: #b4bcc9; }
.rh-product p.rs-mono { font-size: .74rem; text-transform: uppercase; margin-bottom: .5rem; }
.rh-product h3 { font-size: clamp(1.5rem, 2.6vw, 2rem); letter-spacing: -.03em; margin: 0 0 .6rem; }
.rh-principles { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.2rem; }

@media (max-width: 1000px) { .gs-grid4 { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 860px) {
  .rs-hubnav { padding: 1.2rem 16px 0; }
  .gs-hero { padding-top: 2rem; }
  .gs-hero-grid, .gs-rules, .gs-doors, .rh-products, .rh-principles { grid-template-columns: 1fr; gap: 1.6rem; }
  .gs-grid4, .gs-form { grid-template-columns: 1fr; }
}
