
/* Two voices run through the page: the client's words are set in a serif and, where
   quoted, marked as with a highlighter; everything we wrote or worked out is in the
   sans. Two colours carry the page, as on the smoke-test site: ink for text and for what you
   can act on, yellow for the mark, the logo and the steps that need a person. Green is only
   within bounds; red is over, contradicted or short. The faces are the smoke-test site's, Plus
   Jakarta Sans and Source Serif 4; offline the page falls back to the system's own. */
:root{
  --page:#f4f6fb; --paper:#ffffff; --panel:#ffffff; --side:#fbfbfd; --ink:#101828; --ink2:#3d4659; --mute:#667085; --faint:#98a2b3;
  --line:#e4e7ec; --line2:#f0f2f5; --hover:#f3f4f8; --accent:#101828; --accent2:#101828; --accent-soft:#eef0f4; --cta:#facc15; --on-cta:#101828;
  --ok:#047857; --ok-soft:#e5f6ee; --warn:#b45309; --warn-soft:#fdf3e2; --bad:#c0362c; --bad-soft:#fdecea;
  --quote:#fafbfc; --mark:#fde68a; --mark-soft:#fff7d6; --on-mark:#101828;
  --shadow:0 1px 2px rgba(16,24,40,.05); --shadow-md:0 1px 2px rgba(16,24,40,.05),0 12px 32px -18px rgba(16,24,40,.22); --shadow-lg:0 24px 60px -20px rgba(16,24,40,.35);
  --k-requirement:#4f46e5; --k-question:#c2410c; --k-objective:#7c3aed; --k-usecase:#a21caf; --k-package:#0e7490;
  --k-price:#047857; --k-offer:#2563eb; --k-review:#c0362c; --k-rule:#b45309; --k-other:#8a92a3;
  --sans:"Plus Jakarta Sans","Segoe UI Variable Text","Segoe UI",system-ui,-apple-system,"Helvetica Neue",Arial,sans-serif;
  --serif:"Source Serif 4",Charter,"Bitstream Charter","Iowan Old Style","Palatino Linotype",Georgia,serif;
  --mono:ui-monospace,"SF Mono",Menlo,Consolas,monospace;
}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){
    --page:#0b1020; --paper:#121a2e; --panel:#121a2e; --side:#0e1527; --ink:#eef1f8; --ink2:#c3c9d6; --mute:#8a93a8; --faint:#5d6680;
    --line:#232c42; --line2:#1a2236; --hover:#18213a; --accent:#eef1f8; --accent2:#eef1f8; --accent-soft:#1a2236; --cta:#facc15; --on-cta:#101828;
    --ok:#34d399; --ok-soft:#0f2f26; --warn:#fbbf24; --warn-soft:#2d230f; --bad:#f87171; --bad-soft:#3a1a1c;
    --quote:#0f1628; --mark:#facc15; --mark-soft:#3a3214; --on-mark:#101828;
    --shadow:0 1px 2px rgba(0,0,0,.3); --shadow-md:0 1px 2px rgba(0,0,0,.3),0 14px 34px -18px rgba(0,0,0,.6); --shadow-lg:0 24px 60px -20px rgba(0,0,0,.7);
    --k-requirement:#8b90ff; --k-question:#fb923c; --k-objective:#b18cff; --k-usecase:#e879f9; --k-package:#22d3ee;
    --k-price:#34d399; --k-offer:#60a5fa; --k-review:#f87171; --k-rule:#fbbf24; --k-other:#a3abbb;
  }
}
:root[data-theme="dark"]{
  --page:#0b1020; --paper:#121a2e; --panel:#121a2e; --side:#0e1527; --ink:#eef1f8; --ink2:#c3c9d6; --mute:#8a93a8; --faint:#5d6680;
  --line:#232c42; --line2:#1a2236; --hover:#18213a; --accent:#eef1f8; --accent2:#eef1f8; --accent-soft:#1a2236; --cta:#facc15; --on-cta:#101828;
  --ok:#34d399; --ok-soft:#0f2f26; --warn:#fbbf24; --warn-soft:#2d230f; --bad:#f87171; --bad-soft:#3a1a1c;
  --quote:#0f1628; --mark:#facc15; --mark-soft:#3a3214; --on-mark:#101828;
  --shadow:0 1px 2px rgba(0,0,0,.3); --shadow-md:0 1px 2px rgba(0,0,0,.3),0 14px 34px -18px rgba(0,0,0,.6); --shadow-lg:0 24px 60px -20px rgba(0,0,0,.7);
  --k-requirement:#8b90ff; --k-question:#fb923c; --k-objective:#b18cff; --k-usecase:#e879f9; --k-package:#22d3ee;
  --k-price:#34d399; --k-offer:#60a5fa; --k-review:#f87171; --k-rule:#fbbf24; --k-other:#a3abbb;
}
*{box-sizing:border-box}
html,body{margin:0}
body{background:var(--page);color:var(--ink);font:14.5px/1.55 var(--sans);-webkit-font-smoothing:antialiased;font-variant-numeric:tabular-nums}
a{color:var(--accent);text-decoration:none} a:hover{text-decoration:underline}
button{font:inherit;color:inherit}
:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}
.app{display:grid;grid-template-columns:272px minmax(0,1fr);min-height:100vh}

/* sidebar: the bid's name, then the eight steps in their three phases */
.side{position:sticky;top:0;height:100vh;overflow:auto;background:var(--side);border-right:1px solid var(--line);display:flex;flex-direction:column}
.brand{padding:22px 20px 16px;display:grid;grid-template-columns:30px 1fr;gap:2px 12px;align-items:center}
.brand .logo{grid-row:span 2;width:30px;height:30px;border-radius:9px;background:var(--cta);color:var(--on-cta);display:grid;place-items:center;font:800 14px var(--sans)}
.brand .name{font:650 16px/1.25 var(--sans);letter-spacing:-.01em;overflow-wrap:anywhere}
.brand .by{color:var(--mute);font-size:12.5px}
.search{margin:2px 14px 6px;position:relative}
.search input{width:100%;padding:9px 10px 9px 32px;border:1px solid var(--line);border-radius:9px;background:var(--paper);color:var(--ink);font:13.5px var(--sans);outline:none;cursor:pointer;box-shadow:var(--shadow)}
.search input:hover{border-color:var(--faint)}
.search svg{position:absolute;left:11px;top:50%;transform:translateY(-50%);color:var(--faint)}
.search kbd{position:absolute;right:9px;top:50%;transform:translateY(-50%)}
kbd{font:11px var(--sans);color:var(--mute);border:1px solid var(--line);border-bottom-width:2px;border-radius:4px;padding:0 5px;background:var(--paper)}
nav{padding:6px 10px 16px;flex:1}
nav .group{font:600 12px var(--sans);color:var(--faint);padding:18px 10px 6px}
nav a{position:relative;display:flex;align-items:center;gap:10px;padding:7px 10px;border-radius:8px;color:var(--ink2);text-decoration:none;font-size:14px}
nav a:hover{background:var(--hover);text-decoration:none}
nav a.on{background:var(--accent-soft);color:var(--accent);font-weight:600}
nav a .n{margin-left:auto;font-size:12.5px;color:var(--faint)}
nav a.on .n{color:var(--accent)}
nav a.off{color:var(--faint)}
/* a step's mark: its number; an ink tick once done; yellow while it needs a person */
.sn{width:22px;height:22px;border-radius:50%;flex:none;display:grid;place-items:center;font:700 11px/1 var(--sans);border:1.5px solid var(--line);color:var(--faint);background:var(--paper)}
.sn.done{border-color:var(--ink);background:var(--ink);color:var(--page)}
.sn.need{border-color:var(--cta);background:var(--cta);color:var(--on-cta)}
.sn.next{border-color:var(--accent);color:var(--accent)}
.sn svg{display:block}
nav .home{margin-top:4px}
.foot{padding:14px 20px;border-top:1px solid var(--line);color:var(--mute);font-size:12px;display:flex;justify-content:space-between;align-items:center;gap:8px}
/* the product's mark, as on the smoke-test site: "Bid" on the yellow marker */
.foot .mk{font:800 15px/1 var(--sans);letter-spacing:-.03em;color:var(--ink)}
.foot .mk .w1{font-weight:500}
.foot .mk b{font-weight:800;color:var(--on-cta);background:var(--cta);border-radius:4px;padding:.08em .18em .1em;margin-left:.06em}
.foot button{background:var(--paper);border:1px solid var(--line);border-radius:7px;padding:4px 10px;cursor:pointer;color:var(--ink2);font-size:12px}
.foot button:hover{background:var(--hover)}

/* main */
main{min-width:0;padding:40px 52px 96px}
/* the site's glow: a faint warm light and a neutral one, behind the top of the page */
main{position:relative;isolation:isolate}
main::before{content:"";position:absolute;z-index:-1;inset:0 0 auto;height:640px;pointer-events:none;
  background:radial-gradient(40% 52% at 16% 0%,color-mix(in srgb,var(--cta) 9%,transparent),transparent 70%),
             radial-gradient(40% 52% at 88% 10%,color-mix(in srgb,var(--ink) 5%,transparent),transparent 70%)}
