/*
 * HJ Master Detail R3 — discipline visual variants
 *
 * Loaded after hj-master-entry.css. Every rule is opt-in and scoped to a
 * Master-detail body carrying data-hj-entry-discipline. Pages without the
 * R3 marker retain the established visual system unchanged.
 */

body[data-hj-master-entry][data-hj-entry-discipline] {
  --me-r3-accent: #63def4;
  --me-r3-accent-rgb: 99, 222, 244;
  --me-r3-secondary: #8eafff;
  --me-r3-secondary-rgb: 142, 175, 255;
  --me-r3-bg: #06111c;
  --me-r3-bg-deep: #030a12;
  --me-r3-panel: 8, 27, 41;
  --me-r3-line: rgba(var(--me-r3-accent-rgb), 0.2);
  --me-r3-line-strong: rgba(var(--me-r3-accent-rgb), 0.52);
  --me-r3-radius: 20px;
  --me-accent: var(--me-r3-accent);
  --me-accent-rgb: var(--me-r3-accent-rgb);
  --me-bg: var(--me-r3-bg);
  --me-bg-deep: var(--me-r3-bg-deep);
  --me-line: var(--me-r3-line);
  --me-line-strong: var(--me-r3-line-strong);
  overflow-x: clip;
  background:
    radial-gradient(circle at 84% 4%, rgba(var(--me-r3-secondary-rgb), 0.1), transparent 32rem),
    radial-gradient(circle at 12% 32%, rgba(var(--me-r3-accent-rgb), 0.075), transparent 27rem),
    linear-gradient(180deg, var(--me-r3-bg) 0%, var(--me-r3-bg-deep) 100%);
}

body[data-hj-master-entry][data-hj-entry-discipline="security"] {
  --me-r3-accent: #57e4f3;
  --me-r3-accent-rgb: 87, 228, 243;
  --me-r3-secondary: #ff687d;
  --me-r3-secondary-rgb: 255, 104, 125;
  --me-r3-bg: #06131b;
  --me-r3-bg-deep: #02090f;
  --me-r3-panel: 6, 26, 36;
  --me-r3-radius: 12px;
}

body[data-hj-master-entry][data-hj-entry-discipline="access"] {
  --me-r3-accent: #ffbd5d;
  --me-r3-accent-rgb: 255, 189, 93;
  --me-r3-secondary: #62e2b5;
  --me-r3-secondary-rgb: 98, 226, 181;
  --me-r3-bg: #12130f;
  --me-r3-bg-deep: #090b09;
  --me-r3-panel: 29, 29, 21;
  --me-r3-radius: 8px;
}

body[data-hj-master-entry][data-hj-entry-discipline="ict"] {
  --me-r3-accent: #62afff;
  --me-r3-accent-rgb: 98, 175, 255;
  --me-r3-secondary: #42edf2;
  --me-r3-secondary-rgb: 66, 237, 242;
  --me-r3-bg: #071425;
  --me-r3-bg-deep: #020915;
  --me-r3-panel: 8, 29, 53;
  --me-r3-radius: 14px;
}

body[data-hj-master-entry][data-hj-entry-discipline="av"] {
  --me-r3-accent: #bd8cff;
  --me-r3-accent-rgb: 189, 140, 255;
  --me-r3-secondary: #ff78c7;
  --me-r3-secondary-rgb: 255, 120, 199;
  --me-r3-bg: #140d22;
  --me-r3-bg-deep: #080611;
  --me-r3-panel: 31, 18, 48;
  --me-r3-radius: 26px;
}

body[data-hj-master-entry][data-hj-entry-discipline="automation"] {
  --me-r3-accent: #4de0a5;
  --me-r3-accent-rgb: 77, 224, 165;
  --me-r3-secondary: #b8e765;
  --me-r3-secondary-rgb: 184, 231, 101;
  --me-r3-bg: #081912;
  --me-r3-bg-deep: #030c08;
  --me-r3-panel: 10, 35, 25;
  --me-r3-radius: 22px;
}

body[data-hj-master-entry][data-hj-entry-discipline="electrical"] {
  --me-r3-accent: #ffd15e;
  --me-r3-accent-rgb: 255, 209, 94;
  --me-r3-secondary: #ff8154;
  --me-r3-secondary-rgb: 255, 129, 84;
  --me-r3-bg: #17140c;
  --me-r3-bg-deep: #0b0905;
  --me-r3-panel: 36, 30, 15;
  --me-r3-radius: 4px;
}

body[data-hj-master-entry][data-hj-entry-discipline="life-safety"] {
  --me-r3-accent: #ff6e68;
  --me-r3-accent-rgb: 255, 110, 104;
  --me-r3-secondary: #ffd274;
  --me-r3-secondary-rgb: 255, 210, 116;
  --me-r3-bg: #180d0e;
  --me-r3-bg-deep: #0b0506;
  --me-r3-panel: 40, 19, 20;
  --me-r3-radius: 6px;
}

