/* ============ view-specific styles (landing, counsel, and modules) ============ */

/* ---- landing hero ---- */
.hero{position:relative;overflow:hidden;border-bottom:1px solid var(--line)}
.hero__in{position:relative;z-index:2;padding:clamp(48px,9vw,110px) 0 clamp(40px,6vw,70px)}
.hero__h1{margin:.22em 0 .3em;max-width:16ch}
.hero__lead{max-width:56ch}
.hero__cta{margin-top:28px;gap:14px}
.hero__glow{position:absolute;inset:0;z-index:1;background:
  radial-gradient(900px 480px at 78% -10%, rgba(224,138,68,.16), transparent 60%),
  radial-gradient(700px 400px at 8% 120%, rgba(90,214,198,.08), transparent 55%)}
.proof{display:flex;flex-wrap:wrap;gap:34px;margin-top:46px}
.proof__item{display:flex;gap:14px;align-items:flex-start}
.proof__n{font-size:clamp(34px,4.4vw,54px);font-weight:800;letter-spacing:-.02em;line-height:.95}
.proof__l{display:flex;flex-direction:column;gap:3px;max-width:22ch}
.proof__l b{font-size:14px} .proof__l span{font-size:12.5px;color:var(--paper-3);line-height:1.35}

/* ---- story strip ---- */
.story-strip{background:linear-gradient(180deg,var(--ink-1),var(--ink));border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.story-strip__in{max-width:760px}
.story-strip__h{margin:.2em 0 .5em}

/* ---- module cards ---- */
.modcards .modcard{display:flex;flex-direction:column;gap:8px;position:relative;transition:.2s;overflow:hidden}
.modcard:hover{transform:translateY(-3px);border-color:var(--line-2);box-shadow:var(--shadow)}
.modcard__dot{position:absolute;top:20px;inset-inline-end:20px;width:9px;height:9px;border-radius:50%;background:var(--ember);box-shadow:0 0 12px var(--ember)}
.modcard__go{margin-top:auto;color:var(--ember);font-size:18px;font-weight:650;padding-top:6px}
.modcard__arrow{display:inline-block}
body[dir="rtl"] .modcard__arrow{transform:scaleX(-1)}

/* ---- sovereignty band ---- */
.sov-band{background:linear-gradient(180deg,var(--ink),var(--ink-1));border-top:1px solid var(--line)}

/* ============ Counsel ============ */
.counsel{padding-bottom:30px;overflow-x:clip}
.turn{min-width:0}.turn>*{min-width:0;overflow-wrap:anywhere}
.deliberation,.synth{min-width:0;max-width:100%}
.counsel__head{padding:clamp(28px,5vw,52px) 0 18px}
.case-bar{display:flex;flex-wrap:wrap;gap:14px;align-items:center;background:var(--ink-2);border:1px solid var(--line);border-radius:var(--r-l);padding:16px 20px;margin-top:18px}
.case-bar__id{font-family:var(--mono);font-weight:700;color:var(--ember);font-size:15px;letter-spacing:.06em}
.case-bar__dx{color:var(--paper-2);font-size:14.5px;flex:1;min-width:200px}
.vchip{font-family:var(--mono);font-size:12px;color:var(--paper-2);border:1px solid var(--line-2);border-radius:999px;padding:5px 11px}
.vchip.is-alarm{color:var(--alarm);border-color:rgba(224,89,78,.4)}

.counsel__grid{display:grid;grid-template-columns:300px 1fr;gap:22px;margin-top:26px}
.counsel__grid>*{min-width:0}
.counsel__head h1,.counsel__head p{overflow-wrap:break-word}
@media (max-width:900px){.counsel__grid{grid-template-columns:1fr}}
.agents-rail{display:flex;flex-direction:column;gap:10px;position:sticky;top:calc(var(--topbar-h) + 16px);align-self:start}
@media (max-width:900px){
  .agents-rail{position:static;flex-direction:row;flex-wrap:wrap;overflow:visible;padding-bottom:6px}
  .agent-chip{min-width:0;flex:1 1 150px}
  .counsel__head h1{font-size:25px!important}
  .counsel__head p{font-size:15px}
  .case-bar__dx{min-width:0;flex:1 1 100%}
}
.agent-chip{display:flex;align-items:center;gap:11px;border:1px solid var(--line);border-radius:var(--r-m);padding:12px 14px;background:var(--ink-1);transition:.25s;min-width:180px}
.agent-chip[data-spoke="true"]{border-color:var(--line-2);background:var(--ink-2)}
.agent-chip[data-active="true"]{box-shadow:var(--glow-ember);border-color:var(--ember)}
.agent-chip__dot{width:12px;height:12px;border-radius:50%;flex-shrink:0}
.agent-chip__n{font-weight:650;font-size:14px} .agent-chip__r{font-family:var(--mono);font-size:10.5px;color:var(--paper-3);letter-spacing:.08em}

.deliberation{display:flex;flex-direction:column;gap:14px;min-height:340px}
.turn{display:grid;grid-template-columns:auto 1fr;gap:14px;opacity:0;transform:translateY(10px);transition:.5s}
.turn[data-in="true"]{opacity:1;transform:none}
.turn__badge{font-family:var(--mono);font-size:10.5px;letter-spacing:.08em;font-weight:700;padding:6px 9px;border-radius:8px;height:max-content;white-space:nowrap}
.turn__body{background:var(--ink-2);border:1px solid var(--line);border-radius:var(--r-m);padding:14px 16px}
.turn__body p{font-size:15.5px;color:var(--paper);line-height:1.5}
.turn__cite{display:inline-block;margin-top:8px;font-family:var(--mono);font-size:11px;color:var(--paper-3);letter-spacing:.04em;border:1px solid var(--line);border-radius:999px;padding:3px 9px}
.disagree{border-inline-start:2px solid var(--ember);padding:10px 0 10px 16px;color:var(--paper-2);font-size:14px;opacity:0;transition:.5s}
.disagree[data-in="true"]{opacity:1}

.synth{margin-top:8px;border:1px solid var(--ember-deep);border-radius:var(--r-l);overflow:hidden;opacity:0;transform:translateY(10px);transition:.6s}
.synth[data-in="true"]{opacity:1;transform:none}
.synth__h{background:linear-gradient(180deg,rgba(224,138,68,.12),transparent);padding:14px 18px;border-bottom:1px solid var(--line);font-family:var(--mono);font-size:12px;letter-spacing:.14em;color:var(--ember);text-transform:uppercase}
.synth__body{padding:18px}
.synth__list{display:flex;flex-direction:column;gap:10px}
.synth__list li{list-style:none;display:flex;gap:12px;font-family:var(--serif);font-style:italic;font-size:17px;color:var(--paper)}
.synth__list li::before{content:"";width:7px;height:7px;border-radius:2px;background:var(--ember);margin-top:.55em;flex-shrink:0}
.synth__cites{display:flex;flex-wrap:wrap;gap:7px;margin-top:16px}
.synth__sign{display:flex;align-items:center;gap:14px;margin-top:18px;padding-top:16px;border-top:1px solid var(--line)}
.synth__sign-name{font-family:var(--serif);font-style:italic;font-size:26px;color:var(--ember)}
.counsel__controls{display:flex;gap:12px;align-items:center;margin-top:22px;flex-wrap:wrap}
.counsel__status{font-family:var(--mono);font-size:12px;color:var(--paper-3);letter-spacing:.06em}

/* ============ Vitals / patient state ============ */
.vtab{background:var(--ink-1);border:1px solid var(--line);color:var(--paper-2);border-radius:999px;padding:8px 15px;font-size:13.5px;font-weight:600;transition:.15s}
.vtab:hover{border-color:var(--line-2);color:var(--paper)}
.vtab.on{background:var(--ink-3);border-color:var(--ember);color:var(--paper)}
.vitals-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:10px;margin-top:18px}
.vcell{background:var(--ink-1);border:1px solid var(--line);border-radius:var(--r-m);padding:13px 14px}
.vcell.is-alarm{border-color:rgba(224,89,78,.45);background:rgba(224,89,78,.06)}
.vcell__v{font-size:24px;font-weight:800;letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.vcell__v span{font-size:12px;font-weight:600;color:var(--paper-3);margin-inline-start:3px}
.vcell.is-alarm .vcell__v{color:var(--alarm)}
.vcell__l{font-size:11.5px;color:var(--paper-3);margin-top:3px}

/* ============ Triage ============ */
.triage-list{display:flex;flex-direction:column;gap:10px}
.triage-row{display:grid;grid-template-columns:40px 120px 1fr auto auto 36px;gap:16px;align-items:center;background:var(--ink-1);border:1px solid var(--line);border-radius:var(--r-m);padding:14px 18px;transition:.18s}
.triage-row.is-top{border-color:rgba(224,89,78,.4);box-shadow:0 0 0 1px rgba(224,89,78,.12)}
.triage-row:hover{border-color:var(--line-2)}
.triage-rank{font-family:var(--mono);font-size:20px;font-weight:800;color:var(--paper-3)}
.triage-row.is-top .triage-rank{color:var(--alarm)}
.triage-id{font-weight:700;display:flex;flex-direction:column}
.triage-id span{font-size:11.5px;color:var(--paper-3);font-weight:400;font-family:var(--mono)}
.triage-dx{color:var(--paper-2);font-size:14px}
.triage-flags{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end;max-width:260px}
.triage-go{font-size:20px;color:var(--ember);text-align:center}
@media (max-width:820px){
  .triage-row{grid-template-columns:32px 1fr auto;grid-template-areas:"rank id acu" "dx dx dx" "flags flags go"}
  .triage-rank{grid-area:rank}.triage-id{grid-area:id}.triage-dx{grid-area:dx}.triage-flags{grid-area:flags;justify-content:flex-start}.triage-acu{grid-area:acu}.triage-go{grid-area:go}
}

/* ============ Bedside ============ */
.bedside-stream{margin-top:16px;display:flex;flex-direction:column;gap:12px;min-height:200px;max-height:340px;overflow-y:auto}
.bedside-utt{background:var(--ink-1);border:1px solid var(--line);border-radius:var(--r-m);padding:12px 14px}
.bedside-lang{font-family:var(--mono);font-size:10px;font-weight:700;letter-spacing:.1em;color:var(--ember);border:1px solid var(--line-2);border-radius:6px;padding:2px 7px;margin-inline-end:8px}
.bedside-who{font-size:11.5px;color:var(--paper-3);font-style:italic}
.bedside-utt p{margin-top:8px;font-size:16px;color:var(--paper)}
.bedside-chart{margin-top:16px;display:flex;flex-direction:column;gap:10px;min-height:160px;font-family:var(--mono)}
.bedside-line{font-size:13px;color:var(--paper-2);line-height:1.5;padding-inline-start:12px;border-inline-start:2px solid var(--ember-deep)}
