/* ==========================================================================
   orionscrf.top — "The Two Ledgers"
   A page split down the middle: OPPORTUNITY (light) | RISK (dark).
   ORION sits on the seam. Nothing else in the network looks like this.
   ========================================================================== */

:root{
  /* opportunity ledger — light, warm */
  --op-bg:     #f7f2e8;
  --op-panel:  #fffdf7;
  --op-ink:    #1c1815;
  --op-mute:   #6e6459;
  --op-line:   #ded4c2;
  --op-accent: #c2562f;

  /* risk ledger — dark, cool */
  --rk-bg:     #0e1218;
  --rk-panel:  #161d26;
  --rk-ink:    #e6ebf1;
  --rk-mute:   #8894a3;
  --rk-line:   #24303d;
  --rk-accent: #3e6fe0;

  --seam:      #8a8175;
  --serif:     "Instrument Serif", Georgia, "Times New Roman", serif;
  --sans:      "Manrope", system-ui, -apple-system, "Segoe UI", sans-serif;
  --mono:      "Space Mono", ui-monospace, Menlo, monospace;
  --ease:      cubic-bezier(.2,.75,.32,1);
  --maxw:      1280px;
}

*,*::before,*::after{ box-sizing:border-box; }
html{ -webkit-text-size-adjust:100%; scroll-behavior:smooth; }
body{
  margin:0; font-family:var(--sans); font-size:17px; line-height:1.68;
  color:var(--op-ink); background:var(--op-bg);
}
img{ max-width:100%; height:auto; display:block; }
a{ color:inherit; text-decoration:none; }

h1,h2,h3,h4{ font-family:var(--serif); font-weight:400; line-height:1.1; margin:0 0 .5em; letter-spacing:.005em; }
h1{ font-size:clamp(2.4rem,5.2vw,4.4rem); }
h2{ font-size:clamp(1.7rem,3vw,2.5rem); }
h3{ font-size:1.3rem; font-family:var(--sans); font-weight:700; letter-spacing:-.01em; }
p{ margin:0 0 1.05em; }
strong{ font-weight:700; }

