:root {
  --blueprint-ground:#081c30;
  --blueprint-line:#c6e6f7;
  --blueprint-border:#32556e;
}
#technology .precision-media,
#technology .structure-media,
#technology .envelope-media,
#technology .wet-module-media { background:var(--blueprint-ground); }
#technology .precision-media { border:1px solid var(--blueprint-border); }
#technology .precision-media>img,
#technology .finish-media>img { object-fit:contain;padding:16px 16px 44px; }
#technology .precision-media .media-tag,
#technology .compliance-art .media-tag {
  background:transparent;
  color:#d4eaf7;
  border-top:1px solid var(--blueprint-border);
  width:auto;
  right:16px;
  bottom:8px;
  padding:8px 0 0;
  font-size:12px;
  letter-spacing:.02em;
}
#technology .compliance-art { background:var(--blueprint-ground);color:var(--blueprint-line);border:1px solid var(--blueprint-border); }
#detail-body .blueprint-figure {
  background:var(--blueprint-ground);
  border:1px solid var(--blueprint-border);
  padding:20px;
}
#detail-body .blueprint-figure figcaption {
  color:#d4eaf7;
  border-top:1px solid var(--blueprint-border);
  padding-top:16px;
  margin-top:16px;
  font-size:14px;
}
#detail-body .illustrated-node {
  background:var(--bg);
  border:1px solid var(--line);
  gap:32px;
  padding:24px;
}
#detail-body .illustrated-node .node-legend>div { padding-block:16px; }
#detail-body .illustrated-node .node-legend p { font-size:15px; }
#detail-body .illustrated-node .node-legend p>strong { font-size:17px; }
#detail-body .illustrated-node .node-legend>div>b { font-size:13px;font-variant-numeric:tabular-nums; }
#detail-body .node-diagram:not(.illustrated-node) .node-stack {
  background:var(--blueprint-ground);
  border:1px solid var(--blueprint-border);
  padding:24px 16px;
  gap:12px;
}
#detail-body .node-stack .node-layer {
  background:#173a56;
  color:#e0f0f9;
  border:1px solid #628da9;
}
#detail-body .node-stack .node-layer:nth-child(even) { background:#214b6b; }
#detail-body .node-stack .node-layer:last-child { background:#0d2940; }
#detail-body .numbered-node { align-items:start; }
#detail-body .annotated-figure { padding:12px; }
.annotated-stage { position:relative;width:100%;isolation:isolate; }
#detail-body .illustrated-node .annotated-stage>img {
  position:absolute;max-height:none;object-fit:fill;background:transparent;
}
#detail-body .lining-node .annotated-figure { max-width:none;justify-self:stretch; }
.callout-overlay { position:absolute;inset:0;pointer-events:none; }
.callout-line {
  position:absolute;height:1px;background:#bde7ff;transform-origin:0 50%;
  box-shadow:0 0 0 1px #081c3090;
}
.callout-line.dimension-line { background:#fff;height:1.5px; }
.callout-line.interface-line {
  background:repeating-linear-gradient(to right,#bde7ff 0 5px,transparent 5px 9px);
  box-shadow:none;
}
.callout-badge.interface-badge { border-style:dashed; }
.callout-dot {
  position:absolute;width:5px;height:5px;border-radius:50%;
  background:#eef9ff;transform:translate(-50%,-50%);box-shadow:0 0 0 2px #081c30;
}
.callout-badge {
  position:absolute;display:grid;place-items:center;transform:translate(-50%,-50%);
  width:28px;height:28px;border:1px solid #bde7ff;border-radius:50%;
  background:#081c30;color:#effaff;font-size:12px;font-weight:700;
  line-height:1;font-variant-numeric:tabular-nums;
}
#detail-body .numbered-node .node-legend>div>b {
  display:grid;place-items:center;flex:0 0 28px;align-self:flex-start;
  height:28px;padding:0;border:1px solid var(--blueprint-border);
  border-radius:50%;background:var(--blueprint-ground);color:#effaff;
  font-size:12px;font-weight:700;
}
@media(max-width:700px) {
  #detail-body .illustrated-node { padding:20px;gap:24px; }
  #detail-body .blueprint-figure { padding:14px; }
  #technology .precision-media>img { padding:16px 16px 44px; }
  #detail-body .numbered-node { padding:12px;gap:24px; }
  #detail-body .annotated-figure { padding:14px; }
  .callout-badge { width:26px;height:26px; }
}
