/* /trust page-local rules (system gaps are listed in the builder's report) */

/* ── HS-TRUST-01, the verification path: set in HTML, SVG only for the tick ── */
.trv-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));row-gap:0;
  grid-template-areas:"rev path enc" "down hs meas" "insp insp build"}
.trv-rev{grid-area:rev;align-self:start;position:relative;z-index:1;background:linear-gradient(var(--nd-bg),var(--nd-bg)),var(--plate)}
.trv-path{grid-area:path;display:flex;flex-direction:column;justify-content:flex-start;gap:16px;padding:30px 0 0}
.trv-path .cx{padding:0;min-width:0}
.trv-back i::after{content:none}
.trv-dim{display:flex;align-items:center;gap:10px;padding:0 10px;font:600 14px/1.3 var(--f-sans);letter-spacing:.02em;color:var(--warn);white-space:nowrap}
.trv-dim::before,.trv-dim::after{content:"";flex:1 1 auto;height:9px;border-top:1.5px dashed var(--warn)}
.trv-dim::before{border-left:1.5px solid var(--warn)}
.trv-dim::after{border-right:1.5px solid var(--warn)}
.trv-enc{grid-area:enc}
.trv-tick{display:inline-block;width:16px;height:16px;margin-right:8px;vertical-align:-3px;fill:none;stroke:currentColor;stroke-width:2}
.trv-down{grid-column:1;grid-row:1/3;justify-self:start;width:0;margin:24px 0 0 36px;border-left:1.5px solid var(--line-c)}
.trv-hs{grid-area:hs;align-self:center;margin:30px 20px}
.trv .trv-meas{grid-area:meas;flex-direction:row;justify-content:flex-start;align-items:center;gap:12px;min-height:120px;padding:0 0 0 calc(50% - 1px)}
.trv .trv-meas i{width:1.5px;min-width:0;height:auto;align-self:stretch;order:-1}
.trv .trv-meas i::after{right:auto;left:-4.5px;top:-1px;border:5.25px solid transparent;border-bottom:8px solid var(--line-c);border-top:0}
.trv .trv-meas b{color:var(--ok)}
.trv-insp{grid-area:insp;position:relative;display:flex;align-items:center;justify-content:center;margin-left:36px;min-height:96px}
.trv-insp::before{content:"";position:absolute;left:0;top:0;right:0;height:50%;border-left:1.5px solid var(--line-c);border-bottom:1.5px solid var(--line-c)}
.trv-insp::after{content:"";position:absolute;right:-1px;top:calc(50% - 4.5px);border:5.25px solid transparent;border-left:8px solid var(--line-c);border-right:0}
.trv-insp b{position:relative;z-index:1;margin-top:1px;padding:4px 12px;background:var(--plate);font:600 14px/1.3 var(--f-sans);letter-spacing:.02em;color:var(--label)}
.trv-build{grid-area:build;align-self:center}
.trv .bd-foot{margin-top:30px}
/* phone: one column in reading order. The inspect line keeps its desktop route: a rail from "Your security team"
   down the left gutter, round the foot of the build and up into it. HiveSilo comes last, after a clear gap,
   with no line touching it ("no connection into the loop"). */
@container (max-width:719px){
  .trv-grid{grid-template-columns:18px minmax(0,1fr);grid-template-areas:"rev rev" "down path" "down enc" "down meas" "down build" "insp insp" "hs hs"}
  .trv-down{grid-area:down;margin:0 0 0 8px}
  .trv-path{gap:0}
  .trv .cx{flex-direction:row;justify-content:flex-start;align-items:center;gap:12px;min-height:56px;padding:6px 0 6px 22px;text-align:left}
  .trv .cx i{width:1.5px;min-width:0;height:44px;order:-1}
  .trv .cx b{max-width:none}
  .trv .trv-out i::after{right:auto;top:auto;bottom:-1px;left:-4.5px;border:5.25px solid transparent;border-top:8px solid var(--line-c);border-bottom:0}
  .trv .trv-back i::before{content:"";position:absolute;left:-4.5px;top:-1px;border:5.25px solid transparent;border-bottom:8px solid var(--line-c);border-top:0}
  .trv .trv-meas{min-height:56px;padding-left:22px}
  .trv .trv-meas i{align-self:auto;height:44px}
  .trv-dim{padding:6px 0 10px}
  .trv-insp{justify-content:flex-start;margin:0;min-height:60px;padding:0 0 18px 52px}
  .trv-insp::before{left:8px;top:0;bottom:12px;right:auto;width:32px;height:auto;border-left:1.5px solid var(--line-c);border-right:1.5px solid var(--line-c);border-bottom:1.5px solid var(--line-c)}
  .trv-insp::after{right:auto;left:34px;top:-1px;border:5.25px solid transparent;border-bottom:8px solid var(--line-c);border-top:0}
  .trv-insp b{margin:0;padding:0;background:none}
  .trv-hs{margin:30px 0 0}
}

