/* Krummholz site stylesheet, v7 (November 9, 2026). One file replaces style.css, catalog.css,
   main-nav.css, work-showcase.css, llm-training.css, apps.css, llm-offerings.css and refresh.css,
   in the order pages used to load them. The new name skips stale cached copies. */
@import url("https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;450;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Libre+Franklin:ital,wght@0,400;0,500;0,600;0,700;1,400;1,500;1,700&display=swap");

/* ===== from style.css ===== */
:root {
  --bg: #0c1411;
  --panel: #132019;
  --green: #b7ed78;
  --text: #f2f5ef;
  --muted: #aab6ad;
  --border: #344238;
}
* {
  box-sizing: border-box;
}
html {
  scroll-behavior: smooth;
  scroll-padding-top: 95px;
}
body {
  margin: 0;
  background: var(--bg);
  color: var(--text);
  font-family: "DM Sans", sans-serif;
  font-size: 17px;
  line-height: 1.65;
}
a {
  color: inherit;
  text-decoration: none;
}
button {
  font: inherit;
}
a:focus-visible,
button:focus-visible,
summary:focus-visible {
  outline: 3px solid var(--green);
  outline-offset: 5px;
}
.skip {
  position: absolute;
  top: -100px;
  left: 20px;
  z-index: 100;
  background: var(--green);
  color: var(--bg);
  padding: 10px;
}
.skip:focus {
  top: 10px;
}
header {
  height: 96px;
  padding: 0 5.5%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  border-bottom: 1px solid var(--border);
  background: var(--bg);
}
.brand {
  display: flex;
  gap: 10px;
  align-items: center;
  font-family: Manrope, sans-serif;
  font-size: 27px;
  font-weight: 700;
  letter-spacing: -1.3px;
}
.ai {
  color: var(--green);
  font-size: 14px;
  align-self: flex-start;
  margin-top: 5px;
  letter-spacing: 0;
}
.brand-mark {
  display: block;
  width: 44px;
  height: 44px;
  flex-shrink: 0;
  margin-right: 4px;
}
.brand {
  white-space: nowrap;
}
.footer-main .brand-mark {
  width: 36px;
  height: 36px;
}
nav {
  display: flex;
  align-items: center;
  gap: 34px;
  font-size: 14px;
}
nav a:hover,
.text-link:hover,
footer a:hover {
  color: var(--green);
}
.nav-cta {
  border: 1px solid #64715f;
  padding: 10px 18px;
}
.hero {
  min-height: 670px;
  position: relative;
  overflow: hidden;
  display: flex;
  align-items: center;
  padding: 80px 5.5% 105px;
}
.hero-image {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(
      90deg,
      #0c1411 0%,
      rgba(12, 20, 17, 0.86) 32%,
      rgba(12, 20, 17, 0.17) 80%
    ),
    linear-gradient(0deg, #0c1411, transparent 40%),
    url("/images/krummholz-hero-1800.webp") center 54% / cover;
}
.hero-content {
  position: relative;
  z-index: 1;
  max-width: 820px;
}
.eyebrow,
.mini,
.mono,
.hero-bottom,
.pill {
  font-family: "DM Sans", sans-serif;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 1.8px;
}
.eyebrow {
  color: var(--green);
  margin: 0 0 26px;
}
.hero h1 {
  font-family: Manrope, sans-serif;
  font-size: clamp(65px, 7.7vw, 115px);
  line-height: 1.02;
  letter-spacing: -6px;
  margin: 0 0 28px;
  font-weight: 500;
}
em {
  font-style: normal;
  color: var(--green);
}
.hero-copy {
  font-size: 20px;
  color: #d0d9d0;
  line-height: 1.7;
  max-width: 510px;
}
.actions {
  display: flex;
  gap: 32px;
  align-items: center;
  margin-top: 34px;
}
.button {
  background: var(--green);
  color: #102015;
  display: inline-block;
  padding: 14px 24px;
  font-size: 14px;
  font-weight: 700;
  transition: background 0.2s;
}
.button:hover {
  background: #d3ffaa;
}
.text-link {
  font-size: 14px;
  border-bottom: 1px solid #657663;
  padding-bottom: 6px;
}
.hero-bottom {
  position: absolute;
  bottom: 29px;
  left: 5.5%;
  right: 5.5%;
  display: flex;
  justify-content: space-between;
  font-size: 11px;
  color: #b7c1b7;
  letter-spacing: 1.1px;
  border-top: 1px solid #43503c;
  padding-top: 22px;
}
.muted {
  color: #6b816e;
  margin: 0 12px;
}
.section {
  padding: 100px 7%;
  border-bottom: 1px solid var(--border);
}
h2,
h3 {
  font-family: Manrope, sans-serif;
  font-weight: 500;
  line-height: 1.15;
  letter-spacing: -1.8px;
}
h2 {
  font-size: clamp(38px, 4.4vw, 62px);
  margin: 0 0 26px;
}
h3 {
  font-size: 28px;
  margin: 15px 0;
  letter-spacing: -1px;
}
p {
  color: var(--muted);
  margin: 0 0 20px;
}
.intro {
  display: grid;
  grid-template-columns: 1fr 2fr;
  gap: 50px;
}
.intro > div {
  max-width: 750px;
}
.intro h2 {
  margin-bottom: 30px;
}
.intro p:not(.eyebrow) {
  max-width: 660px;
}
.section-heading {
  display: flex;
  justify-content: space-between;
  gap: 70px;
  align-items: end;
  margin-bottom: 44px;
}
.section-heading > p {
  max-width: 340px;
}
.section-heading h2 {
  margin-bottom: 0;
}
.explorer {
  display: grid;
  grid-template-columns: 1fr 1.35fr;
  border: 1px solid var(--border);
}
.focus-nav {
  padding: 18px 30px;
}
.focus {
  display: flex;
  gap: 25px;
  width: 100%;
  align-items: center;
  border: 0;
  border-bottom: 1px solid var(--border);
  background: transparent;
  color: var(--muted);
  text-align: left;
  padding: 28px 8px;
  font-size: 21px;
  cursor: pointer;
}
.focus:last-child {
  border: 0;
}
.focus > span:first-child {
  font-size: 12px;
}
.focus .plus {
  margin-left: auto;
  font-size: 24px;
  font-weight: 400;
}
.focus.active {
  color: var(--green);
}
.focus:hover {
  color: var(--text);
}
.focus-detail {
  padding: 36px 42px;
  background: var(--panel);
  border-left: 1px solid var(--border);
}
.detail-top {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 15px;
}
.pill {
  font-size: 10px;
  letter-spacing: 1px;
  padding: 5px 9px;
  border: 1px solid #506047;
  color: var(--green);
}
.mono {
  color: #899b87;
}
.focus-detail h3 {
  font-size: 36px;
  max-width: 460px;
  margin: 28px 0 20px;
}
.focus-detail > p {
  max-width: 510px;
}
.usecases {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 25px 0;
}
.usecases span,
.tags span {
  font-size: 12px;
  border: 1px solid #3e5142;
  padding: 5px 10px;
  color: #c4d0c1;
}
.focus-detail .detail-note {
  font-size: 12px;
  line-height: 1.6;
  margin: 25px 0 0;
  color: #94a391;
}
.principles {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 48px;
  margin-top: 52px;
}
.mini {
  color: var(--green);
  font-size: 11px;
  letter-spacing: 1.3px;
}
.principles h3 {
  font-size: 22px;
  letter-spacing: -0.5px;
}
.principles p {
  font-size: 15px;
}
.ventures {
  background: #111c16;
}
.venture-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 28px;
}
.venture-grid article {
  padding: 36px;
  border-top: 1px solid #647653;
  background: #17251c;
}
.venture-grid h3 {
  font-size: 38px;
  margin: 32px 0 24px;
}
.venture-grid p {
  max-width: 470px;
}
.tags {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  margin-top: 35px;
}
.story {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 80px;
}
.large-copy {
  font-size: 27px;
  line-height: 1.5;
  color: var(--text);
  margin-bottom: 28px;
}
.founder-photo {
  width: 80px;
  height: 80px;
  object-fit: cover;
  display: block;
  flex-shrink: 0;
  border: 1px solid #65795c;
}
.founder div > span {
  font-size: 13px;
  color: var(--muted);
}
.roots {
  background: #18251d;
}
.location-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 80px;
  margin-top: 54px;
}
.location-grid h3 {
  font-size: 33px;
}
.perspective {
  border-top: 1px solid #4a5b4a;
  border-bottom: 1px solid #4a5b4a;
  margin-top: 35px;
}
.perspective summary {
  cursor: pointer;
  padding: 23px 0;
  display: flex;
  justify-content: space-between;
  font-size: 16px;
  list-style: none;
}
.perspective summary::-webkit-details-marker {
  display: none;
}
.perspective summary span {
  color: var(--green);
  font-size: 25px;
}
.perspective[open] summary span {
  transform: rotate(45deg);
}
.perspective > div {
  padding: 5px 0 30px;
  max-width: 860px;
}
.perspective > div > span {
  font-size: 13px;
  color: var(--green);
}
.launch {
  display: grid;
  grid-template-columns: 1.2fr 1fr;
  gap: 90px;
}
.launch h2 {
  font-size: clamp(37px, 4.5vw, 67px);
}
.launch .button {
  margin-top: 22px;
}
.launch dl {
  margin: 0;
}
.launch dl > div {
  display: flex;
  justify-content: space-between;
  gap: 25px;
  border-bottom: 1px solid var(--border);
  padding: 19px 0;
  font-size: 14px;
}
.launch dt {
  color: var(--muted);
}
.launch dd {
  margin: 0;
  text-align: right;
}
footer {
  padding: 45px 5.5% 25px;
}
.footer-main {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 25px;
}
.footer-main > span {
  font-size: 15px;
  color: var(--muted);
}
.footer-main > a:last-child {
  font-size: 13px;
}
.footer-small {
  display: flex;
  justify-content: space-between;
  gap: 25px;
  border-top: 1px solid var(--border);
  padding-top: 24px;
  margin-top: 36px;
  font-size: 11px;
  color: #93a08f;
}
.footer-small a {
  text-decoration: underline;
}
@media (min-width: 1600px) {
  .section {
    padding-left: max(7%, calc((100vw - 1400px) / 2));
    padding-right: max(7%, calc((100vw - 1400px) / 2));
  }
}
@media (max-width: 800px) {
  header {
    height: auto;
    min-height: 90px;
    flex-wrap: wrap;
    gap: 20px;
    padding: 20px 6%;
  }
  nav {
    gap: 20px;
    font-size: 13px;
    flex-wrap: wrap;
  }
  .nav-cta {
    padding: 5px 10px;
  }
  .brand {
    font-size: 25px;
  }
  .hero {
    min-height: 660px;
    padding: 65px 6% 125px;
  }
  .hero h1 {
    letter-spacing: -3.8px;
    font-size: clamp(54px, 11vw, 84px);
  }
  .hero-image {
    background:
      linear-gradient(90deg, rgba(12, 20, 17, 0.95), rgba(12, 20, 17, 0.45)),
      linear-gradient(0deg, #0c1411, transparent),
      url("/images/krummholz-hero-900.webp") 60% center/cover;
  }
  .hero-bottom {
    flex-direction: column;
    gap: 12px;
  }
  .section {
    padding: 66px 6%;
  }
  .intro,
  .story,
  .launch {
    grid-template-columns: 1fr;
    gap: 24px;
  }
  .section-heading {
    display: block;
  }
  .section-heading > p {
    margin: 24px 0 0;
    max-width: none;
  }
  .explorer {
    grid-template-columns: 1fr;
  }
  .focus-nav {
    padding: 5px 20px;
  }
  .focus {
    padding: 18px 5px;
    font-size: 18px;
  }
  .focus-detail {
    border-left: 0;
    border-top: 1px solid var(--border);
    padding: 28px;
  }
  .focus-detail h3 {
    font-size: 30px;
  }
  .principles {
    grid-template-columns: 1fr;
    gap: 22px;
  }
  .venture-grid,
  .location-grid {
    grid-template-columns: 1fr;
    gap: 30px;
  }
  .venture-grid article {
    padding: 28px;
  }
  .location-grid {
    margin-top: 40px;
  }
  .footer-main,
  .footer-small {
    align-items: flex-start;
    flex-direction: column;
  }
  .actions {
    gap: 20px;
    flex-wrap: wrap;
  }
  .hero-copy {
    font-size: 18px;
  }
  .launch {
    gap: 40px;
  }
  .story {
    gap: 30px;
  }
  .launch dl > div {
    font-size: 13px;
  }
  .large-copy {
    font-size: 23px;
  }
}
@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }
  * {
    transition: none !important;
  }
}

