



.nc-crumb { margin-block-end: var(--sp-6); }
.nc-crumb ol {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--sp-2);
  margin: 0;
  padding: 0;
  list-style: none;
  font-size: var(--fs-micro);
  color: var(--ink-muted);
}
.nc-crumb li + li::before {
  content: "/";
  margin-inline-end: var(--sp-2);
  color: var(--ink-muted);
}
.nc-crumb [aria-current="page"] { color: var(--ink); }



.nc-hero { padding-block-start: clamp(2rem, 5vw, 3.5rem); }
.nc-hero__h1 {
  max-width: 24ch;
  margin: var(--sp-3) 0 var(--sp-4);
  font-family: var(--font-display);
  font-size: var(--fs-h1);
  font-weight: 600;
  line-height: 1.04;
  letter-spacing: -.02em;
}
.nc-hero__sub {
  max-width: 68ch;
  margin: 0 0 var(--sp-8);
  font-size: var(--fs-body);
  color: var(--ink-muted);
}


.nc-rail {
  display: grid;
  max-width: 92ch;
  margin: 0;
  border-block-start: 1px solid var(--rule);
}
.nc-rail__row {
  display: grid;
  grid-template-columns: minmax(0, 22ch) minmax(0, 1fr);
  gap: var(--sp-4);
  padding-block: var(--sp-3);
  border-block-end: 1px solid var(--rule-soft);
}
.nc-rail__key {
  font-family: var(--font-mono);
  font-size: var(--fs-label);
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--ink);
}
.nc-rail__val {
  margin: 0;
  font-family: var(--font-mono);
  font-size: var(--fs-small);
  line-height: 1.5;
  color: var(--ink-muted);
}



.nc-bleed { margin-block: 0; }
.nc-bleed__media {
  position: relative;
  overflow: hidden;
  background: var(--ground-cool);
}
.nc-bleed__media img {
  width: 100%;
  aspect-ratio: 21 / 9;
  object-fit: cover;
}
.nc-bleed__media .veil { z-index: 1; }
.nc-bleed__cap {
  margin: var(--sp-4) 0 0;
  font-size: var(--fs-micro);
  line-height: 1.5;
  color: var(--ink-muted);
}



.nc-matrix .nc-lede {
  max-width: 62ch;
  margin: var(--sp-3) 0 var(--sp-6);
  color: var(--ink-muted);
}
.nc-matrix__table th,
.nc-matrix__table td { min-width: 0; }
.nc-matrix__table th[scope="row"] { width: 26%; }
.nc-matrix__num {
  font-family: var(--font-mono);
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}

.nc-matrix__open { color: var(--ink-muted); }

.nc-matrix__foot {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--sp-4) var(--sp-6);
  margin-block-start: var(--sp-6);
  padding-block-start: var(--sp-6);
  border-block-start: 1px solid var(--rule);
}
.nc-matrix__note {
  flex: 1 1 40ch;
  margin: 0;
  font-size: var(--fs-small);
  line-height: 1.55;
  color: var(--ink-muted);
}



.nc-lineage__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(1.5rem, 4vw, 3rem);
  align-items: start;
}
.nc-lineage__txt h2 { margin: var(--sp-2) 0 var(--sp-4); }
.nc-lineage__txt p {
  max-width: 56ch;
  margin: 0 0 var(--sp-4);
  color: var(--ink);
}
.nc-lineage__fig { margin: 0; }
.nc-lineage__fig img {
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
}
.nc-lineage__fig figcaption {
  margin-block-start: var(--sp-3);
  font-size: var(--fs-micro);
  line-height: 1.5;
  color: var(--ink-muted);
}
.nc-inherit {
  display: grid;
  margin: var(--sp-6) 0 0;
  padding: 0;
  list-style: none;
  border-block-start: 1px solid var(--rule);
}
.nc-inherit li {
  display: grid;
  grid-template-columns: minmax(0, 12ch) minmax(0, 1fr);
  gap: var(--sp-4);
  padding-block: var(--sp-3);
  border-block-end: 1px solid var(--rule-soft);
}
.nc-inherit__k {
  font-family: var(--font-mono);
  font-size: var(--fs-label);
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--ink-muted);
}
.nc-inherit__v {
  font-size: var(--fs-small);
  line-height: 1.5;
  color: var(--ink);
}



