/* ============================================================
   MIDIOS CAPITAL — division component layer
   ------------------------------------------------------------
   Loads AFTER tokens.css. Adds only components Capital needs.
   Overrides no house constant: no lockup, type scale, colophon,
   or return-path styling is touched here.
   ============================================================ */

/* ---------- status pill ----------
   Used wherever a strategy, project or relationship could be
   mistaken for an active, funded activity. Never decorative.    */
.status {
  display: inline-flex; align-items: center; gap: .5rem;
  font-family: var(--ui); font-size: .72rem; font-weight: 500;
  letter-spacing: .13em; text-indent: .13em; text-transform: uppercase;
  color: var(--type-2); border: 1px solid var(--line);
  padding: .3rem .7rem .3rem .6rem; white-space: nowrap;
}
.status::before {
  content: ""; width: .42rem; height: .42rem; flex: none;
  background: var(--type-3); border-radius: 50%;
}
.status--active { color: var(--accent); border-color: var(--accent-dim); }
.status--active::before { background: var(--accent); }
.status--development::before { background: var(--type-2); }
.status--notactivated { color: var(--type-3); }
.status--notactivated::before { background: transparent; border: 1px solid var(--type-3); }

.term-row { display: flex; flex-wrap: wrap; align-items: baseline; gap: .6rem .9rem; }

/* ---------- CAPITAL PATHWAYS ----------
   Signature interaction. An explanation of process, not a tool:
   no inputs, no scoring, no outcome is produced for the visitor. */
.pathways { max-width: 78rem; }
.pathways-note {
  font-size: var(--step--1); color: var(--type-3);
  border-left: 1px solid var(--line); padding-left: 1rem; margin-bottom: 2rem;
  max-width: 44rem;
}
.pathways-grid {
  display: grid; grid-template-columns: minmax(0, 20rem) minmax(0, 1fr);
  gap: 0 clamp(2rem, 5vw, 4rem); align-items: start;
}
.pathways-rail { list-style: none; margin: 0; padding: 0; counter-reset: stage; }
.pathways-rail li { counter-increment: stage; }
.stage {
  display: grid; grid-template-columns: 2.6rem minmax(0, 1fr);
  align-items: baseline; gap: 0 .9rem; width: 100%;
  background: none; border: 0; border-top: 1px solid var(--line);
  padding: .85rem .5rem .85rem 0; margin: 0; text-align: left;
  font-family: var(--ui); font-size: .98rem; color: var(--type-2);
  cursor: pointer; transition: color .18s ease, background-color .18s ease;
}
.pathways-rail li:last-child .stage { border-bottom: 1px solid var(--line); }
.stage::before {
  content: counter(stage, decimal-leading-zero);
  font-size: .72rem; letter-spacing: .1em; color: var(--type-3);
}
.stage:hover { color: var(--type); }
.stage[aria-selected="true"] { color: var(--type); box-shadow: inset 2px 0 0 var(--accent); }
.stage[aria-selected="true"]::before { color: var(--accent); }
.stage[aria-selected="true"] .stage-name { box-shadow: inset 0 -1px 0 var(--accent); }

.pathways-panel {
  border-top: 1px solid var(--line); padding-top: .85rem; min-height: 16rem;
}
.pathways-panel:focus-visible { outline: 2px solid var(--accent); outline-offset: 6px; }
.pathways-panel h3 { margin-bottom: .75rem; }
.pathways-panel p { color: var(--type-2); }
.pathways-panel .gate {
  margin-top: 1.5rem; padding-top: 1rem; border-top: 1px solid var(--line);
  font-size: var(--step--1); color: var(--type-3); max-width: var(--measure);
}
.pathways-panel .gate strong { color: var(--type-2); font-weight: 500; }
@media (prefers-reduced-motion: no-preference) {
  .pathways-panel > * { animation: rise 320ms cubic-bezier(.2,.7,.3,1) both; }
  @keyframes rise { from { opacity: 0; transform: translateY(4px); } to { opacity: 1; transform: none; } }
}
@media (max-width: 860px) {
  .pathways-grid { grid-template-columns: minmax(0, 1fr); gap: 2rem; }
  .pathways-panel { min-height: 0; }
}

/* ---------- criteria grid ---------- */
.criteria { list-style: none; margin: 0; padding: 0; display: grid; gap: 1px;
  grid-template-columns: repeat(auto-fit, minmax(17rem, 1fr));
  background: var(--line); border: 1px solid var(--line); max-width: 78rem; }