.skip{ position:absolute; left:-999px; top:0; z-index:99; background:var(--op-accent); color:#fff; padding:12px 20px; }
.skip:focus{ left:12px; top:12px; }
:focus-visible{ outline:2px solid var(--op-accent); outline-offset:3px; }
.ledger-risk :focus-visible{ outline-color:var(--rk-accent); }

.wrap{ width:min(100% - 48px, var(--maxw)); margin-inline:auto; }

/* ---------- top bar ---------- */
.topbar{
  background:linear-gradient(180deg, rgba(255,253,247,.94), rgba(247,242,232,.86));
  border-bottom:1px solid var(--op-line);
  position:sticky; top:0; z-index:50;
  backdrop-filter:blur(10px); -webkit-backdrop-filter:blur(10px);
}
.topbar .wrap{ display:flex; align-items:center; justify-content:space-between; gap:20px; padding:13px 0; }
.brand{ display:flex; align-items:center; gap:11px; }
.brand b{ font-family:var(--serif); font-size:1.32rem; letter-spacing:.01em; display:block; line-height:1; }
.brand span{ display:block; font-family:var(--mono); font-size:.6rem; letter-spacing:.2em; text-transform:uppercase; color:var(--op-mute); margin-top:4px; }
.nav{ display:flex; gap:20px; flex-wrap:wrap; }
.nav a{
  font-size:.84rem; font-weight:600; color:var(--op-mute);
  border-bottom:2px solid transparent; padding-bottom:3px;
  transition:color .3s var(--ease), border-color .3s var(--ease);
}
.nav a:hover, .nav a:focus-visible, .nav a.is-active{ color:var(--op-ink); border-color:var(--op-accent); }

/* ==========================================================================
   THE SPLIT — the signature. Two ledgers, one seam.
   ========================================================================== */
.split{
  position:relative;
  display:grid; grid-template-columns:1fr 1fr;
}
.split::after{                    /* the seam */
  content:""; position:absolute; top:0; bottom:0; left:50%;
  width:2px; transform:translateX(-1px);
  background:linear-gradient(180deg, transparent, var(--seam) 12%, var(--seam) 88%, transparent);
  z-index:3; pointer-events:none;
}
.ledger{ padding:64px 0; }
.ledger-op{
  background:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3'/%3E%3C/filter%3E%3Crect width='180' height='180' filter='url(%23n)' opacity='.05'/%3E%3C/svg%3E"),
    radial-gradient(700px 420px at 12% 8%, rgba(194,86,47,.10), transparent 62%),
    linear-gradient(180deg, var(--op-panel), var(--op-bg));
  padding-right:56px;
}
.ledger-rk{
  background:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3'/%3E%3C/filter%3E%3Crect width='180' height='180' filter='url(%23n)' opacity='.06'/%3E%3C/svg%3E"),
    radial-gradient(700px 420px at 88% 8%, rgba(62,111,224,.16), transparent 62%),
    linear-gradient(180deg, var(--rk-panel), var(--rk-bg));
  padding-left:56px; color:var(--rk-ink);
}
.ledger-op .inner{ width:min(100%, 560px); margin-left:auto; padding-left:24px; }
.ledger-rk .inner{ width:min(100%, 560px); padding-right:24px; }
.ledger-op .eyebrow{ color:var(--op-accent); }
.ledger-rk .eyebrow{ color:var(--rk-accent); }
.eyebrow{
  font-family:var(--mono); font-size:.66rem; letter-spacing:.24em; text-transform:uppercase;
  display:inline-block; margin-bottom:18px;
}
.ledger-rk p{ color:var(--rk-mute); }
.ledger-rk h1,.ledger-rk h2,.ledger-rk h3{ color:var(--rk-ink); }

/* vertical ORION on the seam */
.seam-word{
  position:absolute; left:50%; top:50%; transform:translate(-50%,-50%);
  writing-mode:vertical-rl; text-orientation:mixed;
  font-family:var(--mono); font-size:.72rem; letter-spacing:.5em; text-transform:uppercase;
  color:var(--seam); background:inherit; padding:14px 0; z-index:4;
}
.split--hero{ min-height:74vh; align-items:center; }
/* both hero sides read at the same weight; only one is the document <h1> */
.split-heading{ font-size:clamp(1.9rem,4.2vw,3.2rem); margin-bottom:.42em; }
.split--hero .ledger{ padding:88px 0; min-height:74vh; display:flex; align-items:center; }

/* ---------- seam markers between sections ---------- */
.seamline{ position:relative; height:56px; }
.seamline::before{ content:""; position:absolute; left:50%; top:0; bottom:0; width:2px; transform:translateX(-1px); background:var(--seam); opacity:.55; }
.seamline::after{
  content:""; position:absolute; left:50%; top:50%; width:9px; height:9px;
  transform:translate(-50%,-50%) rotate(45deg); background:var(--seam);
}

/* ==========================================================================
   ACRONYM — ORION spelled across the seam
   ========================================================================== */
.acronym{ display:grid; grid-template-columns:repeat(5,1fr); border-top:1px solid var(--op-line); border-bottom:1px solid var(--op-line); }
.acronym .cell{ padding:30px 22px 34px; min-height:190px; }
.acronym .cell:nth-child(odd){ background:linear-gradient(180deg, var(--op-panel), var(--op-bg)); }
.acronym .cell:nth-child(even){ background:linear-gradient(180deg, var(--rk-panel), var(--rk-bg)); color:var(--rk-ink); }
.acronym .letter{ font-family:var(--serif); font-size:2.6rem; line-height:1; display:block; margin-bottom:16px; color:var(--op-accent); }
.acronym .cell:nth-child(even) .letter{ color:var(--rk-accent); }
.acronym .word{ font-family:var(--mono); font-size:.7rem; letter-spacing:.14em; text-transform:uppercase; display:block; margin-bottom:10px; }
.acronym .def{ font-size:.9rem; margin:0; color:var(--op-mute); }
.acronym .cell:nth-child(even) .def{ color:var(--rk-mute); }

/* ==========================================================================
   GENERIC SECTIONS
   ========================================================================== */
.sect{ padding:76px 0; }
.sect.alt{ background:linear-gradient(180deg, var(--op-panel), var(--op-bg)); border-block:1px solid var(--op-line); }
.sect.dark{
  background:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3'/%3E%3C/filter%3E%3Crect width='180' height='180' filter='url(%23n)' opacity='.06'/%3E%3C/svg%3E"),
    linear-gradient(180deg, var(--rk-panel), var(--rk-bg));
  color:var(--rk-ink);
}
.sect.dark p{ color:var(--rk-mute); }
.sect.dark h2,.sect.dark h3{ color:var(--rk-ink); }

.sect-head{ display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr); gap:44px; align-items:start; margin-bottom:44px; }
.sect-head .tag{ font-family:var(--mono); font-size:.66rem; letter-spacing:.22em; text-transform:uppercase; color:var(--op-accent); display:block; margin-bottom:12px; }
.sect.dark .sect-head .tag{ color:var(--rk-accent); }
.sect-head p{ margin:0; color:var(--op-mute); }
.sect.dark .sect-head p{ color:var(--rk-mute); }

