/* ═══════════════════════════════════════════════════════════════
   UPLABS BRUTALIST — Inner pages
   Detail / venture / article / contact / about / careers / atlas
   ═══════════════════════════════════════════════════════════════ */

/* ===================== BREADCRUMB / BACK ===================== */
.bru-breadcrumb {
  font-family: var(--mono);
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  padding: 14px 24px;
  border-bottom: 1px solid var(--bg);
  background: var(--paper);
  color: var(--bg);
  display: flex;
  gap: 12px;
  align-items: center;
}
.bru-breadcrumb a { text-decoration: none; color: var(--bg); border-bottom: 1px dotted var(--bg); }
.bru-breadcrumb a:hover { color: var(--orange); border-color: var(--orange); }
.bru-breadcrumb .sep { color: var(--dim); }
.bru-breadcrumb .here { color: var(--dim); }

/* ===================== PAGE HERO (inner) ===================== */
.bru-page-hero {
  padding: 72px 24px 64px;
  border-bottom: 2px solid var(--bg);
  display: grid;
  grid-template-columns: 1fr 360px;
  gap: 64px;
  align-items: end;
  background: var(--paper);
}
.bru-page-hero.dark {
  background: var(--bg);
  color: var(--fg);
}
.bru-page-hero .eyebrow {
  font-family: var(--mono);
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--orange);
  margin-bottom: 18px;
  display: flex;
  gap: 12px;
}
.bru-page-hero .eyebrow b { color: var(--bg); font-weight: 500; }
.bru-page-hero.dark .eyebrow b { color: var(--fg); }
.bru-page-hero h1 {
  font-family: var(--display);
  font-weight: 700;
  font-size: 84px;
  line-height: 0.92;
  letter-spacing: -0.035em;
  margin: 0 0 24px;
  text-wrap: balance;
}
.bru-page-hero h1 .acid { color: var(--acid); }
.bru-page-hero .deck {
  font-family: var(--mono);
  font-size: 14px;
  line-height: 1.55;
  color: var(--bg);
  max-width: 64ch;
  margin: 0;
}
.bru-page-hero.dark .deck { color: var(--dim); }
.bru-page-hero.dark .deck b { color: var(--fg); font-weight: 500; }

/* hero meta panel (right rail) */
.bru-hero-meta {
  border: 1px solid var(--bg);
  background: var(--paper-3);
  font-family: var(--mono);
  font-size: 12px;
}
.bru-page-hero.dark .bru-hero-meta {
  border-color: var(--line);
  background: rgba(255,255,255,0.02);
  color: var(--fg);
}
.bru-hero-meta .meta-head {
  background: var(--bg);
  color: var(--acid);
  padding: 8px 12px;
  font-size: 10.5px;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  display: flex;
  justify-content: space-between;
}
.bru-hero-meta dl {
  margin: 0;
  padding: 12px 14px;
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 8px 14px;
}
.bru-hero-meta dt {
  font-size: 10.5px;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--dim);
}
.bru-hero-meta dd {
  margin: 0;
  font-size: 12px;
  color: inherit;
  text-align: right;
}
.bru-hero-meta dd b { color: var(--orange); }

/* ===================== TWO-COLUMN BODY ===================== */
.bru-page-body {
  padding: 56px 24px 72px;
  display: grid;
  grid-template-columns: 220px 1fr;
  gap: 48px;
  border-bottom: 2px solid var(--bg);
}
.bru-page-body.no-rail {
  grid-template-columns: 1fr;
  max-width: none;
}
.bru-page-rail {
  position: sticky;
  top: 90px;
  align-self: start;
  font-family: var(--mono);
  font-size: 11px;
}
.bru-page-rail .head {
  font-size: 10.5px;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--dim);
  margin-bottom: 14px;
  padding-bottom: 8px;
  border-bottom: 1px solid var(--bg);
}
.bru-page-rail ol {
  list-style: none;
  padding: 0;
  margin: 0;
  counter-reset: rail;
}
.bru-page-rail li {
  margin-bottom: 8px;
  counter-increment: rail;
}
.bru-page-rail li::before {
  content: counter(rail, decimal-leading-zero) "  ";
  color: var(--orange);
}
.bru-page-rail a {
  text-decoration: none;
  color: var(--bg);
  font-size: 11.5px;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}
