/* salt-shared.css — SALT V40 shared component layer.
   Deduplicated reusable styles extracted from per-page <style> blocks (feedback 6.1).
   Loaded by all pages that use these components. Do not add page-specific rules here. */

.section-y { padding-top: clamp(48px,6vw,80px); padding-bottom: clamp(48px,6vw,80px); }
.section-y-sm { padding-top: clamp(24px,4vw,48px); padding-bottom: clamp(24px,4vw,48px); }
.hud-grid { background-image: linear-gradient(rgba(9,9,11,0.04) 1px,transparent 1px),linear-gradient(90deg,rgba(9,9,11,0.04) 1px,transparent 1px); background-size:60px 60px; }
.hud-grid-dark { background-image: linear-gradient(rgba(255,255,255,0.03) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,0.03) 1px,transparent 1px); background-size:60px 60px; }
.hud-corner--tl {top:16px;left:24px;}
.hud-corner--tr {top:16px;right:24px;}
.hud-corner--bl {bottom:16px;left:24px;}
.hud-corner--br {bottom:16px;right:24px;}
.nav-pill { font-size:12px; font-weight:500; color:rgba(9,9,11,0.55); padding:6px 14px; border-radius:100px; transition:all 0.15s ease; white-space:nowrap; }
.nav-pill:hover { color:#09090B; background:rgba(9,9,11,0.06); }
.hl-amber { background:#F59E0B; padding:0 4px; border-radius:3px; color:#09090B; }
.hl-teal { color:#0EA5E9; font-style:italic; }
.brine-pulse { animation: brine-pulse 2.5s ease-in-out infinite; }
@keyframes brine-pulse { 0%,100%{opacity:1;transform:scale(1);} 50%{opacity:.5;transform:scale(0.8);} }
.reveal {opacity:1;transform:none;transition:opacity .5s cubic-bezier(.2,.8,.2,1),transform .5s cubic-bezier(.2,.8,.2,1);}
.reveal.in { opacity:1; transform:none; }
.reveal-d4 {transition-delay:320ms;}
.mobile-overlay {display:none;}
.mobile-overlay.open {display:flex;}
.section-tag {font-family:var(--hud-mono);font-size:10px;font-weight:600;letter-spacing:0.12em;text-transform:uppercase;color:rgba(9,9,11,0.4);}
.section-tag-light {color:rgba(255,255,255,0.35);}
.wf-modal.open {display:flex;align-items:center;justify-content:center;}
.wf-sidebar {width:300px;flex-shrink:0;background:#09090B;display:flex;flex-direction:column;overflow-y:auto;}
.wf-canvas-wrap {flex:1;position:relative;overflow:hidden;}
.wf-canvas {width:100%;height:100%;position:relative;background-image:linear-gradient(rgba(9,9,11,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(9,9,11,.04) 1px,transparent 1px);background-size:40px 40px;background-color:#F8F8F9;}
.node-agent .wf-node-icon {background:rgba(14,165,233,.12);border-color:#0EA5E9;color:#0EA5E9;}
.node-person .wf-node-icon {background:rgba(9,9,11,.06);border-color:#09090B;color:#09090B;}
.node-copilot .wf-node-icon {background:rgba(16,185,129,.12);border-color:#10B981;color:#10B981;}
.wf-edges {position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;overflow:visible;}
.node-detail-card.visible {display:block;animation:card-pop .18s ease;}
.brine-messages::-webkit-scrollbar { width:6px; }
.brine-messages::-webkit-scrollbar-thumb { background:rgba(14,165,233,0.3); border-radius:3px; }
.brine-msg--user {      background:rgba(255,255,255,0.08);
      color:rgba(255,255,255,0.7);
      align-self:flex-end;
    }
.brine-send:hover { background:#38BDF8; }
.serif {font-family:'Instrument Serif',Georgia,serif;}
.mono {font-family:var(--hud-mono);}
.tag {font-family:var(--hud-mono);font-size:10px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;}
.card {background:#FFFFFF;border:1px solid rgba(9,9,11,0.08);border-radius:14px;transition:border-color .15s,box-shadow .15s,transform .15s;}
.card:hover {border-color:rgba(14,165,233,0.4);box-shadow:0 6px 24px rgba(9,9,11,0.06);}
.card-clickable {cursor:pointer;}
.card-clickable:hover {transform:translateY(-2px);}
.pill {display:inline-flex;align-items:center;font-family:var(--hud-mono);font-size:10px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;padding:3px 10px;border-radius:100px;}
.score-bar {height:6px;background:rgba(9,9,11,0.06);border-radius:100px;overflow:hidden;}
.score-fill {height:100%;border-radius:100px;transition:width .8s cubic-bezier(.2,.8,.2,1);}
.ind-mfg {background:rgba(245,158,11,0.1);color:#B45309;}
.ind-hc {background:rgba(16,185,129,0.1);color:#047857;}
.ind-ps {background:rgba(14,165,233,0.1);color:#075985;}
.ind-stress {background:rgba(124,58,237,0.1);color:#6D28D9;}
.role-exec {background:rgba(124,58,237,0.1);color:#6D28D9;}
.role-vp {background:rgba(236,72,153,0.1);color:#BE185D;}
.role-it {background:rgba(6,182,212,0.1);color:#0E7490;}
.st-yes {background:rgba(16,185,129,0.12);color:#047857;}
.st-no {background:rgba(239,68,68,0.12);color:#B91C1C;}
.st-partial {background:rgba(245,158,11,0.12);color:#B45309;}
.sev-p0 {background:rgba(239,68,68,0.1);color:#B91C1C;}
.sev-p1 {background:rgba(245,158,11,0.1);color:#B45309;}
.sev-p2 {background:rgba(113,113,122,0.1);color:#52525B;}
.modal {position:fixed;inset:0;z-index:100;display:none;background:rgba(9,9,11,0.78);backdrop-filter:blur(6px);align-items:flex-start;justify-content:center;padding:40px 20px;overflow-y:auto;}
.modal.open {display:flex;}
.modal-close {position:sticky;top:16px;right:16px;float:right;background:rgba(9,9,11,0.06);border:none;width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:20px;cursor:pointer;color:rgba(9,9,11,0.5);line-height:1;z-index:10;}
.modal-close:hover {background:rgba(9,9,11,0.12);}
.tab-btn {font-family:var(--hud-mono);font-size:11px;letter-spacing:.06em;padding:8px 14px;border-radius:8px;border:none;background:transparent;color:rgba(9,9,11,0.55);cursor:pointer;transition:all .15s;}
.tab-btn:hover {color:var(--ink);background:rgba(9,9,11,0.04);}
.chev {display:inline-block;transition:transform .15s;}
.stat {font-family:'Instrument Serif',Georgia,serif;font-size:42px;line-height:1;letter-spacing:-0.02em;}
.nav-sticky {position:sticky;top:0;z-index:40;background:rgba(255,255,255,0.95);backdrop-filter:blur(8px);border-bottom:1px solid rgba(9,9,11,0.06);}
.accent-bar {display:inline-block;width:3px;height:14px;border-radius:2px;margin-right:8px;vertical-align:middle;}
.hide {display:none !important;}
