Spaces:
Running
Running
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; }
}
|