.bru-page-rail a:hover { color: var(--orange); }

/* Body sections */
.bru-page-content section {
  margin-bottom: 48px;
  padding-bottom: 32px;
  border-bottom: 1px solid var(--line-dim);
}
.bru-page-content section:last-child { border-bottom: 0; }
.bru-page-content h2 {
  font-family: var(--display);
  font-size: 36px;
  font-weight: 700;
  letter-spacing: -0.025em;
  line-height: 1.05;
  margin: 0 0 20px;
}
.bru-page-content h2::before {
  content: "// ";
  color: var(--orange);
  font-family: var(--mono);
  font-weight: 500;
  font-size: 24px;
}
.bru-page-content h3 {
  font-family: var(--display);
  font-size: 22px;
  font-weight: 700;
  letter-spacing: -0.02em;
  margin: 24px 0 10px;
}
.bru-page-content p {
  font-family: var(--mono);
  font-size: 13px;
  line-height: 1.65;
  margin: 0 0 14px;
  max-width: 72ch;
}
.bru-page-content ul, .bru-page-content ol {
  font-family: var(--mono);
  font-size: 13px;
  line-height: 1.65;
  padding-left: 0;
  list-style: none;
  margin: 0 0 18px;
}
.bru-page-content ul li, .bru-page-content ol li {
  padding-left: 22px;
  position: relative;
  margin-bottom: 6px;
}
.bru-page-content ul li::before {
  content: "▸";
  position: absolute;
  left: 0;
  color: var(--orange);
}
.bru-page-content ol { counter-reset: pcount; }
.bru-page-content ol li { counter-increment: pcount; }
.bru-page-content ol li::before {
  content: counter(pcount, decimal-leading-zero);
  position: absolute;
  left: 0;
  color: var(--orange);
  font-weight: 500;
}
.bru-page-content blockquote {
  margin: 24px 0;
  padding: 16px 20px;
  border-left: 4px solid var(--acid);
  background: var(--paper-2);
  font-family: var(--display);
  font-size: 18px;
  font-style: italic;
  font-weight: 500;
  letter-spacing: -0.01em;
  color: var(--bg);
}
.bru-page-content blockquote::before { content: "“ "; color: var(--orange); }
.bru-page-content blockquote::after { content: " ”"; color: var(--orange); }

/* Pillars */
.bru-pillars {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0;
  border: 1px solid var(--bg);
  margin: 16px 0 8px;
}
.bru-pillars > div {
  padding: 18px 18px 20px;
  border-right: 1px solid var(--bg);
  border-bottom: 1px solid var(--bg);
  background: var(--paper);
}
.bru-pillars > div:nth-child(2n) { border-right: 0; }
.bru-pillars > div:nth-last-child(-n+2) { border-bottom: 0; }
.bru-pillars .pn {
  font-family: var(--mono);
  font-size: 10.5px;
  letter-spacing: 0.06em;
  color: var(--orange);
  margin-bottom: 6px;
}
.bru-pillars h4 {
  font-family: var(--display);
  font-size: 18px;
  font-weight: 700;
  letter-spacing: -0.02em;
  margin: 0 0 6px;
}
.bru-pillars p {
  font-family: var(--mono);
  font-size: 12px;
  line-height: 1.55;
  color: var(--bg);
  margin: 0;
  max-width: none;
}

/* Numeric panel */
.bru-num-panel {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  border: 1px solid var(--bg);
  background: var(--bg);
  margin: 16px 0;
}
.bru-num-panel > div {
  background: var(--paper);
  padding: 20px 18px;
  border-right: 1px solid var(--bg);
}
.bru-num-panel > div:last-child { border-right: 0; }
.bru-num-panel strong {
  display: block;
  font-family: var(--display);
  font-size: 44px;
  font-weight: 700;
  letter-spacing: -0.04em;
  line-height: 1;
  margin-bottom: 4px;
}
.bru-num-panel strong .u {
  font-size: 22px;
  color: var(--orange);
  font-weight: 500;
  margin-left: 2px;
}
.bru-num-panel span {
  font-family: var(--mono);
  font-size: 10.5px;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--dim);
}

