/* ==========================================================================
   Interior-page components.
   Carried forward from the previous stylesheet (capability card, forms,
   legal-page furniture, pipeline node fallback) and re-tuned to the
   design-system tokens. Header/footer rules from the old markup were dropped.
   ========================================================================== */

:root{
  /* aliases so rules written against the older token names keep working */
  --radius-sm:10px;
  --font-display:"Jost","Inter",system-ui,-apple-system,"Segoe UI",sans-serif;
}

/* ---------- small utilities --------------------------------------------- */

.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

.card.accent{border-left:3px solid var(--teal)}

.btn.ghost{background:transparent;color:var(--ink-2);border-color:var(--line)}
.btn.ghost:hover{color:var(--ink);border-color:var(--line-2)}

.honest{
  border:1px solid rgba(224,179,74,.32);
  background:rgba(224,179,74,.055);
  color:#f0deb0;
  border-radius:var(--radius-s);
  padding:14px 18px;
  font-size:.9rem;
  line-height:1.62;
}

hr.sep{border:0;border-top:1px solid var(--line);margin:0}

.status{min-height:1.4em;font-size:.92rem;color:var(--teal-1)}

/* ---------- capability statement card ----------------------------------- */

.capcard{
  background:linear-gradient(180deg,rgba(14,23,23,.94),rgba(9,16,16,.96));
  border:1px solid var(--line-2);
  border-radius:16px;
  padding:26px;
  box-shadow:0 0 0 1px rgba(0,179,164,.07),0 24px 56px -28px rgba(0,0,0,.85);
}
.capcard .t{
  display:flex;gap:13px;align-items:center;
  border-bottom:2px solid var(--teal);
  padding-bottom:14px;margin-bottom:14px;
}
.capcard .t img{width:38px;height:38px;flex:none}
.capcard .t b{
  font-family:var(--disp);font-size:1.28rem;color:var(--teal-1);
  display:block;line-height:1.12;letter-spacing:-.015em;
}
.capcard .t small{color:var(--ink-2);font-size:.83rem}
.capcard .blk{
  background:rgba(15,26,25,.72);
  border:1px solid var(--line);
  border-radius:9px;
  padding:14px 16px;margin-top:10px;
}
.capcard .blk .k{
  display:block;font-size:.66rem;color:var(--muted);
  text-transform:uppercase;letter-spacing:.16em;font-weight:700;margin-bottom:4px;
}
.capcard .blk h4{color:var(--teal-1);margin:0 0 7px;font-size:1rem}
.capcard .blk ul{margin:0;padding-left:0;list-style:none}
.capcard .blk li{
  font-size:.85rem;color:var(--ink-2);line-height:1.6;
  padding-left:15px;position:relative;margin-bottom:3px;
}
.capcard .blk li::before{
  content:"";position:absolute;left:0;top:9px;
  width:5px;height:5px;border-radius:50%;background:var(--teal);
}
.capcard .ft{
  margin-top:14px;background:var(--teal);color:#062321;
  font-size:.74rem;font-weight:700;padding:7px 12px;border-radius:5px;
  letter-spacing:.02em;
}
.capcard .ft a{color:#062321;text-decoration:underline}

.values{display:flex;flex-wrap:wrap;gap:8px}

/* ---------- forms -------------------------------------------------------- */

.form{display:grid;gap:15px}
.form .g2{display:grid;grid-template-columns:1fr 1fr;gap:15px}
.form label{display:grid;gap:7px;font-size:.87rem;color:var(--ink-2);font-weight:600}
.form .lbl{display:block}
.form input,.form select,.form textarea{
  background:rgba(10,17,17,.9);
  border:1px solid var(--line-2);
  border-radius:9px;
  color:var(--ink);
  padding:12px 14px;
  font:inherit;font-size:.96rem;
  width:100%;
}
.form input::placeholder,.form textarea::placeholder{color:#5f706e}
.form input:focus,.form textarea:focus,.form select:focus{
  outline:2px solid var(--teal);outline-offset:1px;border-color:var(--teal);
}
.form textarea{min-height:130px;resize:vertical}
.form .trap{position:absolute;left:-9999px;opacity:0;height:0;overflow:hidden}
.form .consent{
  display:flex;gap:11px;align-items:flex-start;
  font-weight:400;font-size:.85rem;color:var(--muted);line-height:1.6;
}
.form .consent input{width:18px;height:18px;margin-top:3px;flex:none}

/* ---------- legal / policy page furniture -------------------------------- */

.legal .box{
  background:rgba(14,26,25,.8);
  border-left:4px solid var(--teal);
  padding:16px 20px;margin:24px 0;
  border-radius:0 9px 9px 0;
}
.legal .meta{color:var(--muted);font-size:.9rem}
.legal .home{display:inline-block;margin-bottom:16px;font-size:.9rem}

/* ---------- pipeline node fallback --------------------------------------- */

.pipe .nodes{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:16px}
.pipe .node{
  background:rgba(15,23,23,.9);
  border:1px solid var(--line-2);
  border-radius:10px;padding:11px 13px;font-size:.85rem;
}
.pipe .node b{display:flex;align-items:center;gap:8px;color:var(--ink)}
.pipe .node b::before{
  content:"";width:7px;height:7px;border-radius:50%;
  background:var(--teal);box-shadow:0 0 8px var(--teal);flex:none;
}
.pipe .node span{
  display:block;color:var(--muted);font-size:.7rem;
  letter-spacing:.12em;text-transform:uppercase;margin-top:3px;padding-left:15px;
}

@media (max-width:760px){
  .pipe .nodes{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:640px){
  .form .g2{grid-template-columns:1fr}
}