body[data-hj-master-entry][data-hj-entry-discipline="special"] {
  --me-r3-accent: #67ddff;
  --me-r3-accent-rgb: 103, 221, 255;
  --me-r3-secondary: #ed78ff;
  --me-r3-secondary-rgb: 237, 120, 255;
  --me-r3-bg: #0d1023;
  --me-r3-bg-deep: #050711;
  --me-r3-panel: 18, 23, 51;
  --me-r3-radius: 24px;
}

/* Shared R3 surface language. */
body[data-hj-master-entry][data-hj-entry-discipline] .me-page {
  position: relative;
  max-width: 100%;
  overflow-x: clip;
}

body[data-hj-master-entry][data-hj-entry-discipline] .me-page :is(img, video, svg, canvas, iframe) {
  max-width: 100%;
}

body[data-hj-master-entry][data-hj-entry-discipline] .me-hero {
  background:
    linear-gradient(118deg, rgba(var(--me-r3-accent-rgb), 0.07), transparent 42%),
    radial-gradient(circle at 82% 44%, rgba(var(--me-r3-secondary-rgb), 0.1), transparent 29rem);
}

body[data-hj-master-entry][data-hj-entry-discipline] .me-hero::before {
  opacity: 0.88;
  background-image:
    linear-gradient(rgba(var(--me-r3-accent-rgb), 0.045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(var(--me-r3-accent-rgb), 0.045) 1px, transparent 1px);
}

body[data-hj-master-entry][data-hj-entry-discipline] .me-hero::after {
  border-color: rgba(var(--me-r3-secondary-rgb), 0.22);
  box-shadow:
    0 0 0 64px rgba(var(--me-r3-accent-rgb), 0.022),
    0 0 0 134px rgba(var(--me-r3-secondary-rgb), 0.015);
}

body[data-hj-master-entry][data-hj-entry-discipline] .me-hero h1 {
  text-shadow: 0 18px 60px rgba(var(--me-r3-accent-rgb), 0.09);
}

body[data-hj-master-entry][data-hj-entry-discipline] .me-button,
body[data-hj-master-entry][data-hj-entry-discipline] .me-route-grid a,
body[data-hj-master-entry][data-hj-entry-discipline] .me-siblings a,
body[data-hj-master-entry][data-hj-entry-discipline] .me-faq-list summary {
  transition:
    transform 180ms ease,
    border-color 180ms ease,
    background-color 180ms ease,
    box-shadow 180ms ease;
}

body[data-hj-master-entry][data-hj-entry-discipline] .me-button--primary {
  background: linear-gradient(135deg, var(--me-r3-accent), color-mix(in srgb, var(--me-r3-accent) 72%, white));
  box-shadow: 0 14px 40px rgba(var(--me-r3-accent-rgb), 0.2);
}

body[data-hj-master-entry][data-hj-entry-discipline] .me-button--secondary {
  border-color: rgba(var(--me-r3-accent-rgb), 0.38);
  background: rgba(var(--me-r3-panel), 0.58);
}

body[data-hj-master-entry][data-hj-entry-discipline] .me-signal {
  isolation: isolate;
  overflow: hidden;
  border-color: rgba(var(--me-r3-accent-rgb), 0.46);
  border-radius: var(--me-r3-radius);
  background:
    linear-gradient(145deg, rgba(var(--me-r3-accent-rgb), 0.115), transparent 52%),
    linear-gradient(325deg, rgba(var(--me-r3-secondary-rgb), 0.08), transparent 48%),
    rgba(var(--me-r3-panel), 0.9);
  box-shadow:
    0 32px 90px rgba(0, 0, 0, 0.32),
    inset 0 1px rgba(255, 255, 255, 0.035);
}

body[data-hj-master-entry][data-hj-entry-discipline] .me-signal::before {
  z-index: -1;
  border-color: rgba(var(--me-r3-accent-rgb), 0.1);
  border-radius: max(2px, calc(var(--me-r3-radius) - 7px));
}

body[data-hj-master-entry][data-hj-entry-discipline] .me-signal-head strong,
body[data-hj-master-entry][data-hj-entry-discipline] .me-signal li span,
body[data-hj-master-entry][data-hj-entry-discipline] .me-decision-ledger article > span,
body[data-hj-master-entry][data-hj-entry-discipline] .me-route-grid span,
body[data-hj-master-entry][data-hj-entry-discipline] .me-siblings span,
body[data-hj-master-entry][data-hj-entry-discipline] .me-focus-note h3 {
  color: var(--me-r3-accent);
}

body[data-hj-master-entry][data-hj-entry-discipline] .me-signal ol {
  isolation: isolate;
}

body[data-hj-master-entry][data-hj-entry-discipline] .me-signal li {
  z-index: 1;
}

body[data-hj-master-entry][data-hj-entry-discipline] .me-signal li:not(:last-child)::after {
  position: absolute;
  z-index: -1;
  top: calc(50% + 15px);
  bottom: calc(-50% + 15px);
  left: 15px;
  width: 1px;
  background: linear-gradient(var(--me-r3-accent), rgba(var(--me-r3-secondary-rgb), 0.24));
  content: "";
}

body[data-hj-master-entry][data-hj-entry-discipline] .me-signal li span {
  border-color: rgba(var(--me-r3-accent-rgb), 0.58);
  background: rgba(var(--me-r3-panel), 0.96);
  box-shadow: 0 0 20px rgba(var(--me-r3-accent-rgb), 0.13);
}

body[data-hj-master-entry][data-hj-entry-discipline] .me-section {
  position: relative;
  background: linear-gradient(180deg, rgba(var(--me-r3-panel), 0.08), rgba(var(--me-r3-panel), 0.025));
}

body[data-hj-master-entry][data-hj-entry-discipline] .me-section--alt {
  background:
    linear-gradient(105deg, rgba(var(--me-r3-accent-rgb), 0.045), transparent 42%),
    linear-gradient(180deg, rgba(var(--me-r3-panel), 0.5), rgba(var(--me-r3-panel), 0.16));
}

body[data-hj-master-entry][data-hj-entry-discipline] .me-focus-note {
  border-color: var(--me-r3-accent);
  border-radius: 0 calc(var(--me-r3-radius) * 0.65) calc(var(--me-r3-radius) * 0.65) 0;
  background:
    linear-gradient(90deg, rgba(var(--me-r3-accent-rgb), 0.11), transparent 72%),
    rgba(var(--me-r3-panel), 0.32);
}

body[data-hj-master-entry][data-hj-entry-discipline] .me-facts {
  border-color: var(--me-r3-accent);
  background: linear-gradient(180deg, rgba(var(--me-r3-accent-rgb), 0.055), transparent 55%);
}

body[data-hj-master-entry][data-hj-entry-discipline] .me-facts dl > div {
  padding-inline: 12px;
}

body[data-hj-master-entry][data-hj-entry-discipline] .me-application-list li::before {
  background: var(--me-r3-accent);
  box-shadow: 0 0 14px rgba(var(--me-r3-accent-rgb), 0.62);
}

body[data-hj-master-entry][data-hj-entry-discipline] .me-decision-ledger article {
  position: relative;
}

body[data-hj-master-entry][data-hj-entry-discipline] .me-decision-ledger article::after {
  position: absolute;
  right: 0;
  bottom: -1px;
  width: 12%;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(var(--me-r3-secondary-rgb), 0.62));
  content: "";
}

