File size: 15,206 Bytes
cca40c4
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
bf73d26
cca40c4
 
 
 
 
 
 
 
 
 
 
 
 
 
bf73d26
cca40c4
 
bf73d26
cca40c4
 
 
 
 
 
 
 
 
 
 
 
bf73d26
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
cca40c4
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3073dbc
 
cca40c4
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
bf73d26
 
 
 
 
 
 
 
 
 
cca40c4
 
 
 
 
 
 
 
 
3073dbc
cca40c4
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
:root {
  --night: #08100b;
  --forest: #0d1a12;
  --canopy: #13231a;
  --ink: #e7eadf;
  --muted: #9ca89d;
  --green: #7da56e;
  --line: rgba(231, 234, 223, 0.17);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--ink); background: var(--night); font-family: "Avenir Next", "Helvetica Neue", Arial, sans-serif; font-size: 17px; font-weight: 400; }
a { color: inherit; text-decoration: none; }
button { color: inherit; font: inherit; }
a:focus-visible, button:focus-visible { outline: 2px solid var(--green); outline-offset: 5px; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }

.site-header { position: fixed; z-index: 20; top: 0; left: 0; right: 0; height: 72px; padding: 0 clamp(20px, 4vw, 68px); display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; border-bottom: 1px solid rgba(231, 234, 223, 0.11); background: rgba(8, 16, 11, 0.82); backdrop-filter: blur(14px); }
.wordmark { width: fit-content; font-size: 12px; letter-spacing: 0.16em; }
.wordmark span { color: var(--green); font-size: 17px; letter-spacing: -0.08em; }
nav { display: flex; gap: clamp(20px, 3vw, 42px); font-size: 12px; letter-spacing: 0.08em; }
nav a, .text-link, .closing-link { border-bottom: 1px solid transparent; transition: color 220ms ease, border-color 220ms ease; }
nav a:hover, .text-link:hover, .closing-link:hover { color: var(--green); border-color: currentColor; }
.language { justify-self: end; display: flex; align-items: center; gap: 7px; font-size: 11px; }
.language button { padding: 6px 1px; border: 0; border-bottom: 1px solid transparent; background: transparent; opacity: 0.5; cursor: pointer; }
.language button.active { border-color: var(--green); opacity: 1; }

.hero { position: relative; min-height: 100dvh; overflow: hidden; border-bottom: 1px solid var(--line); }
.hero-image { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center; filter: saturate(0.78) contrast(1.06) brightness(0.66); transform: scale(1.03); animation: forestBreathe 14s ease-in-out infinite alternate; }
.hero-shade { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(8, 16, 11, 0.96) 0%, rgba(8, 16, 11, 0.76) 37%, rgba(8, 16, 11, 0.12) 72%), linear-gradient(0deg, rgba(8, 16, 11, 0.72), transparent 48%); }
.hero-copy { position: absolute; z-index: 3; left: clamp(20px, 7vw, 112px); bottom: clamp(38px, 6vh, 68px); width: min(720px, calc(100% - 40px)); }
.kicker, .section-label { margin: 0; color: var(--green); font-size: 12px; letter-spacing: 0.16em; }
h1 { margin: 34px 0 28px; font-family: "Arial Narrow", "Avenir Next Condensed", sans-serif; font-size: clamp(84px, 13.4vw, 208px); font-weight: 500; line-height: 0.7; letter-spacing: -0.075em; }
.hero-statement { margin: 0 0 28px; font-family: Georgia, serif; font-size: clamp(22px, 2.2vw, 34px); font-style: italic; }
.text-link, .closing-link { display: inline-block; padding-bottom: 5px; border-color: rgba(231, 234, 223, 0.45); font-size: 13px; letter-spacing: 0.08em; }
.hero-code { position: absolute; z-index: 3; right: clamp(20px, 6vw, 96px); bottom: 8%; margin: 0; color: rgba(231, 234, 223, 0.64); font: 12px/1.6 "SFMono-Regular", Consolas, monospace; }
.hero-signal { position: absolute; z-index: 2; inset: 0; pointer-events: none; }
.signal-node { position: absolute; left: 64%; top: 47%; width: 7px; height: 7px; border-radius: 50%; background: var(--green); animation: nodePulse 3.2s ease-out infinite; }
.signal-line { position: absolute; left: 64%; top: 47%; width: 31vw; height: 1px; background: linear-gradient(90deg, rgba(125, 165, 110, 0.55), transparent); transform-origin: left center; }
.line-one { transform: rotate(-13deg); animation: lineWake 2.2s 0.4s ease both; }
.line-two { transform: rotate(145deg); animation: lineWake 2.7s 0.8s ease both; }
.line-three { transform: rotate(76deg); animation: lineWake 3.1s 1.1s ease both; }
@keyframes forestBreathe { to { transform: scale(1.075) translate3d(-0.8%, -0.4%, 0); } }
@keyframes nodePulse { 0% { opacity: 0.9; box-shadow: 0 0 0 0 rgba(125, 165, 110, 0.45); } 75%, 100% { opacity: 0.5; box-shadow: 0 0 0 24px rgba(125, 165, 110, 0); } }
@keyframes lineWake { from { opacity: 0; scale: 0 1; } to { opacity: 1; scale: 1 1; } }

