

@layer components {
.rv-bleed-128 { width: 100%; margin-inline: 0; }

@media (max-width: 1439px) {
  .rv-bleed-128 { width: auto; margin-inline: 0; }
}

.rv-bleed-128,
.rv-return-obj,
.rv-ask { overflow-x: clip; }

.rv-mono,
.rv-cross-post,
.rv-cross-foot-k {
  font-family: 'SFMono-Regular', Consolas, 'Liberation Mono', Menlo, monospace;
}

.rv-foot {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: var(--space-3) var(--space-6);
  margin: var(--stack-sm) 0 0;
  font-size: 0.875rem;
  line-height: 1.6;
  color: var(--text-muted);
}

.rv-foot-t { max-width: 74ch; }

.rv-turn-svg,
.rv-admit-svg,
.rv-return-svg { width: 100%; }

.rv-turn-svg > svg,
.rv-admit-svg > svg,
.rv-return-svg > svg {
  display: block;
  width: 100%;
  min-width: 1040px;
  height: auto;
}

@media (max-width: 1088px) {
  .rv-turn-svg,
  .rv-admit-svg,
  .rv-return-svg {
    overflow-x: auto;
    overscroll-behavior-x: contain;
    -webkit-overflow-scrolling: touch;
  }
}

@keyframes rvBreath {
  0%, 100% { opacity: 0.90; }
  50%      { opacity: 0.50; }
}
@keyframes rvBreathLow {
  0%, 100% { opacity: 0.85; }
  50%      { opacity: 0.45; }
}

.rv-led {
  animation: rvBreath 4.2s cubic-bezier(.45, 0, .55, 1) -0.7s infinite;
  animation-play-state: paused;
}
.rv-ret-live circle {
  animation: rvBreathLow 7.5s cubic-bezier(.45, 0, .55, 1) -3.1s infinite;
  animation-play-state: paused;
}
.js-observe-fade.visible .rv-led,
.js-observe-fade.visible .rv-ret-live circle { animation-play-state: running; }

@media (prefers-reduced-motion: reduce) {
  .rv-led,
  .rv-ret-live circle,
  .js-observe-fade.visible .rv-led,
  .js-observe-fade.visible .rv-ret-live circle {
    animation: none !important;
    opacity: 0.85;
  }

  .js .js-observe-fade .rv-cross-out,
  .js .js-observe-fade .rv-turn-back,
  .js .js-observe-fade .rv-turn-mech,
  .js .js-observe-fade .rv-ret-tile line,
  .js .js-observe-fade .rv-ret-part {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
  }
}
}