/* Public dataset samples */
header {
  gap: 24px;
}
header nav {
  gap: 22px;
  flex-wrap: wrap;
}
.sample-intro {
  max-width: 850px;
}
.sample-card {
  margin-top: 48px;
  padding: 38px;
  border: 1px solid var(--border);
  background: var(--panel);
  scroll-margin-top: 24px;
}
.sample-top {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  align-items: center;
}
.sample-card h3 {
  font-size: 38px;
  margin: 24px 0;
}
.sample-card > p {
  max-width: 840px;
}
.sample-stats {
  display: flex;
  flex-wrap: wrap;
  gap: 30px 60px;
  border-block: 1px solid var(--border);
  padding: 22px 0;
  margin: 28px 0;
}
.sample-stats dt {
  font-size: 12px;
  color: var(--muted);
}
.sample-stats dd {
  margin: 4px 0 0;
  font-size: 26px;
  color: var(--green);
}
.sample-columns {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 22px 42px;
  margin-top: 28px;
}
.sample-columns h4 {
  font-size: 16px;
  margin: 0 0 10px;
}
.sample-columns p {
  font-size: 15px;
}
.sample-columns a {
  text-decoration: underline;
  text-underline-offset: 3px;
}
.sample-table {
  overflow-x: auto;
  margin: 28px 0;
  border: 1px solid var(--border);
}
.sample-table table {
  border-collapse: collapse;
  width: 100%;
  min-width: 530px;
  font-size: 14px;
  text-align: left;
}
.sample-table caption {
  text-align: left;
  padding: 16px;
  color: var(--muted);
  font-size: 12px;
}
.sample-table th,
.sample-table td {
  padding: 14px 16px;
  border-top: 1px solid var(--border);
  vertical-align: top;
}
.sample-table th {
  color: var(--green);
  font-weight: 500;
}
.sample-card .download-note {
  font-size: 12px;
  margin: 20px 0 0;
}
.sample-review {
  max-width: 820px;
  margin-top: 48px;
}
.sample-review h3 {
  font-size: 28px;
}
@media (max-width: 1050px) {
  header {
    height: auto;
    min-height: 96px;
    padding-top: 20px;
    padding-bottom: 20px;
    flex-wrap: wrap;
  }
}
@media (max-width: 800px) {
  .sample-card {
    padding: 24px 20px;
  }
  .sample-card h3 {
    font-size: 29px;
  }
  .sample-columns {
    grid-template-columns: 1fr;
    gap: 10px;
  }
  .sample-stats {
    gap: 18px 28px;
  }
  .sample-stats dd {
    font-size: 22px;
  }
  .sample-top {
    align-items: flex-start;
    flex-wrap: wrap;
  }
  .sample-card .actions {
    align-items: flex-start;
    flex-direction: column;
  }
  .sample-card .button {
    font-size: 13px;
    padding: 12px 16px;
  }
}

.founder-socials a {
  display: inline-block;
  padding: 6px 0;
}