body[data-hj-master-entry][data-hj-entry-discipline] .me-boundary-notes {
  border-color: var(--me-r3-secondary);
  background: linear-gradient(180deg, rgba(var(--me-r3-secondary-rgb), 0.055), transparent 68%);
}

body[data-hj-master-entry][data-hj-entry-discipline] .me-boundary-notes p::before {
  border-color: var(--me-r3-secondary);
}

body[data-hj-master-entry][data-hj-entry-discipline] .me-route-grid a,
body[data-hj-master-entry][data-hj-entry-discipline] .me-siblings a {
  border-radius: calc(var(--me-r3-radius) * 0.72);
  background:
    linear-gradient(145deg, rgba(var(--me-r3-accent-rgb), 0.045), transparent 58%),
    rgba(var(--me-r3-panel), 0.46);
}

body[data-hj-master-entry][data-hj-entry-discipline] .me-route-grid a:hover,
body[data-hj-master-entry][data-hj-entry-discipline] .me-siblings a:hover {
  border-color: rgba(var(--me-r3-accent-rgb), 0.58);
  background:
    linear-gradient(145deg, rgba(var(--me-r3-accent-rgb), 0.12), transparent 64%),
    rgba(var(--me-r3-panel), 0.72);
  box-shadow: 0 16px 36px rgba(0, 0, 0, 0.16);
  transform: translateY(-2px);
}

body[data-hj-master-entry][data-hj-entry-discipline] .me-faq-list details[open] {
  background: linear-gradient(90deg, rgba(var(--me-r3-accent-rgb), 0.055), transparent 72%);
}

body[data-hj-master-entry][data-hj-entry-discipline] .me-faq-list summary {
  padding-left: 12px;
}

