/* ── Rowan shared components ── */

/* Nav sign-in link */
.nav-sign-in {
  font-size:.85rem; font-weight:500;
  color:var(--muted); text-decoration:none;
  padding:.25rem 0; border-bottom:1.5px solid transparent;
  transition:color .15s;
}
.nav-sign-in:hover { color:var(--navy) }

/* Hero */
.rowan-hero {
  background:var(--navy);
  padding:7rem 0 6rem;
}
.rowan-hero h1 { color:#fff; font-size:clamp(2.4rem,5.5vw,3.8rem) }
.rowan-hero .hero-sub {
  font-family:'Inter', system-ui, sans-serif; font-style:normal;
  color:rgba(255,255,255,.65); font-size:1.05rem;
  max-width:600px; margin:1.25rem 0 2.5rem; line-height:1.75;
}
.rowan-hero .section-label { color:rgba(255,255,255,.4) }
.hero-actions { display:flex; gap:1rem; flex-wrap:wrap }
.btn-hero-primary {
  background:#fff; color:var(--navy);
  padding:.75rem 1.75rem; border-radius:4px;
  font-size:.9rem; font-weight:700; text-decoration:none;
  transition:opacity .15s;
}
.btn-hero-primary:hover { opacity:.88 }
.btn-hero-secondary {
  background:transparent; color:rgba(255,255,255,.75);
  border:1.5px solid rgba(255,255,255,.3);
  padding:.75rem 1.75rem; border-radius:4px;
  font-size:.9rem; font-weight:600; text-decoration:none;
  transition:border-color .15s, color .15s;
}
.btn-hero-secondary:hover { border-color:rgba(255,255,255,.65); color:#fff }

/* Social proof bar */
.proof-bar {
  background:rgba(255,255,255,.06);
  border-top:1px solid rgba(255,255,255,.08);
  padding:1rem 0;
  display:flex; align-items:center; gap:1.5rem; flex-wrap:wrap;
}
.proof-bar-label {
  font-size:.68rem; font-weight:600; letter-spacing:.1em; text-transform:uppercase;
  color:rgba(255,255,255,.35); white-space:nowrap;
}
.proof-names {
  display:flex; gap:1.75rem; flex-wrap:wrap; align-items:center;
}
.proof-names span {
  font-size:.82rem; font-weight:500;
  color:rgba(255,255,255,.55);
  letter-spacing:.01em;
}
.proof-names span.confirmed { color:rgba(255,255,255,.8) }

/* Feature grid */
.feature-grid {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:1.25rem; margin-top:2.5rem;
}
.feature-card {
  background:var(--card); border:1px solid var(--border);
  border-radius:4px; padding:1.75rem;
  position:relative;
}
.feature-num {
  font-family:'Inter', system-ui, sans-serif;
  font-size:1.5rem; font-weight:300;
  color:var(--border); letter-spacing:-.02em; line-height:1;
  position:absolute; top:1.25rem; right:1.5rem;
  user-select:none;
}
.feature-card h3 { font-size:1rem; margin-bottom:.5rem }
.feature-card p  { font-size:.875rem; margin:0; line-height:1.65 }

/* Proof points */
.proof-section { display:flex; flex-direction:column; gap:2.5rem; margin-top:2.5rem }
.proof-block {
  background:var(--card); border:1px solid var(--border);
  border-radius:4px; padding:2rem;
}
.proof-block-header {
  display:flex; align-items:baseline; gap:1rem;
  margin-bottom:1.25rem; flex-wrap:wrap;
}
.proof-project {
  font-family:'Inter', system-ui, sans-serif;
  font-size:1.2rem; font-weight:700; letter-spacing:-.02em; color:var(--navy);
}
.proof-date {
  font-size:.72rem; font-weight:600; letter-spacing:.08em; text-transform:uppercase;
  color:var(--faint);
}
.proof-summary { font-size:.9rem; color:var(--muted); margin-bottom:1.25rem }

.sev-badge {
  display:inline-flex; align-items:center; gap:.35rem;
  font-size:.65rem; font-weight:700; letter-spacing:.06em; text-transform:uppercase;
  padding:.22rem .6rem; border-radius:3px;
}
.sev-crit { background:var(--red);      color:#fff }
.sev-high { background:var(--marigold); color:#fff }

/* Comparison table */
.compare-table { width:100%; border-collapse:collapse; font-size:.875rem; margin-top:1rem }
.compare-table th {
  background:var(--navy); color:#fff;
  padding:.65rem 1rem; text-align:left;
  font-size:.72rem; font-weight:600; letter-spacing:.06em; text-transform:uppercase;
}
.compare-table th:first-child { border-radius:4px 0 0 0 }
.compare-table th:last-child  { border-radius:0 4px 0 0 }
.compare-table td { padding:.65rem 1rem; border-bottom:1px solid var(--border); color:var(--muted) }
.compare-table tr:last-child td { border-bottom:none }
.compare-table td:first-child { color:var(--text); font-weight:500; font-family:'Courier New',monospace; font-size:.82rem }
.tick { color:var(--green); font-weight:700 }
.cross { color:var(--red);   font-weight:700 }
.tick-rowan { color:var(--green); font-weight:600; font-size:.82rem }
.cross-other { color:var(--faint); font-size:.82rem }

/* Engine mini-cards */
.engine-grid {
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(240px,1fr));
  gap:1.25rem; margin-top:2rem;
}
.engine-card {
  background:var(--card); border:1px solid var(--border);
  border-radius:4px; padding:1.5rem;
  border-top:3px solid var(--sage);
}
.engine-name {
  font-family:'Inter', system-ui, sans-serif;
  font-size:.95rem; font-weight:700; letter-spacing:-.01em; color:var(--navy); margin-bottom:.35rem;
}
.engine-subtitle { font-size:.72rem; font-weight:600; letter-spacing:.08em; text-transform:uppercase; color:var(--sage); margin-bottom:.75rem }
.engine-card p { font-size:.875rem; margin:0; line-height:1.65 }

/* Output format list */
.output-list {
  display:flex; flex-direction:column; gap:.6rem; margin-top:1.5rem;
}
.output-item {
  display:flex; align-items:baseline; gap:.875rem;
  background:var(--card); border:1px solid var(--border);
  border-radius:4px; padding:1rem 1.25rem;
}
.output-tag {
  font-family:'Courier New',monospace; font-size:.78rem; font-weight:700;
  color:var(--navy); background:rgba(1,61,90,.07);
  padding:.15rem .5rem; border-radius:3px;
  white-space:nowrap; flex-shrink:0;
}
.output-desc { font-size:.875rem; color:var(--muted) }

/* CTA section */
.rowan-cta {
  background:var(--navy); padding:6rem 0; text-align:center;
}
.rowan-cta h2 { color:#fff }
.rowan-cta p  { color:rgba(255,255,255,.6); max-width:480px; margin:.875rem auto 2.25rem; line-height:1.7 }

/* Pipeline block */
.pipeline-block {
  background:#111210; color:#C8D4CE;
  font-family:'SF Mono','Fira Code','Cascadia Code',monospace;
  font-size:.8rem; line-height:1.75;
  padding:2rem 2.25rem; border-radius:4px;
  overflow-x:auto; margin-top:2rem;
}
.pl-comment { color:#5A7A69 }
.pl-engine  { color:#88C98A }

/* Page header on sub-pages */
.rowan-page-header {
  background:var(--navy);
  padding:5rem 0 4rem;
}
.rowan-page-header h1 { color:#fff; font-size:clamp(2rem,4.5vw,3rem) }
.rowan-page-header .page-sub {
  font-family:'Inter', system-ui, sans-serif; font-style:normal;
  color:rgba(255,255,255,.6); font-size:1rem;
  margin-top:.875rem; max-width:600px;
}

/* Stage table (Huntr Agent) */
.stage-table { width:100%; border-collapse:collapse; font-size:.875rem; margin-top:1.5rem }
.stage-table th { background:var(--navy); color:#fff; padding:.65rem 1rem; text-align:left; font-size:.72rem; letter-spacing:.06em; text-transform:uppercase; font-weight:600 }
.stage-table th:first-child { border-radius:4px 0 0 0; width:3rem }
.stage-table th:last-child  { border-radius:0 4px 0 0 }
.stage-table td { padding:.65rem 1rem; border-bottom:1px solid var(--border); color:var(--muted) }
.stage-table tr:last-child td { border-bottom:none }
.stage-num { font-weight:700; color:var(--navy) }

/* Benchmark findings */
.finding-block { margin-bottom:2rem; padding-bottom:2rem; border-bottom:1px solid var(--border) }
.finding-block:last-child { border-bottom:none; margin-bottom:0; padding-bottom:0 }
.finding-title { font-weight:600; color:var(--navy); margin-bottom:.35rem; font-size:.95rem }
.finding-body  { font-size:.875rem; color:var(--muted); line-height:1.7 }

/* Coverage table */
.coverage-table { width:100%; border-collapse:collapse; font-size:.875rem; margin-top:1.5rem }
.coverage-table th { background:var(--navy); color:#fff; padding:.65rem 1rem; text-align:left; font-size:.72rem; letter-spacing:.06em; text-transform:uppercase; font-weight:600 }
.coverage-table th:first-child { border-radius:4px 0 0 0 }
.coverage-table th:last-child  { border-radius:0 4px 0 0 }
.coverage-table td { padding:.65rem 1rem; border-bottom:1px solid var(--border); color:var(--muted) }
.coverage-table tr:last-child td { border-bottom:none }
.coverage-table td:first-child { color:var(--text); font-weight:500 }
.cov-full    { color:var(--green); font-weight:600 }
.cov-partial { color:var(--amber); font-weight:600 }

/* Confidence score labels */
.conf-grid { display:flex; flex-direction:column; gap:.5rem; margin-top:1.5rem }
.conf-row {
  display:flex; align-items:center; gap:1rem;
  background:var(--card); border:1px solid var(--border);
  border-radius:4px; padding:.875rem 1.25rem;
}
.conf-range { font-family:'Courier New',monospace; font-size:.82rem; font-weight:700; color:var(--navy); min-width:5.5rem; flex-shrink:0 }
.conf-label { font-size:.875rem; color:var(--muted) }

/* ───────────────────────────────────────────
   Rowan index page (migrated from inline styles)
   ─────────────────────────────────────────── */
.hero-actions { margin-top:2.5rem }

/* Sections */
.rw-section { padding:5rem 0;border-bottom:1px solid var(--border) }
.rw-section--bg { background:var(--bg) }
.rw-section--surface { background:var(--surface) }
.rw-lead { color:var(--muted);max-width:640px;line-height:1.8;margin-bottom:2.5rem }

/* CVE "in the wild" list */
.rw-cve-list { max-width:780px;border-top:1px solid var(--border) }
.rw-cve {
  display:grid;grid-template-columns:6rem 4rem 1fr;gap:0 1.5rem;
  padding:1.1rem 0;border-bottom:1px solid var(--border);align-items:baseline;
}
.rw-cve:last-child { border-bottom:none }
.rw-cve-name { font-size:.78rem;font-weight:600;color:var(--navy) }
.rw-cve-sev { font-size:.75rem;font-weight:700;letter-spacing:.03em }
.rw-cve-sev--crit { color:var(--red) }
.rw-cve-sev--med  { color:var(--amber) }
.rw-cve-desc { font-size:.875rem;color:var(--muted) }

/* SSRF taint trace (dark code-block variant) */
.rw-trace { display:block;max-width:680px }
.rw-trace-crit { color:#E87070;font-weight:600;margin-bottom:1.25rem }
.rw-trace-grid { display:grid;grid-template-columns:4.5rem 1fr;row-gap:.55rem;align-items:baseline }
.rw-trace-label { color:var(--faint);font-size:.7rem;text-transform:uppercase;letter-spacing:.07em }
.rw-trace-val { font-size:.8rem }
.rw-trace-dim { color:var(--faint) }
.rw-trace-danger { color:#E87070 }
.rw-trace-note {
  margin-top:1.25rem;padding-top:1rem;border-top:1px solid rgba(255,255,255,.07);
  color:var(--faint);font-size:.78rem;
}

/* Coverage 2-col grid */
.rw-grid {
  display:grid;grid-template-columns:1fr 1fr;margin-top:2.5rem;
  max-width:860px;border-top:1px solid var(--border);
}
.rw-grid-cell { padding:1.25rem 0;border-bottom:1px solid var(--border) }
.rw-grid-cell:nth-child(odd) { padding-right:2rem;border-right:1px solid var(--border) }
.rw-grid-cell:nth-child(even) { padding-left:2rem }
.rw-grid-cell:nth-last-child(-n+2) { border-bottom:none }
.rw-cell-title { font-weight:600;color:var(--navy);font-size:.9rem;margin:0 0 .3rem }
.rw-cell-text { font-size:.875rem;margin:0 }

/* Architecture engine list */
.rw-engines { display:flex;flex-direction:column;max-width:780px;border-top:1px solid var(--border) }
.rw-engine {
  display:grid;grid-template-columns:2rem 1fr;gap:0 1.5rem;
  padding:1.5rem 0;border-bottom:1px solid var(--border);
}
.rw-engine:last-child { border-bottom:none }
.rw-engine-num { font-size:.82rem;font-weight:700;color:var(--sage);padding-top:.15rem }
.rw-engine-text { font-size:.875rem;color:var(--muted);margin:0 }

/* Output formats */
.rw-output-cols { display:grid;grid-template-columns:1fr 1fr;gap:3rem;margin-top:2.5rem;max-width:860px }
.rw-format-table { margin-top:.875rem;border-collapse:collapse;width:100%;max-width:400px }
.rw-format-table td { border-bottom:1px solid var(--border) }
.rw-format-table tr:last-child td { border-bottom:none }
.rw-format-table td:first-child {
  padding:.5rem .75rem .5rem 0;
  font-family:'SF Mono','Fira Code',monospace;font-size:.78rem;font-weight:600;
  color:var(--navy);white-space:nowrap;
}
.rw-format-table td:last-child { padding:.5rem 0;font-size:.875rem;color:var(--muted) }

/* Setup command block */
.rw-cmdblock { display:block;max-width:580px }
.rw-cmd-comment { color:var(--faint);font-size:.73rem;margin-bottom:.5rem }
.rw-setup-note { margin-top:1.5rem;font-size:.875rem;color:var(--muted) }

/* CTA */
.rw-cta { background:var(--navy);padding:5rem 0 }
.rw-cta h2 { color:#fff;max-width:520px }
.rw-cta p { color:rgba(255,255,255,.55);max-width:480px;margin:1rem 0 2rem;font-size:.95rem;line-height:1.75 }

/* Responsive */
@media(max-width:768px){
  .feature-grid { grid-template-columns:1fr }
  .engine-grid  { grid-template-columns:1fr }
  .proof-bar    { flex-direction:column; align-items:flex-start; gap:.75rem }
  .rw-grid { grid-template-columns:1fr }
  .rw-grid-cell,
  .rw-grid-cell:nth-child(odd),
  .rw-grid-cell:nth-child(even) {
    padding:1.25rem 0;border-right:none;border-bottom:1px solid var(--border);
  }
  .rw-grid-cell:last-child { border-bottom:none }
  .rw-output-cols { grid-template-columns:1fr;gap:2rem }
  .rw-cve { grid-template-columns:1fr;gap:.35rem 0 }
}