.bristlecone {
  margin-top: 40px;
  padding: 44px;
  border: 1px solid var(--border);
  background: linear-gradient(135deg, #15251b, #0c1411);
  display: grid;
  grid-template-columns: 1.15fr 1fr;
  gap: 55px;
  scroll-margin-top: 30px;
}
.bristlecone h3 {
  font-size: clamp(34px, 3.5vw, 50px);
  margin: 0 0 24px;
}
.bristlecone .eyebrow {
  margin-bottom: 18px;
}
.bristlecone-copy p {
  font-size: 16px;
}
.bristlecone-signoff a {
  text-decoration: underline;
  text-underline-offset: 3px;
  color: var(--text);
}
.bristlecone-signoff span {
  display: inline-block;
  margin-top: 12px;
  color: var(--green);
}
.bristlecone-links {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
  margin-top: 28px;
}
.bristlecone-downloads {
  min-width: 0;
  border-left: 1px solid var(--border);
  padding-left: 36px;
}
.bristlecone-downloads .pill {
  display: inline-block;
  line-height: 1.7;
  font-size: 10px;
  letter-spacing: 1px;
}
.bristlecone-downloads h4 {
  font-family: Manrope, sans-serif;
  font-size: 25px;
  font-weight: 500;
  margin: 22px 0 12px;
}
.bristlecone-downloads > p {
  font-size: 14px;
}
.bristlecone-button {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 18px 20px;
  border: 1px solid var(--green);
  background: var(--green);
  color: #102015;
  transition: background 0.2s;
}
.bristlecone-button:hover {
  background: #d3ffaa;
}
.bristlecone-button svg {
  width: 28px;
  height: 32px;
  flex-shrink: 0;
}
.bristlecone-button strong {
  display: block;
  font-size: 15px;
  line-height: 1.4;
}
.bristlecone-button small {
  display: block;
  font-size: 12px;
  margin-top: 4px;
}
.bristlecone-button.ios-download {
  background: #edf1eb;
  border-color: #edf1eb;
}
.bristlecone-button.ios-download:hover {
  background: #fff;
}
.bristlecone-downloads .install-note {
  font-size: 12px;
  line-height: 1.7;
  margin: 12px 0 26px;
}
.install-note strong {
  color: var(--text);
}
.bristlecone-downloads .store-plan {
  border-top: 1px solid var(--border);
  padding-top: 20px;
  font-size: 12px;
  margin-bottom: 0;
}
#apps .tags {
  margin-bottom: 22px;
}
@media (max-width: 950px) {
  .bristlecone {
    grid-template-columns: 1fr;
    gap: 28px;
    padding: 30px;
  }
  .bristlecone-downloads {
    border-left: 0;
    border-top: 1px solid var(--border);
    padding: 28px 0 0;
  }
}
@media (max-width: 480px) {
  .bristlecone {
    padding: 24px 18px;
  }
  .bristlecone-button {
    padding: 16px 14px;
    gap: 12px;
  }
  .bristlecone-button strong {
    font-size: 14px;
  }
}

/* Center the transparent brand mark consistently beside the wordmark. */
.brand-mark {
  object-fit: contain;
  object-position: center;
  align-self: center;
}

.founder-summary {
  margin-top: 32px;
  padding-top: 24px;
  border-top: 1px solid var(--border);
}
.founder-summary p {
  margin: 0 0 20px;
}
.founder-summary .button {
  display: inline-block;
}