.research-form { width: min(680px, 100%); display: grid; grid-template-columns: 1fr auto; border: 1px solid rgba(231, 234, 223, 0.42); background: rgba(8, 16, 11, 0.72); backdrop-filter: blur(12px); }
.research-form input { min-width: 0; padding: 18px 20px; border: 0; outline: 0; color: var(--ink); background: transparent; font: inherit; font-size: 16px; }
.research-form input::placeholder { color: rgba(231, 234, 223, 0.46); }
.research-form button { padding: 0 22px; border: 0; border-left: 1px solid rgba(231, 234, 223, 0.3); color: var(--night); background: var(--green); cursor: pointer; font-size: 13px; letter-spacing: 0.06em; transition: background 180ms ease; }
.research-form button:hover { background: #a0c490; }
.query-examples { margin-top: 12px; display: flex; align-items: center; gap: 8px; color: var(--muted); font-size: 12px; }
.query-examples button { padding: 5px 9px; border: 1px solid var(--line); color: var(--ink); background: transparent; cursor: pointer; font: 11px "SFMono-Regular", Consolas, monospace; }
.query-examples button:hover { border-color: var(--green); color: var(--green); }

.research { min-height: 68vh; scroll-margin-top: 72px; padding: clamp(72px, 9vw, 130px) clamp(20px, 8vw, 130px); border-bottom: 1px solid var(--line); background: #0a140e; }
.research-empty, .research-loading, .research-error { min-height: 42vh; display: grid; place-content: center; justify-items: center; text-align: center; color: var(--muted); }
.research-empty[hidden], .research-loading[hidden], .research-error[hidden], .research-result[hidden] { display: none; }
.research-empty pre, .research-loading pre { color: var(--green); font: clamp(13px, 1.4vw, 18px)/1.6 "SFMono-Regular", Consolas, monospace; }
.research-loading pre { animation: dataPulse 1.2s steps(2, end) infinite; }
.research-error { color: #d6a18c; }
@keyframes dataPulse { 50% { opacity: 0.35; } }
.result-header { display: flex; align-items: end; justify-content: space-between; gap: 40px; padding-bottom: 42px; border-bottom: 1px solid var(--line); }
.result-header h2 { max-width: 15ch; margin: 22px 0 0; font-family: "Arial Narrow", "Avenir Next Condensed", sans-serif; font-size: clamp(44px, 7vw, 96px); font-weight: 500; line-height: 0.88; letter-spacing: -0.05em; }
.company-identity { min-width: 160px; display: grid; gap: 7px; justify-items: end; color: var(--muted); font: 12px "SFMono-Regular", Consolas, monospace; }
.company-identity strong { color: var(--green); font-size: 28px; font-weight: 400; }
.company-profile { display: grid; grid-template-columns: 2fr 1fr 1fr; border-bottom: 1px solid var(--line); }
.company-profile div { min-height: 130px; padding: 28px 28px 28px 0; display: flex; flex-direction: column; justify-content: space-between; border-right: 1px solid var(--line); }
.company-profile div + div { padding-left: 28px; }
.company-profile div:last-child { border-right: 0; }
.company-profile span, .metric-card span { color: var(--muted); font-size: 12px; letter-spacing: 0.06em; }
.company-profile strong { font-size: 18px; font-weight: 400; }
.result-block { padding: 64px 0; border-bottom: 1px solid var(--line); }
.result-block > h3, .evidence-note h3 { margin: 0 0 32px; color: var(--green); font-size: 12px; font-weight: 400; letter-spacing: 0.14em; text-transform: uppercase; }
.metric-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; background: var(--line); }
.metric-card { min-height: 190px; padding: 28px; display: flex; flex-direction: column; background: var(--forest); }
.metric-card strong { margin: auto 0 20px; font-family: Georgia, serif; font-size: clamp(28px, 3vw, 44px); font-style: italic; font-weight: 400; }
.metric-card small { color: var(--muted); font: 11px/1.5 "SFMono-Regular", Consolas, monospace; }
.filing-list { border-top: 1px solid var(--line); }
.filing-row { padding: 19px 0; display: grid; grid-template-columns: 90px 1fr 110px 24px; gap: 20px; align-items: center; border-bottom: 1px solid var(--line); transition: color 160ms ease, padding 160ms ease; }
.filing-row:hover { padding-left: 10px; color: var(--green); }
.filing-row strong { color: var(--green); font: 13px "SFMono-Regular", Consolas, monospace; }
.filing-row span { overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.filing-row time { color: var(--muted); font-size: 13px; }
.filing-row b { font-weight: 400; }
.evidence-note { max-width: 780px; margin: 64px 0 0 auto; padding: 32px; border-left: 1px solid var(--green); background: rgba(125, 165, 110, 0.05); }
.evidence-note p { color: var(--muted); line-height: 1.6; }
.evidence-note a { color: var(--ink); border-bottom: 1px solid var(--green); }
.empty-copy { color: var(--muted); }

.manifesto { min-height: 84vh; padding: clamp(100px, 14vw, 220px) clamp(20px, 8vw, 130px); display: grid; align-content: center; background: var(--forest); }
.manifesto h2, .system-map h2, .boundaries h2, .path h2 { max-width: 12ch; margin: 42px 0; font-family: "Arial Narrow", "Avenir Next Condensed", sans-serif; font-size: clamp(54px, 7.3vw, 112px); font-weight: 500; line-height: 0.88; letter-spacing: -0.055em; }
.manifesto-body { max-width: 49ch; margin: 0 0 0 31vw; color: var(--muted); font-size: clamp(20px, 2vw, 30px); line-height: 1.45; }

.principles { display: grid; grid-template-columns: 1.2fr 0.8fr; border-top: 1px solid var(--line); background: var(--forest); }
.principle { min-height: 460px; padding: clamp(48px, 6vw, 94px); display: flex; flex-direction: column; justify-content: space-between; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.principle:first-child { grid-row: span 2; min-height: 920px; background: linear-gradient(155deg, rgba(125, 165, 110, 0.12), transparent 58%); }
.principle:nth-child(2), .principle:nth-child(3) { border-right: 0; }
.principle span, .path-step span { color: var(--green); font-size: 13px; letter-spacing: 0.14em; text-transform: uppercase; }
.principle h3 { max-width: 14ch; margin: auto 0 30px; font-family: Georgia, serif; font-size: clamp(32px, 3.8vw, 58px); font-style: italic; font-weight: 400; line-height: 1.06; }
.principle p { max-width: 38ch; margin: 0; color: var(--muted); line-height: 1.55; }

.system-map { min-height: 100dvh; padding: clamp(86px, 11vw, 170px) clamp(20px, 8vw, 130px); display: grid; grid-template-columns: 0.9fr 1.1fr; gap: clamp(60px, 9vw, 150px); align-items: center; background: #09110c; }
.map-copy p:last-child { max-width: 42ch; color: var(--muted); line-height: 1.6; }
.map-art { margin: 0; padding: clamp(36px, 5vw, 78px); overflow: hidden; border: 1px solid var(--line); color: var(--green); background: rgba(19, 35, 26, 0.36); font: clamp(12px, 1.25vw, 18px)/1.65 "SFMono-Regular", Consolas, monospace; }

.boundaries { padding: clamp(100px, 13vw, 200px) clamp(20px, 8vw, 130px); background: var(--canopy); }
.boundaries h2 { max-width: 13ch; }
.boundary-list { max-width: 760px; margin: 80px 0 0 auto; }
.boundary-list p { margin: 0; padding: 24px 0; border-bottom: 1px solid var(--line); font-size: clamp(19px, 2vw, 28px); }

.path { padding: clamp(100px, 13vw, 200px) clamp(20px, 8vw, 130px); background: var(--forest); }
.path-grid { margin-top: 100px; display: grid; grid-template-columns: 1.1fr 0.7fr 1fr; gap: 1px; background: var(--line); }
.path-step { min-height: 390px; padding: clamp(34px, 4vw, 64px); display: flex; flex-direction: column; justify-content: space-between; background: var(--forest); }
.path-step p { max-width: 31ch; margin: 0; color: var(--muted); line-height: 1.55; }

.closing { min-height: 80dvh; padding: clamp(100px, 13vw, 200px) clamp(20px, 8vw, 130px); display: flex; flex-direction: column; align-items: flex-start; justify-content: center; background: linear-gradient(rgba(8, 16, 11, 0.8), rgba(8, 16, 11, 0.96)), url("assets/robinhood-banner.png") center/cover; }
.closing p { max-width: 16ch; margin: 0 0 60px; font-family: Georgia, serif; font-size: clamp(50px, 7vw, 105px); font-style: italic; line-height: 0.98; }

footer { min-height: 160px; padding: 50px clamp(20px, 4vw, 68px); display: grid; grid-template-columns: 1fr auto 1fr; align-items: end; gap: 24px; border-top: 1px solid var(--line); color: var(--muted); font-size: 12px; letter-spacing: 0.08em; }
footer span:last-child { justify-self: end; }
.social-link { padding-bottom: 4px; border-bottom: 1px solid var(--line); transition: color 180ms ease, border-color 180ms ease; }
.social-link:hover { color: var(--green); border-color: var(--green); }

.reveal { opacity: 1; transform: translateY(0); }
.motion-ready .reveal { opacity: 0; transform: translateY(34px); transition: opacity 850ms cubic-bezier(0.16, 1, 0.3, 1), transform 850ms cubic-bezier(0.16, 1, 0.3, 1); }
.motion-ready .reveal.visible { opacity: 1; transform: translateY(0); }

@media (max-width: 800px) {
  .site-header { grid-template-columns: 1fr auto; height: 64px; }
  nav { display: none; }
  .hero-copy { left: 20px; bottom: 48px; }
  h1 { font-size: clamp(82px, 27vw, 142px); }
  .hero-statement { max-width: 12ch; }
  .hero-code { display: none; }
  .hero-image { object-position: 62% center; }
  .hero-shade { background: linear-gradient(90deg, rgba(8, 16, 11, 0.91), rgba(8, 16, 11, 0.2)), linear-gradient(0deg, rgba(8, 16, 11, 0.82), transparent 60%); }
  .signal-node, .signal-line { left: 70%; top: 40%; }
  .manifesto, .system-map, .boundaries, .path { padding-left: 20px; padding-right: 20px; }
  .research { padding-left: 20px; padding-right: 20px; }
  .research-form { grid-template-columns: 1fr; }
  .research-form button { min-height: 50px; border-top: 1px solid rgba(231, 234, 223, 0.3); border-left: 0; }
  .query-examples { flex-wrap: wrap; }
  .result-header { align-items: start; flex-direction: column; }
  .company-identity { justify-items: start; }
  .company-profile, .metric-grid { grid-template-columns: 1fr; }
  .company-profile div, .company-profile div + div { min-height: 96px; padding: 22px 0; border-right: 0; border-bottom: 1px solid var(--line); }
  .filing-row { grid-template-columns: 68px 1fr 20px; gap: 12px; }
  .filing-row time { display: none; }
  .manifesto-body { margin-left: 0; }
  .principles, .system-map, .path-grid { grid-template-columns: 1fr; }
  .principle, .principle:first-child { grid-row: auto; min-height: 460px; border-right: 0; }
  .system-map { gap: 60px; }
  .boundary-list { margin-top: 54px; }
  .path-grid { margin-top: 60px; }
  .path-step { min-height: 310px; }
  footer { grid-template-columns: 1fr; align-items: start; }
  footer span:last-child { justify-self: start; }
  .social-link { width: fit-content; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation: none !important; transition: none !important; }
  .motion-ready .reveal { opacity: 1; transform: none; }
}