/* Quantsion Research · Editorial dossier */

body[data-page="research"] {
  --rx-bg: var(--psv-bg);
  --rx-bg-alt: var(--psv-bg-alt);
  --rx-bg-deep: var(--psv-bg-raised);
  --rx-text: var(--psv-text);
  --rx-copy: var(--psv-copy);
  --rx-soft: var(--psv-muted);
  --rx-accent: var(--psv-accent);
  --rx-rule: rgb(var(--psv-accent-rgb) / .18);
  --rx-rule-strong: rgb(var(--psv-accent-rgb) / .38);
  --rx-focus: var(--psv-accent-tint);
  --rx-heading-gradient: var(--psv-heading-gradient);
  --rx-shell: var(--psv-shell-content);
  color: var(--rx-text);
}


body[data-page="research"] .site-header {
  background: var(--psv-header-bg);
  backdrop-filter: none;
}


body[data-page="research"] .menu-toggle {
  border-color: var(--rx-rule-strong);
  border-radius: 0;
  background: transparent;
  transition: none;
}

body[data-page="research"] .menu-toggle:hover {
  color: var(--rx-text);
  border-color: var(--rx-accent);
  background: transparent;
}

body[data-page="research"] .site-footer {
  border-top-color: var(--rx-rule);
  color: var(--rx-soft);
  background: var(--rx-bg);
}

.rx-skip-link {
  position: fixed;
  top: calc(-80 * var(--psv-u));
  left: calc(16 * var(--psv-u));
  z-index: 120;
  padding: calc(11 * var(--psv-u)) calc(14 * var(--psv-u));
  border: 1px solid var(--rx-rule-strong);
  color: var(--rx-text);
  background: var(--rx-bg-alt);
  font-size: var(--psv-ui-copy);
}

.rx-skip-link:focus {
  top: calc(12 * var(--psv-u));
}

.rx-page {
  position: relative;
  min-height: 100vh;
  color: var(--rx-text);
  background: var(--rx-bg);
  isolation: isolate;
}

.rx-page,
.rx-page * {
  min-width: 0;
}

.rx-page :where(h1, h2, h3, p, ol) {
  margin-top: 0;
}

.rx-page :where(h1, h2, h3) {
  color: var(--rx-text);
  overflow-wrap: normal;
  word-break: normal;
  hyphens: none;
  text-wrap: balance;
}

.rx-page :where(p, li) {
  overflow-wrap: break-word;
}

.rx-page :where(a, button):focus-visible {
  outline: 2px solid var(--rx-focus);
  outline-offset: 4px;
}

.rx-shell {
  width: var(--rx-shell);
  margin-inline: auto;
}

/* Geometry belongs to the shared first-section contract; the page sets
   only its own rule colour. */

.rx-hero-title {
  width: 100%;
  max-width: calc(1040 * var(--psv-u));
  margin-bottom: 0;
  font-size: var(--psv-hero-size);
  font-weight: var(--psv-hero-weight);
  line-height: var(--psv-hero-leading);
  letter-spacing: var(--psv-hero-tracking);
  text-transform: uppercase;
}

.rx-hero-title > span {
  display: block;
}


/* Research instruments. The eight authored stages share one deck on desktop;
   in reflow they remain an ordinary readable document. */
