/* ============================================================
   Sciento — Page-specific styles
   ============================================================ */

/* Home hero terminal preview */
.terminal {
  border: var(--border);
  background: var(--surface);
  font-family: var(--font-mono);
  font-size: .8125rem;
  line-height: 1.7;
  margin-top: var(--s-6);
}
.terminal__bar {
  display: flex; align-items: center; gap: var(--s-3);
  padding: 10px var(--s-4);
  border-bottom: var(--border);
  background: var(--surface-2);
  font-size: .75rem; color: var(--muted);
  text-transform: uppercase; letter-spacing: 0.08em;
}
.terminal__dot { width: 8px; height: 8px; border: var(--border-strong); border-radius: 50%; }
.terminal__body { padding: var(--s-5); color: var(--ink); overflow-x: auto; white-space: pre-wrap; }
.terminal__body .prompt { color: var(--muted); }
.terminal__body .ok     { color: var(--success); }
.terminal__body .agent  { color: var(--accent-ink); }
.terminal__body .num    { color: var(--signal); }
.terminal__body .dim    { color: var(--muted); }
.terminal__cursor::after {
  content: "▍"; color: var(--ink);
  animation: blink 1s steps(2, start) infinite;
}
@keyframes blink { to { opacity: 0; } }

/* Hero split */
@media (min-width: 980px) {
  .hero--split .hero__inner {
    grid-template-columns: 1.05fr 1fr;
    align-items: end;
    gap: var(--s-8);
  }
}

/* Stats row */
.stats {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1px;
  background: var(--line);
  border-block: var(--border);
}
.stats > div {
  background: var(--paper);
  padding: var(--s-5) var(--s-4);
}
.stats .v {
  font-family: var(--font-serif);
  font-size: 2.5rem; line-height: 1;
  letter-spacing: -0.02em;
}
.stats .k {
  font-family: var(--font-mono);
  font-size: .75rem; text-transform: uppercase;
  letter-spacing: 0.08em; color: var(--muted);
  margin-top: var(--s-2);
}
@media (max-width: 720px) {
  .stats { grid-template-columns: repeat(2, 1fr); }
}

/* Section header */
.sect-head {
  display: flex; justify-content: space-between; align-items: end;
  gap: var(--s-6); flex-wrap: wrap;
  margin-bottom: var(--s-7);
}
.sect-head h2 {
  font-family: var(--font-serif); font-weight: 400;
  font-size: clamp(1.875rem, 3vw + 1rem, 2.75rem);
  line-height: 1.1; letter-spacing: -0.02em;
  margin: var(--s-3) 0 0; max-width: 22ch;
}
.sect-head .right { max-width: 36ch; color: var(--muted); }

/* Integrations grid */
.integ {
  display: grid; gap: 1px; background: var(--line); border: var(--border);
  grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
}
.integ__item {
  background: var(--surface); padding: var(--s-5);
  display: flex; flex-direction: column; gap: 4px;
  min-height: 96px;
}
.integ__name { font-weight: 500; font-size: .9375rem; }
.integ__cat  { font-family: var(--font-mono); font-size: .6875rem; text-transform: uppercase; letter-spacing: 0.08em; color: var(--muted); }

/* Team grid */
.team { display: grid; gap: var(--s-5); grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); }
.team__card { border: var(--border); background: var(--surface); padding: var(--s-5); }
.team__name { font-family: var(--font-serif); font-size: 1.25rem; }
.team__role { font-family: var(--font-mono); font-size: .75rem; text-transform: uppercase; letter-spacing: 0.08em; color: var(--muted); }

/* Career listing */
.job {
  display: grid; grid-template-columns: 1fr 160px 120px 100px;
  gap: var(--s-4);
  padding: var(--s-5) 0;
  border-bottom: var(--border);
  align-items: center;
}
.job__title { font-family: var(--font-serif); font-size: 1.25rem; }
.job__meta { font-family: var(--font-mono); font-size: .8125rem; color: var(--muted); text-transform: uppercase; letter-spacing: 0.06em; }
@media (max-width: 720px) { .job { grid-template-columns: 1fr; } }

/* Security badges */
.badges {
  display: grid; gap: 1px; background: var(--line); border: var(--border);
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
}
.badges > div {
  background: var(--surface); padding: var(--s-5);
}
.badges h4 { margin: 0 0 var(--s-2); font-family: var(--font-mono); font-size: .8125rem; text-transform: uppercase; letter-spacing: 0.08em; color: var(--ink); font-weight: 500; }
.badges p  { margin: 0; font-size: .875rem; color: var(--muted); }

/* Customer cards */
.cust { border: var(--border); background: var(--surface); padding: var(--s-6); display: grid; gap: var(--s-4); }
.cust__quote { font-family: var(--font-serif); font-size: 1.25rem; line-height: 1.4; }
.cust__meta { font-size: .875rem; color: var(--muted); }
.cust__metric { display: flex; gap: var(--s-5); padding-top: var(--s-4); border-top: var(--border); }
.cust__metric .v { font-family: var(--font-serif); font-size: 1.75rem; }
.cust__metric .k { font-family: var(--font-mono); font-size: .6875rem; text-transform: uppercase; letter-spacing: 0.08em; color: var(--muted); }

/* Legal pages */
.legal h2 { font-family: var(--font-serif); font-weight: 400; font-size: 1.75rem; margin-top: var(--s-7); }
.legal h3 { margin-top: var(--s-5); font-size: 1.0625rem; }
.legal p, .legal li { color: var(--ink-2); }

/* Diagram (svg-like) */
.diagram {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 1px;
  background: var(--line);
  border: var(--border);
}
.diagram__node { background: var(--surface); padding: var(--s-5); text-align: center; }
.diagram__node .role { font-family: var(--font-mono); font-size: .75rem; text-transform: uppercase; letter-spacing: 0.08em; color: var(--muted); }
.diagram__node .what { font-family: var(--font-serif); font-size: 1.25rem; margin-top: 6px; }