/* Spec list */
.bru-spec {
  list-style: none !important;
  padding: 0 !important;
  margin: 16px 0 !important;
  border-top: 1px solid var(--bg);
}
.bru-spec li {
  padding: 12px 0 !important;
  border-bottom: 1px solid var(--bg);
  display: grid !important;
  grid-template-columns: 200px 1fr;
  gap: 24px;
  font-family: var(--mono);
  font-size: 12px;
  margin: 0 !important;
}
.bru-spec li::before { display: none !important; }
.bru-spec .label {
  font-size: 10.5px;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--orange);
  font-weight: 500;
}
.bru-spec li > span:last-child { line-height: 1.55; }

/* Roadmap */
.bru-roadmap {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0;
  border: 1px solid var(--bg);
  background: var(--bg);
  margin: 16px 0;
}
.bru-roadmap > div {
  background: var(--paper);
  padding: 20px;
  border-right: 1px solid var(--bg);
}
.bru-roadmap > div:last-child { border-right: 0; }
.bru-roadmap h4 {
  font-family: var(--mono);
  font-size: 10.5px;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--orange);
  margin: 0 0 6px;
}
.bru-roadmap .phase-name {
  font-family: var(--display);
  font-size: 22px;
  font-weight: 700;
  letter-spacing: -0.02em;
  margin-bottom: 14px;
}
.bru-roadmap ul {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
}
.bru-roadmap li {
  padding-left: 18px !important;
  position: relative;
  margin-bottom: 6px;
  font-size: 12px !important;
  line-height: 1.45;
}
.bru-roadmap li::before {
  content: "+ " !important;
  color: var(--acid) !important;
  position: absolute !important;
  left: 0 !important;
}

/* ===================== ARTICLE ===================== */
.bru-article-hero {
  padding: 72px 24px 56px;
  border-bottom: 2px solid var(--bg);
  background: var(--paper);
  max-width: none;
}
.bru-article-cat {
  font-family: var(--mono);
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--orange);
  margin-bottom: 18px;
  display: flex;
  gap: 12px;
}
.bru-article-cat .pill {
  background: var(--orange);
  color: var(--paper);
  padding: 3px 8px;
}
.bru-article-cat .meta { color: var(--dim); }
.bru-article-hero h1 {
  font-family: var(--display);
  font-size: 64px;
  font-weight: 700;
  letter-spacing: -0.03em;
  line-height: 0.98;
  margin: 0 0 20px;
  max-width: 22ch;
  text-wrap: balance;
}
.bru-article-hero .deck {
  font-family: var(--mono);
  font-size: 16px;
  line-height: 1.55;
  color: var(--bg);
  max-width: 60ch;
  margin: 0 0 28px;
}
.bru-article-byline {
  display: flex;
  gap: 32px;
  font-family: var(--mono);
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--dim);
  border-top: 1px solid var(--bg);
  padding-top: 16px;
}
.bru-article-byline .k { color: var(--bg); font-weight: 500; }

.bru-article-body {
  padding: 56px 24px 72px;
  max-width: 800px;
  margin: 0 auto;
  border-bottom: 2px solid var(--bg);
}
.bru-article-body p, .bru-article-body ul, .bru-article-body ol {
  font-family: var(--mono);
  font-size: 14px;
  line-height: 1.7;
  margin: 0 0 18px;
}
.bru-article-body p { max-width: none; }
.bru-article-body h2 {
  font-family: var(--display);
  font-size: 32px;
  font-weight: 700;
  letter-spacing: -0.025em;
  margin: 36px 0 14px;
  line-height: 1.05;
}
.bru-article-body h2::before { content: "// "; color: var(--orange); font-family: var(--mono); font-weight: 500; }
.bru-article-body h3 {
  font-family: var(--display);
  font-size: 20px;
  font-weight: 700;
  letter-spacing: -0.02em;
  margin: 24px 0 8px;
}
.bru-article-body blockquote {
  margin: 24px 0;
  padding: 16px 20px;
  border-left: 4px solid var(--acid);
  background: var(--paper-2);
  font-family: var(--display);
  font-style: italic;
  font-size: 18px;
  font-weight: 500;
  color: var(--bg);
}
.bru-article-body ul {
  padding-left: 0;
  list-style: none;
}
.bru-article-body ul li {
  padding-left: 22px;
  position: relative;
  margin-bottom: 6px;
}
.bru-article-body ul li::before { content: "▸"; position: absolute; left: 0; color: var(--orange); }