body[data-hj-master-entry][data-hj-entry-discipline] .me-final {
  background:
    radial-gradient(circle at 50% 110%, rgba(var(--me-r3-accent-rgb), 0.17), transparent 52%),
    linear-gradient(180deg, transparent, rgba(var(--me-r3-secondary-rgb), 0.035));
}

/* Security — camera field, radar rings and alert trace. */
body[data-hj-master-entry][data-hj-entry-discipline="security"] .me-hero::before {
  background-image:
    linear-gradient(rgba(var(--me-r3-accent-rgb), 0.034) 1px, transparent 1px),
    linear-gradient(90deg, rgba(var(--me-r3-accent-rgb), 0.034) 1px, transparent 1px),
    radial-gradient(circle at 82% 48%, transparent 0 74px, rgba(var(--me-r3-accent-rgb), 0.11) 75px 76px, transparent 77px 132px, rgba(var(--me-r3-secondary-rgb), 0.08) 133px 134px, transparent 135px);
  background-size: 42px 42px, 42px 42px, auto;
}

body[data-hj-master-entry][data-hj-entry-discipline="security"] .me-signal {
  border-top: 3px solid var(--me-r3-secondary);
  background:
    repeating-radial-gradient(circle at 83% 18%, transparent 0 31px, rgba(var(--me-r3-accent-rgb), 0.055) 32px 33px),
    linear-gradient(145deg, rgba(var(--me-r3-accent-rgb), 0.12), transparent 53%),
    rgba(var(--me-r3-panel), 0.94);
}

body[data-hj-master-entry][data-hj-entry-discipline="security"] .me-signal li span {
  border-radius: 3px;
}

body[data-hj-master-entry][data-hj-entry-discipline="security"] .me-focus-note {
  box-shadow: inset -1px 0 rgba(var(--me-r3-secondary-rgb), 0.17);
}

body[data-hj-master-entry][data-hj-entry-discipline="security"] .me-route-grid a:nth-child(4n + 1) {
  border-top-color: rgba(var(--me-r3-secondary-rgb), 0.55);
}

/* Access — controlled lane, threshold and credential nodes. */
body[data-hj-master-entry][data-hj-entry-discipline="access"] .me-hero::before {
  background-image:
    repeating-linear-gradient(90deg, transparent 0 84px, rgba(var(--me-r3-accent-rgb), 0.05) 85px 86px),
    linear-gradient(90deg, transparent 0 68%, rgba(var(--me-r3-secondary-rgb), 0.035) 68% 69%, transparent 69%);
  background-size: auto;
}

body[data-hj-master-entry][data-hj-entry-discipline="access"] .me-signal {
  border-left: 4px solid var(--me-r3-accent);
  background:
    linear-gradient(90deg, rgba(var(--me-r3-accent-rgb), 0.1) 0 2px, transparent 2px) 74px 0 / 86px 100% no-repeat,
    linear-gradient(145deg, rgba(var(--me-r3-accent-rgb), 0.09), transparent 55%),
    rgba(var(--me-r3-panel), 0.94);
}

body[data-hj-master-entry][data-hj-entry-discipline="access"] .me-signal li span {
  border-radius: 2px 10px 2px 10px;
}

body[data-hj-master-entry][data-hj-entry-discipline="access"] .me-decision-ledger article {
  border-left: 2px solid transparent;
  padding-left: 14px;
}

body[data-hj-master-entry][data-hj-entry-discipline="access"] .me-decision-ledger article:hover {
  border-left-color: var(--me-r3-accent);
  background: linear-gradient(90deg, rgba(var(--me-r3-accent-rgb), 0.055), transparent 32%);
}

body[data-hj-master-entry][data-hj-entry-discipline="access"] .me-route-grid a,
body[data-hj-master-entry][data-hj-entry-discipline="access"] .me-siblings a {
  border-left-width: 3px;
}