@layer components {

.main-content > .rv-hero { padding-top: var(--stack-lg); }

.rv-hero-head { max-width: var(--measure-title); }
.rv-hero .page-hero-title { max-width: none; }
.rv-hero .page-hero-lede { max-width: 66ch; }

.rv-cross {
  position: relative;
  height: 544px;
  margin-top: var(--stack-sm);
  display: grid;
  grid-template-columns: 58% 42%;
}

.rv-cross-pane {
  grid-area: 1 / 1;
  position: relative;
  z-index: 1;
  margin: 34px 0;
  border: 1px solid var(--border-light);
  border-left: none;
  border-radius: 0 16px 16px 0;
  background: linear-gradient(180deg, rgba(16, 20, 29, 0.92), rgba(10, 13, 20, 0.92));
  min-width: 0;
  overflow: hidden;
}

.rv-cross-bar {
  display: flex;
  align-items: center;
  gap: var(--space-4);
  height: 46px;
  padding: 0 var(--space-5);
  border-bottom: 1px solid var(--border-light);
  font-size: 0.75rem;
  color: var(--text-muted);
}

.rv-cross-dots { display: flex; gap: 6px; }
.rv-cross-dots i {
  width: 8px; height: 8px; border-radius: 50%;
  background: var(--border-strong);
}
.rv-cross-app { font-weight: 600; color: var(--text-secondary); letter-spacing: 0.02em; }
.rv-cross-brand { color: var(--text-muted); }
.rv-cross-live {
  margin-left: auto;
  display: inline-flex; align-items: center; gap: 8px;
  letter-spacing: 0.08em; text-transform: uppercase; font-size: 0.6875rem;
}
.rv-led {
  width: 7px; height: 7px; border-radius: 50%;
  background: var(--success-color);
  opacity: 0.9;
}

.rv-cross-slats { padding: 34px var(--space-5) 0; }
.rv-cross-slats--low { padding-top: 138px; }
.rv-cross-slats i {
  display: block;
  width: var(--w, 60%);
  height: 10px;
  margin-bottom: 22px;
  border-radius: 3px;
  background: rgba(148, 163, 184, 0.10);
}

.rv-cross-edge {
  position: absolute;
  left: 58%;
  top: 34px;
  bottom: 34px;
  width: 14px;
  transform: translateX(-14px);
  z-index: 4;
  background: linear-gradient(90deg, rgba(10, 13, 20, 0) 0%, rgba(10, 13, 20, 0.96) 62%, rgba(10, 13, 20, 1) 100%);
  border-right: 1px solid var(--border-strong);
  pointer-events: none;
}

.rv-cross-member {
  position: absolute;
  left: 0; right: 0;
  top: 262px;
  height: 66px;
  z-index: 3;
  display: flex;
  align-items: stretch;
}

.rv-cross-in,
.rv-cross-out {
  display: flex;
  align-items: center;
  gap: var(--space-5);
  min-width: 0;
  padding: 0 var(--space-5);
  background: #171C27;
  border-block: 1px solid var(--border-strong);
  font-size: 0.8125rem;
  white-space: nowrap;
  overflow: hidden;
}

.rv-cross-in { width: 58%; }
.rv-cross-out {
  width: 42%;
  border-right: 1px solid var(--border-strong);
  border-radius: 0 6px 6px 0;
  background: #1C2331;
  transform-origin: left center;
}

.rv-cross-in .rv-mono { color: var(--text-secondary); font-size: 0.75rem; }
.rv-cross-case { color: var(--text-primary); font-weight: 500; }

.rv-cross-meta { color: var(--text-secondary); }
.rv-cross-state {
  margin-left: auto;
  color: var(--success-color);
  font-size: 0.6875rem; letter-spacing: 0.1em; text-transform: uppercase;
}
.rv-cross-class {
  color: var(--accent-ink);
  font-size: 0.6875rem; letter-spacing: 0.1em; text-transform: uppercase;
  font-weight: 600;
}
.rv-cross-val { color: var(--text-primary); font-weight: 600; font-size: 1rem; }
.rv-cross-post { margin-left: auto; color: var(--text-muted); font-size: 0.6875rem; }

.js .js-observe-fade .rv-cross-out { transform: scaleX(0.02); opacity: 0; }
.js-observe-fade.visible .rv-cross-out {
  transform: scaleX(1); opacity: 1;
  transition: transform 900ms cubic-bezier(.22,.61,.36,1) 320ms, opacity 300ms linear 320ms;
}

.rv-cross-foot {
  position: absolute;
  left: 0; bottom: 0;
  display: flex; align-items: baseline; gap: var(--space-4);
  font-size: 0.8125rem;
}
.rv-cross-foot-k {
  color: var(--text-secondary);
  font-size: 0.6875rem; letter-spacing: 0.12em; text-transform: uppercase;
}
.rv-cross-foot-t { color: var(--text-muted); }

@media (max-width: 1088px) {
  .rv-cross { height: 470px; }
  .rv-cross-member { top: 224px; }
}

@media (max-width: 900px) {
  .rv-cross {
    display: block;
    height: auto;
  }
  .rv-cross-pane { margin: 0; border-radius: 0 12px 12px 0; }
  .rv-cross-slats--low { padding-top: 34px; }
  .rv-cross-edge { display: none; }
  .rv-cross-member {
    position: static;
    display: block;
    height: auto;
    margin-top: -1px;
  }
  .rv-cross-in,
  .rv-cross-out {
    width: 100%;
    height: 56px;
    white-space: nowrap;
    overflow-x: auto;
    border-radius: 0;
  }

}

.rv-cross-slat--w-38 { --w:38%; }
.rv-cross-slat--w-47 { --w:47%; }
.rv-cross-slat--w-55 { --w:55%; }
.rv-cross-slat--w-64 { --w:64%; }
.rv-cross-slat--w-71 { --w:71%; }
}