.bru-stats-inline {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  border: 1px solid var(--bg);
  background: var(--bg);
  margin: 24px 0;
}
.bru-stats-inline > div {
  background: var(--paper);
  padding: 16px 18px;
  border-right: 1px solid var(--bg);
}
.bru-stats-inline > div:last-child { border-right: 0; }
.bru-stats-inline strong {
  display: block;
  font-family: var(--display);
  font-size: 32px;
  font-weight: 700;
  letter-spacing: -0.03em;
  line-height: 1;
}
.bru-stats-inline span {
  display: block;
  margin-top: 4px;
  font-family: var(--mono);
  font-size: 10.5px;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--dim);
}

/* Article footer / continue */
.bru-article-foot {
  background: var(--bg);
  color: var(--fg);
  padding: 48px 24px 56px;
  border-bottom: 2px solid var(--bg);
}
.bru-article-foot h5 {
  font-family: var(--mono);
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--acid);
  margin: 0 0 20px;
  font-weight: 500;
}
.bru-article-foot .more {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0;
  border: 1px solid var(--line);
}
.bru-article-foot .more a {
  padding: 22px 20px;
  border-right: 1px solid var(--line);
  text-decoration: none;
  color: var(--fg);
  display: block;
}
.bru-article-foot .more a:last-child { border-right: 0; }
.bru-article-foot .more a:hover { background: rgba(207,255,94,0.06); }
.bru-article-foot .more .cat {
  font-family: var(--mono);
  font-size: 10.5px;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--orange);
  margin-bottom: 8px;
}
.bru-article-foot .more h6 {
  font-family: var(--display);
  font-size: 18px;
  font-weight: 600;
  letter-spacing: -0.02em;
  margin: 0;
  line-height: 1.2;
}

/* ===================== INSIGHTS LIST / ROW ===================== */
.bru-insights-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0;
  border: 1px solid var(--bg);
  background: var(--bg);
}
.bru-insights-grid a {
  background: var(--paper);
  padding: 22px 22px 22px;
  border-right: 1px solid var(--bg);
  text-decoration: none;
  color: var(--bg);
  display: flex;
  flex-direction: column;
  gap: 12px;
  cursor: pointer;
  min-height: 240px;
}
.bru-insights-grid a:nth-child(3n) { border-right: 0; }
.bru-insights-grid a:not(:nth-last-child(-n+3)) { border-bottom: 1px solid var(--bg); }
.bru-insights-grid a:hover { background: var(--paper-3); }
.bru-insights-grid a.featured {
  grid-column: span 3;
  display: grid;
  grid-template-columns: 1fr 360px;
  background: var(--bg);
  color: var(--fg);
  padding: 28px;
  align-items: end;
}
.bru-insights-grid a.featured:hover { background: #111; }
.bru-insights-grid a.featured .insight-thumb {
  background:
    radial-gradient(circle at 30% 30%, rgba(207,255,94,0.2), transparent 60%),
    repeating-linear-gradient(45deg, transparent 0 6px, rgba(255,255,255,0.04) 6px 7px);
  border: 1px solid var(--line);
  height: 200px;
}
.bru-insights-grid a.featured h4 {
  font-family: var(--display);
  font-size: 32px;
  font-weight: 700;
  letter-spacing: -0.025em;
  line-height: 1.05;
  margin: 0;
  color: var(--fg);
}
.bru-insights-grid a.featured p {
  font-family: var(--mono);
  font-size: 13px;
  line-height: 1.55;
  color: var(--dim);
  margin: 0;
  max-width: 60ch;
}
.bru-insight-meta {
  font-family: var(--mono);
  font-size: 10.5px;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  display: flex;
  gap: 12px;
  color: var(--dim);
}
.bru-insight-meta .cat { color: var(--orange); }
.bru-insights-grid a h4 {
  font-family: var(--display);
  font-size: 20px;
  font-weight: 700;
  letter-spacing: -0.02em;
  line-height: 1.15;
  margin: 0;
  color: inherit;
  flex: 1;
}
.bru-insights-grid a .read-on {
  font-family: var(--mono);
  font-size: 10.5px;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--orange);
}
.bru-insights-grid a .read-on::after { content: " →"; }