.rx-journey {
  --tl-ink: #132d58;
  --tl-secondary: #536986;
  --tl-rule: #dbe3ee;
  --tl-blue: #338cff;
}
.rx-journey > .rx-shell { box-sizing: border-box; }
.rx-stages, .rx-stage { min-height: 0; }
.rx-stages { position:relative; }
.rx-stage { margin: 0; padding: 0; }
.rx-stage-head { margin: 0 0 calc(18 * var(--psv-u)); }
.rx-stage .tl-title {
  width: auto; max-width: none; margin: 0; color: var(--tl-ink);
  font: 800 calc(32 * var(--psv-u)) / 1.08 var(--psv-font-sans);
  letter-spacing: calc(-1.4 * var(--psv-u)); text-wrap: initial;
  background: none; -webkit-text-fill-color: currentColor;
}
.rx-stage .tl-title > br { display: none; }
.rx-stage .tl-title > span { display: block; }
.rx-stage .tl-title > span:last-child { color: var(--tl-secondary); }
.rx-stage .tl-card {
  display: grid; grid-template-columns: minmax(0,1.75fr) minmax(0,1fr);
  flex: 1; min-height: 0; margin: 0; padding: 0;
  border: 1px solid var(--tl-rule); background: #fff;
  color: var(--tl-ink); font-family: var(--psv-font-sans);
}
.rx-stage .ti-chart {
  display: block; position: relative; min-width: 0; min-height: calc(320 * var(--psv-u));
  margin: 0; padding: 0; overflow: hidden; font-family: var(--psv-font-sans);
}
.rx-stage .ti-chart > svg { display:block; width:100%; height:100%; }
.rx-stage .ti-panel {
  display: flex; flex-direction: column; gap: calc(6 * var(--psv-u));
  min-height: 0; padding: calc(12 * var(--psv-u)) calc(24 * var(--psv-u)) calc(64 * var(--psv-u));
  border-left: 1px solid var(--tl-rule);
}
.rx-reading h4 {
  position: relative; margin: calc(6 * var(--psv-u)) 0 calc(18 * var(--psv-u));
  padding-top: calc(16 * var(--psv-u)); color: var(--tl-ink);
  font-size: max(var(--psv-text-floor), calc(22 * var(--psv-u)));
  font-weight: 600; line-height: 1.2; letter-spacing: calc(-.3 * var(--psv-u));
}
.rx-reading h4::before {
  content: ""; position: absolute; top:0; left:0;
  width:calc(28 * var(--psv-u)); height:2px; background:var(--tl-blue);
}
.rx-reading p {
  margin:0; color:var(--tl-ink);
  font-size:max(var(--psv-text-floor), calc(16 * var(--psv-u))); line-height:1.68;
}
.rx-stage-register { position:absolute; z-index:2; bottom:calc(18 * var(--psv-u)); right:calc(24 * var(--psv-u)); width:calc(100% / 2.75 - 48 * var(--psv-u)); margin:0; padding:0; }
.rx-stage-register[hidden] { display:none; }
.rx-stage-register ol { display:flex; gap:calc(6 * var(--psv-u)); padding:0; margin:0; list-style:none; }
.rx-stage-register li { flex:1; }
.rx-stage-register button { display:block; position:relative; width:100%; height:calc(22 * var(--psv-u)); padding:calc(10 * var(--psv-u)) 0; border:0; border-radius:0; background:transparent; appearance:none; cursor:pointer; }
.rx-stage-register button::before { content:""; display:block; height:2px; background:#dbe3ee; }
.rx-stage-register button.is-past::before { background:#9aaec7; }
.rx-stage-register button[aria-current="step"]::before { background:#338cff; }
.rx-stage-register button > span, .rx-stage-register button > strong {
  position:absolute; width:1px; height:1px; padding:0; overflow:hidden;
  clip-path:inset(50%); white-space:nowrap;
}
.rx-stage .rx-chips {
  position:absolute; top:calc(16 * var(--psv-u)); left:calc(20 * var(--psv-u)); z-index:2;
  display:flex; padding:calc(4 * var(--psv-u)); background:#edf3fb;
}
.rx-stage .rx-chips > button {
  height:calc(26 * var(--psv-u)); margin:0; padding:0 calc(13 * var(--psv-u)); border:0; background:transparent;
  color:#536986; font:500 calc(12 * var(--psv-u)) / calc(26 * var(--psv-u)) var(--psv-font-sans); cursor:pointer;
}
.rx-stage .rx-chips > button[aria-pressed="true"] { background:#132d58; color:#fff; font-weight:600; }
.rx-stage .rx-chips > button:focus-visible { outline:2px solid #338cff; outline-offset:2px; }
.rx-stage .rx-diagram-text { fill:#536986; font-family:var(--psv-font-sans); }
@media (min-width: 1051px) {
  .rx-journey.psv-page { justify-content:flex-start; padding-block:calc(var(--psv-canvas-extra) / 2) 0; }
  .rx-journey > .rx-shell {
    display:flex; flex-direction:column; width:100%; max-width:var(--psv-shell-content);
    min-height:calc(100svh - var(--psv-header-height) - var(--psv-canvas-extra));
    margin-inline:auto; padding:calc(10 * var(--psv-u)) calc(48 * var(--psv-u)) calc(20 * var(--psv-u));
  }
  .rx-journey[data-step-ready] .rx-stages { display:grid; flex:1; }
  .rx-journey[data-step-ready] .rx-stage {
    display:flex; flex-direction:column; grid-area:1 / 1; visibility:hidden; pointer-events:none;
  }
  .rx-journey[data-step-ready] .rx-stage.is-current { visibility:visible; pointer-events:auto; }
  .rx-journey[data-step-ready] .ti-chart { contain:size; min-height:max(calc(300 * var(--psv-u)),256px); }
}
@media (max-width: 1050px) {
  .rx-journey.psv-page { padding-block:36px; padding-inline:0; }
  .rx-journey > .rx-shell { width:min(860px, calc(100% - 48px)); padding:0; }
  .rx-stage + .rx-stage { margin-top:64px; }
  .rx-stage .tl-title { font-size:30px; letter-spacing:-1px; text-wrap:balance; }
  .rx-stage-head { margin-bottom:20px; }
  .rx-stage .tl-card { grid-template-columns:1fr; }
  .rx-stage .ti-chart { height:330px; }
  .rx-stage .ti-panel { border-left:0; border-top:1px solid var(--tl-rule); padding:20px 24px 24px; }
  .rx-reading h4 { font-size:21px; margin:0 0 14px; padding-top:16px; }
  .rx-reading p { font-size:16px; line-height:1.65; }
  .rx-stage-register { display:none; }
}
@media (max-width: 760px) {
  .rx-journey > .rx-shell { width:calc(100% - 56px); }
  .rx-stage .tl-title { font-size:26px; letter-spacing:-.8px; }
  .rx-stage .ti-panel { padding:18px 18px 22px; }
  .rx-reading p { font-size:15px; }
  .rx-next-page .rx-shell { width:calc(100% - 56px); }
}
@media (forced-colors: active) {
  .rx-stage .tl-title, .rx-reading h4, .rx-reading p { color:CanvasText; }
  .rx-stage .tl-card { border-color:CanvasText; background:Canvas; }
  .rx-stage .rx-diagram-text { fill:CanvasText; }
  .rx-stage-register button::before, .rx-reading h4::before { background:LinkText; }
}

/* ── the hand-off: the closing statement and two doors on one screen ── */
.rx-next-page .rx-shell {
  display: flex;
  flex-direction: column;
  flex: 1;
  justify-content: center;
  gap: clamp(44px, 7vh, 76px);
  text-align: center;
}
/* desktop-scale:generated */
@media (min-width: 1051px) {
  .rx-next-page .rx-shell {
    gap: clamp((44 * var(--psv-u)), (51.1 * var(--psv-u)), (76 * var(--psv-u)));
  }
}
/* desktop-scale:end */

.rx-next-statement {
  max-width: 26ch;
  margin: 0 auto;
  font-family: var(--psv-font-editorial);
  font-size: clamp(26px, 3vw, 44px);
  font-weight: var(--psv-editorial-title-weight);
  line-height: 1.15;
  letter-spacing: var(--psv-editorial-title-tracking);
}
/* desktop-scale:generated */
@media (min-width: 1051px) {
  .rx-next-statement {
    font-size: clamp((26 * var(--psv-u)), (46.08 * var(--psv-u)), (44 * var(--psv-u)));
  }
}
/* desktop-scale:end */

.rx-next-links {
  display: flex;
  justify-content: center;
  gap: clamp(44px, 8vw, 120px);
  flex-wrap: wrap;
}
/* desktop-scale:generated */
@media (min-width: 1051px) {
  .rx-next-links {
    gap: clamp((44 * var(--psv-u)), (122.88 * var(--psv-u)), (120 * var(--psv-u)));
  }
}
/* desktop-scale:end */

.rx-next-link {
  text-decoration: none;
}

.rx-next-link small {
  display: block;
  margin-bottom: calc(14 * var(--psv-u));
  color: var(--rx-soft);
  font-family: var(--psv-font-mono);
  font-size: var(--psv-ui-label);
  font-weight: var(--psv-weight-medium);
  letter-spacing: var(--psv-track-wide);
}

.rx-next-link strong {
  display: inline-block;
  color: transparent;
  background: var(--rx-heading-gradient);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  font-family: var(--psv-font-editorial);
  font-size: clamp(26px, 3.2vw, 44px);
  font-weight: var(--psv-editorial-title-weight);
  line-height: 1.1;
  letter-spacing: var(--psv-editorial-title-tracking);
  transition: transform 300ms ease;
}
/* desktop-scale:generated */
@media (min-width: 1051px) {
  .rx-next-link strong {
    font-size: clamp((26 * var(--psv-u)), (49.152 * var(--psv-u)), (44 * var(--psv-u)));
  }
}
/* desktop-scale:end */

.rx-next-link:hover strong {
  transform: translateY(calc(-3 * var(--psv-u)));
}

.rx-next-arrow {
  margin-left: calc(14 * var(--psv-u));
  color: var(--rx-accent);
  -webkit-text-fill-color: var(--rx-accent);
  font-size: .68em;
  transition: transform 300ms ease;
}

.rx-next-link:hover .rx-next-arrow {
  transform: translate(calc(4 * var(--psv-u)), calc(-4 * var(--psv-u)));
}

.rx-next-sub {
  display: block;
  margin-top: calc(12 * var(--psv-u));
  color: var(--rx-copy);
  font-family: var(--psv-font-editorial);
  font-size: var(--psv-ui-copy);
  line-height: 1.6;
}

@media (forced-colors: active) {
  .rx-next-link strong,
  .rx-next-arrow {
    color: LinkText;
    background: none;
    -webkit-text-fill-color: currentColor;
  }
}