@layer components {
.rv-ask-wrap { position: relative; }

.rv-ask-wrap .site-head {
  position: absolute;
  top: 0;
  right: 0;
  width: 34%;
  max-width: 440px;
  margin: 0;
  z-index: 2;
}
.rv-ask-wrap .site-title { font-size: 2rem; }

.rv-ask { --rv-unit: clamp(10px, 1.05vw, 15px); }

.rv-ask-field { padding-top: 0; }

.rv-ask-q {
  margin: 0 0 var(--space-5);
  padding-left: var(--rv-in, 0%);
  font-size: calc(var(--rv-sz, 1) * var(--rv-unit));
  line-height: 1.24;
  font-weight: 500;
  letter-spacing: -0.02em;
  color: var(--text-primary);
}

.rv-ask-t { color: var(--text-primary); }

.rv-ask-f {
  margin-left: 0.6em;
  font-family: 'SFMono-Regular', Consolas, 'Liberation Mono', Menlo, monospace;
  font-size: 0.66em;
  font-weight: 400;
  letter-spacing: 0;
  color: var(--text-muted);
  white-space: nowrap;
}

.rv-ask-plate {
  width: min(660px, 100%);
  margin: var(--stack-md) 0 0 auto;
  border: 1px solid var(--border-light);
  border-radius: 14px;
  background: linear-gradient(180deg, rgba(16, 20, 29, 0.92), rgba(10, 13, 20, 0.92));
  overflow: hidden;
}

.rv-ask-plate-bar {
  display: flex; align-items: center; justify-content: space-between;
  height: 40px; padding: 0 var(--space-5);
  border-bottom: 1px solid var(--border-light);
  font-size: 0.6875rem; letter-spacing: 0.1em; text-transform: uppercase;
  color: var(--text-muted);
}
.rv-ask-stamp { letter-spacing: 0.06em; }

.rv-ask-reply {
  margin: 0;
  padding: var(--space-5);
  font-size: 0.9375rem;
  line-height: 1.62;
  color: var(--text-secondary);
}

.rv-ask-order {
  display: flex; flex-wrap: wrap; align-items: baseline;
  gap: var(--space-2) var(--space-5);
  padding: var(--space-4) var(--space-5);
  border-top: 1px solid var(--border-strong);
  background: #1C2331;
  font-size: 0.8125rem;
}
.rv-ask-order-k {
  color: var(--accent-ink);
  font-size: 0.6875rem; letter-spacing: 0.1em; text-transform: uppercase; font-weight: 600;
}
.rv-ask-order .rv-mono { color: var(--text-secondary); font-size: 0.75rem; }
.rv-ask-order-v { color: var(--text-primary); font-weight: 600; font-size: 1rem; }

.rv-ask-order-c { margin-left: auto; color: var(--text-secondary); font-size: 0.75rem; }

@media (max-width: 1088px) {
  .rv-ask-wrap .site-head { position: static; width: auto; max-width: none; margin: 0 0 var(--stack-sm); }
  .rv-ask-wrap .site-title { font-size: 2.5rem; }
}

@media (max-width: 900px) {

  .rv-ask-plate { width: 100%; margin-left: 0; }

}

.rv-ask-q.rv-ask-q--g-1 { --rv-sz:2.05; --rv-in:0%; }
.rv-ask-q.rv-ask-q--g-2 { --rv-sz:1.65; --rv-in:5%; }
.rv-ask-q.rv-ask-q--g-3 { --rv-sz:1.45; --rv-in:10%; }
.rv-ask-q.rv-ask-q--g-4 { --rv-sz:1.28; --rv-in:15%; }
.rv-ask-q.rv-ask-q--g-5 { --rv-sz:1.14; --rv-in:20%; }
.rv-ask-q.rv-ask-q--g-6 { --rv-sz:1.02; --rv-in:25%; }
}