/* Insights list (rows) */
.bru-insights-list {
  border-top: 1px solid var(--bg);
}
.bru-insights-list a {
  display: grid;
  grid-template-columns: 1fr 1fr 100px;
  gap: 32px;
  padding: 22px 0;
  border-bottom: 1px solid var(--bg);
  text-decoration: none;
  color: var(--bg);
  align-items: start;
}
.bru-insights-list a:hover h4 { color: var(--orange); }
.bru-insights-list a h4 {
  font-family: var(--display);
  font-size: 22px;
  font-weight: 700;
  letter-spacing: -0.02em;
  margin: 0;
  line-height: 1.15;
}
.bru-insights-list a p {
  font-family: var(--mono);
  font-size: 12px;
  line-height: 1.55;
  color: var(--dim);
  margin: 0;
}
.bru-insights-list a .meta-col {
  font-family: var(--mono);
  font-size: 10.5px;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  text-align: right;
  color: var(--dim);
}
.bru-insights-list a .meta-col .cat { color: var(--orange); display: block; margin-bottom: 4px; }

/* ===================== FORMS ===================== */
.bru-form {
  display: grid;
  gap: 0;
  border: 1px solid var(--bg);
  background: var(--paper);
  max-width: 720px;
}
.bru-form .field {
  display: grid;
  grid-template-columns: 200px 1fr;
  gap: 0;
  border-bottom: 1px solid var(--bg);
}
.bru-form .field:last-of-type { border-bottom: 1px solid var(--bg); }
.bru-form label {
  padding: 14px 16px;
  font-family: var(--mono);
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--dim);
  background: var(--paper-2);
  border-right: 1px solid var(--bg);
  display: flex;
  align-items: center;
}
.bru-form label::before { content: "$ "; color: var(--orange); margin-right: 4px; }
.bru-form input,
.bru-form select,
.bru-form textarea {
  font-family: var(--mono);
  font-size: 13px;
  border: 0;
  background: transparent;
  padding: 14px 16px;
  color: var(--bg);
  outline: none;
  width: 100%;
}
.bru-form input::placeholder,
.bru-form textarea::placeholder { color: var(--dim); }
.bru-form textarea {
  min-height: 120px;
  resize: vertical;
  font-family: var(--mono);
}
.bru-form input:focus, .bru-form select:focus, .bru-form textarea:focus {
  background: var(--paper-3);
  outline: 2px solid var(--acid);
  outline-offset: -2px;
}
.bru-form .submit-row {
  background: var(--bg);
  padding: 16px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  color: var(--fg);
  font-family: var(--mono);
  font-size: 11px;
}
.bru-form .submit-row .meta { color: var(--dim); text-transform: uppercase; letter-spacing: 0.06em; }
.bru-form .submit-row button {
  background: var(--acid);
  color: var(--bg);
  border: 0;
  padding: 12px 20px;
  font-family: var(--mono);
  font-size: 12px;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  cursor: pointer;
}
.bru-form .submit-row button::before { content: "[ "; }
.bru-form .submit-row button::after { content: " ]"; }

/* ===================== CONTACT TWO-COL ===================== */
.bru-two-col {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 48px;
}
.bru-contact-list {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  border-top: 1px solid var(--bg);
}
.bru-contact-list li {
  padding: 14px 0 !important;
  border-bottom: 1px solid var(--bg);
  display: grid !important;
  grid-template-columns: 220px 1fr;
  gap: 24px;
  margin: 0 !important;
}
.bru-contact-list li::before { display: none !important; }
.bru-contact-list .k {
  font-family: var(--mono);
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--orange);
}
.bru-contact-list .v {
  font-family: var(--mono);
  font-size: 13px;
  color: var(--bg);
}