/* ICT — packet grid, port blocks and dashed transport. */
body[data-hj-master-entry][data-hj-entry-discipline="ict"] .me-hero::before {
  background-image:
    linear-gradient(rgba(var(--me-r3-accent-rgb), 0.045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(var(--me-r3-secondary-rgb), 0.045) 1px, transparent 1px);
  background-size: 28px 28px;
}

body[data-hj-master-entry][data-hj-entry-discipline="ict"] .me-signal {
  background:
    linear-gradient(rgba(var(--me-r3-secondary-rgb), 0.036) 1px, transparent 1px),
    linear-gradient(90deg, rgba(var(--me-r3-secondary-rgb), 0.036) 1px, transparent 1px),
    linear-gradient(145deg, rgba(var(--me-r3-accent-rgb), 0.12), transparent 55%),
    rgba(var(--me-r3-panel), 0.95);
  background-size: 22px 22px, 22px 22px, auto, auto;
}

body[data-hj-master-entry][data-hj-entry-discipline="ict"] .me-signal li:not(:last-child)::after {
  width: 2px;
  background: repeating-linear-gradient(to bottom, var(--me-r3-secondary) 0 4px, transparent 4px 8px);
}

body[data-hj-master-entry][data-hj-entry-discipline="ict"] .me-signal li span {
  border-radius: 7px;
  box-shadow:
    0 0 0 3px rgba(var(--me-r3-accent-rgb), 0.06),
    0 0 22px rgba(var(--me-r3-secondary-rgb), 0.13);
}

body[data-hj-master-entry][data-hj-entry-discipline="ict"] .me-facts dl > div {
  border-left: 1px dashed rgba(var(--me-r3-secondary-rgb), 0.23);
}

/* AV — stage glow, waveform rails and softer media surfaces. */
body[data-hj-master-entry][data-hj-entry-discipline="av"] .me-hero {
  background:
    radial-gradient(ellipse at 76% 38%, rgba(var(--me-r3-secondary-rgb), 0.16), transparent 31%),
    radial-gradient(ellipse at 62% 68%, rgba(var(--me-r3-accent-rgb), 0.11), transparent 36%);
}

body[data-hj-master-entry][data-hj-entry-discipline="av"] .me-signal {
  background:
    repeating-linear-gradient(90deg, transparent 0 13px, rgba(var(--me-r3-secondary-rgb), 0.045) 13px 15px, transparent 15px 24px),
    linear-gradient(145deg, rgba(var(--me-r3-accent-rgb), 0.13), transparent 54%),
    rgba(var(--me-r3-panel), 0.95);
  box-shadow:
    0 32px 90px rgba(0, 0, 0, 0.34),
    0 0 64px rgba(var(--me-r3-secondary-rgb), 0.07);
}

body[data-hj-master-entry][data-hj-entry-discipline="av"] .me-signal li span {
  border-radius: 50% 50% 50% 10px;
}

body[data-hj-master-entry][data-hj-entry-discipline="av"] .me-section--alt {
  background:
    radial-gradient(ellipse at 12% 50%, rgba(var(--me-r3-secondary-rgb), 0.065), transparent 34%),
    linear-gradient(180deg, rgba(var(--me-r3-panel), 0.5), rgba(var(--me-r3-panel), 0.14));
}

body[data-hj-master-entry][data-hj-entry-discipline="av"] .me-route-grid a:nth-child(even) {
  background:
    linear-gradient(145deg, rgba(var(--me-r3-secondary-rgb), 0.075), transparent 60%),
    rgba(var(--me-r3-panel), 0.48);
}

/* Automation — control-loop arcs, live-state nodes and organic corners. */
body[data-hj-master-entry][data-hj-entry-discipline="automation"] .me-hero::before {
  background-image:
    radial-gradient(circle at 82% 50%, transparent 0 68px, rgba(var(--me-r3-accent-rgb), 0.08) 69px 71px, transparent 72px 118px, rgba(var(--me-r3-secondary-rgb), 0.06) 119px 121px, transparent 122px),
    linear-gradient(120deg, transparent 0 62%, rgba(var(--me-r3-accent-rgb), 0.034) 62% 63%, transparent 63%);
  background-size: auto;
}

body[data-hj-master-entry][data-hj-entry-discipline="automation"] .me-signal {
  background:
    repeating-radial-gradient(circle at 86% 14%, transparent 0 27px, rgba(var(--me-r3-secondary-rgb), 0.047) 28px 29px),
    linear-gradient(145deg, rgba(var(--me-r3-accent-rgb), 0.12), transparent 56%),
    rgba(var(--me-r3-panel), 0.95);
}

body[data-hj-master-entry][data-hj-entry-discipline="automation"] .me-signal li span {
  border-radius: 10px 18px 10px 18px;
  background: linear-gradient(145deg, rgba(var(--me-r3-accent-rgb), 0.15), rgba(var(--me-r3-panel), 0.96));
}

body[data-hj-master-entry][data-hj-entry-discipline="automation"] .me-application-list li::before {
  width: 9px;
  height: 9px;
  border: 2px solid rgba(var(--me-r3-secondary-rgb), 0.55);
  background: var(--me-r3-bg);
}

body[data-hj-master-entry][data-hj-entry-discipline="automation"] .me-route-grid a,
body[data-hj-master-entry][data-hj-entry-discipline="automation"] .me-siblings a {
  border-radius: 18px 7px 18px 7px;
}

/* Electrical — busbars, inspection stripes and precise square geometry. */
body[data-hj-master-entry][data-hj-entry-discipline="electrical"] .me-hero::before {
  background-image:
    repeating-linear-gradient(90deg, transparent 0 55px, rgba(var(--me-r3-accent-rgb), 0.05) 56px 58px, transparent 59px 111px),
    linear-gradient(rgba(var(--me-r3-secondary-rgb), 0.036) 1px, transparent 1px);
  background-size: auto, 100% 48px;
}

body[data-hj-master-entry][data-hj-entry-discipline="electrical"] .me-signal {
  border-width: 2px;
  border-bottom-color: var(--me-r3-secondary);
  background:
    repeating-linear-gradient(90deg, transparent 0 34px, rgba(var(--me-r3-accent-rgb), 0.045) 34px 36px),
    linear-gradient(145deg, rgba(var(--me-r3-accent-rgb), 0.12), transparent 55%),
    rgba(var(--me-r3-panel), 0.96);
}

body[data-hj-master-entry][data-hj-entry-discipline="electrical"] .me-signal li span {
  border-width: 2px;
  border-radius: 0;
}

body[data-hj-master-entry][data-hj-entry-discipline="electrical"] .me-focus-note,
body[data-hj-master-entry][data-hj-entry-discipline="electrical"] .me-route-grid a,
body[data-hj-master-entry][data-hj-entry-discipline="electrical"] .me-siblings a {
  border-radius: 0;
}

body[data-hj-master-entry][data-hj-entry-discipline="electrical"] .me-decision-ledger article::before {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  width: 3px;
  background: repeating-linear-gradient(to bottom, var(--me-r3-accent) 0 7px, transparent 7px 13px);
  content: "";
  opacity: 0.34;
}

body[data-hj-master-entry][data-hj-entry-discipline="electrical"] .me-decision-ledger article {
  padding-left: 17px;
}

/* Life safety — high-legibility alert channel and monitored path. */
body[data-hj-master-entry][data-hj-entry-discipline="life-safety"] .me-hero {
  border-top: 4px solid var(--me-r3-accent);
  background:
    linear-gradient(120deg, rgba(var(--me-r3-accent-rgb), 0.11), transparent 38%),
    radial-gradient(circle at 80% 42%, rgba(var(--me-r3-secondary-rgb), 0.09), transparent 27rem);
}

body[data-hj-master-entry][data-hj-entry-discipline="life-safety"] .me-signal {
  border-left: 5px solid var(--me-r3-accent);
  border-top-color: var(--me-r3-secondary);
  background:
    repeating-linear-gradient(135deg, rgba(var(--me-r3-secondary-rgb), 0.055) 0 8px, transparent 8px 18px),
    linear-gradient(145deg, rgba(var(--me-r3-accent-rgb), 0.11), transparent 57%),
    rgba(var(--me-r3-panel), 0.96);
}

body[data-hj-master-entry][data-hj-entry-discipline="life-safety"] .me-signal li span {
  border-width: 2px;
  border-radius: 50%;
  color: #fff2f0;
}

body[data-hj-master-entry][data-hj-entry-discipline="life-safety"] .me-focus-note {
  border-left-width: 5px;
  border-radius: 0;
}

body[data-hj-master-entry][data-hj-entry-discipline="life-safety"] .me-boundary-notes {
  border-top-width: 4px;
}

body[data-hj-master-entry][data-hj-entry-discipline="life-safety"] .me-faq-list details[open] {
  box-shadow: inset 4px 0 var(--me-r3-accent);
}

/* Special systems — dual-spectrum glass for show control and bespoke systems. */
body[data-hj-master-entry][data-hj-entry-discipline="special"] .me-hero {
  background:
    radial-gradient(ellipse at 78% 32%, rgba(var(--me-r3-secondary-rgb), 0.14), transparent 30%),
    radial-gradient(ellipse at 65% 74%, rgba(var(--me-r3-accent-rgb), 0.12), transparent 35%),
    linear-gradient(120deg, rgba(var(--me-r3-accent-rgb), 0.045), transparent 48%);
}

body[data-hj-master-entry][data-hj-entry-discipline="special"] .me-signal {
  border-color: rgba(var(--me-r3-accent-rgb), 0.48);
  background:
    radial-gradient(circle at 82% 14%, rgba(var(--me-r3-secondary-rgb), 0.16), transparent 23%),
    radial-gradient(circle at 19% 84%, rgba(var(--me-r3-accent-rgb), 0.11), transparent 25%),
    linear-gradient(145deg, rgba(var(--me-r3-accent-rgb), 0.1), transparent 55%),
    rgba(var(--me-r3-panel), 0.9);
  box-shadow:
    0 34px 96px rgba(0, 0, 0, 0.36),
    0 0 58px rgba(var(--me-r3-secondary-rgb), 0.055),
    inset 0 1px rgba(255, 255, 255, 0.06);
}

body[data-hj-master-entry][data-hj-entry-discipline="special"] .me-signal li span {
  border-radius: 50%;
  background: linear-gradient(145deg, rgba(var(--me-r3-secondary-rgb), 0.15), rgba(var(--me-r3-panel), 0.95));
}

body[data-hj-master-entry][data-hj-entry-discipline="special"] .me-section--alt {
  background:
    linear-gradient(110deg, rgba(var(--me-r3-accent-rgb), 0.055), transparent 35%),
    linear-gradient(250deg, rgba(var(--me-r3-secondary-rgb), 0.05), transparent 38%),
    rgba(var(--me-r3-panel), 0.18);
}

body[data-hj-master-entry][data-hj-entry-discipline="special"] .me-route-grid a:nth-child(3n + 2) {
  border-color: rgba(var(--me-r3-secondary-rgb), 0.28);
}

/* Keyboard treatment remains unmistakable across all eight palettes. */
body[data-hj-master-entry][data-hj-entry-discipline] .me-page :is(a, button, input, select, textarea, summary):focus-visible {
  outline: 3px solid var(--me-r3-accent);
  outline-offset: 4px;
  box-shadow: 0 0 0 6px rgba(var(--me-r3-accent-rgb), 0.2);
}

body[data-hj-master-entry][data-hj-entry-discipline] .me-section--dossier {
  position: relative;
  overflow: clip;
  border-block: 1px solid rgba(var(--me-r3-accent-rgb), 0.15);
  background:
    linear-gradient(120deg, rgba(var(--me-r3-accent-rgb), 0.065), transparent 38%),
    rgba(var(--me-r3-panel), 0.16);
}

body[data-hj-master-entry][data-hj-entry-discipline] .me-section-kicker {
  display: inline-flex;
  margin-bottom: 10px;
  color: var(--me-r3-accent);
  font-size: 0.73rem;
  font-weight: 760;
  letter-spacing: 0.13em;
  text-transform: uppercase;
}

body[data-hj-master-entry][data-hj-entry-discipline] .me-field-dossier {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin-top: 30px;
  border-top: 1px solid rgba(var(--me-r3-accent-rgb), 0.26);
}

body[data-hj-master-entry][data-hj-entry-discipline] .me-field-dossier article {
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr);
  gap: 16px;
  padding: clamp(22px, 3vw, 34px);
  border-bottom: 1px solid rgba(var(--me-r3-accent-rgb), 0.18);
  background: linear-gradient(135deg, rgba(var(--me-r3-accent-rgb), 0.045), transparent 72%);
}