.wrap{max-width:1160px;margin:0 auto}
.crumb{color:var(--mute);font:600 13px var(--sans);margin-bottom:8px;display:flex;gap:8px;align-items:center}
.crumb .of{color:var(--mute);font-weight:500}
h1{font:700 32px/1.15 var(--sans);letter-spacing:-.028em;margin:0 0 10px;max-width:30ch}
h2{font:650 18px/1.3 var(--sans);margin:44px 0 14px;letter-spacing:-.012em;display:flex;gap:10px;align-items:center}
h2 .hint{font:400 13.5px var(--sans);color:var(--mute);letter-spacing:0}
h3{font:650 15px/1.35 var(--sans);margin:0 0 6px}
.lede{color:var(--ink2);font:16px/1.65 var(--sans);max-width:72ch;margin:0}
.sub{color:var(--mute);margin:0 0 26px;max-width:78ch;font-size:15px}
.muted{color:var(--mute)} .faint{color:var(--faint)}
.card{background:var(--paper);border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow)}
.pad{padding:20px 22px}
.grid{display:grid;gap:14px}
.g4{grid-template-columns:repeat(4,minmax(0,1fr))} .g3{grid-template-columns:repeat(3,minmax(0,1fr))} .g2{grid-template-columns:repeat(2,minmax(0,1fr))}

/* overview: the bid in a sentence, four figures, the ruler, the steps, what needs you */
.hero{display:grid;gap:6px}
.verdict{font:650 22px/1.4 var(--sans);letter-spacing:-.015em;margin:28px 0 18px;max-width:46ch}
.verdict .over{color:var(--bad)} .verdict .fits{color:var(--ok)}
.ruler{position:relative;margin:30px 0 8px;height:76px}
.ruler .base{position:absolute;left:0;right:0;top:34px;height:10px;border-radius:5px;background:var(--line2);overflow:hidden}
.ruler .span{position:absolute;top:0;bottom:0;background:var(--cta)}
.ruler .tick{position:absolute;top:24px;height:30px;border-left:2px solid var(--ink2)}
.ruler .tick span{position:absolute;white-space:nowrap;font-size:12.5px;color:var(--mute);transform:translateX(-50%)}
.ruler .tick.up span{bottom:34px} .ruler .tick.down span{top:34px}
.ruler .tick.l span{transform:translateX(-12px)} .ruler .tick.r span{transform:translateX(calc(-100% + 12px));text-align:right}
.ruler .tick b{display:block;font-weight:650;color:var(--ink)}
.ruler .tick.ceiling{border-left:2px dashed var(--bad)}
.ruler .tick.ceiling span,.ruler .tick.ceiling b{color:var(--bad)}
.ruler-wrap{padding:8px 72px 40px}
.rulercard{margin-top:14px}
.rulercard h3{padding:18px 22px 0;margin:0}
/* the eight steps, in their three phases */
.phases{display:grid;grid-template-columns:3fr 3fr 2fr;gap:14px}
.phase{display:flex;flex-direction:column;gap:8px}
.phase .ph{font:600 12.5px var(--sans);color:var(--mute);padding:0 4px 2px;display:flex;gap:8px;align-items:center}
.phase .ph::after{content:"";flex:1;border-top:1px solid var(--line)}
.stepc{display:grid;grid-template-columns:22px 1fr auto;gap:2px 12px;align-items:center;padding:13px 16px;cursor:pointer;text-align:left;width:100%;background:var(--paper);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow)}
.stepc:hover{border-color:var(--accent)}
.stepc .sn{grid-row:span 2}
.stepc .t{font:650 14px/1.3 var(--sans);color:var(--ink)}
.stepc .d{grid-column:2;font-size:12.5px;color:var(--mute)}
.stepc .fig{grid-row:1 / span 2;grid-column:3;text-align:right;font:650 15px/1.2 var(--sans);color:var(--ink);white-space:nowrap}
.stepc .fig small{display:block;font:500 11.5px/1.3 var(--sans);color:var(--mute)}
.stepc.todo{background:transparent;box-shadow:none;border-style:dashed}
.stepc.todo .t{color:var(--mute)}
/* what needs a person */
.att{list-style:none;margin:0;padding:0}
.att li{display:flex;gap:14px;align-items:flex-start;padding:15px 20px;border-bottom:1px solid var(--line2)}
.att li:last-child{border-bottom:0}
.att .ic{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;flex:none;font:700 12.5px var(--sans);padding:0}
.att .tx{flex:1;min-width:0;max-width:92ch}
.att .tx .ids{margin-top:8px}
.att .go{flex:none;align-self:center;font:600 13px var(--sans);color:var(--accent);background:none;border:1px solid var(--line);border-radius:8px;padding:6px 11px;cursor:pointer;white-space:nowrap}
.att .go:hover{background:var(--accent-soft);border-color:var(--accent)}
/* previous and next step */
.pager{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:56px}
.pager a{display:flex;flex-direction:column;gap:2px;padding:16px 20px;border:1px solid var(--line);border-radius:12px;background:var(--paper);text-decoration:none;color:var(--ink);box-shadow:var(--shadow)}
.pager a:hover{border-color:var(--accent);text-decoration:none}
.pager a span{font-size:12.5px;color:var(--mute)}
.pager a b{font:650 15.5px var(--sans);color:var(--accent)}
.pager a.nx{text-align:right;grid-column:2}

/* figures */
.kpi{padding:18px 20px;display:flex;flex-direction:column;gap:6px;min-height:124px}
.kpi[data-go]{cursor:pointer} .kpi[data-go]:hover{border-color:var(--accent)}
.kpi .k{font:500 13px var(--sans);color:var(--mute);display:flex;align-items:center;gap:8px}
.kpi .v{font:700 30px/1.1 var(--sans);letter-spacing:-.03em}
.kpi .v small{font-size:14px;font-weight:500;color:var(--mute);letter-spacing:0}
.kpi .v.ok{color:var(--ok)} .kpi .v.bad{color:var(--bad)}
.kpi .s{color:var(--mute);font-size:13px}
.kpi .chips{margin-top:auto}
.stack{display:flex;height:8px;border-radius:4px;overflow:hidden;background:var(--line2);margin-top:auto}
.stack span{display:block;height:100%}

/* price bars */
.pbars{display:flex;flex-direction:column;gap:16px;margin-top:6px}
.pbar .lab{display:flex;justify-content:space-between;font-size:13.5px;margin-bottom:6px}
.pbar .track{position:relative;height:10px;background:var(--line2);border-radius:5px}
.pbar .fill{position:absolute;left:0;top:0;bottom:0;border-radius:5px}
.ceil{position:absolute;top:-6px;bottom:-6px;border-left:2px dashed var(--bad)}

/* chips, pills, references */
.chips{display:flex;gap:6px;flex-wrap:wrap;align-items:center}
.pill{display:inline-flex;align-items:center;gap:5px;font:600 11.5px/1 var(--sans);padding:4px 8px;border-radius:999px;background:var(--line2);color:var(--ink2);white-space:nowrap}
.pill.ok{background:var(--ok-soft);color:var(--ok)} .pill.warn{background:var(--warn-soft);color:var(--warn)} .pill.bad{background:var(--bad-soft);color:var(--bad)}
.pill.acc{background:var(--accent-soft);color:var(--accent)}
.idc{font:600 12px var(--sans);color:var(--accent);background:var(--paper);border:1px solid var(--line);border-radius:6px;padding:0 6px;cursor:pointer;white-space:nowrap;line-height:1.7}
.idc:hover{background:var(--accent-soft);border-color:var(--accent)}
.kdot{display:inline-block;width:8px;height:8px;border-radius:50%;flex:none}
.internal{font:600 11px var(--sans);color:var(--warn);background:var(--warn-soft);border-radius:999px;padding:2px 8px}