/* entries — offset, not centred */
.entries{ display:grid; gap:0; }
.entry{
  display:grid; grid-template-columns:64px minmax(0,1fr); gap:26px;
  padding:26px 0; border-top:1px solid var(--op-line); align-items:start;
}
.entry:last-child{ border-bottom:1px solid var(--op-line); }
.sect.dark .entry{ border-color:var(--rk-line); }
.entry .no{ font-family:var(--mono); font-size:.78rem; color:var(--op-accent); padding-top:4px; }
.sect.dark .entry .no{ color:var(--rk-accent); }
.entry h3{ margin:0 0 6px; }
.entry p{ margin:0; font-size:.94rem; }
.entry:nth-child(even){ margin-left:46px; }

/* figure */
figure{ margin:36px 0; }
figure img{ border-radius:4px; border:1px solid var(--op-line); }
.sect.dark figure img{ border-color:var(--rk-line); }
figcaption{ font-family:var(--mono); font-size:.72rem; color:var(--op-mute); margin-top:10px; }
.sect.dark figcaption{ color:var(--rk-mute); }

.pull{
  font-family:var(--serif); font-size:clamp(1.4rem,2.6vw,2rem); line-height:1.28;
  padding:8px 0 8px 26px; border-left:3px solid var(--op-accent); margin:36px 0; color:var(--op-ink);
}
.sect.dark .pull{ border-color:var(--rk-accent); color:var(--rk-ink); }