body[data-hj-master-entry][data-hj-entry-discipline] .me-field-dossier article:nth-child(odd) {
  border-right: 1px solid rgba(var(--me-r3-accent-rgb), 0.18);
}

body[data-hj-master-entry][data-hj-entry-discipline] .me-field-dossier article > span {
  color: var(--me-r3-accent);
  font-size: 0.72rem;
  font-weight: 780;
  letter-spacing: 0.12em;
}

body[data-hj-master-entry][data-hj-entry-discipline] .me-field-dossier h3 {
  margin: 0 0 9px;
  color: var(--me-text);
  font-size: clamp(1rem, 1.6vw, 1.18rem);
}

body[data-hj-master-entry][data-hj-entry-discipline] .me-field-dossier p {
  margin: 0;
  color: var(--me-muted);
  line-height: 1.72;
  text-wrap: pretty;
}

@media (max-width: 900px) {
  body[data-hj-master-entry][data-hj-entry-discipline] .me-hero::after {
    top: -15%;
    right: -30%;
    width: min(84vw, 620px);
  }

  body[data-hj-master-entry][data-hj-entry-discipline] .me-signal {
    width: 100%;
    max-width: 100%;
  }

  body[data-hj-master-entry][data-hj-entry-discipline] .me-field-dossier {
    grid-template-columns: 1fr;
  }

  body[data-hj-master-entry][data-hj-entry-discipline] .me-field-dossier article:nth-child(odd) {
    border-right: 0;
  }

  body[data-hj-master-entry][data-hj-entry-discipline] .me-facts {
    max-width: 680px;
  }

  body[data-hj-master-entry][data-hj-entry-discipline] .me-route-grid a,
  body[data-hj-master-entry][data-hj-entry-discipline] .me-siblings a {
    min-width: 0;
  }
}