/* tables */
.toolbar{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin:0 0 14px}
.toolbar input{padding:8px 12px;border:1px solid var(--line);border-radius:9px;background:var(--paper);color:var(--ink);min-width:260px;font:13.5px var(--sans);outline:none;box-shadow:var(--shadow)}
.toolbar input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}
.seg{display:inline-flex;border:1px solid var(--line);border-radius:9px;overflow:hidden;background:var(--paper);box-shadow:var(--shadow)}
.seg button{border:0;background:none;padding:6px 12px;font-size:13px;cursor:pointer;color:var(--ink2);border-right:1px solid var(--line)}
.seg button:last-child{border-right:0}
.seg button:hover{background:var(--hover)}
.seg button.on{background:var(--accent);color:var(--page)}
.count{color:var(--mute);font-size:13px;margin-left:auto}
table.t{width:100%;border-collapse:separate;border-spacing:0;font-size:14px}
table.t th{position:sticky;top:0;background:var(--paper);text-align:left;font:600 12.5px var(--sans);color:var(--mute);padding:12px 16px;border-bottom:1px solid var(--line);z-index:1}
table.t td{padding:13px 16px;border-bottom:1px solid var(--line2);vertical-align:top}
td.src1{font-size:12.5px;max-width:210px}td.src1 span{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
table.t tr.row{cursor:pointer} table.t tr.row:hover td{background:var(--hover)}
table.t tr:last-child td{border-bottom:0}
td.num,th.num{text-align:right;white-space:nowrap}
td.id{white-space:nowrap;width:1%}
.tablecard{overflow:auto}
.hbar{height:6px;border-radius:3px;background:var(--line2);margin-top:6px;width:120px;margin-left:auto;overflow:hidden}
.hbar span{display:block;height:100%;background:var(--cta)}
/* the client's own words, under what we made of them */
.said{font:14px/1.5 var(--serif);color:var(--mute);margin-top:4px;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.said::before{content:"\201C"} .said::after{content:"\201D"}

/* questions */
.q{padding:18px 22px;cursor:pointer}
.q:hover{border-color:var(--accent)}
.q .ask{font:650 15.5px/1.5 var(--sans);color:var(--ink);margin:10px 0 10px;max-width:80ch}
.q .meta{display:flex;gap:6px;align-items:center;flex-wrap:wrap}
.assume{border-left:3px solid var(--cta);padding:2px 0 2px 12px;color:var(--ink2);margin:6px 0 0;max-width:84ch}
.lbl{font:600 12.5px var(--sans);color:var(--mute);margin:16px 0 5px}

/* context diagram: the people above the system, the systems below, one line from each to a rail */
.ctx{padding:26px 26px 22px;--wire:1.5px solid var(--faint);--drop:22px}
.ctx .tag{font:600 12.5px var(--sans);color:var(--mute)}
.ctx .up .tag{margin-bottom:10px} .ctx .down .tag{margin-top:10px;order:2}
.ctx .band{display:flex;flex-direction:column}
.ctx .parties{display:grid;grid-template-columns:repeat(var(--n),minmax(0,1fr));gap:12px;position:relative}
.ctx .up .parties{padding-bottom:var(--drop)} .ctx .down .parties{padding-top:var(--drop)}
.ctx .parties::after{content:"";position:absolute;left:calc((100% - (var(--n) - 1) * 12px) / var(--n) / 2);right:calc((100% - (var(--n) - 1) * 12px) / var(--n) / 2);border-top:var(--wire)}
.ctx .up .parties::after{bottom:0} .ctx .down .parties::after{top:0}
.ctx .party{position:relative;border:1px solid var(--line);border-radius:12px;padding:12px 14px;background:var(--paper)}
.ctx .party::after{content:"";position:absolute;left:50%;height:var(--drop);border-left:var(--wire)}
.ctx .up .party::after{top:100%} .ctx .down .party::after{bottom:100%}
.ctx .party.sys{border-style:dashed;background:var(--page)}
.ctx .party h4{margin:0 0 6px;font:650 13.5px var(--sans)}
.ctx .party ul{margin:0;padding-left:16px;color:var(--ink2);font-size:13px;line-height:1.5}
.ctx .party summary{margin-top:4px;color:var(--accent);font:600 12.5px var(--sans);cursor:pointer}
.ctx .party details ul{margin-top:2px}
.ctx .core{position:relative;margin:var(--drop) 0;border-radius:14px;background:var(--cta);color:var(--on-cta);display:flex;flex-direction:column;align-items:center;text-align:center;padding:18px 22px;gap:6px;box-shadow:var(--shadow-md)}
.ctx .core.from-up::before,.ctx .core.to-down::after{content:"";position:absolute;left:50%;height:var(--drop);border-left:var(--wire)}
.ctx .core.from-up::before{bottom:100%} .ctx .core.to-down::after{top:100%}
.ctx .core:not(.from-up){margin-top:0} .ctx .core:not(.to-down){margin-bottom:0}
.ctx .core b{font:650 18px/1.3 var(--sans)}
.ctx .core ul{list-style:none;margin:6px 0 0;padding:0;display:flex;flex-wrap:wrap;justify-content:center;gap:6px}
.ctx .core li{font-size:12.5px;line-height:1.3;padding:4px 10px;border-radius:999px;background:rgba(255,255,255,.92);color:#101828;font-weight:550}
.ctx .core .tag{color:inherit;opacity:.8}

/* objectives */
.obj{padding:20px 22px;cursor:pointer;display:flex;flex-direction:column;gap:6px}
.obj:hover{border-color:var(--accent)}
.obj .num{font:650 12px var(--sans);color:var(--mute)}
.obj p{margin:0;color:var(--ink2);max-width:72ch}

/* reading: the offer and the documents */
.reader{display:grid;grid-template-columns:236px minmax(0,1fr);gap:28px;align-items:start}
.toc{position:sticky;top:24px;display:flex;flex-direction:column;gap:1px;max-height:calc(100vh - 48px);overflow:auto;border-left:2px solid var(--line)}
.toc a{padding:6px 12px;margin-left:-2px;border-left:2px solid transparent;color:var(--ink2);font-size:13.5px;display:flex;gap:8px;align-items:center;text-decoration:none}
.toc a:hover{border-left-color:var(--faint);color:var(--ink)}
.toc a.on{border-left-color:var(--cta);color:var(--accent);font-weight:600}
.toc a .f{margin-left:auto;font:600 11px var(--sans);color:#fff;background:var(--k-review);border-radius:9px;min-width:18px;text-align:center;padding:1px 5px}
.doc{padding:40px 52px;font:15px/1.7 var(--sans);color:var(--ink)}
.doc > *{max-width:76ch}
.doc table,.doc pre{max-width:none}
.doc h1{font:700 26px/1.3 var(--sans);letter-spacing:-.02em;margin:0 0 16px}
.doc h2{font:650 19px/1.35 var(--sans);margin:36px 0 10px;letter-spacing:-.01em;display:block}
.doc h3{font:650 15.5px/1.4 var(--sans);margin:24px 0 8px}
.doc p{margin:0 0 13px}
.doc ul,.doc ol{margin:0 0 13px;padding-left:22px}
.doc li{margin:4px 0}
.doc blockquote{margin:10px 0 16px;padding:4px 0 4px 16px;border-left:3px solid var(--mark);font-family:var(--serif);color:var(--ink2)}
.doc table{border-collapse:collapse;width:100%;font:13.5px/1.5 var(--sans);margin:8px 0 20px;display:block;overflow:auto}
.doc th,.doc td{border-bottom:1px solid var(--line);padding:8px 10px;text-align:left;vertical-align:top}
.doc th{font-weight:600;color:var(--mute);border-bottom-color:var(--ink2)}
.doc code{font:13px var(--mono);background:var(--line2);padding:1px 5px;border-radius:4px}
.doc pre{background:var(--line2);padding:12px;border-radius:8px;overflow:auto;font:12.5px/1.5 var(--mono)}
.doc hr{border:0;border-top:1px solid var(--line);margin:26px 0}
.docbar{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin:0 0 22px;padding-bottom:16px;border-bottom:1px solid var(--line2)}
.docbar .word{display:inline-flex;gap:8px;align-items:center;font:600 13px var(--sans);padding:7px 12px;border:1px solid var(--line);border-radius:9px;color:var(--accent)}
.docbar .word:hover{background:var(--accent-soft);border-color:var(--accent);text-decoration:none}
.docbar .stale{font-size:12.5px;color:var(--warn)}
.finding{margin:10px 0 20px;padding:12px 16px;border-left:3px solid var(--k-review);border-radius:0 10px 10px 0;background:color-mix(in srgb,var(--k-review) 7%,var(--paper));font:13.5px/1.55 var(--sans)}
.finding .h{font:650 12.5px var(--sans);color:var(--k-review);margin-bottom:4px;display:flex;gap:8px;align-items:center}
.sec{scroll-margin-top:24px}

/* the item panel */
.scrim{position:fixed;inset:0;background:rgba(11,16,32,.38);opacity:0;pointer-events:none;transition:opacity .18s;z-index:20}
.scrim.on{opacity:1;pointer-events:auto}
.drawer{position:fixed;top:0;right:0;bottom:0;width:min(600px,100vw);background:var(--paper);border-left:1px solid var(--line);transform:translateX(102%);transition:transform .22s cubic-bezier(.2,.7,.2,1);z-index:21;display:flex;flex-direction:column}
.drawer.on{transform:none;box-shadow:var(--shadow-lg)}
.dhead{display:flex;align-items:center;gap:8px;padding:14px 18px;border-bottom:1px solid var(--line2)}
.dhead button{background:none;border:1px solid var(--line);border-radius:8px;width:32px;height:32px;cursor:pointer;color:var(--ink2);display:grid;place-items:center}
.dhead button:hover{background:var(--hover);color:var(--ink)}
.dhead button:disabled{opacity:.35;cursor:default}
.dhead .kind{display:flex;gap:8px;align-items:center;font:500 13px var(--sans);color:var(--mute);margin-right:auto}
.dbody{overflow:auto;padding:24px 28px 48px;flex:1}
.dbody .title{font:650 20px/1.4 var(--sans);letter-spacing:-.014em;margin:2px 0 12px}
.dbody .title.serif{font:650 18px/1.5 var(--sans)}
.src{font:12.5px/1.5 var(--sans);color:var(--mute);overflow-wrap:anywhere}
.ctxq{border-left:3px solid var(--line);padding:4px 0 4px 16px;font:15px/1.7 var(--serif);color:var(--faint)}
.ctxq mark{background:linear-gradient(transparent 12%,var(--mark) 12%,var(--mark) 88%,transparent 88%);color:var(--on-mark);padding:0 2px}
.rel{margin-top:10px}
.rel h5{margin:24px 0 6px;font:650 13px var(--sans);color:var(--ink);display:flex;gap:8px;align-items:baseline}
.rel h5 span{color:var(--faint);font-weight:500}
.rel a.ln{display:flex;gap:10px;align-items:baseline;padding:7px 8px;margin:0 -8px;border-radius:8px;color:var(--ink2);text-decoration:none;cursor:pointer}
.rel a.ln:hover{background:var(--hover)}
.rel a.ln .idc{flex:none}
.rel a.ln span.txt{overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
dl.kv{display:grid;grid-template-columns:max-content 1fr;gap:8px 18px;margin:10px 0;font-size:14px}
dl.kv dt{color:var(--mute)} dl.kv dd{margin:0}
.seqv{list-style:none;padding:0;margin:8px 0;counter-reset:q}
.seqv li{display:grid;grid-template-columns:22px 1fr;gap:8px;padding:7px 0;border-top:1px solid var(--line2);font-size:13.5px}
.seqv li::before{counter-increment:q;content:counter(q);font:650 12px var(--sans);color:var(--faint);padding-top:1px}
.seqv .who{font-weight:600}
.change{border-left:2px solid var(--line);padding:2px 0 2px 12px;margin:10px 0;font-size:13px;line-height:2}
/* the changes, by day */
.day{display:grid;grid-template-columns:150px minmax(0,1fr);gap:20px;padding:20px 0;border-top:1px solid var(--line)}
.day:first-of-type{border-top:0}
.day .when{font:650 14px var(--sans);color:var(--ink)}
.day .when span{display:block;font:500 12.5px var(--sans);color:var(--mute)}
.upd{padding:14px 18px;margin-bottom:10px}
.upd .what{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.upd .what b{font-weight:650}

/* search */
.pal{position:fixed;left:50%;top:12vh;transform:translateX(-50%);width:min(640px,92vw);background:var(--paper);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow-lg);z-index:30;display:none;overflow:hidden}
.pal.on{display:block}
.pal input{width:100%;border:0;border-bottom:1px solid var(--line);padding:17px 20px;font:16.5px var(--sans);background:transparent;color:var(--ink);outline:none}
.pal .hits{max-height:52vh;overflow:auto;padding:6px}
.pal .hit{display:flex;gap:10px;align-items:baseline;padding:9px 12px;border-radius:8px;cursor:pointer}
.pal .hit.on,.pal .hit:hover{background:var(--accent-soft)}
.pal .hit .txt{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pal .hit .kd{margin-left:auto;font-size:12px;color:var(--mute);white-space:nowrap}
.empty{padding:44px;text-align:center;color:var(--mute)}
.note{font-size:13px;color:var(--mute);margin-top:12px}
.menu{display:none}

@media (prefers-reduced-motion: reduce){ *{transition:none!important;scroll-behavior:auto!important} }
@media (max-width:1180px){ .phases{grid-template-columns:1fr 1fr} .phase:last-child{grid-column:1 / -1} }
@media (max-width:1100px){ .g4{grid-template-columns:repeat(2,minmax(0,1fr))} .reader{grid-template-columns:1fr} .toc{display:none} main{padding:28px 32px 80px} }
@media (max-width:760px){
  .app{grid-template-columns:1fr} .side{position:fixed;inset:0 auto 0 0;width:280px;z-index:25;transform:translateX(-102%);transition:transform .2s}
  .side.on{transform:none;box-shadow:var(--shadow-lg)} main{padding:16px 16px 64px} .menu{display:inline-grid;place-items:center;width:38px;height:38px;border:1px solid var(--line);border-radius:9px;background:var(--paper);margin-bottom:14px;cursor:pointer}
  h1{font-size:26px} .verdict{font-size:19px} .ruler-wrap{padding:6px 12px 24px}
  .phases{grid-template-columns:1fr} .pager{grid-template-columns:1fr} .pager a.nx{grid-column:1}
  .g4,.g3,.g2{grid-template-columns:1fr} .ctx{padding:14px} .ctx .parties{grid-template-columns:1fr;padding:0!important} .ctx .parties::after,.ctx .party::after,.ctx .core::before,.ctx .core::after{display:none}
  .ctx .core{margin:14px 0} .doc{padding:22px} .toolbar input{min-width:0;flex:1}
  .att li{flex-wrap:wrap} .att .tx{flex-basis:calc(100% - 40px)} .att .go{margin-left:40px}
  .day{grid-template-columns:1fr;gap:8px}
  table.t th:nth-child(n+3),table.t td:nth-child(n+3):not(.num){display:none}
}
@media print{
  .side,.drawer,.scrim,.pal,.toolbar,.menu,.pager,.att .go,main::before{display:none!important} .app{display:block} main{padding:0}
  body{background:#fff} .card{break-inside:avoid;box-shadow:none}
}

.interaction-diagram{margin:12px 0 24px;padding:12px;border:1px solid var(--line);border-radius:12px;background:var(--paper);overflow-x:auto}
.interaction-diagram svg{display:block;width:100%;min-width:540px;height:auto;font-family:var(--sans)}
.interaction-link{margin-top:8px;padding:0;border:0;background:none;color:var(--accent);font:600 13px var(--sans);text-decoration:underline;text-underline-offset:3px;cursor:pointer}

.interaction-heading{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-top:24px}
.interaction-heading .lbl,.interaction-heading .interaction-link{margin:0}
.interaction-diagram svg{min-width:0}
.interaction-diagram svg g,.interaction-dialog svg g{font-family:var(--sans)}
.interaction-dialog{width:min(1100px,calc(100vw - 32px));max-width:calc(100vw - 32px);max-height:calc(100dvh - 32px);padding:0;background:var(--paper);color:var(--ink);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow-lg)}
.interaction-dialog[open]{display:flex;flex-direction:column}
.interaction-dialog::backdrop{background:rgba(0,0,0,.65)}
.interaction-dialog-head{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:18px 24px;border-bottom:1px solid var(--line)}
.interaction-dialog-head h2{margin:0;font-size:18px}
.interaction-dialog-head button{background:var(--hover);color:var(--ink);border:1px solid var(--line);border-radius:8px;padding:8px 12px;cursor:pointer}
.interaction-dialog-body{overflow:auto;padding:20px}
.interaction-dialog-body svg{display:block;width:100%;min-width:580px;height:auto}
@media print{.interaction-dialog,.interaction-heading .interaction-link{display:none!important}}

:is(.interaction-diagram,.interaction-dialog) svg > rect{fill:var(--paper)}
:is(.interaction-diagram,.interaction-dialog) svg > g{fill:var(--ink)}
:is(.interaction-diagram,.interaction-dialog) svg g > rect{fill:var(--hover);stroke:var(--line)}
:is(.interaction-diagram,.interaction-dialog) svg [stroke="#98a2b3"]{stroke:var(--faint)}
:is(.interaction-diagram,.interaction-dialog) svg [stroke="#101828"]{stroke:var(--ink)}
/* The bid workspace follows understanding, assessment, then preparation. */
.app{grid-template-columns:232px minmax(0,1fr)}
.side nav .group{font-size:10px;letter-spacing:.09em;text-transform:uppercase;padding-top:23px}
.side nav a{padding-block:10px;font-size:13px}
.side nav a.on{box-shadow:inset 2px 0 var(--cta)}
.dashboard{position:relative}
.dashboard>.crumb{font-size:11px;letter-spacing:.08em;text-transform:uppercase;margin-bottom:8px}
.dashboard>h1{font-size:32px;letter-spacing:-.04em;max-width:calc(100% - 180px)}
.dashboard>.sub{font-size:14px;line-height:1.6;margin-bottom:28px;max-width:65ch}
.dash-decision{position:absolute;top:31px;right:0;display:flex;align-items:center;gap:8px;margin:0;color:var(--mute);font-size:12px}
.dash-decision i{width:6px;height:6px;background:var(--cta);border-radius:50%}
.dash-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.dash-metric{display:flex;flex-direction:column;text-align:left;min-width:0;min-height:142px;padding:20px 22px;background:var(--paper);color:var(--ink);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow);cursor:pointer}
.dash-metric:hover{border-color:var(--faint)}
.dash-k{color:var(--mute);font-size:12px;line-height:1.5}
.dash-value{display:block;margin:5px 0 6px;font-size:35px;font-weight:650;line-height:1.3;letter-spacing:-.045em;white-space:nowrap}
.dash-value small{font-size:12px;font-weight:400;letter-spacing:0;margin-left:6px;color:var(--mute)}
.dash-s{font-size:11px;line-height:1.6;color:var(--mute)}
.dash-metric.good .dash-value,.dash-price-foot.good{color:var(--ok)}
.dash-metric.bad .dash-value,.dash-price-foot.bad{color:var(--bad)}
.dash-metric.warn .dash-value{color:var(--warn)}
.dash-card-head{display:flex;justify-content:space-between;align-items:baseline;gap:18px;margin-bottom:20px}
.dash-card-head h2{font-size:16px;line-height:1.4;letter-spacing:-.02em;margin:0}
.dash-card-head>a,.dash-section-head>a,.dash-chart-foot>a{font-size:12px;color:var(--ink);text-decoration:underline;text-decoration-color:var(--cta);text-underline-offset:4px;white-space:nowrap}
.dash-card-head>span{font-size:11px;color:var(--mute)}
.dash-price{margin-top:18px;padding:22px 24px 18px}
.dash-price .ruler-wrap{padding:8px 60px 38px}
.dash-price .ruler{margin-top:28px}
.dash-price .ruler .span{background:var(--cta)}
.dash-price-summary{display:none}
.dash-price-foot{border-top:1px solid var(--line);margin:8px 0 0;padding-top:12px;text-align:right;font-size:12px;font-weight:600}
.dash-section-head{display:flex;justify-content:space-between;align-items:baseline;gap:20px;margin:28px 0 14px}
.dash-section-head h2{font-size:20px;letter-spacing:-.025em;margin:0}
.dash-risk-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:1px solid var(--line);border-radius:12px;overflow:hidden;background:var(--paper);margin-bottom:18px}
.dash-risk-metrics .dash-metric{display:grid;grid-template-columns:auto minmax(0,1fr);grid-template-rows:auto auto;gap:0 15px;align-items:center;min-height:94px;padding:17px 22px;border:0;border-right:1px solid var(--line);border-radius:0;box-shadow:none}
.dash-risk-metrics .dash-metric:last-child{border-right:0}
.dash-risk-metrics .dash-metric:hover{background:var(--hover)}
.dash-risk-metrics .dash-value{grid-column:1;grid-row:1/3;margin:0;font-size:32px}
.dash-risk-metrics .dash-k{grid-column:2;grid-row:1;font-size:12px}
.dash-risk-metrics .dash-s{grid-column:2;grid-row:2;font-size:10px;margin-top:3px}
.dash-split{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:18px;align-items:start}
.dash-risk-chart,.dash-attention{padding:23px 24px;min-width:0}
.dash-legend{display:flex;flex-wrap:wrap;gap:16px;margin-bottom:20px;color:var(--mute);font-size:11px}
.dash-legend>span{display:flex;align-items:center;gap:6px}
.dash-legend i{width:7px;height:7px;background:var(--cta);border-radius:2px}
.dash-legend i.other{background:var(--faint)}
.dash-bars{display:grid;gap:15px}
.dash-bar-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.5fr) 22px;align-items:center;gap:14px;color:var(--ink);text-decoration:none;min-height:35px}
.dash-bar-row:hover{text-decoration:none}
.dash-bar-row:hover .dash-area-label{color:var(--ink);text-decoration:underline;text-underline-offset:3px}
.dash-area-label{font-size:12px;line-height:1.5;color:var(--mute);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.dash-bar-track{display:flex;gap:2px;height:10px;min-width:0}
.dash-bar-track i{display:block;background:var(--cta);height:100%;border-radius:2px}
.dash-bar-track i.other{background:var(--faint)}
.dash-bar-row>b{font-size:13px;text-align:right;font-weight:600}
.dash-chart-foot{display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px 16px;padding-top:14px;margin-top:20px;border-top:1px solid var(--line);font-size:10px;color:var(--mute)}
.dash-chart-foot>a{font-size:10px;white-space:normal}
.dash-attention ul{list-style:none;padding:0;margin:0}
.dash-attention li{display:flex;align-items:flex-start;gap:12px;padding:14px 0;border-top:1px solid var(--line)}
.dash-attention li:first-child{border-top:0;padding-top:0}
.dash-attention li>a{display:block;min-width:0;flex:1;color:var(--ink);text-decoration:none}
.dash-attention li>a:hover b{text-decoration:underline;text-underline-offset:3px}
.dash-attention li b{display:block;font-size:13px;font-weight:600;line-height:1.5;margin-bottom:4px}
.dash-attention li a>span{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;color:var(--mute);font-size:11px;line-height:1.65}
.dash-attention li>span:last-child{font-size:12px;color:var(--mute)}
.dash-attention-dot{width:5px;height:5px;border-radius:50%;background:var(--cta);flex-shrink:0;margin-top:7px}
.dash-attention details{border-top:1px solid var(--line);padding-top:12px;margin-top:4px}
.dash-attention summary{font-size:12px;color:var(--mute);cursor:pointer}
.dash-attention details ul{margin-top:16px}
.dash-attention details li a>span{display:block;overflow:visible}
.dash-empty{color:var(--mute);font-size:14px;line-height:1.7}
.project-journey{display:flex;justify-content:space-between;align-items:center;gap:18px;border-top:1px solid var(--line);padding:19px 0 0;margin-top:24px;margin-bottom:28px;font-size:13px}
.project-journey>span{font-weight:600;white-space:nowrap}
.project-journey>div{display:flex;align-items:center;flex-wrap:wrap;gap:12px;color:var(--faint)}
.project-journey a{color:var(--ink)}
.project-journey a[aria-current]{font-weight:700;text-decoration:underline;text-decoration-color:var(--cta);text-underline-offset:5px}
.dashboard .project-journey{margin-bottom:0}
.journey-next{display:flex;justify-content:flex-end;border-top:1px solid var(--line);padding-top:20px;margin-top:32px}
.journey-next>a{font-size:14px;font-weight:600}
.risk-browser{display:grid;grid-template-columns:270px minmax(0,1fr);gap:26px;margin-top:28px}
.risk-area-nav{padding:0;min-width:0;align-self:start;border:1px solid var(--line);border-radius:10px;overflow:hidden;flex:none}
.risk-area-nav a{display:block;padding:15px 17px;border-bottom:1px solid var(--line);border-radius:0;color:var(--ink);font-size:13px;line-height:1.5}
.risk-area-nav a:last-child{border-bottom:0}
.risk-area-nav b{font-weight:600}
.risk-area-nav a>span{display:block;color:var(--mute);font-size:11px;margin-top:5px}
.risk-area-nav a[aria-current]{background:var(--accent-soft);box-shadow:inset 2px 0 var(--cta)}
.risk-area-heading .crumb{margin-top:0;margin-bottom:8px}
.risk-area-heading h2{margin-top:0;font-size:24px;line-height:1.3;letter-spacing:-.03em}
.risk-question{padding:21px 23px;margin-bottom:16px}
.risk-question h3{margin:14px 0 10px;font-size:16px;line-height:1.6}
.risk-question h3>button{font:inherit;font-weight:600;line-height:inherit;text-align:left;color:var(--ink);background:none;border:0;padding:0;cursor:pointer}
.risk-question h3>button:hover{text-decoration:underline;text-underline-offset:4px}
.risk-question>p{font-size:13px;color:var(--mute);line-height:1.7}
.risk-question .assume{font-size:13px;line-height:1.7;margin-top:16px}
.risk-question .assume p{margin:5px 0 0}
.risk-work-details{padding:15px 18px;border:1px solid var(--line);border-radius:10px;margin-bottom:20px;background:var(--paper)}
.risk-work-details summary{cursor:pointer;font-size:13px;font-weight:600}
.risk-work{display:grid;gap:10px;margin-top:14px}
.risk-work>button{display:flex;align-items:center;gap:12px;width:100%;text-align:left;padding:15px;background:var(--paper);color:var(--ink);border:1px solid var(--line);border-radius:8px;cursor:pointer}
.risk-work b{font-size:13px;font-weight:600;flex:1}
.case-questions{border:1px solid var(--line);border-radius:10px;margin:20px 0;padding:15px}
.case-questions summary{font-size:13px;font-weight:600;cursor:pointer}
.case-questions p{font-size:12px}
.case-questions>button{display:flex;align-items:baseline;gap:10px;width:100%;text-align:left;border:0;border-top:1px solid var(--line);background:none;color:var(--ink);padding:12px 0;font:13px/1.6 var(--sans);cursor:pointer}
.case-questions>button .idc{flex-shrink:0}
@media(max-width:1250px){.dash-metric{padding:18px}.dash-value{font-size:29px}.dash-split{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr)}.dash-risk-metrics .dash-metric{padding:16px;gap:0 12px}.dash-risk-metrics .dash-value{font-size:28px}.risk-browser{grid-template-columns:230px minmax(0,1fr);gap:20px}}
@media(max-width:1050px){.dash-split{grid-template-columns:1fr}.dashboard>h1{max-width:none}.dash-decision{position:static;margin:-12px 0 22px}.risk-browser{grid-template-columns:1fr}.risk-area-nav{display:flex;overflow-x:auto}.risk-area-nav a{min-width:210px;max-width:260px;flex-shrink:0;border-right:1px solid var(--line);border-bottom:0}.risk-area-nav a[aria-current]{box-shadow:inset 0 -2px var(--cta)}.project-journey{align-items:flex-start;flex-direction:column;gap:12px}.dash-risk-metrics .dash-k{font-size:11px}}
@media(max-width:760px){.app{grid-template-columns:1fr}.dashboard>h1{font-size:28px}.dash-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.dash-metric{min-height:136px;padding:17px}.dash-value{font-size:30px}.dash-k{font-size:11px}.dash-s{font-size:10px}.dash-risk-metrics .dash-metric{display:flex;gap:4px;min-height:0;padding:15px 12px}.dash-risk-metrics .dash-value{order:-1;font-size:29px;margin:0 0 4px}.dash-risk-metrics .dash-k{font-size:10px}.dash-risk-metrics .dash-s{display:none}.dash-price,.dash-risk-chart,.dash-attention{padding:20px}.dash-price .ruler-wrap{display:none}.dash-price-summary{display:block;margin:0}.dash-price-summary>div{display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--line);padding:11px 0;font-size:12px}.dash-price-summary dt{color:var(--mute)}.dash-price-summary dd{margin:0;font-weight:600;white-space:nowrap}.dash-card-head{flex-wrap:wrap;gap:10px}.dash-card-head h2{font-size:15px}.dash-card-head>a{font-size:11px}.dash-bar-row{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr) 18px;gap:10px}.dash-area-label{font-size:11px;-webkit-line-clamp:3}.dash-section-head h2{font-size:19px}.dash-section-head>a{font-size:11px}.dash-attention li b{font-size:13px}.dash-chart-foot{font-size:10px}.project-journey>div{gap:9px;font-size:12px}.risk-area-heading h2{font-size:22px}.risk-question{padding:18px}.risk-question h3{font-size:15px}}
@media print{.dash-metric{break-inside:avoid}.dash-split{grid-template-columns:1fr 1fr}.dash-attention details{display:block}.project-journey,.journey-next,.risk-area-nav{display:none}.risk-browser{display:block}.dash-price .ruler-wrap{display:block}.dash-price-summary{display:none}}