.nc-bound__cols {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(1.5rem, 4vw, 3rem);
  margin-block-start: var(--sp-6);
}
.nc-bound__col {
  padding: var(--sp-6);
  border-radius: var(--r-card);
}
.nc-bound__col--own {
  background: var(--sheet);
  border: 1px solid var(--rule);
}
.nc-bound__col--other {
  background: var(--ground-cool);
  border-inline-start: 2px solid var(--ink);
}
.nc-bound__head {
  margin: 0 0 var(--sp-4);
  font-family: var(--font-mono);
  font-size: var(--fs-label);
  font-weight: 600;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--ink);
}
.nc-bound__list {
  display: grid;
  gap: var(--sp-2);
  margin: 0;
  padding: 0;
  list-style: none;
}
.nc-bound__list li {
  padding-block-end: var(--sp-2);
  border-block-end: 1px solid var(--rule-soft);
  font-size: var(--fs-small);
}
.nc-bound__list li:last-child { border-block-end: 0; }
.nc-bound__body {
  margin: 0 0 var(--sp-3);
  max-width: 44ch;
  font-size: var(--fs-small);
  line-height: 1.55;
  color: var(--ink);
}
.nc-bound__link {
  display: inline-flex;
  align-items: center;
  min-height: 32px;
  font-size: var(--fs-small);
  font-weight: 600;
}
.nc-bound__why {
  max-width: 72ch;
  margin: var(--sp-6) 0 0;
  padding-block-start: var(--sp-4);
  border-block-start: 1px solid var(--rule-soft);
  font-size: var(--fs-small);
  line-height: 1.55;
  color: var(--ink-muted);
}



.nc-check__list {
  margin: var(--sp-6) 0 0;
  padding: 0;
  list-style: none;
  border-block-start: 1px solid var(--rule);
  max-width: 96ch;
}
.nc-check__row {
  display: grid;
  grid-template-columns: minmax(0, 5ch) minmax(0, 1fr);
  gap: var(--sp-4);
  padding-block: var(--sp-4);
  border-block-end: 1px solid var(--rule-soft);
}
.nc-check__num {
  font-family: var(--font-mono);
  font-size: var(--fs-small);
  font-variant-numeric: tabular-nums;
  color: var(--ink-muted);
}
.nc-check__txt {
  font-size: var(--fs-body);
  line-height: 1.55;
}



.nc-faq__list {
  margin-block-start: var(--sp-6);
  border-block-start: 1px solid var(--rule);
  max-width: 80ch;
}
.nc-faq__item { border-block-end: 1px solid var(--rule-soft); }
.nc-faq__q {
  display: flex;
  align-items: center;
  gap: var(--sp-3);
  min-height: 48px;
  padding-block: var(--sp-4);
  font-size: var(--fs-h3);
  font-weight: 600;
  line-height: 1.3;
  cursor: pointer;
  list-style: none;
}
.nc-faq__q::-webkit-details-marker { display: none; }
.nc-faq__q::before {
  content: "+";
  flex: none;
  width: 1.4ch;
  font-family: var(--font-mono);
  font-size: var(--fs-small);
  color: var(--accent-deep);
}
.nc-faq__item[open] .nc-faq__q::before { content: "–"; }
.nc-faq__a {
  max-width: 64ch;
  margin: 0 0 var(--sp-6);
  padding-inline-start: calc(1.4ch + var(--sp-3));
  font-size: var(--fs-small);
  line-height: 1.6;
  color: var(--ink-muted);
}



.nc-cta__wrap { display: grid; gap: var(--sp-4); justify-items: start; }
.nc-cta__h2 { margin: 0; max-width: 28ch; }
.nc-cta__line {
  max-width: 62ch;
  margin: 0;
  font-size: var(--fs-small);
  line-height: 1.6;
  color: var(--ink-muted);
}
.nc-cta__acts {
  display: flex;
  flex-wrap: wrap;
  gap: var(--sp-3);
  margin-block-start: var(--sp-2);
}
.nc-cta__promise {
  max-width: 62ch;
  margin: 0;
  font-size: var(--fs-small);
  color: var(--ink);
}
.nc-cta__rel {
  display: flex;
  flex-wrap: wrap;
  gap: var(--sp-3) var(--sp-6);
  margin: var(--sp-4) 0 0;
  padding: var(--sp-4) 0 0;
  border-block-start: 1px solid var(--rule-soft);
  list-style: none;
  font-size: var(--fs-small);
}



@media (max-width: 900px) {
  .nc-lineage__grid,
  .nc-bound__cols { grid-template-columns: minmax(0, 1fr); }
  .nc-lineage__fig { order: -1; }
}
@media (max-width: 620px) {
  .nc-rail__row,
  .nc-check__row { grid-template-columns: minmax(0, 1fr); gap: var(--sp-2); }
  .nc-inherit li { grid-template-columns: minmax(0, 1fr); gap: var(--sp-1); }
  .nc-matrix__foot { align-items: stretch; }
}