@media (max-width: 640px) {
  body[data-hj-master-entry][data-hj-entry-discipline] .me-page :is(h1, h2, h3, p, a, strong, summary, dd, li) {
    overflow-wrap: anywhere;
  }

  body[data-hj-master-entry][data-hj-entry-discipline] .me-hero::after {
    top: 18%;
    right: -58%;
    width: 116vw;
    opacity: 0.58;
  }

  body[data-hj-master-entry][data-hj-entry-discipline] .me-signal-head {
    flex-direction: column;
    gap: 8px;
  }

  body[data-hj-master-entry][data-hj-entry-discipline] .me-signal li {
    grid-template-columns: 38px minmax(0, 1fr);
    gap: 11px;
  }

  body[data-hj-master-entry][data-hj-entry-discipline] .me-focus-note {
    padding: 19px 18px;
  }

  body[data-hj-master-entry][data-hj-entry-discipline] .me-facts dl > div {
    grid-template-columns: 86px minmax(0, 1fr);
    gap: 11px;
    padding-inline: 8px;
  }

  body[data-hj-master-entry][data-hj-entry-discipline] .me-decision-ledger article::after {
    width: 32%;
  }

  body[data-hj-master-entry][data-hj-entry-discipline] .me-route-grid a:hover,
  body[data-hj-master-entry][data-hj-entry-discipline] .me-siblings a:hover {
    transform: none;
  }
}

