/* ============================================================
   The Atlas — shared stylesheet
   ============================================================ */

:root {
  --bg: #07091a;
  --bg-card: #11142a;
  --bg-card-hov: #161a35;
  --bg-deep: #03050f;
  --ink: #f5ecd5;
  --ink-soft: #c8bfa8;
  --ink-faint: #908775;
  --muted: #5a5567;
  --divider: #1f2440;
  --divider-bright: #2e3556;
  --gold: #d4a14a;
  --gold-bright: #e8c172;
  --gold-deep: #8a6628;
  --moon: #7ec4dc;
  --buy: #6fa84a;
  --hold: #d4a14a;
  --sell: #c54a3a;
  --private: #9e7fc9;
  --hero-grad: radial-gradient(ellipse at 30% 30%, #2a1f4a 0%, #1a1430 30%, #0a0820 70%, #050410 100%);
}

* { box-sizing: border-box; margin: 0; padding: 0; }

html, body {
  background: var(--bg);
  color: var(--ink-soft);
  font-family: 'Inter', system-ui, sans-serif;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
}

body::before {
  content: ''; position: fixed; inset: 0; pointer-events: none; z-index: 0;
  background-image:
    radial-gradient(1px 1px at 12% 18%, rgba(245,236,213,0.4), transparent 50%),
    radial-gradient(1px 1px at 28% 73%, rgba(245,236,213,0.3), transparent 50%),
    radial-gradient(1px 1px at 51% 32%, rgba(245,236,213,0.25), transparent 50%),
    radial-gradient(1px 1px at 67% 81%, rgba(245,236,213,0.35), transparent 50%),
    radial-gradient(1px 1px at 84% 22%, rgba(245,236,213,0.3), transparent 50%),
    radial-gradient(1px 1px at 92% 58%, rgba(245,236,213,0.25), transparent 50%),
    radial-gradient(1px 1px at 18% 91%, rgba(245,236,213,0.3), transparent 50%);
  background-size: 1200px 900px;
  opacity: 0.6;
}

body > * { position: relative; z-index: 1; }

a { color: var(--gold-bright); text-decoration: none; }
a:hover { text-decoration: underline; }

/* ============ TOP NAV ============ */
.topnav {
  border-bottom: 1px solid var(--divider);
  background: rgba(7, 9, 26, 0.85);
  backdrop-filter: blur(12px);
  position: sticky; top: 0; z-index: 10;
}
.topnav-inner {
  max-width: 1200px; margin: 0 auto;
  display: flex; align-items: center; justify-content: space-between;
  padding: 20px 32px;
}
.brand {
  font-family: 'Fraunces', serif;
  font-weight: 900; font-size: 22px;
  letter-spacing: -0.02em;
  color: var(--ink);
  display: flex; align-items: center; gap: 10px;
  text-decoration: none;
}
.brand:hover { text-decoration: none; }
.brand .ornament {
  display: inline-block; width: 28px; height: 28px;
  border: 1.5px solid var(--gold); border-radius: 50%;
  position: relative;
}
.brand .ornament::before, .brand .ornament::after {
  content: ''; position: absolute; background: var(--gold);
}
.brand .ornament::before { width: 18px; height: 1px; top: 13px; left: 3px; }
.brand .ornament::after { width: 1px; height: 18px; top: 4px; left: 13px; }
.navlinks { display: flex; gap: 28px; font-size: 13px; font-weight: 500; letter-spacing: 0.03em; }
.navlinks a { color: var(--ink-faint); text-transform: uppercase; }
.navlinks a:hover { color: var(--gold-bright); text-decoration: none; }
.navlinks a.current { color: var(--ink); border-bottom: 1.5px solid var(--gold); padding-bottom: 4px; }
.updated {
  font-size: 11px; color: var(--ink-faint);
  font-family: 'JetBrains Mono', monospace; letter-spacing: 0.06em;
}

/* ============ GENERIC SECTION SHELL ============ */
.section {
  max-width: 1200px; margin: 0 auto;
  padding: 72px 32px;
}
.section-deep {
  background: var(--bg-deep);
  border-top: 1px solid var(--divider);
  border-bottom: 1px solid var(--divider);
  padding: 72px 0;
}
.section-deep-inner { max-width: 1200px; margin: 0 auto; padding: 0 32px; }
.section-head {
  display: flex; align-items: baseline; justify-content: space-between;
  margin-bottom: 32px; gap: 32px; flex-wrap: wrap;
}
h2.gold {
  font-family: 'Fraunces', serif; font-weight: 700; font-size: 36px;
  letter-spacing: -0.025em; color: var(--ink);
}
h2.gold::before {
  content: ''; display: inline-block; width: 36px; height: 1px;
  background: var(--gold); vertical-align: middle; margin-right: 16px;
  margin-bottom: 8px;
}
p.sub {
  font-size: 16px; color: var(--ink-faint); margin-bottom: 32px;
  max-width: 720px; font-weight: 300;
}
.crumb {
  font-size: 11px; color: var(--gold); font-family: 'JetBrains Mono', monospace;
  text-transform: uppercase; letter-spacing: 0.14em; margin-bottom: 24px;
}
.crumb::before { content: '— '; opacity: 0.6; }

/* ============ HERO (sector / company) ============ */
.hero {
  max-width: 1200px; margin: 0 auto;
  padding: 72px 32px 56px;
}
.hero-grid {
  display: grid; grid-template-columns: 1.3fr 1fr; gap: 56px; align-items: start;
}
.hero h1 {
  font-family: 'Fraunces', serif;
  font-weight: 900;
  font-size: 76px;
  line-height: 0.92;
  letter-spacing: -0.035em;
  margin-bottom: 28px;
  color: var(--ink);
}
.hero h1 em {
  font-style: italic;
  font-weight: 400;
  color: var(--gold-bright);
}
.hero-lede {
  font-size: 20px; line-height: 1.65; color: var(--ink-soft);
  max-width: 580px; margin-bottom: 40px;
  font-weight: 300;
}
.hero-stats {
  display: flex; gap: 40px; padding-top: 28px;
  border-top: 1px solid var(--divider);
  flex-wrap: wrap;
}
.stat .num {
  font-family: 'Fraunces', serif; font-weight: 700; font-size: 36px;
  color: var(--ink); line-height: 1; letter-spacing: -0.02em;
}
.stat .num em { font-style: italic; color: var(--gold-bright); font-weight: 400; }
.stat .label {
  font-size: 10px; text-transform: uppercase; letter-spacing: 0.12em;
  color: var(--ink-faint); margin-top: 8px; font-weight: 500;
}
.hero-art {
  aspect-ratio: 4/5;
  background: var(--hero-grad);
  border-radius: 4px;
  position: relative; overflow: hidden;
  box-shadow: 0 30px 60px -20px rgba(0, 0, 0, 0.8),
              0 0 0 1px rgba(212, 161, 74, 0.15),
              inset 0 0 80px rgba(212, 161, 74, 0.05);
}
.hero-art::before {
  content: '';
  position: absolute; inset: 0;
  background-image:
    radial-gradient(circle at 28% 18%, rgba(255,255,255,0.7) 0%, transparent 1.2%),
    radial-gradient(circle at 71% 32%, rgba(255,255,255,0.5) 0%, transparent 1%),
    radial-gradient(circle at 18% 58%, rgba(255,255,255,0.9) 0%, transparent 0.8%),
    radial-gradient(circle at 83% 71%, rgba(255,255,255,0.5) 0%, transparent 1%),
    radial-gradient(circle at 52% 87%, rgba(212, 161, 74, 0.3) 0%, transparent 8%),
    radial-gradient(ellipse at 50% 105%, rgba(212, 161, 74, 0.25) 0%, transparent 40%);
}
.hero-art::after {
  content: '';
  position: absolute; bottom: -10%; left: -5%; right: -5%; height: 35%;
  background: radial-gradient(ellipse at center top, rgba(80, 60, 100, 0.5) 0%, transparent 60%);
}
.hero-art-label {
  position: absolute; bottom: 24px; left: 24px;
  color: rgba(245, 236, 213, 0.7);
  font-family: 'Fraunces', serif; font-style: italic; font-size: 13px;
  letter-spacing: 0.02em;
}
.hero-art-label::before { content: '⌖ '; color: var(--gold); font-style: normal; }

/* When the hero contains an SVG/image illustration, suppress the placeholder gradient + stars */
.hero-art:has(img),
.hero-art:has(svg) { background: transparent; }
.hero-art:has(img)::before, .hero-art:has(img)::after,
.hero-art:has(svg)::before, .hero-art:has(svg)::after { display: none; }
.hero-art:has(img) .hero-art-label,
.hero-art:has(svg) .hero-art-label { display: none; }
.hero-art img, .hero-art > svg {
  position: absolute; inset: 0;
  width: 100%; height: 100%;
  display: block;
  border-radius: 4px;
  z-index: 2;
  object-fit: cover;
}

/* ============ CINEMATIC HERO (full-width image w/ overlay text) ============ */
/* Opt-in variant: <section class="hero hero-cinematic"> + structured children
   instead of .hero-grid. Image fills the section; a left→right gradient gives
   the headline contrast on the left while letting the image breathe on the right.
*/
.hero.hero-cinematic {
  max-width: none;
  padding: 0;
  position: relative;
  overflow: hidden;
  min-height: 640px;
  display: flex;
  align-items: center;          /* middle-left text anchor */
  isolation: isolate;
}
.hero.hero-cinematic .hero-bg {
  position: absolute; inset: 0;
  width: 100%; height: 100%;
  object-fit: cover;
  object-position: center;
  z-index: 0;
  border-radius: 0;
}
.hero.hero-cinematic::after {
  content: '';
  position: absolute; inset: 0;
  background: linear-gradient(
    to right,
    rgba(7,9,26,0.94) 0%,
    rgba(7,9,26,0.86) 30%,
    rgba(7,9,26,0.55) 55%,
    rgba(7,9,26,0.18) 80%,
    rgba(7,9,26,0) 100%
  );
  z-index: 1;
  pointer-events: none;
}
.hero.hero-cinematic .hero-content {
  position: relative;
  z-index: 2;
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
  padding: 96px 32px;
}
.hero.hero-cinematic .hero-text {
  max-width: 600px;
}
.hero.hero-cinematic .crumb {
  margin-bottom: 24px;
}
.hero.hero-cinematic .hero-stats {
  /* keep the same row layout, just slightly tighter */
  padding-top: 28px;
}

/* On narrow screens the side gradient leaves nowhere for the headline to live.
   Switch to a top→bottom gradient (image visible above, text floor on bottom). */
@media (max-width: 900px) {
  .hero.hero-cinematic {
    min-height: 520px;
    align-items: flex-end;
  }
  .hero.hero-cinematic::after {
    background: linear-gradient(
      to bottom,
      rgba(7,9,26,0)   0%,
      rgba(7,9,26,0.1) 30%,
      rgba(7,9,26,0.6) 60%,
      rgba(7,9,26,0.92) 95%
    );
  }
  .hero.hero-cinematic .hero-content {
    padding: 48px 24px 56px;
  }
}

/* ============ THESIS / PROSE ============ */
.thesis-section {
  max-width: 1200px; margin: 0 auto; padding: 24px 32px 72px;
}
.thesis-grid {
  display: grid; grid-template-columns: 2fr 1fr; gap: 72px;
}
.thesis h2 {
  font-family: 'Fraunces', serif; font-weight: 700; font-size: 32px;
  margin-bottom: 24px; letter-spacing: -0.02em; color: var(--ink);
}
.thesis h2::before {
  content: ''; display: inline-block; width: 36px; height: 1px;
  background: var(--gold); vertical-align: middle; margin-right: 16px;
  margin-bottom: 6px;
}
.thesis p {
  font-size: 17px; line-height: 1.75; color: var(--ink-soft); margin-bottom: 20px;
  font-weight: 300;
}
.thesis p:first-of-type:first-letter {
  font-family: 'Fraunces', serif; font-weight: 900; font-size: 64px;
  float: left; line-height: 0.85; padding: 8px 14px 0 0; color: var(--gold-bright);
}

.prose-block {
  max-width: 720px; margin: 0 auto;
}
.prose-block h2 {
  font-family: 'Fraunces', serif; font-weight: 700; font-size: 32px;
  margin: 48px 0 20px; letter-spacing: -0.02em; color: var(--ink);
}
.prose-block h3 {
  font-family: 'Fraunces', serif; font-weight: 700; font-size: 20px;
  margin: 32px 0 12px; color: var(--gold-bright); letter-spacing: -0.01em;
}
.prose-block p {
  font-size: 17px; line-height: 1.75; color: var(--ink-soft); margin-bottom: 18px;
  font-weight: 300;
}
.prose-block ul { margin: 0 0 20px 1.5em; }
.prose-block li {
  font-size: 16px; line-height: 1.7; color: var(--ink-soft); margin-bottom: 10px;
  font-weight: 300;
}

/* ============ WATCHING SIDEBAR ============ */
.watching {
  background: linear-gradient(180deg, var(--bg-card) 0%, var(--bg-deep) 100%);
  border: 1px solid var(--divider);
  border-radius: 4px;
  padding: 28px;
  box-shadow: 0 20px 40px -20px rgba(0, 0, 0, 0.6);
}
.watching h3 {
  font-family: 'Fraunces', serif; font-weight: 700; font-size: 13px;
  text-transform: uppercase; letter-spacing: 0.14em;
  color: var(--gold-bright); margin-bottom: 20px;
  padding-bottom: 16px; border-bottom: 1px solid var(--divider);
}
.watching-item {
  padding: 14px 0; border-bottom: 1px solid var(--divider);
  font-size: 14px; color: var(--ink-soft);
}
.watching-item:last-child { border-bottom: none; padding-bottom: 0; }
.watching-item .tk {
  font-family: 'JetBrains Mono', monospace; font-weight: 600; font-size: 11px;
  color: var(--gold); margin-right: 10px; letter-spacing: 0.05em;
}
.watching-item .when {
  display: block; font-size: 11px; color: var(--ink-faint); margin-top: 4px;
  text-transform: uppercase; letter-spacing: 0.08em; font-family: 'JetBrains Mono', monospace;
}

/* ============ COMPANY CARD GRID ============ */
.company-grid {
  display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px;
}
.company {
  background: var(--bg-card);
  border: 1px solid var(--divider);
  border-radius: 4px;
  padding: 28px;
  transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
  cursor: pointer;
  position: relative;
}
.company:hover {
  transform: translateY(-3px);
  background: var(--bg-card-hov);
  border-color: var(--divider-bright);
  box-shadow: 0 24px 40px -20px rgba(0, 0, 0, 0.6),
              0 0 0 1px rgba(212, 161, 74, 0.1);
}
.company-head {
  display: flex; align-items: center; justify-content: space-between;
  margin-bottom: 14px;
}
.company-tick {
  font-family: 'Fraunces', serif; font-weight: 900; font-size: 26px;
  letter-spacing: -0.02em; color: var(--ink);
}
.company-name {
  font-size: 12px; color: var(--ink-faint); margin-bottom: 18px;
  text-transform: uppercase; letter-spacing: 0.06em;
}
.call-block { display: flex; flex-direction: column; align-items: flex-end; gap: 6px; }
.call-badge {
  font-size: 11px; font-weight: 700; padding: 5px 12px; border-radius: 2px;
  text-transform: uppercase; letter-spacing: 0.1em;
  font-family: 'Inter', sans-serif;
}
.call-buy { background: rgba(111, 168, 74, 0.18); color: #8fc66a; border: 1px solid rgba(111, 168, 74, 0.35); }
.call-hold { background: rgba(212, 161, 74, 0.15); color: var(--gold-bright); border: 1px solid rgba(212, 161, 74, 0.35); }
.call-sell { background: rgba(197, 74, 58, 0.15); color: #e07a6a; border: 1px solid rgba(197, 74, 58, 0.35); }
.call-watch { background: rgba(158, 127, 201, 0.15); color: #c4abe0; border: 1px solid rgba(158, 127, 201, 0.35); }
.conv-row {
  font-size: 10px; color: var(--ink-faint);
  text-transform: uppercase; letter-spacing: 0.08em;
  font-family: 'JetBrains Mono', monospace;
  display: flex; align-items: center; gap: 6px;
}
.conv-dots { display: inline-flex; gap: 3px; }
.conv-dot { width: 5px; height: 5px; border-radius: 50%; background: var(--divider-bright); }
.conv-dot.on { background: var(--gold); }
.tag-private {
  position: absolute; top: 16px; right: 16px;
  font-size: 9px; font-weight: 700; padding: 3px 8px; border-radius: 2px;
  background: var(--private); color: var(--bg);
  text-transform: uppercase; letter-spacing: 0.12em;
}
.one-liner {
  font-size: 14px; line-height: 1.55; color: var(--ink-soft);
  margin-bottom: 22px; min-height: 64px; font-weight: 300;
}

/* ============ SCENARIO FAN ============ */
.fan-label {
  font-size: 10px; color: var(--ink-faint);
  text-transform: uppercase; letter-spacing: 0.1em;
  margin-bottom: 8px; font-family: 'JetBrains Mono', monospace;
}
.fan {
  display: flex; height: 6px; border-radius: 1px; overflow: hidden;
  margin-bottom: 8px; background: var(--divider);
}
.fan-bear { background: var(--sell); }
.fan-base { background: var(--hold); }
.fan-bull { background: var(--buy); }
.fan-trans { background: var(--moon); }
.fan-numbers {
  display: grid; grid-template-columns: repeat(4, 1fr); gap: 4px;
  margin-bottom: 4px;
}
.fan-num {
  font-family: 'JetBrains Mono', monospace; font-weight: 600;
  font-size: 13px; color: var(--ink);
}
.fan-scenarios {
  display: grid; grid-template-columns: repeat(4, 1fr); gap: 4px;
}
.fan-scen {
  font-size: 9px; color: var(--ink-faint);
  text-transform: uppercase; letter-spacing: 0.1em;
  font-family: 'JetBrains Mono', monospace;
}
.fan-scen.moon { color: var(--moon); }

.price-row {
  display: flex; justify-content: space-between; align-items: baseline;
  margin-top: 18px; padding-top: 18px; border-top: 1px solid var(--divider);
  font-size: 13px;
}
.price-row .lbl {
  color: var(--ink-faint); text-transform: uppercase;
  font-size: 9px; letter-spacing: 0.1em; display: block; margin-bottom: 4px;
  font-family: 'JetBrains Mono', monospace;
}
.price-row .val {
  font-family: 'JetBrains Mono', monospace; font-weight: 600;
  color: var(--ink); font-size: 15px;
}
.price-row .val.fv { color: var(--gold-bright); }
.price-row .info {
  display: inline-block; width: 11px; height: 11px; border-radius: 50%;
  border: 1px solid var(--ink-faint); color: var(--ink-faint);
  font-size: 8px; text-align: center; line-height: 9px; cursor: help;
  margin-left: 4px; font-family: 'Inter', sans-serif;
}

/* ============ FILTER PILLS ============ */
.filter-bar { display: flex; gap: 6px; flex-wrap: wrap; }
.filter-pill {
  font-size: 11px; padding: 7px 14px; border-radius: 999px;
  background: transparent; border: 1px solid var(--divider-bright);
  color: var(--ink-faint); cursor: pointer; font-weight: 500;
  letter-spacing: 0.04em; text-transform: uppercase;
}
.filter-pill.active {
  background: var(--gold); color: var(--bg); border-color: var(--gold);
}

/* ============ FULL COVERAGE TABLE ============ */
.full-wrap {
  background: var(--bg-card);
  border: 1px solid var(--divider);
  border-radius: 4px;
  overflow: hidden;
}
.full-table {
  width: 100%; border-collapse: collapse; font-size: 13px;
}
.full-table th {
  text-align: left; font-size: 10px; font-weight: 600;
  text-transform: uppercase; letter-spacing: 0.1em;
  color: var(--gold); padding: 14px 16px;
  border-bottom: 1px solid var(--divider-bright);
  font-family: 'JetBrains Mono', monospace;
  background: var(--bg-deep);
  cursor: pointer; user-select: none; position: relative;
  transition: color 0.15s, background 0.15s;
}
.full-table th:hover { color: var(--gold-bright); background: rgba(212, 161, 74, 0.06); }
.full-table th.right { text-align: right; }
.full-table th[data-sorted]::after {
  content: ''; display: inline-block; margin-left: 6px;
  width: 0; height: 0; border-left: 4px solid transparent; border-right: 4px solid transparent;
  vertical-align: middle;
}
.full-table th[data-sorted="asc"]::after { border-bottom: 5px solid var(--gold-bright); }
.full-table th[data-sorted="desc"]::after { border-top: 5px solid var(--gold-bright); }
.full-table td {
  padding: 14px 16px; border-bottom: 1px solid var(--divider);
  color: var(--ink-soft); font-weight: 300; vertical-align: middle;
}
.full-table tr:last-child td { border-bottom: none; }
.full-table tr:hover td { background: rgba(212, 161, 74, 0.04); cursor: pointer; }
.full-table .tk-cell {
  font-family: 'JetBrains Mono', monospace; font-weight: 600;
  color: var(--ink); font-size: 13px; letter-spacing: 0.03em;
}
.full-table .name-cell .nm { color: var(--ink); font-weight: 400; font-size: 13px; }
.full-table .name-cell .sb {
  color: var(--ink-faint); font-size: 11px; margin-top: 2px;
  text-transform: uppercase; letter-spacing: 0.06em; font-family: 'JetBrains Mono', monospace;
}
.full-table .num-cell {
  font-family: 'JetBrains Mono', monospace; color: var(--ink);
  text-align: right; white-space: nowrap; font-weight: 500;
}
.full-table .fv-cell { color: var(--gold-bright); }
.full-table .moon-cell { color: var(--moon); font-style: italic; }
.full-table .priv td { color: var(--ink-faint); }
.full-table .priv .tk-cell { color: var(--private); }
.full-table .priv .name-cell .nm { color: var(--ink-soft); font-style: italic; }
.full-table .priv .moon-cell { color: var(--ink-faint); }

.mini-badge {
  display: inline-block;
  font-size: 10px; font-weight: 700; padding: 4px 10px; border-radius: 2px;
  text-transform: uppercase; letter-spacing: 0.1em;
  font-family: 'Inter', sans-serif;
}
.mini-buy { background: rgba(111, 168, 74, 0.18); color: #8fc66a; border: 1px solid rgba(111, 168, 74, 0.3); }
.mini-hold { background: rgba(212, 161, 74, 0.15); color: var(--gold-bright); border: 1px solid rgba(212, 161, 74, 0.3); }
.mini-sell { background: rgba(197, 74, 58, 0.15); color: #e07a6a; border: 1px solid rgba(197, 74, 58, 0.3); }
.mini-watch { background: rgba(158, 127, 201, 0.15); color: #c4abe0; border: 1px solid rgba(158, 127, 201, 0.3); }
.conv-mini {
  font-size: 11px; color: var(--ink-soft); white-space: nowrap;
  font-family: 'JetBrains Mono', monospace; letter-spacing: 0.04em;
}
.conv-mini .dots { color: var(--gold); margin-right: 4px; letter-spacing: 1px; }
.conv-mini .dots-off { color: var(--divider-bright); }

/* ============ CALL LOG ============ */
.log-table {
  width: 100%; border-collapse: collapse; font-size: 14px;
}
.log-table th {
  text-align: left; font-size: 10px; font-weight: 600;
  text-transform: uppercase; letter-spacing: 0.12em;
  color: var(--gold); padding: 14px 16px;
  border-bottom: 1px solid var(--divider-bright);
  font-family: 'JetBrains Mono', monospace;
}
.log-table td {
  padding: 20px 16px; border-bottom: 1px solid var(--divider);
  color: var(--ink-soft); font-weight: 300; line-height: 1.55;
}
.log-table tr:last-child td { border-bottom: none; }
.log-table tr:hover td { background: rgba(212, 161, 74, 0.03); }
.log-table .when {
  font-family: 'JetBrains Mono', monospace; font-size: 12px;
  color: var(--ink-faint); white-space: nowrap;
}
.log-table .tk {
  font-family: 'Fraunces', serif; font-weight: 700; font-size: 16px;
  color: var(--ink); letter-spacing: -0.01em;
}
.log-table .note { color: var(--ink-soft); }

/* ============ SECTOR MAP TILES (HOME) ============ */
.sector-grid {
  display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px;
}
.sector-tile {
  background: var(--bg-card);
  border: 1px solid var(--divider);
  border-radius: 4px;
  overflow: hidden;
  transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
  text-decoration: none;
  display: flex; flex-direction: column;
  position: relative;
  color: inherit;
}
.sector-tile:hover {
  transform: translateY(-4px);
  border-color: var(--divider-bright);
  box-shadow: 0 30px 50px -20px rgba(0, 0, 0, 0.7),
              0 0 0 1px rgba(212, 161, 74, 0.15);
  text-decoration: none;
}
.sector-tile.coming { cursor: default; opacity: 0.85; }
.sector-tile.coming:hover { transform: none; box-shadow: none; border-color: var(--divider); }
.sector-art {
  aspect-ratio: 16/9;
  position: relative; overflow: hidden;
}
.sector-art::before {
  content: '';
  position: absolute; inset: 0;
  background-image:
    radial-gradient(1.5px 1.5px at 22% 28%, rgba(255,255,255,0.6), transparent 50%),
    radial-gradient(1px 1px at 62% 18%, rgba(255,255,255,0.5), transparent 50%),
    radial-gradient(1.5px 1.5px at 78% 52%, rgba(255,255,255,0.7), transparent 50%),
    radial-gradient(1px 1px at 35% 72%, rgba(255,255,255,0.4), transparent 50%),
    radial-gradient(1px 1px at 88% 82%, rgba(255,255,255,0.55), transparent 50%);
}
.sector-art-label {
  position: absolute; bottom: 14px; left: 16px; right: 16px;
  font-family: 'Fraunces', serif; font-style: italic; font-size: 11px;
  color: rgba(245, 236, 213, 0.55); letter-spacing: 0.02em;
}
.sector-grad-ai      { background: radial-gradient(ellipse at 30% 30%, #1a3a6a 0%, #14254a 40%, #08122a 100%); }
.sector-grad-space   { background: radial-gradient(ellipse at 30% 30%, #2a1f4a 0%, #1a1430 40%, #050410 100%); }
.sector-grad-robot   { background: radial-gradient(ellipse at 30% 30%, #3a1a5a 0%, #2a1245 40%, #100820 100%); }
.sector-grad-gene    { background: radial-gradient(ellipse at 30% 30%, #1a4a3a 0%, #103a2a 40%, #051815 100%); }
.sector-grad-energy  { background: radial-gradient(ellipse at 30% 30%, #4a2a1a 0%, #3a1f12 40%, #1a0a05 100%); }
.sector-grad-defense { background: radial-gradient(ellipse at 30% 30%, #2a3a4a 0%, #1a2a3a 40%, #0a1218 100%); }
.sector-grad-aiapps  { background: radial-gradient(ellipse at 30% 30%, #1a1a5a 0%, #121247 40%, #060620 100%); }
.sector-grad-quantum { background: radial-gradient(ellipse at 30% 30%, #2a1a5a 0%, #1a124a 40%, #0a0628 100%); }
.sector-grad-mega    { background: radial-gradient(ellipse at 30% 30%, #1a2a4a 0%, #14203a 40%, #060d1a 100%); }
.sector-body {
  padding: 22px 24px 24px;
  display: flex; flex-direction: column; flex: 1;
}
.sector-name {
  font-family: 'Fraunces', serif; font-weight: 700; font-size: 22px;
  letter-spacing: -0.02em; color: var(--ink); margin-bottom: 8px;
}
.sector-desc {
  font-size: 13px; line-height: 1.55; color: var(--ink-soft);
  font-weight: 300; margin-bottom: 18px; flex: 1;
}
.sector-stats {
  display: flex; gap: 18px; padding-top: 16px; border-top: 1px solid var(--divider);
}
.sector-stat .n {
  font-family: 'Fraunces', serif; font-weight: 700; font-size: 18px;
  color: var(--ink); line-height: 1;
}
.sector-stat .n.buy { color: #8fc66a; }
.sector-stat .l {
  font-size: 9px; text-transform: uppercase; letter-spacing: 0.12em;
  color: var(--ink-faint); margin-top: 4px; font-family: 'JetBrains Mono', monospace;
}
.sector-tag {
  position: absolute; top: 14px; right: 14px;
  font-size: 9px; font-weight: 700; padding: 3px 8px; border-radius: 2px;
  background: rgba(212, 161, 74, 0.85); color: var(--bg);
  text-transform: uppercase; letter-spacing: 0.12em;
  font-family: 'Inter', sans-serif;
}
.sector-tag.soon { background: rgba(158, 127, 201, 0.55); color: var(--ink); }

/* ============ MACRO VECTORS ============ */
.regime-banner {
  background: linear-gradient(135deg, var(--bg-card) 0%, var(--bg-deep) 100%);
  border: 1px solid var(--divider);
  border-left: 4px solid var(--gold);
  border-radius: 4px;
  padding: 28px 32px;
  margin-bottom: 48px;
}
.regime-banner .label {
  font-size: 10px; text-transform: uppercase; letter-spacing: 0.14em;
  color: var(--gold); margin-bottom: 8px; font-family: 'JetBrains Mono', monospace;
}
.regime-banner .read {
  font-family: 'Fraunces', serif; font-weight: 700; font-size: 26px;
  color: var(--ink); letter-spacing: -0.02em; margin-bottom: 10px;
}
.regime-banner .detail {
  font-size: 15px; color: var(--ink-soft); font-weight: 300; line-height: 1.6;
}

.vector-grid {
  display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px;
  margin-top: 32px;
}
.vector-card {
  background: var(--bg-card);
  border: 1px solid var(--divider);
  border-radius: 4px;
  padding: 24px;
}
.vector-card .num {
  font-family: 'Fraunces', serif; font-weight: 900; font-size: 14px;
  color: var(--gold); letter-spacing: 0.06em; margin-bottom: 12px;
}
.vector-card h3 {
  font-family: 'Fraunces', serif; font-weight: 700; font-size: 18px;
  color: var(--ink); letter-spacing: -0.01em; margin-bottom: 10px;
}
.vector-card p {
  font-size: 13px; color: var(--ink-soft); line-height: 1.6; font-weight: 300;
}

.probability-meter {
  background: var(--bg-card);
  border: 1px solid var(--divider);
  border-radius: 4px;
  padding: 28px;
  margin-bottom: 16px;
  display: grid; grid-template-columns: 1fr 80px; gap: 20px; align-items: center;
}
.probability-meter h3 {
  font-family: 'Fraunces', serif; font-weight: 700; font-size: 19px;
  color: var(--ink); margin-bottom: 6px;
}
.probability-meter p {
  font-size: 13px; color: var(--ink-soft); font-weight: 300; line-height: 1.55;
}
.probability-meter .pct {
  font-family: 'Fraunces', serif; font-weight: 900; font-size: 42px;
  color: var(--gold-bright); text-align: right; letter-spacing: -0.02em;
}

.framework-grid {
  display: grid; grid-template-columns: repeat(3, 1fr); gap: 0;
  border: 1px solid var(--divider); border-radius: 4px; overflow: hidden;
  margin-top: 24px;
}
.framework-cell {
  padding: 28px; background: var(--bg-card);
}
.framework-cell:not(:last-child) { border-right: 1px solid var(--divider); }
.framework-cell h3 {
  font-family: 'Fraunces', serif; font-weight: 900; font-size: 22px;
  margin-bottom: 14px; letter-spacing: -0.02em;
}
.framework-cell.survive h3 { color: #e07a6a; }
.framework-cell.thrive h3  { color: var(--gold-bright); }
.framework-cell.build h3   { color: #8fc66a; }
.framework-cell p {
  font-size: 13px; color: var(--ink-soft); line-height: 1.65; font-weight: 300;
}

/* ============ DISCLAIMER BLOCK ============ */
.disclaimer-block {
  background: linear-gradient(180deg, var(--bg-card) 0%, var(--bg-deep) 100%);
  border: 1px solid var(--divider);
  border-radius: 4px;
  padding: 32px;
  margin-top: 40px;
}
.disclaimer-block h3 {
  font-family: 'Fraunces', serif; font-weight: 700; font-size: 18px;
  color: var(--gold-bright); margin-bottom: 16px;
  text-transform: uppercase; letter-spacing: 0.12em;
}
.disclaimer-block p {
  font-size: 14px; color: var(--ink-soft); line-height: 1.7; font-weight: 300;
  margin-bottom: 14px;
}

/* ============ FOOTER ============ */
footer {
  background: var(--bg-deep);
  border-top: 1px solid var(--divider);
  color: rgba(245, 236, 213, 0.55);
  padding: 56px 32px 36px;
}
.footer-inner { max-width: 1200px; margin: 0 auto; }
.footer-brand {
  font-family: 'Fraunces', serif; font-weight: 900; font-size: 22px;
  color: var(--ink); margin-bottom: 16px; letter-spacing: -0.02em;
  display: flex; align-items: center; gap: 10px;
}
.footer-brand .ornament {
  display: inline-block; width: 28px; height: 28px;
  border: 1.5px solid var(--gold); border-radius: 50%;
  position: relative;
}
.footer-brand .ornament::before, .footer-brand .ornament::after {
  content: ''; position: absolute; background: var(--gold);
}
.footer-brand .ornament::before { width: 18px; height: 1px; top: 13px; left: 3px; }
.footer-brand .ornament::after { width: 1px; height: 18px; top: 4px; left: 13px; }
.disclaimer {
  font-size: 13px; line-height: 1.7; max-width: 740px;
  color: rgba(245, 236, 213, 0.5); font-weight: 300;
}
.footer-meta {
  margin-top: 36px; padding-top: 24px;
  border-top: 1px solid var(--divider);
  font-size: 11px; color: rgba(245, 236, 213, 0.35);
  font-family: 'JetBrains Mono', monospace;
  display: flex; justify-content: space-between; letter-spacing: 0.06em;
}

/* ============ MACRO — REGIME MAP + FIVE REGIMES ============ */
.regime-map-wrap {
  background: #0d0d0f;
  border: 1px solid var(--divider);
  border-radius: 6px;
  padding: 28px;
  margin-top: 24px;
  box-shadow: 0 30px 60px -25px rgba(0, 0, 0, 0.65);
}
.regime-map-wrap svg {
  display: block;
  width: 100%;
  height: auto;
  max-width: 820px;
  margin: 0 auto;
}
.regime-map-axes {
  display: flex; justify-content: center; gap: 32px; flex-wrap: wrap;
  margin-top: 20px; font-size: 12px; color: var(--ink-faint);
  font-family: 'JetBrains Mono', monospace; letter-spacing: 0.06em;
}
.regime-map-axes .pair { display: inline-flex; align-items: center; gap: 8px; }
.regime-map-axes .pair .label { color: var(--gold); font-weight: 600; }

.regime-grid {
  display: grid; grid-template-columns: repeat(2, 1fr); gap: 20px;
  margin-top: 32px;
}
.regime-card {
  background: var(--bg-card);
  border: 1px solid var(--divider);
  border-radius: 4px;
  padding: 26px;
  border-top: 3px solid var(--divider);
}
.regime-card.goldilocks    { border-top-color: #4ade80; }
.regime-card.ai-abundance  { border-top-color: #60a5fa; }
.regime-card.stagflation   { border-top-color: #fb923c; }
.regime-card.stress        { border-top-color: #f87171; }
.regime-card.dollar        { border-top-color: #c084fc; grid-column: 1 / -1; }

.regime-card .head {
  display: flex; align-items: baseline; justify-content: space-between;
  gap: 16px; margin-bottom: 14px;
}
.regime-card .name {
  font-family: 'Fraunces', serif; font-weight: 700; font-size: 22px;
  letter-spacing: -0.02em;
}
.regime-card.goldilocks .name   { color: #4ade80; }
.regime-card.ai-abundance .name { color: #60a5fa; }
.regime-card.stagflation .name  { color: #fb923c; }
.regime-card.stress .name       { color: #f87171; }
.regime-card.dollar .name       { color: #c084fc; }

.regime-card .prob {
  font-family: 'JetBrains Mono', monospace; font-size: 13px;
  color: var(--ink); font-weight: 700;
  background: rgba(212, 161, 74, 0.14);
  border: 1px solid rgba(212, 161, 74, 0.25);
  padding: 4px 10px; border-radius: 2px;
  letter-spacing: 0.04em;
}

.regime-card .desc {
  font-size: 14px; line-height: 1.65; color: var(--ink-soft);
  font-weight: 300; margin-bottom: 22px;
}

.regime-card .assets {
  display: grid; grid-template-columns: 1fr 1fr; gap: 20px;
  margin-bottom: 22px;
}
.regime-card .assets h4 {
  font-family: 'JetBrains Mono', monospace; font-size: 10px;
  text-transform: uppercase; letter-spacing: 0.12em;
  margin-bottom: 8px; font-weight: 700;
}
.regime-card .assets .wins h4  { color: #8fc66a; }
.regime-card .assets .loses h4 { color: #e07a6a; }
.regime-card .assets ul {
  margin: 0; padding-left: 0; list-style: none;
}
.regime-card .assets li {
  font-size: 12.5px; color: var(--ink-soft); margin-bottom: 5px;
  font-weight: 300; line-height: 1.45;
}

.regime-card .alloc {
  margin-top: 18px; padding-top: 18px;
  border-top: 1px solid var(--divider);
}
.regime-card .alloc-label {
  font-family: 'JetBrains Mono', monospace; font-size: 10px;
  text-transform: uppercase; letter-spacing: 0.12em;
  color: var(--gold); margin-bottom: 12px; font-weight: 700;
}
.alloc-bar {
  display: flex; height: 9px; border-radius: 1px; overflow: hidden;
  margin-bottom: 12px; background: var(--divider);
}
.alloc-eq    { background: #6fa84a; }
.alloc-bonds { background: #7ec4dc; }
.alloc-gold  { background: #d4a14a; }
.alloc-cash  { background: #8a8275; }
.alloc-btc   { background: #9e7fc9; }

.alloc-ranges {
  font-size: 12px; line-height: 1.65; color: var(--ink-soft);
  font-weight: 300;
}
.alloc-ranges .range {
  display: inline-block; margin-right: 14px; margin-bottom: 4px;
  white-space: nowrap;
}
.alloc-ranges .dot {
  display: inline-block; width: 8px; height: 8px; border-radius: 50%;
  vertical-align: middle; margin-right: 5px;
}
.alloc-ranges .dot.eq    { background: #6fa84a; }
.alloc-ranges .dot.bonds { background: #7ec4dc; }
.alloc-ranges .dot.gold  { background: #d4a14a; }
.alloc-ranges .dot.cash  { background: #8a8275; }
.alloc-ranges .dot.btc   { background: #9e7fc9; }

.regime-positioning {
  background: linear-gradient(180deg, var(--bg-card) 0%, var(--bg-deep) 100%);
  border: 1px solid var(--divider);
  border-left: 3px solid var(--gold);
  border-radius: 4px;
  padding: 24px 28px; margin-top: 32px;
}
.regime-positioning h3 {
  font-family: 'Fraunces', serif; font-weight: 700; font-size: 16px;
  color: var(--gold-bright); margin-bottom: 12px;
  text-transform: uppercase; letter-spacing: 0.1em;
}
.regime-positioning p {
  font-size: 14.5px; line-height: 1.7; color: var(--ink-soft);
  font-weight: 300; max-width: 820px;
}

/* ============ MACRO — TWO FORCES SUBHEADINGS ============ */
.force-h3 {
  font-family: 'Fraunces', serif; font-weight: 700; font-size: 22px;
  letter-spacing: -0.02em; margin: 56px 0 24px;
  padding-bottom: 14px; border-bottom: 1px solid var(--divider);
}
.force-h3:first-of-type { margin-top: 32px; }
.force-h3.conv { color: #e07a6a; }
.force-h3.abun { color: #8fc66a; }
.force-h3::before {
  content: '— '; opacity: 0.6;
}

/* ============ COMPANY PAGE ============ */
.company-hero {
  max-width: 1200px; margin: 0 auto;
  padding: 56px 32px 48px;
}
.company-hero-grid {
  display: grid; grid-template-columns: 1.5fr 1fr; gap: 48px; align-items: start;
}
.company-hero h1 {
  font-family: 'Fraunces', serif;
  font-weight: 900;
  font-size: 92px;
  line-height: 0.9;
  letter-spacing: -0.045em;
  color: var(--gold-bright);
  margin-bottom: 4px;
}
.company-hero .full-name {
  font-family: 'Fraunces', serif; font-weight: 400; font-size: 28px;
  color: var(--ink); letter-spacing: -0.01em; margin-bottom: 6px;
  font-style: italic;
}
.company-hero .subtheme {
  font-size: 11px; text-transform: uppercase; letter-spacing: 0.14em;
  color: var(--gold); margin-bottom: 32px; font-family: 'JetBrains Mono', monospace;
}
.company-call-row {
  display: flex; gap: 14px; align-items: center; margin-bottom: 36px; flex-wrap: wrap;
}
.company-call-row .call-badge {
  font-size: 13px; padding: 8px 18px; letter-spacing: 0.12em;
}
.company-call-row .conv-row {
  font-size: 12px; padding: 8px 14px;
  background: var(--bg-card); border: 1px solid var(--divider);
  border-radius: 2px;
}
.company-call-row .cluster-tag {
  font-size: 10px; padding: 8px 12px; border-radius: 2px;
  background: rgba(126, 196, 220, 0.12); color: var(--moon);
  border: 1px solid rgba(126, 196, 220, 0.3);
  text-transform: uppercase; letter-spacing: 0.12em; font-weight: 600;
}
.company-stats {
  display: flex; gap: 40px; padding-top: 28px; border-top: 1px solid var(--divider);
  flex-wrap: wrap;
}
.company-stats .stat .num { font-size: 28px; }
.company-stats .stat .num.fv { color: var(--gold-bright); }
.company-stats .stat .num.upside { color: #8fc66a; }

.big-fan-wrap {
  background: var(--bg-card);
  border: 1px solid var(--divider);
  border-radius: 4px;
  padding: 36px;
  margin-bottom: 24px;
}
.big-fan-wrap .label {
  font-size: 11px; text-transform: uppercase; letter-spacing: 0.14em;
  color: var(--gold); font-family: 'JetBrains Mono', monospace;
  margin-bottom: 20px;
}
.big-fan {
  display: flex; height: 12px; border-radius: 2px; overflow: hidden;
  margin-bottom: 14px; background: var(--divider);
}
.big-fan-numbers {
  display: grid; grid-template-columns: repeat(4, 1fr); gap: 4px;
  margin-bottom: 6px;
}
.big-fan-num {
  font-family: 'Fraunces', serif; font-weight: 700;
  font-size: 28px; color: var(--ink); letter-spacing: -0.02em;
}
.big-fan-scen {
  font-size: 11px; color: var(--ink-faint);
  text-transform: uppercase; letter-spacing: 0.12em;
  font-family: 'JetBrains Mono', monospace;
}

.scenario-grid {
  display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px;
}
.scenario-card {
  background: var(--bg-card);
  border: 1px solid var(--divider);
  border-radius: 4px;
  padding: 24px;
  border-top: 3px solid var(--divider);
}
.scenario-card.bear { border-top-color: var(--sell); }
.scenario-card.base { border-top-color: var(--hold); }
.scenario-card.bull { border-top-color: var(--buy); }
.scenario-card.moon { border-top-color: var(--moon); }
.scenario-card .scen-label {
  font-size: 10px; text-transform: uppercase; letter-spacing: 0.14em;
  color: var(--ink-faint); font-family: 'JetBrains Mono', monospace;
  margin-bottom: 8px; font-weight: 700;
}
.scenario-card.bear .scen-label { color: var(--sell); }
.scenario-card.base .scen-label { color: var(--gold-bright); }
.scenario-card.bull .scen-label { color: var(--buy); }
.scenario-card.moon .scen-label { color: var(--moon); }
.scenario-card .scen-prob {
  font-family: 'JetBrains Mono', monospace; font-size: 11px;
  color: var(--ink-faint); margin-bottom: 12px; letter-spacing: 0.04em;
}
.scenario-card .scen-target {
  font-family: 'Fraunces', serif; font-weight: 700; font-size: 32px;
  color: var(--ink); letter-spacing: -0.02em; margin-bottom: 16px; line-height: 1;
}
.scenario-card .scen-driver {
  font-size: 13px; line-height: 1.55; color: var(--ink-soft); font-weight: 300;
}

.trigger-grid {
  display: grid; grid-template-columns: 1fr 1fr; gap: 20px;
}
.trigger-card {
  background: var(--bg-card);
  border: 1px solid var(--divider);
  border-radius: 4px;
  padding: 26px;
}
.trigger-card .label {
  font-size: 10px; text-transform: uppercase; letter-spacing: 0.14em;
  color: var(--gold); font-family: 'JetBrains Mono', monospace;
  margin-bottom: 14px; font-weight: 700;
}
.trigger-card .label.up { color: #8fc66a; }
.trigger-card .label.down { color: #e07a6a; }
.trigger-card .label.kill { color: var(--sell); }
.trigger-card .body {
  font-size: 15px; line-height: 1.65; color: var(--ink-soft); font-weight: 300;
}
.trigger-card ul { margin: 0; padding-left: 1.2em; }
.trigger-card li { margin-bottom: 8px; }

.variant-grid {
  display: grid; grid-template-columns: 1fr 1fr; gap: 20px;
}
.variant-card {
  background: var(--bg-card);
  border: 1px solid var(--divider);
  border-radius: 4px;
  padding: 28px;
}
.variant-card.atlas { border-color: var(--gold-deep); }
.variant-card .who {
  font-size: 10px; text-transform: uppercase; letter-spacing: 0.14em;
  font-family: 'JetBrains Mono', monospace; margin-bottom: 8px; font-weight: 700;
}
.variant-card.street .who { color: var(--ink-faint); }
.variant-card.atlas .who { color: var(--gold-bright); }
.variant-card .target-line {
  font-family: 'Fraunces', serif; font-weight: 700; font-size: 30px;
  color: var(--ink); letter-spacing: -0.02em; margin-bottom: 16px; line-height: 1;
}
.variant-card.atlas .target-line { color: var(--gold-bright); }
.variant-card .meta {
  font-size: 12px; color: var(--ink-faint); margin-bottom: 14px;
  font-family: 'JetBrains Mono', monospace;
}
.variant-card .source {
  font-size: 14px; line-height: 1.65; color: var(--ink-soft); font-weight: 300;
}

.recent-grid {
  display: grid; grid-template-columns: 1fr 1fr; gap: 20px;
}
.recent-card {
  background: var(--bg-card);
  border: 1px solid var(--divider);
  border-left: 3px solid var(--gold);
  border-radius: 4px;
  padding: 26px;
}
.recent-card .label {
  font-size: 10px; text-transform: uppercase; letter-spacing: 0.14em;
  color: var(--gold-bright); font-family: 'JetBrains Mono', monospace;
  margin-bottom: 6px; font-weight: 700;
}
.recent-card .when {
  font-size: 12px; color: var(--ink-faint); margin-bottom: 14px;
  font-family: 'JetBrains Mono', monospace;
}
.recent-card .body {
  font-size: 14px; line-height: 1.65; color: var(--ink-soft); font-weight: 300;
}

.adjacent-grid {
  display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px;
}
.adjacent-tile {
  background: var(--bg-card); border: 1px solid var(--divider);
  border-radius: 4px; padding: 22px; text-decoration: none;
  display: block; transition: transform 0.15s, border-color 0.15s, background 0.15s;
  color: inherit;
}
.adjacent-tile:hover {
  transform: translateY(-2px);
  border-color: var(--divider-bright);
  background: var(--bg-card-hov);
  text-decoration: none;
}
.adjacent-tile .at-tick {
  font-family: 'Fraunces', serif; font-weight: 900; font-size: 24px;
  color: var(--ink); margin-bottom: 4px; letter-spacing: -0.02em;
}
.adjacent-tile .at-name {
  font-size: 11px; color: var(--ink-faint); margin-bottom: 14px;
  text-transform: uppercase; letter-spacing: 0.06em; font-family: 'JetBrains Mono', monospace;
}
.adjacent-tile .at-call .mini-badge { font-size: 9px; padding: 3px 8px; }
.adjacent-tile .at-fv {
  margin-top: 12px; font-family: 'JetBrains Mono', monospace;
  font-size: 12px; color: var(--gold-bright);
}

/* ============ MOBILE ============ */
@media (max-width: 900px) {
  .hero-grid, .thesis-grid, .company-hero-grid { grid-template-columns: 1fr; gap: 40px; }
  .hero h1 { font-size: 48px; }
  .company-hero h1 { font-size: 56px; }
  .company-grid, .sector-grid, .vector-grid { grid-template-columns: 1fr; }
  .framework-grid, .scenario-grid, .adjacent-grid { grid-template-columns: 1fr; }
  .trigger-grid, .variant-grid, .recent-grid { grid-template-columns: 1fr; }
  .framework-cell:not(:last-child) { border-right: none; border-bottom: 1px solid var(--divider); }
  .section-head { flex-direction: column; align-items: flex-start; gap: 16px; }
  .full-table th:nth-child(2), .full-table td:nth-child(2) { display: none; }
}