.reader>div{min-width:0}
@media(max-width:1100px){.reader{grid-template-columns:minmax(0,1fr)}}
/* A roomy navigation rail, with a straight selection marker. */
.app{grid-template-columns:272px minmax(0,1fr)}
.side{overflow:hidden}
.side>.brand,.side>.search,.side>.foot{flex-shrink:0}
.side>nav{min-height:0;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:transparent transparent}
.side>nav:hover,.side>nav:focus-within{scrollbar-color:var(--faint) transparent}
.side>nav::-webkit-scrollbar{width:4px}
.side>nav::-webkit-scrollbar-track{background:transparent}
.side>nav::-webkit-scrollbar-thumb{background:transparent;border-radius:2px}
.side>nav:hover::-webkit-scrollbar-thumb,.side>nav:focus-within::-webkit-scrollbar-thumb{background:var(--faint)}
.side nav a{border-radius:6px}
.side nav a.on{box-shadow:none}
.side nav a.on::before{content:"";position:absolute;left:0;top:7px;bottom:7px;width:2px;background:var(--cta)}
@media(max-width:760px){.app{grid-template-columns:1fr}}

/* Page-specific metrics and evidence follow one consistent type and spacing system. */
.polished-page>h1{font-size:32px;line-height:1.25;letter-spacing:-.04em}
.polished-page>.crumb{font-size:11px;letter-spacing:.07em;text-transform:uppercase;margin-bottom:9px}
.polished-page>.sub{font-size:15px;line-height:1.7;max-width:68ch;margin-top:12px;margin-bottom:25px}
.polished-page>h2{font-size:21px;letter-spacing:-.025em;margin:30px 0 16px}
.page-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:25px 0}
.page-metric{display:flex;flex-direction:column;min-width:0;min-height:132px;padding:20px 22px;border:1px solid var(--line);border-radius:12px;background:var(--paper);color:var(--ink);text-decoration:none}
a.page-metric:hover{border-color:var(--faint);text-decoration:none}
.page-metric>span{font-size:12px;line-height:1.5;color:var(--mute)}
.page-metric>strong{font-size:35px;line-height:1.3;letter-spacing:-.04em;font-weight:650;margin:6px 0}
.page-metric>small{font-size:11px;color:var(--mute);line-height:1.5}
.project-journey+.page-metrics{margin-top:0}
.page-section-heading{display:flex;justify-content:space-between;align-items:baseline;gap:18px;margin:29px 0 15px}
.page-section-heading h2{font-size:20px;line-height:1.4;letter-spacing:-.025em;margin:0}
.page-section-heading>span{font-size:12px;color:var(--mute)}
.text-action{padding:0;border:0;background:none;color:var(--ink);font:600 12px/1.5 var(--sans);text-align:left;text-decoration:underline;text-decoration-color:var(--cta);text-underline-offset:4px;cursor:pointer}
.brief-abstract{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(230px,1fr);gap:28px;padding:26px;margin:24px 0}
.brief-abstract h2{font-size:18px;margin:0 0 16px}
.brief-abstract p{font-size:15px;line-height:1.9;color:var(--ink2);margin:0 0 15px}
.brief-abstract p:last-child{margin-bottom:0}
.brief-abstract aside{padding-left:26px;border-left:1px solid var(--line)}
.brief-abstract aside h3{font-size:15px;line-height:1.6;margin:0 0 10px}
.brief-abstract aside>a{display:block;padding:13px 0;color:var(--ink);text-decoration:none}
.brief-abstract aside>a b{font-size:13px;font-weight:600;display:block}
.brief-abstract aside>a span{display:block;font-size:12px;line-height:1.6;color:var(--mute);margin-top:4px}
.brief-abstract aside>a:hover b{text-decoration:underline;text-decoration-color:var(--cta);text-underline-offset:4px}
.brief-objectives{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}
.brief-objective{padding:0;align-self:start}
.brief-objective summary{display:flex;align-items:baseline;gap:12px;padding:18px 20px;cursor:pointer;list-style:none}
.brief-objective summary::-webkit-details-marker,.brief-exclusions summary::-webkit-details-marker{display:none}
.brief-objective summary strong{display:block;font-size:14px;line-height:1.6;font-weight:600}
.brief-objective summary small{display:block;color:var(--mute);font-size:11px;line-height:1.6;margin-top:7px}
.brief-index{font-size:11px;color:var(--faint);width:15px;flex-shrink:0}
.brief-plus{margin-left:auto;font-size:15px;color:var(--faint)}
.brief-objective[open] .brief-plus{transform:rotate(45deg)}
.brief-objective-body{padding:0 20px 20px;border-top:1px solid var(--line);margin-top:0}
.brief-objective-body p{font-size:13px;line-height:1.8;color:var(--ink2)}
.brief-objective-body .brief-statement{color:var(--ink);font-weight:600}
.brief-case-links{display:grid;gap:8px;margin:18px 0}
.brief-case-links button{background:var(--hover);color:var(--ink);border:1px solid var(--line);border-radius:6px;padding:10px 12px;text-align:left;font:13px/1.6 var(--sans);cursor:pointer}
.brief-exclusions{margin-top:22px;padding:20px 24px}
.brief-exclusions>summary{display:flex;justify-content:space-between;align-items:center;gap:20px;cursor:pointer;list-style:none}
.brief-exclusions h2{font-size:17px;margin:0}
.brief-exclusions summary>span{font-size:12px;color:var(--mute)}
.brief-exclusions ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 32px;padding-left:18px;margin:22px 0 0;font-size:13px;line-height:1.8;color:var(--ink2)}
.journey-next>a{display:inline-flex;align-items:center;gap:12px;background:var(--cta);color:var(--on-cta);padding:12px 18px;border-radius:8px;text-decoration:none;font-size:13px}
.context-intro{display:flex;justify-content:flex-end;font-size:12px;color:var(--mute);margin-bottom:16px}
.context-map{padding:28px 24px;overflow:visible}
.context-map .party{min-width:0;border-radius:10px;padding:0;background:var(--paper)}
.context-participant>summary{list-style:none;padding:20px 14px;display:flex;flex-direction:column;align-items:center;gap:9px;text-align:center;cursor:pointer;margin:0!important}
.context-participant>summary::-webkit-details-marker{display:none}
.context-participant strong{font:600 14px/1.5 var(--sans)}
.participant-symbol{display:grid;place-items:center;font-size:21px;color:var(--mute);width:34px;height:34px;border:1px solid var(--line);border-radius:8px;background:var(--hover)}
.participant-count{font-size:11px;color:var(--mute);font-weight:400}
.context-participant ul{font-size:12px;line-height:1.8;padding:0 18px 14px 30px}
.context-participant .text-action{margin:0 14px 14px}
.context-map .core{max-width:470px;margin-inline:auto;padding:25px;min-height:0}
.context-map .core b{font-size:23px;letter-spacing:-.03em;line-height:1.4}
.context-core-facts{display:flex;justify-content:center;gap:20px;margin-top:17px;font-size:12px}
.context-core-facts a{text-decoration:underline;text-decoration-color:var(--cta);text-underline-offset:4px}
.usecase-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.usecase-card{padding:21px 23px;display:flex;flex-direction:column;align-items:start;min-width:0}
.usecase-meta{display:flex;align-items:center;justify-content:space-between;gap:15px;width:100%;color:var(--mute);font-size:12px}
.usecase-card h3{margin:16px 0 10px;font-size:18px;line-height:1.45}
.usecase-card h3 button{font:inherit;font-weight:600;color:var(--ink);padding:0;border:0;background:none;text-align:left;cursor:pointer}
.usecase-card>p{font-size:13px;line-height:1.8;color:var(--mute);margin:0 0 18px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.usecase-counts{display:flex;flex-wrap:wrap;gap:10px 18px;font-size:11px;color:var(--mute);margin-top:auto}
.usecase-card .interaction-link{margin-top:20px;font-size:12px}
.requirement-list{display:grid;gap:13px}
.requirement-entry{padding:21px 24px}
.requirement-meta{display:flex;align-items:center;gap:9px;flex-wrap:wrap}
.requirement-entry h3{font-size:16px;line-height:1.7;margin:13px 0}
.requirement-entry h3 button{font:inherit;font-weight:600;background:none;border:0;color:var(--ink);text-align:left;padding:0;cursor:pointer}
.requirement-entry blockquote{margin:14px 0 18px;border-left:2px solid var(--line);padding:0 0 0 15px;color:var(--mute);font:14px/1.8 var(--serif);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.requirement-source{display:flex;justify-content:space-between;gap:12px;align-items:baseline;border-top:1px solid var(--line);padding-top:13px;margin-top:17px;font-size:11px;color:var(--mute)}
.question-tools>input{flex-basis:100%;margin-bottom:3px}
#qlist{gap:15px}
#qlist .q{padding:21px 24px}
#qlist .ask{font:600 16px/1.7 var(--sans)}
#qlist .assume{font-size:13px;line-height:1.8}
.finding-reason{margin-top:13px;font-size:13px;color:var(--mute)}
.finding-reason summary{cursor:pointer;font-size:12px;color:var(--ink2)}
.finding-reason p{line-height:1.8}
.decision-banner{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:23px 25px;border-left:3px solid var(--cta);border-top-left-radius:0;border-bottom-left-radius:0}
.decision-banner h2{font-size:19px;line-height:1.4;margin:0 0 9px}
.decision-banner p{font-size:13px;color:var(--mute);margin:0}
.decision-state{border:1px solid var(--line);background:var(--hover);padding:7px 11px;border-radius:5px;font-size:12px;white-space:nowrap}
.decision-criterion{margin-bottom:12px;padding:0}
.decision-criterion>summary{display:flex;justify-content:space-between;align-items:center;gap:22px;cursor:pointer;padding:19px 22px;list-style:none;font-size:14px;font-weight:600;line-height:1.7}
.decision-criterion summary::-webkit-details-marker{display:none}
.decision-criterion summary small{display:block;color:var(--mute);font-size:11px;font-weight:400;margin-top:4px}
.decision-criterion>div{border-top:1px solid var(--line);padding:4px 22px 20px}
.decision-criterion p{font-size:14px;line-height:1.9;color:var(--ink2)}
.tender-rules{margin-top:28px;padding:20px 24px}
.tender-rules>summary{display:flex;align-items:baseline;justify-content:space-between;gap:20px;cursor:pointer;list-style:none}
.tender-rules h2{font-size:18px;margin:0}
.tender-rules>summary>span{font-size:12px;color:var(--mute)}
.rule-entry{padding:15px 0;border-top:1px solid var(--line);margin-top:15px}
.rule-entry summary{display:flex;align-items:center;gap:18px;justify-content:space-between;font-size:14px;cursor:pointer;line-height:1.7}
.rule-entry blockquote{border-left:2px solid var(--cta);padding-left:16px;margin-left:0;font:14px/1.8 var(--serif);color:var(--ink2)}
.rule-entry cite{display:block;margin-top:10px}
.page-notes{padding:8px 24px;font-size:14px;color:var(--ink2);line-height:1.9}
.effort-chart{padding:7px 23px}
.effort-chart>button{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) 90px;align-items:center;gap:22px;width:100%;padding:19px 0;background:none;border:0;border-bottom:1px solid var(--line);color:var(--ink);text-align:left;cursor:pointer}
.effort-chart>button:last-child{border:0}
.effort-label b{font-size:14px;line-height:1.7;display:block;font-weight:600}
.effort-label small{font-size:11px;color:var(--mute);line-height:1.7;display:block;margin-top:7px}
.effort-bar{display:block;background:var(--line2);height:9px;border-radius:3px}
.effort-bar i{display:block;background:var(--cta);height:100%;border-radius:3px}
.effort-chart>button>strong{text-align:right;font-size:21px;letter-spacing:-.025em;font-weight:650}
.effort-chart>button>strong small{display:block;font-size:11px;color:var(--mute);font-weight:400;letter-spacing:0}
.delivery-window{margin-top:22px;padding:22px 25px;display:flex;justify-content:space-between;align-items:center;gap:25px}
.delivery-window h2{font-size:17px;margin:0 0 9px}
.delivery-window p{font-size:13px;color:var(--mute);margin:0}
.delivery-window>strong{font-size:34px;white-space:nowrap;letter-spacing:-.04em;font-weight:650}
.delivery-window>strong span{color:var(--faint);padding-inline:8px}
.delivery-window>strong small{display:block;color:var(--mute);font-size:11px;letter-spacing:0;text-align:right;font-weight:400}
.team-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}
.team-card{padding:21px 23px;text-align:left;color:var(--ink);font:inherit;cursor:pointer}
.team-card .crumb{font-size:11px;text-transform:uppercase;letter-spacing:.04em}
.team-card h3{font-size:17px;margin:8px 0}
.team-card p{font-size:13px;line-height:1.8;color:var(--mute);margin:0 0 18px}
.team-card>div{display:flex;gap:28px;border-top:1px solid var(--line);padding-top:15px}
.team-card>div>span{font-size:11px;color:var(--mute)}
.team-card b{font-size:22px;font-weight:600;letter-spacing:-.025em;display:block;color:var(--ink);margin-bottom:4px}
.compliance-overview{padding:22px 25px;margin-bottom:28px}
.compliance-overview .page-section-heading{margin-top:0}
.compliance-bar{display:flex;gap:3px;height:12px;border-radius:3px;overflow:hidden;margin:18px 0}
.compliance-bar .yes,.compliance-legend i.yes{background:var(--ok)}
.compliance-bar .partly,.compliance-legend i.partly{background:var(--warn)}
.compliance-bar .no,.compliance-legend i.no{background:var(--bad)}
.compliance-legend{display:flex;flex-wrap:wrap;gap:16px 28px}
.compliance-legend button{display:flex;align-items:center;gap:8px;padding:0;background:none;border:0;color:var(--mute);font:12px var(--sans);cursor:pointer}
.compliance-legend i{display:block;width:7px;height:7px;border-radius:2px}
.compliance-legend b{color:var(--ink);font-weight:600;margin-left:3px}
.compliance-list{display:grid;gap:13px}
.compliance-answer{padding:22px 24px}
.compliance-answer>p{font-size:15px;line-height:1.85;color:var(--ink);margin:14px 0}
.compliance-note{padding:13px 15px;border-left:2px solid var(--line);background:var(--hover);font-size:13px;line-height:1.8;color:var(--ink2);margin-bottom:18px}
.doc{line-height:1.9}
.doc p,.doc li{font-size:14px;line-height:1.9}
.document-library{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:0;margin:24px 0}
.document-library>a{display:grid;grid-template-columns:24px 1fr;gap:4px 12px;padding:17px 19px;background:var(--paper);border:1px solid var(--line);border-radius:9px;color:var(--ink);min-width:0}
.document-library>a[aria-current]{border-color:var(--faint);box-shadow:inset 2px 0 var(--cta)}
.document-symbol{grid-row:1/3;font-size:21px;color:var(--mute)}
.document-library strong{font-size:13px;font-weight:600;line-height:1.6}
.document-library a>span:last-child{font-size:10px;line-height:1.7;color:var(--mute)}
.document-preview{max-width:960px;margin:0 auto}
.document-preview>.docbar{margin-bottom:25px}
.document-private{text-transform:uppercase;letter-spacing:.08em;color:var(--warn);font-size:11px!important}
.history-timeline{display:grid;gap:19px;margin-top:25px}
.history-event{display:grid;grid-template-columns:125px minmax(0,1fr);gap:22px;align-items:start}
.history-date{font-size:12px;color:var(--mute);padding-top:20px}
.history-update{padding:0}
.history-update>summary{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:19px 23px;cursor:pointer;list-style:none}
.history-update summary strong{font-size:15px;font-weight:600;line-height:1.7}
.history-update summary small{display:block;color:var(--mute);font-size:12px;margin-top:5px}
.history-expand{color:var(--faint);font-size:18px}
.history-details{padding:3px 23px 22px;border-top:1px solid var(--line)}
.history-details>.chips{margin-top:18px;gap:8px}
.history-details h3{font-size:14px;margin:20px 0 10px}
.history-items{display:grid;gap:8px}
.history-items button{display:grid;grid-template-columns:90px minmax(0,1fr) auto;gap:13px;align-items:baseline;width:100%;padding:12px;background:var(--hover);color:var(--ink);border:1px solid var(--line);border-radius:6px;text-align:left;font:13px/1.7 var(--sans);cursor:pointer}
.history-items button>span,.history-items button>small{font-size:10px;color:var(--mute)}
.history-items b{font-weight:500}
.item-metrics{display:flex;gap:30px;border-block:1px solid var(--line);padding:15px 0;margin:20px 0}
.item-metrics>span{font-size:11px;color:var(--mute)}
.item-metrics b{display:block;font-size:25px;font-weight:600;color:var(--ink);letter-spacing:-.025em;margin-bottom:4px}
.rel button.ln{width:100%;background:none;border:0;text-align:left;font:inherit;cursor:pointer;color:var(--ink)}
.risk-area-nav{max-height:calc(100dvh - 160px);overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--faint) transparent}
@media(max-width:1180px){.page-metric{padding:18px}.page-metric>strong{font-size:30px}.brief-abstract{grid-template-columns:minmax(0,1.5fr) minmax(200px,1fr);padding:24px;gap:24px}.brief-abstract aside{padding-left:22px}.document-library{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:1050px){.brief-abstract{grid-template-columns:1fr}.brief-abstract aside{border-left:0;border-top:1px solid var(--line);padding:20px 0 0}.brief-abstract aside>a{display:inline-block;vertical-align:top;width:32%;padding-right:10px}.risk-area-nav{position:static;max-height:none;overflow-y:hidden}}
@media(max-width:760px){.polished-page>h1{font-size:28px}.polished-page>.sub{font-size:14px}.page-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.page-metric{min-height:125px;padding:17px}.page-metric>strong{font-size:30px}.page-metric>span{font-size:11px}.page-metric>small{font-size:10px}.brief-objectives,.usecase-grid,.team-grid{grid-template-columns:1fr}.brief-abstract{padding:21px}.brief-abstract p{font-size:14px}.brief-abstract aside>a{display:block;width:100%}.brief-exclusions>summary{align-items:start;flex-direction:column;gap:8px}.brief-exclusions ul{grid-template-columns:1fr}.page-section-heading{align-items:start;flex-wrap:wrap;gap:6px}.page-section-heading h2{font-size:19px}.brief-objective summary{padding:17px}.context-map{padding:21px 17px}.context-map .core{width:100%;max-width:none;padding:21px}.context-participant>summary{padding:15px}.usecase-card{padding:20px}.requirement-entry{padding:19px}.requirement-entry h3{font-size:15px}.requirement-source{align-items:start;flex-direction:column;gap:10px}.toolbar{gap:12px}.toolbar .seg{max-width:100%;overflow-x:auto;flex-shrink:1}.toolbar .seg button{white-space:nowrap}#qlist .q{padding:20px}#qlist .ask{font-size:15px}.decision-banner{align-items:start;flex-direction:column;padding:21px}.decision-criterion>summary{padding:18px;gap:12px;align-items:start;font-size:13px}.decision-criterion>div{padding-inline:18px}.decision-criterion p{font-size:13px}.tender-rules{padding:19px}.tender-rules>summary{flex-wrap:wrap}.effort-chart{padding:6px 18px}.effort-chart>button{grid-template-columns:minmax(0,1fr) 70px;gap:12px}.effort-bar{grid-column:1/-1;grid-row:2}.effort-chart>button>strong{grid-column:2;grid-row:1}.effort-label b{font-size:13px}.delivery-window{align-items:start;flex-direction:column;padding:20px}.delivery-window>strong small{text-align:left}.document-library{gap:10px}.document-library>a{grid-template-columns:1fr;padding:15px}.document-symbol{display:none}.document-library strong{font-size:12px}.document-library a>span:last-child{font-size:10px}.document-preview{padding:22px}.history-event{grid-template-columns:1fr;gap:8px}.history-date{padding-top:0}.history-update>summary{padding:18px}.history-update summary strong{font-size:14px}.history-items button{grid-template-columns:1fr;gap:4px}.history-details{padding:0 18px 18px}.compliance-overview{padding:20px}.compliance-answer{padding:20px}.compliance-answer>p{font-size:14px}.context-core-facts{gap:15px}.page-metric a{white-space:normal}}
@media print{.page-metrics{grid-template-columns:repeat(4,1fr)}.page-metric{break-inside:avoid}.brief-objective,.decision-criterion,.history-update{break-inside:avoid}.brief-abstract{grid-template-columns:1fr}.brief-abstract aside{display:none}.document-library{display:none}.risk-area-nav{max-height:none;position:static}}

/* Risk areas remain a stable workspace while only their findings change. */
.risk-menu{position:sticky;top:calc(var(--site-header-height,0px) + 20px);align-self:start;min-width:0;background:var(--page);z-index:20}
.risk-menu-toggle{display:none}
.risk-search{display:block;margin-bottom:10px}
.risk-search>span{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.risk-search input{width:100%;box-sizing:border-box;min-height:44px;padding:10px 12px;border:1px solid var(--line);border-radius:6px;background:var(--panel);color:var(--ink);font:13px/1.5 var(--sans)}
.risk-menu .risk-area-nav{position:static;display:block;max-height:calc(100dvh - var(--site-header-height,0px) - 120px);overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable}
.risk-menu .risk-area-nav a[hidden],.risk-search-empty[hidden]{display:none}
.risk-sequence{display:flex;align-items:center;justify-content:space-between;gap:12px;position:sticky;top:calc(var(--site-header-height,0px) + 12px);z-index:10;background:var(--page);padding:0 0 14px;margin-bottom:20px;border-bottom:1px solid var(--line);font-size:12px}
.risk-sequence a,.risk-sequence>span{display:flex;align-items:center;gap:6px;min-height:44px}
.risk-sequence a{font-weight:600;color:var(--ink);text-decoration:none}
.risk-sequence a:hover{text-decoration:underline;text-decoration-color:var(--cta);text-underline-offset:5px}
.risk-sequence>span{color:var(--mute);white-space:nowrap}
.risk-sequence>[aria-disabled]{opacity:.45}
.risk-step-short{display:none}
.risk-search-empty{font-size:12px;padding:12px}
@media(max-width:1050px){
 .risk-menu{top:var(--site-header-height,0px);padding:8px 0;background:var(--page)}
 .risk-menu-toggle{display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%;min-height:64px;padding:10px 14px;border:1px solid var(--line);border-radius:6px;background:var(--panel);color:var(--ink);text-align:left;font:inherit;cursor:pointer}
 .risk-menu-toggle small{display:block;color:var(--mute);font-size:10px;margin-bottom:3px}
 .risk-menu-toggle b{display:block;font-size:13px;line-height:1.4;font-weight:600}
 .risk-menu-toggle>span:last-child{font-size:20px;transition:transform .15s}
 .risk-menu-toggle[aria-expanded="true"]>span:last-child{transform:rotate(180deg)}
 #risk-menu-list{display:none;position:absolute;left:0;right:0;top:calc(100% - 4px);padding:12px;background:var(--panel);border:1px solid var(--line);border-radius:6px;box-shadow:var(--shadow-lg)}
 .risk-menu.is-open #risk-menu-list{display:block}
 .risk-menu .risk-area-nav{max-height:min(50dvh,420px);overflow-x:hidden;overflow-y:auto}
 .risk-menu .risk-area-nav a{min-width:0;max-width:none;border-right:0;border-bottom:1px solid var(--line);padding:12px 14px}
 .risk-menu .risk-area-nav a[aria-current]{box-shadow:inset 2px 0 var(--cta)}
 .risk-menu .risk-area-nav a>span{margin-top:3px}
 .risk-search input{font-size:16px}
 .risk-browser{gap:8px}
 .risk-sequence{top:calc(var(--site-header-height,0px) + 80px);gap:8px;font-size:11px;padding-bottom:6px;margin-bottom:18px}
 .risk-step-label{display:none}.risk-step-short{display:inline}
}
@media print{.risk-menu,.risk-sequence{display:none}}

.context-map button.context-participant{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;padding:20px 14px;color:var(--ink);font:inherit;cursor:pointer;min-height:128px}
.context-map button.context-participant:hover{border-color:var(--faint);background:var(--hover)}
.context-map .core,.context-map .core .tag,.context-core-facts a{color:#101828}
.context-core-facts a{text-decoration-color:#101828}
.document-library>a{position:relative}
.document-library>a[aria-current]{box-shadow:none}
.document-library>a[aria-current]::before{content:"";position:absolute;left:0;top:8px;bottom:8px;width:2px;background:var(--cta)}
.price-choice{display:flex;justify-content:space-between;align-items:center;gap:25px;padding:22px 25px;margin-top:22px}
.price-choice h2{font-size:18px;margin:0 0 8px}
.price-choice p{font-size:13px;line-height:1.7;color:var(--mute);margin:0}
.price-choice>strong{font-size:22px;font-weight:600;white-space:nowrap}
.price-facts{padding:8px 24px}
.price-facts dl{margin:0;display:grid;grid-template-columns:1fr 1fr;gap:0 30px}
.price-facts dl>div{display:flex;justify-content:space-between;align-items:baseline;gap:20px;padding:16px 0;border-bottom:1px solid var(--line)}
.price-facts dt{font-size:13px;color:var(--mute)}
.price-facts dd{font-size:15px;font-weight:600;margin:0}
.price-warning{padding:18px 23px;margin-bottom:12px}
.price-warning summary{font-size:14px;line-height:1.8;color:var(--ink2);cursor:pointer}
.price-warning .text-action{margin-top:14px}
.participant-actions{padding-left:20px;display:grid;gap:10px;font-size:14px;line-height:1.8;color:var(--ink2)}
.document-interaction>.text-action{margin-top:15px}
.document-interaction .interaction-diagram{margin-top:10px}
.doc pre{white-space:pre-wrap;overflow-wrap:anywhere}
@media(max-width:760px){.price-choice{flex-direction:column;align-items:start;padding:20px}.price-choice>strong{font-size:20px}.price-facts dl{grid-template-columns:1fr}.price-facts dl>div{gap:14px}.context-map button.context-participant{min-height:110px;padding:17px}.price-warning{padding:18px}}

.ruler-flat{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;padding-block:15px}.ruler-flat span{display:block;font-size:12px;color:var(--mute)}.ruler-flat b{font-size:22px;font-weight:600;display:block;margin-top:7px}

.toolbar select,.offer-mobile-nav select{background:var(--paper);color:var(--ink);border:1px solid var(--line);border-radius:7px;padding:9px 12px;font:13px var(--sans);max-width:100%;min-width:0}
.toolbar select option,.offer-mobile-nav select option{background:var(--paper);color:var(--ink)}
.offer-mobile-nav{display:none}
@media(max-width:1100px){.offer-mobile-nav{display:flex;align-items:center;gap:16px;padding:16px 18px;background:var(--paper);border:1px solid var(--line);border-radius:9px;margin-bottom:22px}.offer-mobile-nav label{font-size:12px;color:var(--mute);white-space:nowrap}.offer-mobile-nav select{width:100%}}
@media(max-width:760px){.offer-mobile-nav{align-items:start;flex-direction:column;gap:9px}.usecase-tools input{flex-basis:100%}.usecase-tools select{flex:1}}

/* Touch targets belong to the product viewer as well as the hosted presentation. */
@media(max-width:760px){
  .menu{min-width:44px;height:44px;position:sticky;top:calc(var(--site-header-height,0px) + 8px);z-index:19;box-shadow:0 3px 12px #00000012}
  .side nav a{min-height:44px;display:flex;align-items:center}
  .dhead button{width:44px;height:44px;flex-shrink:0}
  .interaction-dialog-head button{min-height:44px;padding-inline:14px}
  .toolbar input,.toolbar select,.usecase-filters input,.usecase-filters select{min-height:44px;font-size:16px}
  .seg button{min-height:44px}
}
@media(max-width:400px){.dash-metrics .dash-value small{display:block;margin:0;font-size:11px;line-height:1.3}}


.nav-close{display:none}
.nav-scrim[hidden]{display:none}
.nav-scrim{position:fixed;z-index:24;inset:var(--site-header-height,0px) 0 0;border:0;background:rgba(11,16,32,.45);padding:0;cursor:pointer}
html.nav-open{overflow:hidden}
@media(max-width:760px){
  .side .brand{position:relative;padding-right:54px}
  .nav-close{position:absolute;right:5px;top:8px;display:grid;place-items:center;width:44px;height:44px;border:0;border-radius:8px;background:transparent;color:var(--ink);cursor:pointer}
  .side .search input,.side .foot button{min-height:44px}
  .side nav{overscroll-behavior:contain}
}