@media (prefers-reduced-motion: reduce) {
  body[data-hj-master-entry][data-hj-entry-discipline] .me-page *,
  body[data-hj-master-entry][data-hj-entry-discipline] .me-page *::before,
  body[data-hj-master-entry][data-hj-entry-discipline] .me-page *::after {
    scroll-behavior: auto !important;
    transition-duration: 0.01ms !important;
    transition-delay: 0ms !important;
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
  }

  body[data-hj-master-entry][data-hj-entry-discipline] .me-route-grid a:hover,
  body[data-hj-master-entry][data-hj-entry-discipline] .me-siblings a:hover,
  body[data-hj-master-entry][data-hj-entry-discipline] .me-button:hover {
    transform: none;
  }
}

@media (forced-colors: active) {
  body[data-hj-master-entry][data-hj-entry-discipline] .me-signal,
  body[data-hj-master-entry][data-hj-entry-discipline] .me-focus-note,
  body[data-hj-master-entry][data-hj-entry-discipline] .me-route-grid a,
  body[data-hj-master-entry][data-hj-entry-discipline] .me-siblings a {
    border: 1px solid CanvasText;
  }

  body[data-hj-master-entry][data-hj-entry-discipline] .me-page :is(a, button, input, select, textarea, summary):focus-visible {
    outline: 3px solid Highlight;
  }
}

@media print {
  body[data-hj-master-entry][data-hj-entry-discipline] {
    overflow: visible;
    background: #fff !important;
    color: #111 !important;
  }

  body[data-hj-master-entry][data-hj-entry-discipline] .me-page {
    overflow: visible;
  }

  body[data-hj-master-entry][data-hj-entry-discipline] .me-hero,
  body[data-hj-master-entry][data-hj-entry-discipline] .me-section,
  body[data-hj-master-entry][data-hj-entry-discipline] .me-section--alt,
  body[data-hj-master-entry][data-hj-entry-discipline] .me-final {
    background: #fff !important;
  }

  body[data-hj-master-entry][data-hj-entry-discipline] .me-hero::before,
  body[data-hj-master-entry][data-hj-entry-discipline] .me-hero::after,
  body[data-hj-master-entry][data-hj-entry-discipline] .me-decision-ledger article::before,
  body[data-hj-master-entry][data-hj-entry-discipline] .me-decision-ledger article::after {
    display: none !important;
  }

  body[data-hj-master-entry][data-hj-entry-discipline] .me-signal,
  body[data-hj-master-entry][data-hj-entry-discipline] .me-focus-note,
  body[data-hj-master-entry][data-hj-entry-discipline] .me-facts,
  body[data-hj-master-entry][data-hj-entry-discipline] .me-boundary-notes,
  body[data-hj-master-entry][data-hj-entry-discipline] .me-route-grid a,
  body[data-hj-master-entry][data-hj-entry-discipline] .me-siblings a,
  body[data-hj-master-entry][data-hj-entry-discipline] .me-faq-list details {
    border-color: #777 !important;
    background: #fff !important;
    box-shadow: none !important;
    break-inside: avoid;
  }

  body[data-hj-master-entry][data-hj-entry-discipline] .me-signal li span,
  body[data-hj-master-entry][data-hj-entry-discipline] .me-signal-head strong,
  body[data-hj-master-entry][data-hj-entry-discipline] .me-focus-note h3,
  body[data-hj-master-entry][data-hj-entry-discipline] .me-decision-ledger article > span,
  body[data-hj-master-entry][data-hj-entry-discipline] .me-route-grid span,
  body[data-hj-master-entry][data-hj-entry-discipline] .me-siblings span {
    color: #111 !important;
  }

  body[data-hj-master-entry][data-hj-entry-discipline] .me-signal li:not(:last-child)::after {
    background: #777 !important;
  }
}