/* ===================== TEAM ===================== */
.bru-team-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0;
  border: 1px solid var(--bg);
  background: var(--bg);
}
.bru-team-grid .card {
  background: var(--paper);
  padding: 24px;
  border-right: 1px solid var(--bg);
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.bru-team-grid .card:nth-child(3n) { border-right: 0; }
.bru-team-grid .card:not(:nth-last-child(-n+3)) { border-bottom: 1px solid var(--bg); }
.bru-team-grid .avatar {
  width: 64px;
  height: 64px;
  background: var(--bg);
  color: var(--acid);
  font-family: var(--display);
  font-size: 22px;
  font-weight: 700;
  letter-spacing: -0.03em;
  display: grid;
  place-items: center;
  border: 2px solid var(--acid);
}
.bru-team-grid h4 {
  font-family: var(--display);
  font-size: 20px;
  font-weight: 700;
  letter-spacing: -0.02em;
  margin: 0;
}
.bru-team-grid .role {
  font-family: var(--mono);
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--orange);
}
.bru-team-grid p {
  font-family: var(--mono);
  font-size: 12px;
  line-height: 1.55;
  color: var(--bg);
  margin: 0;
}

/* ===================== CAREERS ===================== */
.bru-jobs {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
  border-top: 2px solid var(--bg);
}
.bru-jobs li {
  display: grid !important;
  grid-template-columns: auto 1fr auto auto;
  gap: 24px;
  padding: 18px 0 !important;
  border-bottom: 1px solid var(--bg);
  align-items: center;
  margin: 0 !important;
}
.bru-jobs li::before { display: none !important; }
.bru-jobs .role-id {
  font-family: var(--mono);
  font-size: 11px;
  color: var(--orange);
  letter-spacing: 0.06em;
  width: 60px;
}
.bru-jobs h4 {
  font-family: var(--display);
  font-size: 20px;
  font-weight: 700;
  letter-spacing: -0.02em;
  margin: 0;
}
.bru-jobs .meta {
  font-family: var(--mono);
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--dim);
}
.bru-jobs .apply {
  font-family: var(--mono);
  font-size: 11px;
  font-weight: 500;
  background: var(--bg);
  color: var(--acid);
  padding: 8px 14px;
  text-decoration: none;
  text-transform: uppercase;
  letter-spacing: 0.06em;
}
.bru-jobs .apply:hover { background: var(--acid); color: var(--bg); }

/* ===================== ATLAS REPORT ===================== */
.bru-atlas-hero {
  background: var(--bg);
  color: var(--fg);
  padding: 72px 24px 64px;
  border-bottom: 2px solid var(--bg);
  display: grid;
  grid-template-columns: 1fr 360px;
  gap: 64px;
  align-items: end;
  position: relative;
  overflow: hidden;
}
.bru-atlas-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    repeating-linear-gradient(0deg, transparent 0 24px, rgba(255,255,255,0.02) 24px 25px),
    repeating-linear-gradient(90deg, transparent 0 24px, rgba(255,255,255,0.02) 24px 25px);
  pointer-events: none;
}
.bru-atlas-hero > * { position: relative; }
.bru-atlas-hero .stamp {
  font-family: var(--mono);
  font-size: 11px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--acid);
  margin-bottom: 22px;
  display: flex;
  gap: 24px;
}
.bru-atlas-hero .stamp .id { color: var(--dim); }
.bru-atlas-hero h1 {
  font-family: var(--display);
  font-size: 96px;
  font-weight: 700;
  line-height: 0.9;
  letter-spacing: -0.04em;
  margin: 0 0 24px;
  color: var(--fg);
}
.bru-atlas-hero h1 .acid { color: var(--acid); }
.bru-atlas-hero .deck {
  font-family: var(--mono);
  font-size: 16px;
  line-height: 1.55;
  color: var(--dim);
  max-width: 60ch;
  margin: 0;
}
.bru-atlas-hero .deck b { color: var(--fg); font-weight: 500; }