/* ===== from catalog.css ===== */
.dataset-menu{position:relative}.dataset-menu summary{cursor:pointer;list-style:none;font:inherit}.dataset-menu summary::-webkit-details-marker{display:none}.dataset-menu summary::after{content:'⌄';margin-left:8px;color:var(--green)}.dataset-menu[open] summary{color:var(--green)}.dataset-menu-panel{position:absolute;top:calc(100% + 15px);left:0;z-index:30;min-width:260px;background:#17251c;border:1px solid #526149;padding:10px;box-shadow:0 16px 30px #0006}.dataset-menu-panel a{display:block;padding:11px 14px;white-space:nowrap}.dataset-menu-panel a:hover{background:#243524}.catalog-hero{padding:74px 5.5% 46px;max-width:1450px;margin:auto}.catalog-hero h1{font-family:Manrope,sans-serif;font-size:clamp(44px,6vw,82px);font-weight:500;line-height:1.08;letter-spacing:-3px;max-width:900px;margin:0 0 28px}.catalog-hero .lead{font-size:20px;color:#c5d1c4;max-width:760px}.release-strip{display:flex;gap:18px;align-items:center;flex-wrap:wrap;padding:22px 0;margin-top:28px;border-top:1px solid var(--border);border-bottom:1px solid var(--border);font-size:14px}.preliminary{display:inline-block;padding:5px 10px;background:#d7b9691c;border:1px solid #ba9a51;color:#edd28d;font-size:11px;letter-spacing:1.5px;font-weight:700;white-space:nowrap}.catalog-nav{display:flex;gap:10px;flex-wrap:wrap;margin-top:28px}.catalog-nav a{border:1px solid var(--border);padding:10px 18px;font-size:14px}.catalog-nav a:hover{background:var(--green);color:var(--bg)}.catalog-body{max-width:1450px;padding:0 5.5%;margin:auto}.catalog-category{padding:44px 0 40px;border-bottom:1px solid var(--border);scroll-margin-top:20px}.category-heading{display:flex;gap:24px;align-items:flex-start;margin-bottom:25px}.category-number{color:var(--green);font-size:13px;letter-spacing:2px;padding-top:14px}.category-heading h2{font-family:Manrope,sans-serif;font-size:36px;font-weight:500;letter-spacing:-1px;margin:0}.category-heading p{color:var(--muted);margin:9px 0 0;max-width:780px}.dataset-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.dataset-grid.single{grid-template-columns:1fr}.data-card{background:var(--panel);border:1px solid var(--border);padding:30px;display:flex;flex-direction:column;min-width:0}.data-card-top{display:flex;justify-content:space-between;gap:14px;align-items:center;flex-wrap:wrap}.data-source-type{color:var(--muted);font-size:12px;letter-spacing:1px}.data-card h3{font-family:Manrope,sans-serif;font-size:26px;line-height:1.25;margin:23px 0 12px;letter-spacing:-.5px}.data-card p{color:#c5d1c4;font-size:16px}.data-stat{color:var(--green);font-size:23px;line-height:1.4;margin:10px 0 18px}.data-card dl{margin:0 0 12px;display:grid;grid-template-columns:85px 1fr;gap:10px;font-size:14px}.data-card dt{color:var(--muted)}.data-card dd{margin:0;overflow-wrap:anywhere}.data-card dd a{text-decoration:underline;text-underline-offset:3px}.data-caveat{border-left:2px solid #7d8e71;padding-left:15px;margin:15px 0 22px;font-size:14px!important}.data-downloads{display:flex;flex-wrap:wrap;gap:12px;margin-top:auto;padding-top:15px}.data-downloads .button{font-size:14px;padding:12px 18px;display:inline-block}.data-docs{margin:18px 0 0;display:flex;gap:18px;flex-wrap:wrap;font-size:13px;color:var(--green)}.data-docs a{text-decoration:underline;text-underline-offset:4px}.catalog-method{padding:55px 0 65px;display:grid;grid-template-columns:1fr 1fr;gap:44px}.catalog-method h2{font-size:28px;font-weight:500;line-height:1.25;margin:0 0 20px}.catalog-method p{font-size:15px;color:var(--muted)}.catalog-method ul{padding-left:21px;font-size:15px;color:#c5d1c4}.catalog-method li{margin:10px 0}.catalog-footer{padding:30px 5.5%;border-top:1px solid var(--border);display:flex;justify-content:space-between;gap:22px;flex-wrap:wrap;font-size:14px;color:var(--muted)}.catalog-callout{border:1px solid var(--border);background:var(--panel);padding:24px 30px;margin:35px 0}.catalog-callout p{margin:0 0 16px}.catalog-callout .button{display:inline-block}.catalog-page header{position:relative;z-index:40}.catalog-page .eyebrow{margin-bottom:20px}.dataset-grid.single .data-card{max-width:100%}.catalog-page .button:hover{background:#d1ffa0}.dataset-update-link{display:inline-block;margin:8px 0;color:var(--green);text-decoration:underline;text-underline-offset:4px}
@media(max-width:800px){.dataset-grid{grid-template-columns:1fr}.catalog-hero{padding-top:45px}.catalog-hero h1{letter-spacing:-1.7px}.catalog-method{grid-template-columns:1fr;gap:15px}.category-heading h2{font-size:30px}.data-card{padding:24px}.dataset-menu-panel{left:0;max-width:90vw}.catalog-page header nav{gap:18px}.release-strip{gap:12px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* ===== from main-nav.css ===== */
.site-header{position:relative!important;z-index:50;height:auto;min-height:96px;padding:22px 4%;display:flex;align-items:center;justify-content:space-between;gap:24px;background:#0c1411;border-bottom:1px solid #344238;font-family:"DM Sans",system-ui,sans-serif;color:#f2f5ef;box-sizing:border-box}
.site-brand{display:inline-flex;align-items:center;gap:10px;white-space:nowrap;font-size:27px;font-weight:700;letter-spacing:-1.3px;text-decoration:none;color:#f2f5ef}.site-brand img{width:44px;height:44px;object-fit:contain;flex-shrink:0}.site-brand span{color:#b7ed78;font-size:14px;align-self:flex-start;margin-top:5px;letter-spacing:0}
.site-nav{display:flex;align-items:center;gap:24px;font-size:14px;line-height:1.65}.site-nav a{text-decoration:none;color:inherit;white-space:nowrap}.site-nav a:hover,.site-nav summary:hover{color:#b7ed78}.site-nav .nav-cta{border:1px solid #64715f;padding:10px 16px}.site-nav a:focus-visible,.site-nav summary:focus-visible,.nav-toggle:focus-visible,.site-brand:focus-visible{outline:3px solid #b7ed78;outline-offset:5px}
.site-nav .dataset-menu{position:relative}.site-nav summary{cursor:pointer;list-style:none;font:inherit}.site-nav summary::-webkit-details-marker{display:none}.site-nav summary::after{content:'⌄';margin-left:8px;color:#b7ed78}.site-nav .dataset-menu[open] summary{color:#b7ed78}.site-nav .dataset-menu-panel{position:absolute;top:calc(100% + 15px);left:0;z-index:55;min-width:235px;background:#17251c;border:1px solid #526149;padding:10px;box-shadow:0 16px 30px #0006}.site-nav .dataset-menu-panel a{display:block;padding:11px 14px;white-space:nowrap}.site-nav .dataset-menu-panel a:hover{background:#243524}
.nav-toggle{display:none;background:transparent;border:1px solid #64715f;color:#f2f5ef;padding:9px 13px;font:inherit;font-size:14px;cursor:pointer}.nav-toggle span{margin-left:8px}
.staff-list,.staff-contact{max-width:1450px;margin:auto;padding:0 5.5% 60px}.staff-card{display:grid;grid-template-columns:260px 1fr;gap:45px;padding:35px;border:1px solid #344238;background:#132019}.staff-card img{width:100%;height:auto;aspect-ratio:1;object-fit:cover}.staff-card h2{font-family:Manrope,sans-serif;font-size:36px;font-weight:500;line-height:1.2;margin:10px 0 20px}.staff-card p{max-width:690px;color:#c5d1c4}.staff-card .eyebrow{color:#b7ed78;font-size:11px;letter-spacing:1.6px}.staff-contact h2{font-weight:500;font-size:30px;margin:0 0 12px}.staff-contact p{color:#aab6ad}
@media(max-width:1320px){.site-header{flex-wrap:wrap;min-height:82px;padding:18px 5.5%;gap:20px}.nav-ready .nav-toggle{display:block}.site-header .site-nav{flex-basis:100%;width:100%;align-items:stretch;flex-direction:column;gap:0;font-size:16px}.nav-ready .site-header .site-nav{display:none}.nav-ready .site-header .site-nav.is-open{display:flex}.site-nav>a,.site-nav>details>summary{display:block;padding:12px 0}.site-nav .nav-cta{margin-top:12px;text-align:center}.site-nav .dataset-menu-panel{position:static;min-width:0;max-width:none;width:100%;box-sizing:border-box;box-shadow:none;margin:0 0 10px}.site-nav .dataset-menu-panel a{white-space:normal}.site-brand{font-size:24px}}
@media(max-width:650px){.staff-card{grid-template-columns:1fr;gap:25px;padding:24px}.staff-card img{max-width:220px}.staff-card h2{font-size:30px}.staff-card .button{font-size:13px}.site-brand{font-size:21px;gap:7px}.site-brand img{width:36px;height:36px}}
/* Restrained, shared trademark treatment. Brand marks appear only in footers. */
footer .footer-trademark{font-size:.6em;line-height:0;vertical-align:super;margin-left:.12em;font-weight:400;letter-spacing:0}
footer .footer-legal{flex-basis:100%;width:100%;box-sizing:border-box;margin:18px 0 0;padding-top:14px;border-top:1px solid #344238;color:#aab6ad;font-family:"DM Sans",system-ui,sans-serif;font-size:12px;font-weight:400;line-height:1.65;letter-spacing:0;text-align:left;overflow-wrap:break-word}
footer.catalog-footer .footer-legal{margin-top:0}
footer.foot .footer-legal{text-align:inherit}

/* ===== from work-showcase.css ===== */
.work-showcase .section-heading>p{max-width:470px}.work-feature{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:60px;align-items:center;padding:58px 0;border-top:1px solid var(--border)}.work-copy h3,.work-services h3{font-family:Manrope,sans-serif;font-size:clamp(30px,3vw,46px);font-weight:500;line-height:1.15;letter-spacing:-1.4px;margin:18px 0 24px}.work-copy>p,.work-services p{max-width:620px;color:#c5d1c4}.work-stage{font-size:11px!important;letter-spacing:1.2px;color:#b7ed78!important;margin:12px 0}.work-points{padding-left:20px;color:#c5d1c4;font-size:15px;line-height:1.7}.work-points li{margin:10px 0}.work-note,.work-caption{font-size:13px!important;color:#aab6ad!important;line-height:1.6}.work-copy .button{display:inline-block;margin:12px 0}.work-phones{display:flex;gap:22px;justify-content:center;align-items:start;padding:30px 26px 20px;background:radial-gradient(ellipse at top,#263e2a,#0c1711);border:1px solid #344238;border-radius:18px}.work-phones figure{margin:0;max-width:215px;flex:1;min-width:0}.work-phones img{display:block;width:100%;height:auto;border:1px solid #526149;border-radius:16px;box-shadow:0 18px 30px #0006}.work-phones figure:nth-child(2){margin-top:38px}.work-phones figcaption,.work-browser figcaption{font-size:12px;line-height:1.6;color:#aab6ad;margin-top:14px}.work-caption a{text-decoration:underline;text-underline-offset:3px}.work-browser{margin:0;min-width:0}.work-browser img{display:block;width:100%;height:auto;border:1px solid #526149;border-radius:12px;box-shadow:0 20px 40px #0004}.work-actions{display:flex;gap:22px;flex-wrap:wrap;align-items:center}.work-services{display:grid;grid-template-columns:1fr 1fr;gap:60px;border:1px solid #344238;background:#132019;padding:42px;margin:20px 0 0}.work-services .button{display:inline-block;margin-top:18px}.work-service-list>div+div{border-top:1px solid #344238;padding-top:16px;margin-top:22px}.work-service-list h4{font-family:Manrope,sans-serif;font-size:22px;font-weight:500;margin:0 0 10px}.work-service-list p{font-size:15px;margin:0}.work-showcase figure a:focus-visible{outline:3px solid #b7ed78;outline-offset:5px}
@media(max-width:900px){.work-feature,.work-services{grid-template-columns:1fr;gap:30px}.work-feature{padding:38px 0}.work-services{padding:28px}.work-phones{max-width:560px;margin:auto}.work-copy h3,.work-services h3{letter-spacing:-.7px}.work-browser{max-width:800px}}@media(max-width:480px){.work-phones{gap:12px;padding:18px 14px}.work-phones figure:nth-child(2){margin-top:24px}.work-phones img{border-radius:10px}.work-caption{font-size:12px!important}.work-services{padding:22px}.work-copy h3,.work-services h3{font-size:31px}}

/* ===== from llm-training.css ===== */
.llm-breadcrumb{display:flex;gap:12px;font-size:13px;color:var(--muted);margin-bottom:30px}.llm-breadcrumb a{text-decoration:underline;text-underline-offset:4px}.llm-intro-note{max-width:800px;color:#aab6ad;font-size:15px;line-height:1.7}.llm-jump{display:flex;gap:26px;flex-wrap:wrap;align-items:center;margin-top:25px}.llm-jump .button{display:inline-block}.llm-purpose{display:grid;grid-template-columns:1fr 1fr;gap:55px;padding:55px 0;border-bottom:1px solid var(--border)}.llm-page h2{font-family:Manrope,sans-serif;font-size:clamp(28px,3vw,38px);font-weight:500;line-height:1.2;letter-spacing:-.7px;margin:0 0 20px}.llm-page h3{font-family:Manrope,sans-serif;font-weight:500}.llm-purpose p,.llm-methods p,.llm-rights p{color:#c5d1c4;font-size:16px;line-height:1.75}.llm-methods,.llm-example,.llm-rights{padding:48px 0;border-bottom:1px solid var(--border)}.llm-methods ol{padding-left:24px;max-width:1000px;color:#c5d1c4;line-height:1.8}.llm-methods li{padding-left:8px;margin:14px 0}.llm-example blockquote{margin:24px 0 16px;border-left:3px solid #b7ed78;background:#132019;padding:25px 30px;font-family:Georgia,serif;font-size:20px;line-height:1.8;max-width:1000px;color:#e3e9df}.llm-example .example-source{font-size:13px;color:#aab6ad;overflow-wrap:anywhere}.llm-rights a,.llm-source-note a,.example-source a{text-decoration:underline;text-underline-offset:4px}.llm-source-note{margin:42px 0 60px;border:1px solid #344238;padding:28px;background:#101d16}.llm-source-note h2{font-size:23px;letter-spacing:-.3px}.llm-source-note p{font-size:14px;color:#aab6ad;line-height:1.75}.llm-metrics{display:flex;gap:24px;flex-wrap:wrap;margin:20px 0}.llm-metrics span{display:block;color:#aab6ad;font-size:13px}.llm-metrics strong{display:block;font-size:28px;color:#b7ed78;font-weight:500}.llm-page .data-docs{row-gap:12px}.llm-page .data-card{max-width:1100px}.llm-page .data-downloads{margin-top:15px}
@media(max-width:800px){.llm-purpose{grid-template-columns:1fr;gap:22px;padding:38px 0}.llm-methods,.llm-example,.llm-rights{padding:35px 0}.llm-example blockquote{padding:20px;font-size:18px}.llm-metrics{gap:18px}.llm-source-note{padding:22px}.llm-page .data-card dl{grid-template-columns:1fr;gap:6px}.llm-page .data-card dd{margin-bottom:10px}}

/* ===== from apps.css ===== */
.app-hero{max-width:1450px;margin:auto;padding:60px 5.5% 24px}.app-hero h1{font-family:Manrope,sans-serif;font-size:clamp(50px,7vw,92px);font-weight:500;line-height:1.08;letter-spacing:-3px;margin:0 0 22px}.app-hero .eyebrow{margin:25px 0 20px}.app-lead{font-size:22px;line-height:1.5;color:#c5d1c4;max-width:750px}.app-breadcrumb{font-size:13px;display:flex;gap:12px;color:#aab6ad;flex-wrap:wrap}.app-breadcrumb a{text-decoration:underline;text-underline-offset:4px}.app-hero>.text-link{display:inline-block;margin:8px 0 12px}.app-detail,.apps-list{max-width:1450px;margin:auto;padding:0 5.5% 70px}.app-detail .bristlecone{margin-top:25px}.app-detail .bristlecone h2{font-size:clamp(28px,3.5vw,43px);font-weight:500;line-height:1.2;margin:0 0 24px}.app-detail #downloads{scroll-margin-top:30px}.app-card{background:#132019;border:1px solid #344238;padding:36px;display:flex;align-items:center;justify-content:space-between;gap:40px;margin-top:25px}.app-card h2{font-family:Manrope,sans-serif;font-size:38px;font-weight:500;margin:20px 0 12px}.app-card p{max-width:650px;color:#c5d1c4}.app-card .tags{margin-top:20px}.app-card .button{white-space:nowrap}.app-card .pill{font-size:11px;color:#b7ed78}
@media(max-width:800px){.app-card{align-items:flex-start;flex-direction:column;padding:26px;gap:25px}.app-hero{padding-top:35px}.app-hero h1{letter-spacing:-1.7px}.app-lead{font-size:20px}.app-detail,.apps-list{padding-bottom:45px}}
.app-detail .bristlecone-downloads h3{font-family:Manrope,sans-serif;font-size:25px;font-weight:500;margin:22px 0 12px}

.app-gallery{max-width:1450px;margin:20px auto 0;padding:35px 5.5% 45px}.app-gallery-intro{max-width:760px;margin-bottom:35px}.app-gallery-intro h2{font-family:Manrope,sans-serif;font-size:clamp(30px,4vw,48px);line-height:1.2;font-weight:500;letter-spacing:-1px;margin:14px 0 18px}.app-gallery-intro>p:last-child{color:#c5d1c4;font-size:19px;line-height:1.6}.app-gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px}.app-gallery figure{margin:0;min-width:0}.app-screenshot{display:block;border:1px solid #4c5d50;border-radius:24px;overflow:hidden;background:#132019;box-shadow:0 16px 45px #0003;transition:transform .2s,border-color .2s}.app-screenshot:hover{transform:translateY(-4px);border-color:#b7ed78}.app-screenshot:focus-visible{outline:3px solid #b7ed78;outline-offset:5px}.app-screenshot img{display:block;width:100%;height:auto;aspect-ratio:430/900}.app-gallery figcaption{padding:23px 3px 10px}.app-shot-number{font-size:10px;letter-spacing:2px;color:#b7ed78;font-weight:700}.app-gallery h3{font-family:Manrope,sans-serif;font-size:22px;line-height:1.3;font-weight:500;margin:12px 0 10px}.app-gallery figcaption p{font-size:15px;line-height:1.6;color:#c5d1c4;margin:0}.app-gallery-note{font-size:12px;line-height:1.6;color:#aab6ad;max-width:850px;margin:28px 0 9px}.app-map-credit{font-size:11px;line-height:1.7;color:#aab6ad;margin:0}.app-map-credit a{text-decoration:underline;text-underline-offset:3px}@media(max-width:800px){.app-gallery{padding-top:20px}.app-gallery-grid{gap:18px}.app-gallery h3{font-size:19px}.app-gallery figcaption p{font-size:14px}.app-shot-number{letter-spacing:1px}.app-screenshot{border-radius:18px}}@media(max-width:600px){.app-gallery-grid{grid-template-columns:1fr;gap:32px;max-width:370px;margin:auto}.app-gallery-intro>p:last-child{font-size:17px}.app-gallery figcaption{padding-top:19px}.app-gallery h3{font-size:23px}.app-gallery figcaption p{font-size:16px}}@media(prefers-reduced-motion:reduce){.app-screenshot{transition:none}.app-screenshot:hover{transform:none}}

/* ===== from llm-offerings.css ===== */
.offering-hero,.offering-body{max-width:1450px;margin:auto;padding-left:5.5%;padding-right:5.5%}
.offering-hero{padding-top:74px;padding-bottom:52px}.offering-hero h1{font-family:Manrope,sans-serif;font-weight:500;font-size:clamp(48px,6.6vw,88px);line-height:1.07;letter-spacing:-3.5px;margin:0 0 28px}.offering-hero .lead{max-width:850px;font-size:22px;color:#c5d1c4;line-height:1.6}.offering-hero .eyebrow{margin-bottom:20px}.offering-status{display:flex;gap:12px 24px;align-items:center;flex-wrap:wrap;padding:20px 0;border-top:1px solid #344238;border-bottom:1px solid #344238;margin-top:30px;font-size:14px;color:#c5d1c4}.offering-status strong{color:#b7ed78;font-size:12px;letter-spacing:1.2px}.offering-breadcrumb{display:flex;gap:12px;margin-bottom:34px;font-size:13px;color:#aab6ad}.offering-breadcrumb a{border-bottom:1px solid #64715f}
.offering-body{padding-bottom:80px}.offering-section{padding:54px 0;border-top:1px solid #344238}.offering-section h2{font-family:Manrope,sans-serif;font-weight:500;font-size:clamp(30px,3.4vw,46px);line-height:1.16;letter-spacing:-1.4px;margin:0 0 24px}.offering-section h3{font-size:22px;font-weight:500;line-height:1.3;margin:0 0 14px}.offering-section p,.offering-section li{color:#c5d1c4}.offering-section p{max-width:850px}.offering-section li+li{margin-top:9px}.offering-section a:not(.button){text-decoration:underline;text-underline-offset:4px}.offering-section .eyebrow{color:#b7ed78}.offering-columns{display:grid;grid-template-columns:1fr 1fr;gap:54px}.offering-steps{padding:0;list-style:none;counter-reset:steps}.offering-steps li{counter-increment:steps;position:relative;padding:0 0 24px 48px;margin:0 0 20px;border-bottom:1px solid #344238}.offering-steps li::before{content:counter(steps,decimal-leading-zero);position:absolute;left:0;top:0;color:#b7ed78;font-size:13px;letter-spacing:1px}.offering-steps strong{display:block;color:#f2f5ef;font-size:19px;margin-bottom:5px}.offering-model{display:grid;grid-template-columns:110px 1fr 1fr;gap:36px;padding:40px 0;border-top:1px solid #344238}.offering-model:last-child{border-bottom:1px solid #344238}.model-number{font-size:13px;color:#b7ed78;letter-spacing:2px}.offering-model h2{font-family:Manrope,sans-serif;font-size:40px;line-height:1.15;font-weight:500;letter-spacing:-1.5px;margin:0 0 14px}.offering-model p{color:#c5d1c4;margin-top:0}.offering-model .mini{display:block;color:#b7ed78;margin-bottom:16px}.offering-model .text-link{display:inline-block;margin-top:12px}.offering-note{padding:24px 28px;background:#17251c;border-left:3px solid #b7ed78;color:#c5d1c4;margin:28px 0}.offering-note p{margin:0}.offering-use{padding:28px;border:1px solid #344238;background:#132019}.offering-use .mini{color:#b7ed78}.offering-use h3{margin-top:16px}.offering-link-row{display:flex;gap:24px;align-items:center;flex-wrap:wrap;margin-top:28px}.home-models{padding:42px 0;border-top:1px solid #344238;margin-top:44px}.home-models>p{max-width:850px;color:#c5d1c4}.home-models h3{font-family:Manrope,sans-serif;font-weight:500;font-size:38px;line-height:1.15;margin:12px 0 24px}.home-model-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;margin:32px 0}.home-model-grid article{padding-top:24px;border-top:1px solid #64715f}.home-model-grid h4{font-size:25px;font-weight:500;margin:0 0 12px}.home-model-grid p{color:#c5d1c4;font-size:16px}.home-model-grid .text-link{display:inline-block}.synthetic-callout{display:grid;grid-template-columns:1.3fr 1fr;gap:36px;padding:32px;border:1px solid #526149;background:#132019;margin:42px 0 0}.synthetic-callout h3{font-family:Manrope,sans-serif;font-size:30px;line-height:1.2;font-weight:500;margin:12px 0 18px}.synthetic-callout p{color:#c5d1c4}.synthetic-callout .mini{color:#b7ed78}.business-address{font-style:normal;font-size:14px;line-height:1.65;color:#aab6ad}.catalog-footer{flex-wrap:wrap}.catalog-footer .business-address{flex-basis:100%}.footer-small .business-address{font-size:12px}.contact .business-address{margin-top:16px}.launch-roadmap{display:flex;gap:22px;flex-wrap:wrap;margin-top:24px;font-size:14px;color:#c5d1c4}.launch-roadmap a{border-bottom:1px solid #64715f}
@media(max-width:850px){.offering-model{grid-template-columns:55px 1fr;gap:20px}.offering-model>div:last-child{grid-column:2}.home-model-grid{grid-template-columns:1fr;gap:10px}.offering-columns,.synthetic-callout{grid-template-columns:1fr;gap:22px}.offering-hero{padding-top:46px}.offering-hero h1{letter-spacing:-2px}.offering-hero .lead{font-size:19px}.offering-section{padding:38px 0}.offering-section h2{letter-spacing:-.8px}.offering-body{padding-bottom:45px}}
@media(max-width:480px){.offering-model{grid-template-columns:1fr;gap:12px}.offering-model>div:last-child{grid-column:auto}.offering-model h2{font-size:34px}.synthetic-callout,.offering-use{padding:22px}.offering-hero h1{font-size:47px}.offering-status{gap:10px}.offering-link-row{gap:18px}}

/* ===== from refresh.css ===== */
/*
  Krummholz type and layout refresh (November 2026, Libre Franklin revision).
  Loaded last on every page. Colors, copy and page structure are unchanged.
  Display face: Libre Franklin for the wordmark, headings, subheadings and buttons.
  Body text stays in DM Sans.
*/
:root {
  --display: "Libre Franklin", "Franklin Gothic Medium", "Helvetica Neue", Arial, sans-serif;
  --line: #344238;
  --radius: 4px;
  --card-shadow: 0 1px 2px rgba(0, 0, 0, 0.28), 0 10px 28px rgba(0, 0, 0, 0.22);
  /* A low, wind-pressed treeline: the krummholz edge, used where sections meet. */
  --treeline: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='640' height='22' viewBox='0 0 640 22'%3E%3Cpath d='M0 20.5 L38 20.5 C44 20.5 46 17 52 16.6 C57 16.3 58 19.4 63 19.2 L96 19.4 C102 19.2 104 14.2 111 13.4 C117 12.8 118 15.6 124 15.8 C129 16 131 19.6 138 19.8 L214 20.4 C219 20.2 221 18.1 226 18 C230 17.9 231 19.9 236 20 L300 20.5 C306 20.3 309 12.8 317 11.6 C323 10.8 324 13.9 330 14.4 C335 14.8 337 12.6 342 12.9 C347 13.3 348 18.8 355 19.4 L430 20.2 C436 20 438 16.9 444 16.7 C449 16.6 450 19.3 456 19.5 L522 20.4 C527 20.2 530 15.8 536 15.4 C541 15.1 542 17.5 547 17.7 C551 17.9 553 20 558 20.2 L640 20.5' fill='none' stroke='%23435443' stroke-width='1.1'/%3E%3C/svg%3E");
}

/* ---------- Display face: wordmark, headings, subheadings, buttons ---------- */

.brand,
.site-brand {
  font-family: var(--display);
  font-weight: 700;
  font-size: 27px;
  letter-spacing: -0.02em;
}
.brand .ai,
.site-brand span {
  font-family: var(--display);
  font-style: italic;
  font-weight: 500;
  font-size: 16px;
  margin-top: 2px;
}

h1, h2, h3, h4,
.hero h1,
.catalog-hero h1,
.offering-hero h1,
.app-hero h1,
.category-heading h2,
.offering-section h2,
.offering-model h2,
.llm-page h2,
.llm-page h3,
.app-card h2,
.app-gallery-intro h2,
.app-gallery h3,
.data-card h3,
.home-models h3,
.synthetic-callout h3,
.staff-card h2,
.work-copy h3,
.work-services h3,
.work-service-list h4,
.bristlecone-downloads h4,
.app-detail .bristlecone-downloads h3,
.bristlecone-page .bc-section h2,
.bristlecone-page .bc-section h3 {
  font-family: var(--display);
  font-weight: 500;
  letter-spacing: -0.015em;
}
h1, .hero h1, .catalog-hero h1, .offering-hero h1, .app-hero h1 {
  font-weight: 600;
  line-height: 1.04;
  letter-spacing: -0.03em;
}
h3, h4 {
  font-weight: 600;
  line-height: 1.22;
}

/* Hero headline: sized for the display face, set low and to the left like wind-pressed growth. */
.hero {
  align-items: flex-end;
  padding-bottom: 150px;
}
.hero h1 {
  font-size: clamp(56px, 6.6vw, 98px);
}
.catalog-hero h1,
.offering-hero h1,
.app-hero h1 {
  font-size: clamp(44px, 5.6vw, 78px);
}

/* Emphasis inside headings: a quiet italic lean instead of a color block. */
h1 em, h2 em, h3 em {
  font-style: italic;
  font-weight: inherit;
}

/* Buttons */
.button,
.nav-cta,
.site-nav .nav-cta,
.nav-toggle,
.bristlecone-button strong {
  font-family: var(--display);
}
.button {
  font-size: 17px;
  font-weight: 500;
  letter-spacing: 0.005em;
  padding: 11px 22px 12px;
  border-radius: var(--radius);
  box-shadow: 0 1px 0 rgba(255, 255, 255, 0.25) inset, 0 2px 6px rgba(0, 0, 0, 0.25);
  transition: background 0.2s, transform 0.15s;
}
.button:hover {
  transform: translateY(-1px);
}
.nav-cta,
.site-nav .nav-cta,
.nav-toggle {
  font-size: 16px;
  border-radius: var(--radius);
}
.bristlecone-button {
  border-radius: var(--radius);
}
.bristlecone-button strong {
  font-size: 17px;
  font-weight: 500;
}

/* Focus-area tabs read as subheadings. */
.focus {
  font-family: var(--display);
  font-size: 23px;
}
.focus .plus {
  font-family: "DM Sans", sans-serif;
}

/* ---------- Labels: sentence case, no tracking, no numbering ---------- */

.mini,
.pill,
.app-shot-number,
.data-source-type,
.offering-status strong,
.work-stage,
.bc-model-label,
.preliminary,
.hero-bottom,
.staff-card .eyebrow {
  font-family: "DM Sans", sans-serif;
  letter-spacing: 0;
  text-transform: none;
}
.mini,
.app-shot-number,
.bc-model-label,
.work-stage {
  font-size: 14px !important;
  font-weight: 500;
}
.pill,
.preliminary {
  font-size: 12px;
  font-weight: 500;
  border-radius: 3px;
}
.hero-bottom {
  font-size: 13px;
  letter-spacing: 0;
}

/* Decorative counters removed; ordered steps keep a plain italic numeral. */
.category-number,
.bc-feature-number {
  display: none !important;
}
.offering-steps li::before {
  content: counter(steps) ".";
  font-family: var(--display);
  font-style: italic;
  font-size: 19px;
  letter-spacing: 0;
  top: -3px;
}

/* Status and date lines that replaced the old uppercase kickers. */
.status-line {
  font-family: var(--display);
  font-style: italic;
  font-size: 18px;
  line-height: 1.4;
  color: #c9d8bf;
  margin: 0 0 14px;
  letter-spacing: 0;
}
.status-line::before {
  content: "";
  display: inline-block;
  width: 22px;
  height: 1px;
  margin-right: 10px;
  vertical-align: middle;
  background: var(--green, #b7ed78);
}

/* Breadcrumbs now sit directly above page titles. */
nav[aria-label="Breadcrumb"] {
  margin-bottom: 26px;
}

/* ---------- Layout: contained, slightly asymmetric, hand-built ---------- */

.section {
  padding-left: max(6%, calc((100vw - 1180px) / 2));
  padding-right: max(6%, calc((100vw - 1180px) / 2));
  border-bottom: 0;
  background-image: var(--treeline);
  background-repeat: repeat-x;
  background-position: left bottom;
  background-size: 640px 22px;
}
@media (min-width: 1600px) {
  .section {
    padding-left: calc((100vw - 1180px) / 2);
    padding-right: calc((100vw - 1180px) / 2);
  }
}

/* Intro sections lost their label column; keep the offset so copy sits off-center. */
.intro {
  display: block;
}
.intro > div {
  max-width: 720px;
  margin-left: clamp(0px, 20%, 260px);
}

/* Cards: plain, softly lifted, small radius. */
.sample-card,
.venture-grid article,
.staff-card,
.data-card,
.app-card,
.bristlecone,
.synthetic-callout,
.offering-model,
.offering-use,
.explorer {
  border-radius: var(--radius);
  box-shadow: var(--card-shadow);
}
.explorer {
  overflow: hidden;
}
/* Alternate cards sit a touch lower, like trees settled into a slope. */
.venture-grid article:nth-child(even),
.principles > div:nth-child(even) {
  margin-top: 28px;
}

/* Body links are underlined, the way links used to be. */
main p a:not(.button),
main li a:not(.button),
main dd a:not(.button) {
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
  text-decoration-color: rgba(183, 237, 120, 0.55);
}
main p a:not(.button):hover,
main li a:not(.button):hover {
  text-decoration-color: currentColor;
}

/* Lead copy a little warmer. */
.hero-copy,
.lead,
.large-copy {
  max-width: 34em;
}
.large-copy {
  font-family: var(--display);
  font-weight: 400;
  font-size: 27px;
  line-height: 1.45;
}

@media (max-width: 800px) {
  .hero {
    padding-bottom: 140px;
  }
  .hero h1 {
    letter-spacing: -0.015em;
    font-size: clamp(46px, 11vw, 72px);
  }
  .intro > div {
    margin-left: 0;
  }
  .venture-grid article:nth-child(even),
  .principles > div:nth-child(even) {
    margin-top: 0;
  }
  .large-copy {
    font-size: 24px;
  }
}

/* ===== v7 components: stats, model cards, scorecards ===== */
.kz-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--border);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;margin-top:30px}
.kz-stat{background:var(--panel);padding:22px 20px}
.kz-stat strong{display:block;font-family:var(--display);font-size:36px;font-weight:600;line-height:1.1;color:var(--green);font-variant-numeric:tabular-nums}
.kz-stat span{display:block;margin-top:10px;font-size:14px;line-height:1.45;color:#c5d1c4}
.sample-table .num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
.kz-fine{font-size:13px;color:var(--muted)}
.investor-page .offering-hero h1 em{color:var(--green)}
.investor-page .offering-section h2::after{content:"";display:block;width:56px;height:3px;margin-top:16px;background:var(--green);border-radius:2px}

.model-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-top:8px}
.model-card{display:flex;flex-direction:column;gap:12px;padding:30px;background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--card-shadow);min-width:0}
.model-card.is-live{border-top:3px solid var(--green)}
.model-card-top{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}
.model-kind{font-size:14px;color:var(--muted)}
.model-badge{display:inline-block;font-size:13px;font-weight:600;line-height:1;padding:6px 10px;border-radius:3px;border:1px solid var(--green);color:var(--bg);background:var(--green)}
.model-badge.is-dev{background:transparent;color:#c9d8bf;border-color:#64715f}
.model-card h3{font-family:var(--display);font-size:38px;font-weight:600;line-height:1.05;letter-spacing:-.02em;margin:6px 0 0}
.model-card .model-size{font-family:var(--display);font-style:italic;font-size:18px;color:#c9d8bf;margin:0}
.model-card p{color:#c5d1c4;margin:0}
.model-facts{display:grid;grid-template-columns:auto 1fr;gap:6px 16px;margin:6px 0 0;font-size:15px}
.model-facts dt{color:var(--muted)}
.model-facts dd{margin:0;color:var(--text);overflow-wrap:anywhere}
.model-actions{display:flex;flex-wrap:wrap;gap:12px 20px;align-items:center;margin-top:auto;padding-top:16px}
.model-actions .button{font-size:15px;padding:10px 18px}

.score-legend{display:flex;gap:22px;flex-wrap:wrap;margin:22px 0 14px;font-size:14px;color:#c5d1c4}
.score-legend span{display:inline-flex;align-items:center;gap:8px}
.score-legend .key-fill{display:inline-block;width:22px;height:8px;border-radius:4px;background:var(--green)}
.score-legend .key-tick{display:inline-block;width:2px;height:16px;background:var(--text);box-shadow:0 0 0 2px var(--bg)}
.scorecards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.scorecard{padding:26px 28px 14px;background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--card-shadow);min-width:0}
.scorecard h3{font-family:var(--display);font-size:26px;font-weight:600;margin:0 0 4px}
.scorecard .scorecard-sub{font-size:14px;color:var(--muted);margin:0 0 10px}
.score-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:baseline;gap:6px 14px;padding:13px 0;border-top:1px solid var(--border)}
.score-label{font-size:15px;line-height:1.35;color:#d5dfd2}
.score-value{font-family:var(--display);font-size:17px;font-weight:600;color:var(--text);white-space:nowrap;font-variant-numeric:tabular-nums}
.score-value small{display:block;font-family:"DM Sans",sans-serif;font-size:12px;font-weight:400;color:var(--muted);text-align:right}
.score-track{grid-column:1/-1;position:relative;height:8px;margin-top:4px;background:#1f2d25;border-radius:4px}
.score-fill{position:absolute;left:0;top:0;bottom:0;background:var(--green);border-radius:4px}
.score-tick{position:absolute;top:-5px;bottom:-5px;width:2px;margin-left:-1px;background:var(--text);box-shadow:0 0 0 2px var(--panel)}
.score-row:hover .score-label{color:var(--text)}
.score-note{font-size:14px;color:var(--muted);max-width:850px}

@media (max-width:850px){
  .kz-stats{grid-template-columns:1fr 1fr}
  .model-grid,.scorecards{grid-template-columns:1fr}
  .model-card{padding:24px}
  .model-card h3{font-size:32px}
  .scorecard{padding:22px 20px 10px}
}
@media (max-width:420px){
  .kz-stat strong{font-size:30px}
  .kz-stat{padding:18px 14px}
}

/* Campaign entry points and the pitch-deck wordmark, November 10, 2026. */
.brand,
.site-brand,
.footer-wordmark {
  font-family: "Libre Franklin", "Franklin Gothic Medium", "Helvetica Neue", Arial, sans-serif;
  font-weight: 700;
  letter-spacing: -0.02em;
  line-height: 1.15;
  color: var(--text);
}
.brand,
.site-brand {
  align-items: center;
  white-space: nowrap;
}
.brand .ai,
.site-brand span,
.footer-wordmark .ai {
  font-family: inherit;
  font-size: 1em;
  font-style: italic;
  font-weight: 700;
  color: var(--green);
  line-height: inherit;
  margin-top: 0;
  align-self: auto;
}
.brand .ai,
.site-brand span {
  margin-left: -10px;
}
.footer-wordmark .ai {
  margin-left: -0.25em;
}
@media (max-width: 650px) {
  .site-brand span {
    margin-left: -7px;
  }
}
.footer-wordmark {
  display: inline-flex;
  align-items: baseline;
  gap: 0.25em;
  font-size: 25px;
  white-space: nowrap;
}
.footer-wordmark .footer-trademark {
  font-family: "DM Sans", sans-serif;
  font-style: normal;
  font-size: 11px;
  align-self: flex-start;
  margin-left: 0;
}
.campaign-section {
  padding-top: 55px;
  padding-bottom: 65px;
}
.campaign-grid,
.evidence-records {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px;
}
.campaign-card {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  min-width: 0;
  padding: 32px;
  border: 1px solid var(--border);
  border-radius: var(--radius);
  background: var(--panel);
}
.campaign-card h3 {
  margin: 6px 0 18px;
  font-size: clamp(27px, 3vw, 38px);
  font-weight: 600;
  line-height: 1.15;
}
.campaign-card > p {
  color: #c5d1c4;
}
.campaign-card .button {
  margin-top: auto;
}
.campaign-actions {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 18px 26px;
  margin: 25px 0 20px;
}
.campaign-actions .button {
  display: inline-block;
  max-width: 100%;
  text-align: center;
}
.campaign-note {
  max-width: 850px;
  font-size: 14px;
  line-height: 1.65;
  color: var(--muted);
}
.campaign-card .campaign-note {
  color: var(--muted);
  margin-bottom: 25px;
}
.evidence-records {
  max-width: 850px;
  margin: 28px 0;
}
.evidence-record {
  padding: 26px;
  border: 1px solid var(--border);
  border-radius: var(--radius);
  background: var(--panel);
}
.evidence-record > span {
  color: var(--muted);
  font-size: 15px;
}
.evidence-record > strong {
  display: block;
  margin: 13px 0 8px;
  font: 600 clamp(32px, 5vw, 52px)/1.15 var(--display);
}
.evidence-record > p {
  margin: 0;
  font-size: 15px;
}
.evidence-record.is-current {
  border-color: var(--green);
}
.evidence-record.is-current > strong {
  color: var(--green);
}
#model-cards,
#sample-records,
#preview-example {
  scroll-margin-top: 110px;
}
@media (max-width: 700px) {
  .campaign-grid,
  .evidence-records {
    grid-template-columns: 1fr;
  }
  .campaign-card {
    padding: 24px;
  }
  .campaign-section {
    padding-top: 38px;
    padding-bottom: 45px;
  }
  .footer-wordmark {
    font-size: 23px;
  }
}

/* Restore the lime investor treatment without changing its v7 results. */
body.investor-page {
  --bg: #b7ed78;
  --panel: #c9f198;
  --text: #0c1411;
  --muted: #31462a;
  --green: #1f3b18;
  --border: #739653;
  --card-shadow: 0 1px 2px rgba(12, 20, 17, 0.12);
  background: var(--bg);
  color: var(--text);
}
.investor-page .site-header {
  background: var(--bg);
  color: var(--text);
  border-bottom: 2px solid var(--text);
}
.investor-page main :where(p, li, span, td, th, caption, strong, em, h1, h2, h3, a),
.investor-page .catalog-footer,
.investor-page .catalog-footer * {
  color: var(--text);
}
.investor-page .offering-hero .lead,
.investor-page .site-brand,
.investor-page .site-nav,
.investor-page .site-nav a,
.investor-page .site-nav summary,
.investor-page .nav-toggle {
  color: var(--text);
}
.investor-page .site-brand span,
.investor-page .brand .ai,
.investor-page .footer-wordmark .ai {
  color: #262626;
}
.investor-page .offering-hero h1 em,
.investor-page .status-line,
.investor-page .eyebrow,
.investor-page .scorecard .scorecard-sub,
.investor-page .score-value small,
.investor-page .score-note,
.investor-page .kz-fine,
.investor-page .business-address {
  color: var(--muted);
}
.investor-page .offering-section,
.investor-page .offering-status,
.investor-page .sample-table,
.investor-page .sample-table :where(th, td, caption),
.investor-page .catalog-footer,
.investor-page .site-nav .nav-cta,
.investor-page .nav-toggle {
  border-color: var(--border);
}
.investor-page .sample-table,
.investor-page .sample-table :where(table, thead, tbody, tr, th, td, caption) {
  background: transparent;
}
.investor-page .site-nav summary::after,
.investor-page .site-nav .dataset-menu[open] summary,
.investor-page .site-nav a:hover,
.investor-page .site-nav summary:hover {
  color: var(--green);
}
.investor-page .site-nav .dataset-menu-panel {
  background: #c3ef8e;
  border-color: var(--text);
}
.investor-page .site-nav .dataset-menu-panel a:hover {
  background: #a1d362;
}
.investor-page .score-track {
  background: #91bc60;
}
.investor-page .score-tick,
.investor-page .score-legend .key-tick {
  background: #fff;
  box-shadow: 0 0 0 1px var(--text);
}
.investor-page .button {
  color: var(--bg);
  background: var(--text);
}
.investor-page .button:hover {
  color: #f2f5ef;
  background: var(--green);
}
.investor-page main :where(p, li) a {
  text-decoration-color: var(--green);
}
.investor-page :where(a, button, summary):focus-visible {
  outline-color: var(--text);
}

/* Curated access and public field notes. */
.purchase-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 40px;
  align-items: start;
}
.purchase-layout form {
  min-width: 0;
}
.purchase-layout label {
  display: block;
  margin-bottom: 12px;
  font-weight: 600;
}
.purchase-layout select {
  width: 100%;
  max-width: 100%;
  min-height: 48px;
  padding: 11px;
  margin-bottom: 18px;
  border: 1px solid var(--border);
  border-radius: var(--radius);
  background: var(--bg);
  color: var(--text);
  font: inherit;
}
.purchase-layout .button {
  max-width: 100%;
  white-space: normal;
}
.purchase-layout .button:disabled {
  opacity: 0.65;
  cursor: not-allowed;
}
.purchase-status-button {
  display: inline-block;
  min-height: 44px;
  padding: 9px 14px;
  border: 1px solid var(--border);
  border-radius: var(--radius);
  background: transparent;
  color: var(--green);
  cursor: pointer;
  font: inherit;
}
.field-note {
  max-width: 1120px;
}
.field-note-art {
  float: right;
  width: min(43%, 340px);
  height: auto;
  margin: 0 0 26px 30px;
  border: 1px solid var(--border);
}
.field-note .offering-section::after {
  content: "";
  display: block;
  clear: both;
}
.field-note-share {
  clear: both;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 14px;
  padding-top: 20px;
  margin-bottom: 24px;
}
.field-note-share [role="status"] {
  color: var(--muted);
  font-size: 14px;
}
@media (max-width: 750px) {
  .purchase-layout {
    grid-template-columns: 1fr;
    gap: 22px;
  }
}
@media (max-width: 600px) {
  .field-note-art {
    float: none;
    display: block;
    width: min(100%, 420px);
    margin: 0 0 28px;
  }
}