.criteria > li { background: var(--ground); padding: 1.6rem 1.5rem; }
.criteria h3 {
  font-family: var(--ui); font-size: var(--step--1); font-weight: 500;
  letter-spacing: .13em; text-indent: .13em; text-transform: uppercase;
  color: var(--type-3); margin-bottom: .7rem;
}
.criteria p { margin: 0; color: var(--type-2); font-size: .95rem; max-width: none; }
.criteria .withheld { color: var(--type-3); font-style: italic; }

/* ---------- ecosystem strip ---------- */
.ecosystem { list-style: none; margin: 0; padding: 0; display: grid; gap: 1px;
  grid-template-columns: repeat(auto-fit, minmax(15rem, 1fr));
  background: var(--line); border: 1px solid var(--line); max-width: 78rem; }
.ecosystem > li { background: var(--ground); }
.ecosystem a { display: block; padding: 1.5rem 1.4rem; text-decoration: none; height: 100%;
  transition: background-color .18s ease; }
.ecosystem a:hover { background: var(--ground-raised); }
.ecosystem .div-label {
  display: block; font-size: .7rem; font-weight: 500; letter-spacing: .2em;
  text-indent: .2em; text-transform: uppercase; color: var(--type-3); margin-bottom: .55rem;
}
.ecosystem .div-name { display: block; font-family: var(--display); font-size: var(--step-1);
  line-height: 1.25; color: var(--type); margin-bottom: .4rem; }
.ecosystem a:hover .div-name { color: var(--accent); }
.ecosystem .div-desc { display: block; font-size: .9rem; color: var(--type-2); }
.ecosystem li[aria-current="true"] { background: var(--ground-raised); }
.ecosystem li[aria-current="true"] .div-name { color: var(--accent); }

/* ---------- pathway chooser (Submit an Opportunity) ---------- */
.pathlist { list-style: none; margin: 0; padding: 0; }
.pathlist > li { border-top: 1px solid var(--line); padding: 1.6rem 0; }
.pathlist > li:last-child { border-bottom: 1px solid var(--line); }
.pathlist h3 { margin-bottom: .45rem; }
.pathlist p { color: var(--type-2); margin: 0 0 .9rem; }
.pathlist .routing { font-size: var(--step--1); color: var(--type-3); }

/* ---------- disclosure block ---------- */
.disclosure {
  border: 1px solid var(--line); background: var(--ground-raised);
  padding: 1.5rem 1.6rem; max-width: 58rem;
}
.disclosure p { font-size: var(--step--1); line-height: 1.7; color: var(--type-2); max-width: none; }
.disclosure p + p { margin-top: .9rem; }
.disclosure h3 {
  font-family: var(--ui); font-size: var(--step--1); font-weight: 500;
  letter-spacing: .13em; text-indent: .13em; text-transform: uppercase;
  color: var(--type-3); margin-bottom: .8rem;
}
.footer-disclosure {
  max-width: 78rem; padding-top: 1.75rem; margin-top: 1.75rem;
  border-top: 1px solid var(--line);
  font-size: var(--step--1); line-height: 1.7; color: var(--type-3);
}
.footer-disclosure p { max-width: none; margin: 0; }
.footer-disclosure p + p { margin-top: .7rem; }

/* ---------- schema table (portfolio record shape) ---------- */
.schema { width: 100%; border-collapse: collapse; max-width: 58rem; }
.schema caption { text-align: left; color: var(--type-2); padding-bottom: 1rem; font-size: .95rem; }
.schema th, .schema td { text-align: left; padding: .8rem 1.25rem .8rem 0;
  border-bottom: 1px solid var(--line); vertical-align: top; font-weight: 400; }
.schema th { font-family: var(--ui); font-size: .95rem; width: 14rem; color: var(--type); }
.schema td { color: var(--type-2); font-size: .95rem; }
@media (max-width: 760px) {
  .schema th { width: auto; display: block; padding-bottom: .2rem; border-bottom: 0; }
  .schema td { display: block; padding-top: 0; }
}

/* ---------- empty state ---------- */
.empty {
  border: 1px dashed var(--line); padding: clamp(2rem, 5vw, 3.25rem);
  max-width: 58rem; text-align: left;
}
.empty h3 { margin-bottom: .6rem; }
.empty p { color: var(--type-2); }

/* ---------- form submission status ---------- */
.formstatus { margin-top: 1.25rem; padding: .9rem 1.1rem; border-left: 2px solid var(--accent); background: var(--ground-raised); }
.formstatus[hidden] { display: none; }
.formstatus--error { border-left-color: #D9795A; }