@layer components {
.rv-turn-wrap { position: relative; }

.rv-turn-head {
  position: absolute;
  top: 0;
  right: 0;
  width: 33%;
  max-width: 462px;
  z-index: 2;
}
.rv-turn-head .site-head { margin: 0; }
.rv-turn-head .site-title { font-size: 2rem; }

.rv-turn text {
  font-family: var(--font-sans);
  font-size: 14px;
  fill: var(--text-secondary);
}

.rv-turn-dec { text-anchor: end; }
.rv-turn-exit2 { fill: var(--text-secondary); }
.rv-turn-cls text { text-anchor: middle; fill: var(--text-secondary); }
.rv-turn-cls .rv-turn-n {
  font-family: 'SFMono-Regular', Consolas, 'Liberation Mono', Menlo, monospace;
  font-size: 13px;
  fill: var(--text-muted);
}
.rv-turn-tick { stroke: var(--border-strong); stroke-width: 1; }

.rv-turn-mark { stroke: var(--accent-color); stroke-width: 2; opacity: 0.85; }
.rv-turn-dec { fill: var(--accent-color); font-size: 13px; font-weight: 600; }
.rv-turn-dec2 { fill: var(--text-muted); font-weight: 400; font-size: 12.5px; }

.rv-turn-leave { fill: rgba(148, 163, 184, 0.34); }
.rv-turn-exit { text-anchor: end; font-size: 13px; fill: var(--text-muted); }

.rv-turn-back rect { fill: rgba(99, 102, 241, 0.42); }
.rv-turn-back path { stroke: rgba(99, 102, 241, 0.42); }
.rv-turn-back .rv-turn-stop { fill: var(--accent-color); opacity: 0.92; }

.rv-turn-mech text { text-anchor: middle; font-size: 13px; fill: var(--text-secondary); }
.rv-turn-mech .rv-turn-n {
  font-family: 'SFMono-Regular', Consolas, 'Liberation Mono', Menlo, monospace;
  fill: var(--text-muted);
}

.rv-turn-term {
  font-size: 12px; letter-spacing: 0.14em; text-transform: uppercase;
  fill: var(--accent-color); font-weight: 600;
}
.rv-turn-termv { font-size: 30px; font-weight: 600; fill: var(--text-primary); letter-spacing: -0.02em; }
.rv-turn-termn { font-size: 13px; fill: var(--text-muted); }

.js .js-observe-fade .rv-turn-back,
.js .js-observe-fade .rv-turn-mech {
  opacity: 0;
  transform: translateX(46px);
}
.js-observe-fade.visible .rv-turn-back,
.js-observe-fade.visible .rv-turn-mech {
  opacity: 1;
  transform: translateX(0);
  transition: transform 1000ms cubic-bezier(.22,.61,.36,1) 260ms, opacity 520ms linear 260ms;
}

@media (max-width: 1088px) {
  .rv-turn-head { position: static; width: auto; max-width: none; margin-bottom: var(--stack-sm); }
  .rv-turn-head .site-title { font-size: 2.5rem; }
  .rv-turn-wrap { display: flex; flex-direction: column-reverse; }
}
@media (max-width: 560px) {
  .rv-turn-head .site-title { font-size: 2rem; }
}
}

