@font-face { font-family: "Switzer"; font-style: normal; font-weight: 100 900; font-display: swap; src: url("fonts/Switzer-Variable.woff2") format("woff2"); }
@font-face { font-family: "Switzer"; font-style: italic; font-weight: 100 900; font-display: swap; src: url("fonts/Switzer-VariableItalic.woff2") format("woff2"); }
@font-face { font-family: "OCR A Std"; font-style: normal; font-weight: 400; font-display: swap; src: url("fonts/OCRAStd.otf") format("opentype"); }

/* NeoGenesis Capital — Newsroom pages. Same type system and palette as the main site, normal document flow. */
:root {
  --c-black: #000; --c-white: #fff; --c-green: #00ff6f; --c-gray-100: #d9d9d9; --c-gray-500: #878787; --c-gray-600: #828282;
  --f-sans: "Switzer", -apple-system, BlinkMacSystemFont, "Helvetica Neue", Arial, sans-serif;
  --f-mono: "OCR A Std", "OCR A Extended", "OCR-A", ui-monospace, Menlo, monospace;
  --col: 720px;
}
*, *::before, *::after { box-sizing: border-box; }
html { background: var(--c-black); }
body { margin: 0; background: var(--c-black); color: var(--c-white); font-family: var(--f-sans); font-size: 16px; line-height: 1.6; -webkit-font-smoothing: antialiased; }
a { color: inherit; }
img { max-width: 100%; height: auto; display: block; }

.mono { font-family: var(--f-mono); font-size: 10px; line-height: 1.6; text-transform: uppercase; letter-spacing: 0; }
.muted { color: var(--c-gray-600); }
.green { color: var(--c-green); }

.wrap { width: min(1200px, 100% - 48px); margin: 0 auto; }
.col { width: min(var(--col), 100%); margin-left: auto; margin-right: auto; }

/* header */
.nr-head { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 34px 0 28px; border-bottom: 1px solid rgba(255,255,255,.12); }
.nr-logo { display: block; width: 176px; text-decoration: none; }
.nr-logo img:first-child { width: 176px; }
.nr-logo img:last-child { width: 98.6px; margin-top: 6px; }
.nr-nav { display: flex; gap: 28px; align-items: center; }
.nr-nav a { text-decoration: none; color: var(--c-gray-100); transition: color .3s ease; }
.nr-nav a:hover, .nr-nav a[aria-current] { color: var(--c-green); }

/* newsroom index */
.nr-hero { padding: 96px 0 56px; border-bottom: 1px solid rgba(255,255,255,.12); }
.nr-hero h1 { margin: 18px 0 0; font-size: clamp(44px, 6vw, 72px); font-weight: 200; line-height: 1; letter-spacing: -.01em; }
.nr-hero p { margin: 24px 0 0; max-width: 52ch; font-size: 18px; color: var(--c-gray-100); }
.nr-list { list-style: none; margin: 0; padding: 0; }
.nr-item { padding: 40px 0; border-bottom: 1px solid rgba(255,255,255,.12); display: grid; grid-template-columns: 200px 1fr; gap: 24px 48px; align-items: start; }
.nr-item h2 { margin: 0; font-size: clamp(24px, 3vw, 32px); font-weight: 400; line-height: 1.2; letter-spacing: -.01em; max-width: 30ch; }
.nr-item h2 a { text-decoration: none; transition: color .3s ease; }
.nr-item h2 a:hover { color: var(--c-green); }
.nr-item .mono.green, .art-meta .green, .nr-hero .green { color: var(--c-green); }
.nr-item p { margin: 14px 0 0; max-width: 62ch; color: var(--c-gray-100); }
.nr-more { display: inline-block; margin-top: 20px; text-decoration: none; color: var(--c-green); border-bottom: 1px solid rgba(0,255,111,.45); padding-bottom: 2px; transition: border-color .3s ease, color .3s ease; }
.nr-more:hover { color: var(--c-white); border-color: var(--c-white); }
.nr-media { padding: 56px 0 96px; color: var(--c-gray-100); }
.nr-media a { color: var(--c-green); text-decoration: underline; text-underline-offset: 3px; }

/* article */
.art { padding: 88px 0 40px; }
.art-meta { width: min(var(--col), 100%); margin: 0 auto; display: flex; flex-wrap: wrap; gap: 8px 18px; align-items: center; }
.art h1 { margin: 22px auto 0; font-size: clamp(34px, 4.4vw, 56px); font-weight: 300; line-height: 1.08; letter-spacing: -.015em; width: min(var(--col), 100%); }
.art-dek { margin: 26px auto 0; font-size: clamp(18px, 2vw, 22px); line-height: 1.4; color: var(--c-gray-100); width: min(var(--col), 100%); font-weight: 300; }
.art-figure { margin: 56px auto 0; width: min(600px, 100%); }
.art-figure img { width: 100%; }
.art-figure figcaption { margin-top: 12px; }
.art-body { padding: 56px 0 24px; }
.art-body p { margin: 0 0 1.35em; font-size: 18px; line-height: 1.65; color: var(--c-gray-100); }
.art-body p.dateline { color: var(--c-white); }
.art-body p.dateline b { font-weight: 500; }
.art-body h2 { margin: 48px 0 16px; padding-top: 28px; border-top: 1px solid rgba(255,255,255,.12); font-family: var(--f-mono); font-weight: 400; font-size: 12px; text-transform: uppercase; color: var(--c-white); }
.art-body .fine { font-size: 13px; line-height: 1.6; color: var(--c-gray-600); }
.art-body .fine a, .art-body .contact a { color: var(--c-gray-100); text-decoration: underline; text-underline-offset: 3px; }
.art-share { display: flex; flex-wrap: wrap; gap: 14px 28px; align-items: center; padding: 28px 0 96px; border-top: 1px solid rgba(255,255,255,.12); }
.art-share a, .art-share button { font-family: var(--f-mono); font-size: 10px; text-transform: uppercase; line-height: 1.6; color: var(--c-gray-100); background: none; border: 0; padding: 0; cursor: pointer; text-decoration: none; transition: color .3s ease; }
.art-share a:hover, .art-share button:hover { color: var(--c-green); }
.art-share .lbl { color: var(--c-green); }

/* footer */
.nr-foot { border-top: 1px solid rgba(255,255,255,.12); padding: 40px 0 48px; }
.nr-foot-row { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 16px 32px; align-items: center; }
.nr-foot-links { display: flex; flex-wrap: wrap; gap: 8px 22px; }
.nr-foot-links a { font-family: var(--f-mono); font-size: 10px; text-transform: uppercase; line-height: 1.6; color: var(--c-gray-100); text-decoration: none; transition: color .3s ease; }
.nr-foot-links a:hover { color: var(--c-green); }
.nr-foot-disc { margin: 28px 0 0; font-family: var(--f-mono); font-size: 10px; text-transform: uppercase; line-height: 1.7; color: var(--c-gray-600); max-width: 110ch; }

@media (max-width: 760px) {
  .wrap { width: min(1200px, 100% - 40px); }
  .nr-head { padding: 24px 0 20px; }
  .nr-logo, .nr-logo img:first-child { width: 132px; }
  .nr-logo img:last-child { width: 74px; }
  .nr-nav { gap: 18px; font-size: 14px; }
  .nr-hero { padding: 64px 0 40px; }
  .nr-item { grid-template-columns: 1fr; gap: 12px; padding: 32px 0; }
  .art { padding: 56px 0 28px; }
  .art-figure { margin-top: 40px; }
  .art-body { padding-top: 40px; }
  .art-body p { font-size: 17px; }
}