.btn{
  display:inline-flex; align-items:center; gap:9px; min-height:46px;
  font-family:var(--sans); font-size:.88rem; font-weight:700;
  padding:13px 24px; border-radius:3px; border:1px solid var(--op-ink);
  color:var(--op-ink); background:transparent;
  transition:background .3s var(--ease), color .3s var(--ease), transform .3s var(--ease);
}
.btn:hover,.btn:focus-visible{ background:var(--op-ink); color:var(--op-bg); transform:translateY(-2px); }
.btn.solid{ background:var(--op-accent); border-color:var(--op-accent); color:#fff; }
.btn.solid:hover,.btn.solid:focus-visible{ background:#a2451f; border-color:#a2451f; color:#fff; }
.sect.dark .btn{ border-color:var(--rk-accent); color:var(--rk-ink); }
.sect.dark .btn:hover,.sect.dark .btn:focus-visible{ background:var(--rk-accent); color:#fff; }

/* two-up cards straddling the seam */
.twoup{ display:grid; grid-template-columns:1fr 1fr; gap:1px; background:var(--op-line); border:1px solid var(--op-line); }
.twoup > div{ padding:32px 30px; }
.twoup .a{ background:var(--op-panel); }
.twoup .b{ background:var(--rk-bg); color:var(--rk-ink); }
.twoup .b p{ color:var(--rk-mute); }
.twoup h3{ margin-top:0; }
.twoup .a h3{ color:var(--op-accent); }
.twoup .b h3{ color:var(--rk-accent); }

/* article body */
.article{ display:grid; grid-template-columns:minmax(0,1fr) 290px; gap:60px; padding:56px 0 72px; }
.prose{ max-width:68ch; }
.prose h2{ margin-top:2em; }
.prose h3{ margin-top:1.6em; color:var(--op-accent); }
.prose ul{ padding-left:1.2em; } .prose li{ margin-bottom:.5em; }
.prose figcaption{ font-family:var(--mono); }
.aside-inner{ position:sticky; top:88px; }
.aside h4{ font-family:var(--mono); font-size:.66rem; letter-spacing:.2em; text-transform:uppercase; color:var(--op-mute); margin-bottom:14px; }
.aside ul{ list-style:none; padding:0; margin:0 0 28px; }
.aside li{ padding:12px 0; border-top:1px solid var(--op-line); font-size:.88rem; }
.aside li:last-child{ border-bottom:1px solid var(--op-line); }
.aside a:hover{ color:var(--op-accent); }
.factbox{ border:1px solid var(--op-line); border-radius:4px; padding:20px; background:var(--op-panel); }
.factbox dt{ font-family:var(--mono); font-size:.66rem; letter-spacing:.14em; text-transform:uppercase; color:var(--op-mute); margin-top:12px; }
.factbox dt:first-child{ margin-top:0; }
.factbox dd{ margin:4px 0 0; font-size:.9rem; font-weight:600; }

/* network */
.net{ display:grid; grid-template-columns:repeat(2,1fr); gap:1px; background:var(--op-line); border:1px solid var(--op-line); }
.net a{ background:var(--op-panel); padding:26px 28px; display:block; transition:background .3s var(--ease); }
.net a:hover{ background:var(--op-bg); }
.net .dom{ font-family:var(--mono); font-size:.7rem; color:var(--op-accent); display:block; margin-bottom:9px; }
.net h3{ margin:0 0 6px; font-size:1.02rem; }
.net p{ margin:0; font-size:.87rem; color:var(--op-mute); }

/* footer */
.foot{ background:linear-gradient(180deg, var(--rk-panel), var(--rk-bg)); color:var(--rk-ink); padding:52px 0 36px; }
.foot-grid{ display:grid; grid-template-columns:1.5fr 1fr 1fr; gap:40px; }
.foot h4{ font-family:var(--mono); font-size:.66rem; letter-spacing:.2em; text-transform:uppercase; color:var(--rk-mute); margin-bottom:14px; }
.foot ul{ list-style:none; padding:0; margin:0; }
.foot li{ margin-bottom:9px; font-size:.87rem; }
.foot a{ color:var(--rk-mute); } .foot a:hover{ color:var(--rk-ink); }
.foot p{ color:var(--rk-mute); font-size:.9rem; max-width:46ch; }
.disclaimer{ margin-top:24px; padding:16px 20px; border:1px solid var(--rk-line); border-radius:4px; font-size:.77rem; color:var(--rk-mute); }
.foot-base{ margin-top:32px; padding-top:20px; border-top:1px solid var(--rk-line); display:flex; justify-content:space-between; flex-wrap:wrap; gap:14px; font-family:var(--mono); font-size:.72rem; color:var(--rk-mute); }

/* ---------- responsive ---------- */
@media (max-width:980px){
  .split{ grid-template-columns:1fr; }
  .split::after{ left:0; right:0; top:50%; bottom:auto; width:auto; height:2px; transform:none;
    background:linear-gradient(90deg, transparent, var(--seam) 12%, var(--seam) 88%, transparent); }
  .ledger-op{ padding-right:24px; } .ledger-rk{ padding-left:24px; }
  .ledger-op .inner,.ledger-rk .inner{ width:100%; margin:0; padding:0; }
  .seam-word{ display:none; }
  .split--hero{ min-height:0; } .split--hero .ledger{ min-height:0; padding:56px 0; }
  .acronym{ grid-template-columns:1fr 1fr; }
  .twoup{ grid-template-columns:1fr; }
  .article{ grid-template-columns:1fr; gap:36px; }
  .aside-inner{ position:static; }
  .sect-head{ grid-template-columns:1fr; gap:18px; }
  .foot-grid{ grid-template-columns:1fr; gap:28px; }
}
@media (max-width:620px){
  body{ font-size:16px; }
  .wrap{ width:min(100% - 32px, var(--maxw)); }
  .acronym{ grid-template-columns:1fr; }
  .acronym .cell{ min-height:0; }
  .entry{ grid-template-columns:44px 1fr; gap:16px; }
  .entry:nth-child(even){ margin-left:0; }
  .sect{ padding:52px 0; }
  .nav{ gap:14px; }
  .net{ grid-template-columns:1fr; }
}
@media (prefers-reduced-motion:reduce){ *{ transition:none !important; } html{ scroll-behavior:auto; } }