@layer components {
.rv-admit-sec .site-lede { max-width: 64ch; }

.rv-admit text { font-family: var(--font-sans); }

.rv-admit-eff text {
  font-size: 17px;
  font-weight: 500;
  letter-spacing: -0.01em;
  fill: var(--text-primary);
  opacity: 0.86;
}

.rv-admit-solid { fill: #E9ECF3; }

.rv-admit-cut rect { fill: var(--bg-primary); }
.rv-admit-throat path { fill: none; stroke: rgba(233, 236, 243, 0.30); stroke-width: 1.5; }

.rv-admit-lab text {
  font-size: 13px;
  fill: var(--text-secondary);
}
.rv-admit-lab .rv-admit-n {
  font-family: 'SFMono-Regular', Consolas, 'Liberation Mono', Menlo, monospace;
  font-size: 19px;
  font-weight: 600;
  fill: var(--text-primary);
}

.rv-admit-fig {
  font-size: 34px;
  font-weight: 600;
  letter-spacing: -0.03em;
  fill: #0A0D14;
}
.rv-admit-face {
  font-size: 12px;
  letter-spacing: 0.06em;
  fill: #4A5364;
}

.rv-admit-brace { fill: none; stroke: var(--border-strong); stroke-width: 1; }
.rv-admit-no {
  font-size: 12px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  font-weight: 600;
  fill: var(--text-secondary);
}
.rv-admit-no2 { font-weight: 400; fill: var(--text-muted); letter-spacing: 0.1em; }

.rv-admit-scope { font-size: 13px; fill: var(--text-muted); }
}

@layer components {
.rv-return-sec .site-head { margin: var(--stack-md) 0 0; }
.rv-return-sec .site-lede { max-width: 64ch; }

.rv-return-sec .rv-foot { margin-top: var(--space-5); }

.rv-return-obj text { font-family: var(--font-sans); }

.rv-ret-gen { fill: rgba(99, 102, 241, 0.30); }
.rv-ret-ret { fill: rgba(99, 102, 241, 0.13); }

.rv-ret-tile line { stroke: rgba(233, 236, 243, 0.55); stroke-width: 1.5; }
.rv-ret-edge { fill: none; stroke: rgba(233, 236, 243, 0.55); stroke-width: 1.5; }
.rv-ret-part { fill: rgba(233, 236, 243, 0.07); }

.rv-ret-lab text { font-size: 13px; letter-spacing: 0.1em; text-transform: uppercase; fill: var(--text-secondary); font-weight: 600; }
.rv-ret-lab .rv-ret-v {
  font-size: 30px; font-weight: 600; letter-spacing: -0.02em;
  text-transform: none; fill: var(--text-primary);
}

.rv-return-obj .rv-ret-s {
  font-size: 13px; letter-spacing: 0; text-transform: none;
  font-weight: 400; fill: var(--text-secondary);
}

.rv-ret-foot { font-size: 14px; fill: var(--text-secondary); }
.rv-ret-footv { font-weight: 600; fill: var(--text-primary); }

.rv-ret-live circle { fill: var(--success-color); opacity: 0.85; }
.rv-ret-live text { font-size: 12.5px; fill: var(--text-muted); }

.rv-ret-read text { font-size: 19px; fill: var(--text-secondary); }
.rv-ret-read .rv-ret-mult {
  font-size: 44px; font-weight: 600; letter-spacing: -0.03em; fill: var(--text-primary);
}

.rv-ret-unit { fill: rgba(233, 236, 243, 0.10); stroke: rgba(233, 236, 243, 0.55); stroke-width: 1.5; }

.rv-ret-unitk { font-size: 12px; letter-spacing: 0.14em; text-transform: uppercase; fill: var(--text-secondary); }
.rv-ret-unitv { font-size: 30px; font-weight: 600; letter-spacing: -0.02em; fill: var(--text-primary); }

.js .js-observe-fade .rv-ret-tile line,
.js .js-observe-fade .rv-ret-part { opacity: 0; }
.js-observe-fade.visible .rv-ret-tile line,
.js-observe-fade.visible .rv-ret-part {
  opacity: 1;
  transition: opacity 620ms linear 380ms;
}
}