/* ── runtime receipts: five entries, sub-labels ── */
.tr-entries{grid-template-columns:repeat(5,minmax(0,1fr))}
.tr-entries li{padding:14px 8px 28px}
.tr-entries li p{font:600 15px/1.2 var(--f-sans);color:var(--head)}
.tr-entries li .tr-e{margin-top:8px;font:500 14.5px/1.3 var(--f-sans);color:var(--body)}
.tr-entries li.next p{color:var(--label)}
.tr-lines{display:block;width:56%;height:11px;margin:12px auto 0;border-top:1.5px solid var(--nd-bd);border-bottom:1.5px solid var(--nd-bd)}
@container (max-width:560px){ .tr-entries{grid-template-columns:repeat(2,minmax(0,1fr))} }

/* ── the boundary: three guarantees with their instruments ── */
.tr-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:44px;padding-top:26px;border-top:1px solid var(--rule)}
.tr-stat{display:flex;flex-direction:column}
.tr-n{font-family:var(--f-head);font-weight:450;font-size:64px;line-height:1;letter-spacing:-.015em;color:var(--head);font-variant-numeric:lining-nums}
.tr-n .u{font:600 19px/1 var(--f-sans);letter-spacing:.02em;color:var(--acc);margin-left:.2em}
.tr-t{margin-top:12px;font:600 16.5px/1.4 var(--f-sans);color:var(--head)}
.tr-q{margin-top:4px;font:500 15px/1.4 var(--f-sans);color:var(--label)}
.tr-m{margin-top:auto;padding-top:26px}
.tr-bar{position:relative;height:8px;border-radius:2px;background:color-mix(in srgb,var(--line-c) 20%,transparent)}
.tr-bar i{position:absolute;left:-5px;top:-3px;width:14px;height:14px;border-radius:50%;background:var(--ok);box-shadow:0 0 0 3px var(--bg)}
.tr-full i{left:0;top:0;right:0;width:auto;height:100%;border-radius:2px;box-shadow:none;opacity:.8}
.tr-ends{display:grid;grid-template-columns:1fr auto 1fr;gap:10px;margin-top:10px;font:500 14px/1.3 var(--f-sans);color:var(--label)}
.tr-ends span:nth-child(2){text-align:center}
.tr-ends span:last-child{text-align:right}
.tr-route{display:flex;justify-content:space-between;margin:0 0 10px}
.tr-okl{color:var(--ok)!important;font:600 14px/1.3 var(--f-sans)}
.tr-m3 .tr-okl{margin-bottom:10px}
.tr-line{position:relative;height:2px;margin:6px 7px 0;background:var(--line-c)}
.tr-line::before,.tr-line::after{content:"";position:absolute;top:-6px;width:14px;height:14px;border-radius:50%}
.tr-line::before{left:-7px;background:var(--bg);border:1.5px solid var(--line-c)}
.tr-line::after{right:-7px;background:var(--ok)}
.tr-never{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:18px;padding-top:12px;border-top:1.5px dashed color-mix(in srgb,var(--warn) 70%,transparent);font:600 14px/1.3 var(--f-sans);color:var(--warn)}
.tr-never svg{width:14px;height:14px;flex:none;fill:none;stroke:currentColor;stroke-width:2}

/* ── reading helpers ── */
.tr-verdict{margin-top:26px;padding-top:22px;border-top:1px solid var(--rule)}
.tr-rule{margin-top:56px;max-width:34em}
.tr-ev p + p{margin-top:12px}
.brief .lede a{color:var(--head);text-underline-offset:4px}

@media (max-width:1199px){ .tr-stats{column-gap:30px} .tr-n{font-size:54px} }
@media (max-width:899px){ .tr-stats{grid-template-columns:minmax(0,1fr);row-gap:40px} .tr-m{padding-top:20px} }
/* a stacked table keeps its caption full width on a phone */
@media (max-width:699px){ .tbl.stack caption{display:block;width:auto} }