/* TOC sidebar for atlas */
.bru-atlas-body {
  display: grid;
  grid-template-columns: 260px 1fr;
  gap: 0;
  border-bottom: 2px solid var(--bg);
}
.bru-atlas-toc {
  background: var(--paper-2);
  padding: 32px 22px;
  border-right: 2px solid var(--bg);
  font-family: var(--mono);
  position: sticky;
  top: 90px;
  align-self: start;
  max-height: calc(100vh - 100px);
  overflow-y: auto;
}
.bru-atlas-toc .head {
  font-size: 10.5px;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--dim);
  margin-bottom: 14px;
  padding-bottom: 8px;
  border-bottom: 1px solid var(--bg);
}
.bru-atlas-toc ol {
  list-style: none;
  padding: 0;
  margin: 0;
}
.bru-atlas-toc li {
  margin-bottom: 4px;
  font-size: 11.5px;
}
.bru-atlas-toc a {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 8px;
  padding: 6px 0;
  text-decoration: none;
  color: var(--bg);
  border-bottom: 1px solid transparent;
}
.bru-atlas-toc a:hover { color: var(--orange); }
.bru-atlas-toc a .num { color: var(--orange); font-weight: 500; }
.bru-atlas-content {
  padding: 48px 32px 64px;
  max-width: 880px;
}
.bru-atlas-content section {
  margin-bottom: 56px;
  padding-bottom: 40px;
  border-bottom: 1px solid var(--line-dim);
}
.bru-atlas-content section:last-child { border-bottom: 0; }
.bru-atlas-content .sec-head {
  display: flex;
  gap: 16px;
  align-items: baseline;
  margin-bottom: 16px;
  font-family: var(--mono);
}
.bru-atlas-content .sec-num {
  font-size: 12px;
  letter-spacing: 0.08em;
  color: var(--orange);
  min-width: 40px;
}
.bru-atlas-content h2 {
  font-family: var(--display);
  font-size: 36px;
  font-weight: 700;
  letter-spacing: -0.025em;
  line-height: 1.05;
  margin: 0;
  flex: 1;
}
.bru-atlas-content p {
  font-family: var(--mono);
  font-size: 13.5px;
  line-height: 1.7;
  margin: 0 0 14px;
  max-width: 72ch;
}
.bru-atlas-content h3 {
  font-family: var(--display);
  font-size: 20px;
  font-weight: 700;
  letter-spacing: -0.02em;
  margin: 22px 0 8px;
}
.bru-atlas-content ul {
  list-style: none;
  padding: 0;
  margin: 0 0 16px;
  font-family: var(--mono);
  font-size: 13px;
  line-height: 1.6;
}
.bru-atlas-content ul li {
  padding-left: 20px;
  position: relative;
  margin-bottom: 5px;
}
.bru-atlas-content ul li::before {
  content: "▸";
  position: absolute;
  left: 0;
  color: var(--orange);
}

/* ===================== PILL TAGS ===================== */
.bru-tag {
  display: inline-block;
  padding: 3px 8px;
  font-family: var(--mono);
  font-size: 10.5px;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  background: var(--bg);
  color: var(--acid);
  margin-right: 6px;
}
.bru-tag.outline {
  background: transparent;
  color: var(--bg);
  border: 1px solid var(--bg);
}
.bru-tag.warn {
  background: var(--orange);
  color: var(--paper);
}

/* ===================== ASCII DIVIDER ===================== */
.bru-ascii-rule {
  font-family: var(--mono);
  font-size: 10.5px;
  color: var(--dim);
  letter-spacing: 0.5em;
  text-align: center;
  padding: 24px 0;
  border-top: 1px solid var(--line-dim);
  border-bottom: 1px solid var(--line-dim);
  margin: 32px 0;
}
.bru-ascii-rule::before { content: "─ "; }
.bru-ascii-rule::after { content: " ─"; }

/* ===================== FIGURE SVG WRAPPERS ===================== */
.bru-figure {
  border: 1px solid var(--bg);
  background: var(--paper-3);
  padding: 0;
  margin: 16px 0;
  position: relative;
  overflow: hidden;
}
.bru-figure .caption {
  background: var(--bg);
  color: var(--acid);
  padding: 6px 12px;
  font-family: var(--mono);
  font-size: 10.5px;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  display: flex;
  justify-content: space-between;
}
.bru-figure svg { display: block; width: 100%; }
