/* Person composition is intentionally unchanged; only the instrument materials differ. */
.person-lens-hero{padding:16px 5.3% 17px!important}
.person-lens-hero .eyebrow{font-size:11px;letter-spacing:2.7px}
.person-lens-hero h1{font-size:clamp(29px,2.05vw,36px);line-height:1.13;letter-spacing:-.035em;margin:8px 0 9px}
.person-lens-hero .synthesis{font-size:clamp(15px,1vw,18px);line-height:1.42;max-width:680px}
body:has(.person-lens-hero) .history{padding-top:3px;padding-bottom:3px}
.lenses-compact .lens{height:clamp(122px,15vh,150px)}
.lenses-compact .lens-copy{padding-top:26px;padding-bottom:8px}
.lenses-compact .lens-copy>span{font-size:11px;min-height:2.8em;margin-top:3px}
.trace-section{margin:14px 3.5% 42px;overflow:hidden;color:#e7e6e0}
.trace-demo{font-size:12px;color:#d6aa75;margin:4px 0}
.trace-stage{position:relative;isolation:isolate;width:100%;height:auto;aspect-ratio:1916/821;min-height:540px;overflow:hidden;border:1px solid #64758142;background:radial-gradient(ellipse 17% 25% at 50% 22%,#87796120,transparent 85%),radial-gradient(ellipse 40% 44% at 49% 24%,#29404b6b,transparent 85%),radial-gradient(ellipse 36% 30% at 50% 49%,#18283146,transparent 100%),linear-gradient(105deg,#02070c,#09141c 32%,#0b171f 51%,#061017 75%,#02070b);box-shadow:inset 0 -70px 100px #0006,inset 0 0 120px #000b,inset 0 1px 0 #9fb2bb4d,0 18px 60px #000a}
.trace-stage:before{content:"";position:absolute;inset:0 0 21%;pointer-events:none;background:url('assets/trace-surface.svg') center/600px 600px;opacity:.27;mix-blend-mode:soft-light;mask-image:radial-gradient(ellipse at 50% 34%,#000,transparent 88%)}
.trace-material{position:absolute;inset:0;width:100%;height:79%;object-fit:fill;opacity:.27;mix-blend-mode:soft-light;pointer-events:none;mask-image:radial-gradient(ellipse 49% 59% at 50% 21%,#000,transparent 90%)}
.trace-stage:after{content:"";position:absolute;inset:0;pointer-events:none;z-index:5;background:linear-gradient(90deg,#090e12 0,#b9d4dc66 1px,#19272d 3px,transparent 4px calc(100% - 4px),#19272d calc(100% - 3px),#b9d4dc66 calc(100% - 1px),#090e12 100%),radial-gradient(ellipse at 50% 43%,transparent 34%,#0008 100%)}
.trace-motion{position:absolute;z-index:9;top:18px;right:22px;padding:6px 9px;border:1px solid #9c8d775e;background:#071016a8;border-radius:2px;color:#c9b9a1;font-size:10px;letter-spacing:.11em;text-transform:uppercase;white-space:nowrap}
.trace-motion:hover{background:#44372588;color:#f0d9b1}
/* The same measurement path and animated dash offsets drive these assembled plates. */
.trace-track{position:absolute;inset:0;width:100%;height:100%;overflow:visible;z-index:2}
.trace-track path{fill:none;vector-effect:non-scaling-stroke;stroke-linejoin:round}
.trace-shadow{stroke:#000c;stroke-width:25;filter:drop-shadow(0 8px 5px #000)}
.trace-outer{stroke:#040b11;stroke-width:22;filter:drop-shadow(0 1px 1px #889ca038)}
.trace-rail{stroke:url(#trace-metal);stroke-width:18;opacity:.36;stroke-dasharray:22 4}
.trace-inner{stroke:#02070b;stroke-width:16}
.trace-core{stroke:#1b2931;stroke-width:4}
.trace-plate{stroke:url(#trace-metal);stroke-width:20;stroke-dasharray:17 9}
.trace-plate-bevel{stroke:#15242d;stroke-width:18;stroke-dasharray:17 9;opacity:.85}
.trace-plate-inset{stroke:#030b11;stroke-width:14;stroke-dasharray:18 8}
.trace-roller{stroke:#77807b;stroke-width:4;stroke-dasharray:2 5 2 17;opacity:.34}
.trace-pin{stroke:#bdac8f;stroke-width:2;stroke-dasharray:1 25;stroke-linecap:round;opacity:.85}
.trace-plate-edge{stroke:#d6e1dc;stroke-width:20;stroke-dasharray:.7 25.3 .45 25.55 .9 25.1;opacity:.63}
.trace-plate-polish{stroke:#c7d6d4;stroke-width:19;stroke-dasharray:5 47;opacity:.28}
/* Short alternating knuckles expose pivot gaps around the unchanged bends.
   They inherit the original moving group's dash offset, as do straight links. */
.trace-bend-gap{stroke:#02090e;stroke-width:23}
.trace-bend-rail{stroke:#50616b;stroke-width:18.5;stroke-dasharray:11 2;opacity:.38}
.trace-bend-shell{stroke:url(#trace-metal);stroke-width:20;stroke-dasharray:8 5;stroke-linecap:butt}
.trace-bend-bevel{stroke:#3c4b52;stroke-width:18;stroke-dasharray:6 7}
.trace-bend-inset{stroke:#030a10;stroke-width:13;stroke-dasharray:8 5}
.trace-bend-joint{stroke:#141e25;stroke-width:17;stroke-dasharray:1.5 11.5}
.trace-bend-pin{stroke:#b7bbac;stroke-width:2.3;stroke-dasharray:1 12;stroke-linecap:round;opacity:.65}
.trace-glint{stroke:url(#trace-warm);stroke-width:21;stroke-dasharray:17 9;opacity:calc(.08 + .92 * var(--focus-intensity));filter:url(#trace-specular)}
/* Small luminous filament; the shade and lower lip remain solid metal. */
.trace-lamp{position:absolute;z-index:7;left:50%;top:0;width:65px;height:73px;transform:translateX(-50%);pointer-events:none;filter:drop-shadow(2px 7px 5px #000b)}
.trace-lamp:before{content:"";position:absolute;left:calc(50% - 1.5px);top:0;width:3px;height:35px;background:linear-gradient(90deg,#101b22,#c5d2d4 45%,#39484e 70%,#03090e);box-shadow:1px 0 1px #000}
.trace-lamp:after{content:"";position:absolute;left:4px;top:28px;width:57px;height:39px;clip-path:polygon(43% 0,57% 0,63% 16%,99% 87%,91% 94%,70% 99%,30% 99%,9% 94%,1% 87%,37% 16%);background:linear-gradient(0deg,#ecbc7b 0 1px,#0a1118 2px 4px,transparent 5px),linear-gradient(90deg,#02090f 2%,#48565e 17%,#14232c 29%,#94a4a9 48%,#b9c2bf 50%,#48565b 54%,#192731 75%,#02090e 94%)}
.trace-lamp i{position:absolute;z-index:2;left:calc(50% - 4px);top:62px;width:8px;height:3px;border-radius:50%;background:#fffef2;box-shadow:0 0 3px 2px #fff8df,0 0 9px 4px #ffdc9abb,0 0 24px 11px rgb(250 191 109 / calc(.1 + .16 * var(--focus-intensity)))}
.trace-lamp i:before{content:"";position:absolute;left:-19px;top:0;width:46px;height:2px;border-radius:50%;background:linear-gradient(90deg,#bd8c4980,#fff1c5 43%,#fffef1 50%,#ffe7ae 60%,#bd8c4980)}
.trace-cone{position:absolute;z-index:1;left:50%;top:63px;width:25%;height:30%;transform:translateX(-50%);background:radial-gradient(ellipse 17% 68% at 50% 0,#ffe2ac65,#c595591a 42%,transparent 100%);filter:blur(10px);opacity:calc(.16 + .36 * var(--focus-intensity));pointer-events:none}
.trace-cone:after{content:"";position:absolute;inset:0;background:url('assets/trace-surface.svg') center/280px;mix-blend-mode:soft-light;opacity:.7;mask-image:radial-gradient(ellipse at 50% 25%,#000,transparent 65%)}
.trace-focus-bloom{position:absolute;z-index:2;left:50%;top:18%;width:10%;height:12%;transform:translateX(-50%);border-radius:50%;background:radial-gradient(ellipse,#f8d7a83d,#dc9f5414 40%,transparent 70%);filter:blur(8px);opacity:calc(.04 + .68 * var(--focus-intensity));pointer-events:none}
/* 68px medallion: steel body, discontinuous bronze bevel, recessed face. */
.trace-nodes{position:absolute;inset:0;z-index:4;pointer-events:none}
.trace-node{position:absolute;display:grid;place-items:center;width:72px;height:72px;padding:0;border:0;background:transparent;transform:translate(-50%,-50%);pointer-events:auto;cursor:pointer;z-index:2}
.trace-node:before,.trace-node:after{content:"";position:absolute;left:50%;width:18px;height:13px;transform:translateX(-50%);background:linear-gradient(0deg,#0009,transparent 55%,#d9d8c899 94%,#080e13),linear-gradient(90deg,#02080d,#26343e 13%,#7f8d90 18%,#111e27 31%,#2a3840 73%,#6c6b61 86%,#02070b);border:1px solid #080e14;border-radius:2px;box-shadow:2px 3px 3px #000b,0 -1px 1px rgb(255 218 165 / calc(.12 + .65 * var(--node-light)));z-index:-1}
.trace-node:before{top:-9px;border-top-color:rgb(255 234 198 / calc(.22 + .78 * var(--node-light)));box-shadow:inset 0 1px 1px rgb(255 231 190 / calc(.12 + .85 * var(--node-light))),0 -1px 3px rgb(255 207 139 / calc(.55 * var(--node-light))),2px 3px 3px #000b}.trace-node:after{bottom:-9px}
.trace-medallion{position:relative;display:grid;place-items:center;width:68px;height:68px;box-sizing:content-box;border:1px solid #070c10;border-radius:50%;background:conic-gradient(from 12deg,#131c23 0deg,#65747a 42deg,#dae1dd 49deg,#15232a 62deg,#03090e 105deg,#716044 138deg,#c3ac83 152deg,#29343a 165deg,#030a10 210deg,#799099 263deg,#d3ded9 277deg,#26363e 289deg,#0b131a 320deg,#77848a 348deg,#131c23);box-shadow:2px 3px 0 #111c24,3px 4px 0 #67717575,5px 7px 9px #000e,-1px -1px 1px #c4d8dd55,0 0 calc(18px * var(--node-light)) rgb(245 175 86 / calc(.4 * var(--node-light)))}
.trace-medallion:before{content:"";position:absolute;inset:3px;border:1px solid #080d12;border-radius:50%;background:conic-gradient(from 8deg,#57462e,#e0c49a 45deg,#684f34 78deg,#151b1e 122deg,#bd8c59 160deg,#ffe4b1 175deg,#6f5130 190deg,#182027 248deg,#d2ad76 291deg,#fff0c8 308deg,#423b2e 328deg,#57462e);box-shadow:0 0 0 1px #03070a,inset 0 1px 1px #f4d4a099}
.trace-medallion:after{content:"";position:absolute;inset:0;border-radius:50%;pointer-events:none;background:conic-gradient(from -47deg,#fff9e9 0deg,#ffdf9c 27deg,#fff7dd 42deg,#d9964d88 65deg,transparent 83deg 189deg,#d09e67a6 212deg,transparent 246deg 323deg,#fff4da 359deg);mask-image:radial-gradient(circle,transparent 60%,#000 62% 65%,transparent 67% 68%,#000 69% 71%,transparent 73%);opacity:var(--node-light);filter:drop-shadow(0 0 2px #ffcf8780)}
.trace-fasteners{position:absolute;inset:1px;border-radius:50%;pointer-events:none;background:radial-gradient(ellipse 6px 1.2px at 47% 2%,rgb(255 247 226 / calc(.18 + .82 * var(--node-light))),transparent),radial-gradient(circle 1.6px at 5% 47%,#d7d8c9 32%,#101b22 55%,#000 78%,transparent 100%),radial-gradient(circle 1.6px at 94% 56%,#a6a89c 32%,#101b22 55%,#000 78%,transparent 100%);box-shadow:inset 0 1px 0 rgb(255 227 181 / calc(.08 + .72 * var(--node-light)))}
.trace-face{position:absolute;inset:7px;display:grid;place-items:center;border-radius:50%;border:1px solid #02080c;background:radial-gradient(ellipse at 34% 16%,rgb(149 162 163 / calc(.08 + .09 * var(--node-light))),transparent 53%),url('assets/trace-surface.svg') center/180px,radial-gradient(circle at 45% 38%,#1b2a34,#09141d 65%,#030b12);background-blend-mode:normal,soft-light,normal;box-shadow:inset 0 0 0 1px #7a898839,inset 1px 3px 5px #000c,0 1px 1px #e6c28e88}
.trace-face:after{content:"";position:absolute;inset:3px;border-radius:50%;border:1px solid #a4b5b21a;border-top-color:#02080ccc;box-shadow:inset 0 1px 2px #000b,0 1px 0 #b2a08023;pointer-events:none}
.trace-icon{font:24px Georgia,serif;color:color-mix(in srgb,#b0b8b8,#ffe6bc calc(12% + 78% * var(--node-light)));text-shadow:0 -1px 0 #02090d,0 1px 0 #e6dbc84a,1px 2px 2px #000,0 0 calc(8px * var(--node-light)) #ffcb8059;transform:translateY(-1px)}
.trace-node:hover .trace-face{box-shadow:inset 0 0 0 1px #c7b08c77,inset 1px 3px 5px #000c,0 1px 1px #e6c28e88}
.trace-node:focus-visible{outline:2px solid #f4d19b;outline-offset:5px;border-radius:50%}
.trace-node-label{position:absolute;top:76px;left:50%;transform:translateX(-50%);width:max-content;max-width:165px;padding:4px 7px;background:#071017ed;border:1px solid #ba9d716b;color:#e4d2b8;font-size:10px;line-height:1.2;opacity:0;pointer-events:none;white-space:normal}
.trace-node:hover .trace-node-label,.trace-node:focus-visible .trace-node-label{opacity:1}
.trace-patterns .trace-node-label{top:70px;width:clamp(72px,10vw,130px);max-width:none;padding:0;border:0;background:transparent;color:#c9b89d;opacity:1;font-size:clamp(10px,.75vw,11px);font-weight:500;line-height:1.22;text-align:center;text-shadow:0 1px 3px #000,0 2px 6px #000;overflow-wrap:normal;hyphens:none}
.trace-patterns .trace-node[aria-current="true"] .trace-node-label{color:#f5d6a7}
.trace-patterns .trace-icon{font-family:"Segoe UI Symbol","Noto Sans Symbols 2",Georgia,serif;font-size:25px}
.trace-browse{position:absolute;z-index:8;bottom:2px;left:50%;display:flex;gap:28px;transform:translateX(-50%)}
.trace-browse[hidden]{display:none}
.trace-browse button{width:34px;height:29px;padding:0;border:1px solid #ac815579;border-radius:3px;background:linear-gradient(#231c17b8,#0e1114d9);color:#d2aa75;font-size:13px;line-height:1;cursor:pointer;box-shadow:inset 0 1px 0 #e4bc8052,0 2px 5px #0008}
.trace-browse button:hover,.trace-browse button:focus-visible{border-color:#e4c08b;color:#ffe2b2;background:#332516e8}
.trace-browse button:focus-visible{outline:2px solid #f4d19b;outline-offset:2px}
.trace-centre{position:absolute;z-index:3;left:29%;right:29%;top:35%;bottom:25%;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;transform:translateY(-32px);transition:opacity .2s;overflow:visible}
.trace-centre.is-travelling{opacity:.6}
.trace-centre small{color:#bda381;text-transform:uppercase;letter-spacing:.24em;font-size:10px}
.trace-centre h3{font-family:Georgia,serif;font-size:clamp(20px,1.65vw,28px);font-weight:400;line-height:1.15;margin:10px 0 8px;color:#eee6d9;text-wrap:balance}
.trace-centre p{font-size:clamp(12px,.82vw,14px);line-height:1.42;max-width:530px;margin:0;color:#b5c0c3;overflow-wrap:anywhere}
.trace-centre a{font-size:11px;color:#e7c08b;border-bottom:1px solid #a88056;padding:5px 0;margin-top:12px}
/* Side-sensitive identity proof. Edge light follows the same opacity mix as the final focus approach. */
.trace-avatar{position:absolute;z-index:3;top:29%;width:11%;height:40%;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;pointer-events:none;opacity:0}
.trace-avatar-personal{left:1%;transform:translateY(-25px);opacity:calc(.8 * var(--personal-opacity));--avatar-edge:calc(.22 * var(--personal-opacity))}
.trace-avatar-professional{right:calc(1% + clamp(20px,1.8vw,30px));transform:translateY(-25px);opacity:calc(.8 * var(--professional-opacity));--avatar-edge:calc(.18 * var(--professional-opacity))}
.trace-avatar img{display:block;width:100%;height:calc(100% - 22px);object-fit:contain;object-position:center bottom;filter:brightness(.75) contrast(1.11) saturate(.8) drop-shadow(0 0 8px rgb(195 137 70 / var(--avatar-edge)));mask-image:linear-gradient(#000 70%,transparent 100%)}
.trace-avatar-personal img{filter:brightness(.75) contrast(1.11) saturate(.8) drop-shadow(0 0 2px rgb(232 177 109 / var(--avatar-edge))) drop-shadow(0 0 8px rgb(195 137 70 / var(--avatar-edge)))}
.trace-avatar-professional img{transform:scaleX(-1)}
.trace-avatar span{display:block;margin-top:3px;color:#c5ad8a;font-size:9px;letter-spacing:.28em;text-shadow:0 1px 3px #000;text-align:center}
.trace-patterns[data-trace-context-transition="professional-to-personal"] .trace-avatar-professional,
.trace-patterns[data-trace-context-transition="personal-to-professional"] .trace-avatar-personal{animation:trace-bust-out .42s ease-in-out}
.trace-patterns[data-trace-context-transition="professional-to-personal"] .trace-avatar-personal,
.trace-patterns[data-trace-context-transition="personal-to-professional"] .trace-avatar-professional{animation:trace-bust-in .42s ease-in-out}
@keyframes trace-bust-in{from{opacity:0}to{opacity:.8}}
@keyframes trace-bust-out{from{opacity:.8}to{opacity:0}}
/* Textured optical reflection: the engine's existing proximity value is the only driver. */
.trace-floor{position:absolute;left:0;right:0;bottom:0;height:21%;border-top:1px solid #9badb57d;background:radial-gradient(ellipse 56% 30% at 50% 0,#64808b25,transparent),linear-gradient(#12222cec,#040d15 50%,#02070c);box-shadow:0 -2px 8px #02070d,inset 0 1px 1px #c4d5d466;pointer-events:none;z-index:1;overflow:hidden}
.trace-floor:before{content:"";position:absolute;inset:0;background:url('assets/trace-surface.svg') center/430px 72px;opacity:.28;mix-blend-mode:soft-light;transform:perspective(220px) rotateX(34deg) scale(1.4);transform-origin:50% 0}
.trace-floor:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 18%,#8ea4ad1a 19%,transparent 20% 31%,#a6b3b520 32%,transparent 33% 68%,#a6b3b51c 69%,transparent 70% 80%,#8ea4ad1a 81%,transparent 82%);mask-image:linear-gradient(#0009,transparent 65%);filter:blur(3px)}
.trace-floor-spill{position:absolute;inset:0;background:radial-gradient(ellipse 13% 73% at 50% 0,#e5ad6435,transparent 88%);opacity:calc(.02 + .68 * var(--focus-intensity));filter:blur(9px)}
.trace-floor-reflection{position:absolute;inset:0;width:100%;height:100%;object-fit:fill;opacity:calc(.03 + .97 * var(--focus-intensity))}
@media(max-width:1100px){.trace-avatar{width:9%}}
@media(max-width:1100px){.trace-stage{min-height:450px}.trace-node{width:60px;height:60px}.trace-medallion{width:56px;height:56px}.trace-icon{font-size:20px}.trace-centre{left:26%;right:26%;top:31%;bottom:23%;transform:translateY(8px)}.trace-avatar{width:80px;top:32%;height:39%}.trace-avatar-professional{right:1%}}
@media(min-width:601px) and (max-width:1100px){.trace-patterns .trace-node-label{top:63px;font-size:10px}.trace-patterns .trace-icon{font-size:21px}}
@media(max-width:1100px){.trace-section{margin-inline:3%}.trace-stage{aspect-ratio:auto;min-height:0;padding:54px 16px 36px}.trace-track,.trace-cone,.trace-lamp,.trace-focus-bloom,.trace-floor,.trace-avatar{display:none}.trace-nodes{position:relative;display:grid;grid-template-columns:repeat(4,1fr);gap:11px;justify-items:center;pointer-events:auto}.trace-node{position:relative;left:auto!important;top:auto!important;transform:none;width:56px;height:56px}.trace-medallion{width:49px;height:49px}.trace-icon{font-size:18px}.trace-node:before,.trace-node:after{display:none}.trace-centre{position:relative;left:auto;right:auto;top:auto;bottom:auto;height:auto;min-height:190px;margin:24px 0 0;padding:15px;border-top:1px solid #9d8d7266;transform:none}.trace-centre h3{font-size:25px}.trace-node-label{z-index:5}.trace-motion{top:12px;right:12px}.lenses-compact .lens{height:145px}}
@media(max-width:1100px){.trace-patterns .trace-nodes{grid-auto-rows:112px;row-gap:8px}.trace-patterns .trace-node-label{top:59px;width:clamp(64px,21vw,90px);font-size:10px}.trace-patterns .trace-icon{font-size:18px}.trace-patterns .trace-centre{margin-top:8px}.trace-patterns .trace-browse{position:relative;bottom:auto;left:auto;width:max-content;margin:0 auto 4px;transform:none}}
@media(prefers-reduced-motion:reduce){.trace-centre{transition:none}.trace-patterns .trace-avatar{animation:none}}

/* Pattern Plate: compact proof inside the existing chain; details live in a viewport portal. */
.trace-patterns .trace-centre{left:26%;right:26%}
.pattern-plate{position:relative;width:100%;padding:24px 0 0}
.pattern-plate:not(.has-proof){padding-top:0}
.trace-centre .pattern-plate h3{font-size:clamp(24px,2vw,32px);margin:0 0 8px;letter-spacing:-.02em}
.trace-centre .pattern-definition{max-width:530px;margin-inline:auto;font-size:clamp(12px,.9vw,14px)}
.pattern-context{position:absolute;top:0;font-size:8px;letter-spacing:.16em;text-transform:uppercase;color:#9f9c91;text-align:left}
.pattern-context strong{display:block;font-size:12px;font-weight:400;letter-spacing:.04em;color:#c7bba7;margin-top:2px}
.pattern-first{left:0}.pattern-latest{right:0;text-align:right}
.pattern-proofs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:13px}
.pattern-proofs:has(>.pattern-proof:only-child){grid-template-columns:1fr;max-width:390px;margin-inline:auto}
.pattern-proof{display:block;width:100%;min-width:0;text-align:left;padding:8px 10px;border:1px solid #8ba6ad26;border-radius:5px;background:#0a182080;color:#e3ddcf;cursor:pointer}
.pattern-proof.is-flagship{border-color:#c99f5e75;background:linear-gradient(125deg,#ad854018,#101b2070);box-shadow:0 0 14px #c69b4012,inset 0 0 12px #d6ac5110}
.pattern-proof-heading{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:500;line-height:1.25;overflow-wrap:anywhere}
.trace-centre .pattern-proof-heading small,.pattern-proof-heading small{color:#d1ae70;font-size:7px;letter-spacing:.12em;text-transform:uppercase;margin-left:auto;flex-shrink:0}
.pattern-proof-copy{display:block;margin-top:4px;font-size:11px;line-height:1.35;color:#b7c0bd;overflow-wrap:anywhere}
.pattern-proof:hover,.pattern-proof:focus-visible{border-color:#d2b37b;box-shadow:0 0 15px #c99c4820;outline-offset:3px}
.trace-centre .pattern-more{font-size:11px;line-height:1.4;color:#dec395;border:1px solid #b6996447;border-radius:16px;padding:3px 11px;margin-top:9px;background:#b2873010}
.pattern-more:hover,.pattern-more:focus-visible{background:#b2873026;border-color:#d5b577}
.pattern-highlight{font:italic 12px/1.4 Georgia,serif;color:#d5c2a4;margin:8px 0 0}
.pattern-popover{position:fixed;z-index:1000;width:min(370px,calc(100vw - 24px));max-height:calc(100dvh - 24px);overflow:auto;padding:17px;background:#0b1a23fa;border:1px solid #bda27480;border-radius:8px;box-shadow:0 12px 45px #000a;text-align:left;color:#e7e1d6;font:13px/1.5 "Segoe UI",Arial,sans-serif}
.pattern-popover[hidden]{display:none}.pattern-popover>strong{font-size:16px;font-weight:500;line-height:1.25;display:block}
/* Passive proof detail must not intercept a click on the chain behind it. */
.pattern-popover{pointer-events:none}
.pattern-detail-kind{display:block;color:#baa682;font-size:10px;margin-top:6px;text-transform:capitalize}
.pattern-popover p{margin:10px 0 0;line-height:1.5}.pattern-popover dl{margin:12px 0 0}.pattern-popover dt{font-size:10px;color:#9eacae}.pattern-popover dd{margin:2px 0 7px;font-size:12px}
.pattern-popover .pattern-source{font-size:10px;color:#9da9ad;border-top:1px solid #75858b3b;padding-top:9px}
.pattern-expanded{width:min(750px,calc(100vw - 28px));max-height:calc(100dvh - 40px);padding:24px;border:1px solid #b9a27680;border-radius:10px;color:#e7e1d6;background:#0b1821;box-shadow:0 25px 90px #000b}
.pattern-expanded::backdrop{background:#020810c9;backdrop-filter:blur(4px)}
.pattern-expanded header{display:flex;align-items:center;gap:20px;margin-bottom:20px}.pattern-expanded h2{font:26px/1.2 Georgia,serif;margin:0}.pattern-close{margin-left:auto;font-size:26px;width:36px;height:36px;flex-shrink:0;color:#d8c5a2}
.pattern-expanded-items{display:grid;gap:12px}.pattern-expanded .pattern-proof{padding:14px 16px}.pattern-expanded .pattern-proof-heading{font-size:15px}.pattern-expanded .pattern-proof-copy{font-size:13px;line-height:1.5}
@media(min-width:601px) and (max-width:1000px){.trace-patterns .trace-centre{left:25%;right:25%}.pattern-proofs{gap:7px}.pattern-proof{padding:6px}.pattern-proof-copy{font-size:10px}.pattern-proof-heading{font-size:11px}.trace-centre .pattern-plate h3{font-size:24px}}
@media(max-width:1100px){.trace-patterns .trace-centre{left:auto;right:auto;padding:18px 0}.pattern-plate{padding:27px 0 0}.pattern-proofs{grid-template-columns:1fr;gap:10px;margin-top:17px}.pattern-proofs:has(>.pattern-proof:only-child){max-width:none}.pattern-proof{padding:12px}.pattern-proof-heading{font-size:14px}.pattern-proof-copy{font-size:12px;line-height:1.5}.trace-centre .pattern-plate h3{font-size:28px}.trace-centre .pattern-definition{font-size:14px}.pattern-context{font-size:9px}.pattern-context strong{font-size:13px}.pattern-expanded{padding:18px}.pattern-expanded h2{font-size:22px}}

/* V0.2: factual four-slot plate with stable editorial context above the chain. */
.trace-patterns .trace-centre{left:24%;right:24%;top:33%;bottom:29%;transform:none}
.pattern-plate,.pattern-plate:not(.has-proof){padding-top:0}
.pattern-proofs{gap:7px;margin-top:9px}
.pattern-proof{padding:4px 8px}.pattern-proof-copy{font-size:10.5px;line-height:1.3;margin-top:3px}
.trace-centre .pattern-plate h3{font-size:clamp(24px,1.9vw,31px);margin-bottom:6px}
.trace-centre .pattern-definition{font-size:12px;line-height:1.35}
.trace-centre .pattern-more{margin-top:4px;padding:1px 10px}
.pattern-snapshot{position:absolute;z-index:5;top:25px;left:28px;max-width:32%;text-align:left;color:#c7c8bc;pointer-events:none}
.pattern-snapshot>small,.pattern-highlight>small{font-size:8px;letter-spacing:.18em;text-transform:uppercase;color:#ae9b7d}
.pattern-snapshot>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px 23px;margin-top:8px}
.pattern-snapshot>div>span{display:block;max-width:165px}.pattern-snapshot strong{display:block;font:24px/1.1 Georgia,serif;color:#e3d2b3;letter-spacing:-.02em;font-weight:400}
.pattern-snapshot>div>span>span{display:block;font-size:9px;line-height:1.25;margin-top:3px;color:#a8b3b4}
.pattern-stage-highlight{position:absolute;z-index:5;right:28px;top:18px;max-width:32%;text-align:right}
.pattern-stage-highlight[hidden]{display:none}.pattern-stage-highlight .pattern-highlight{margin:0;color:#debd83}
.pattern-highlight p{font:italic clamp(17px,1.2vw,20px)/1.3 Georgia,serif;margin:9px 0 0;color:#e1c79b;max-width:330px}
.pattern-highlight-context{display:block;margin-top:5px;font:9px/1.3 "Segoe UI",Arial,sans-serif;letter-spacing:.03em;color:#b8ae98}
@media(min-width:901px) and (max-width:1150px){.pattern-snapshot strong{font-size:21px}.pattern-snapshot>div{gap:7px 15px}.pattern-highlight p{font-size:20px}.pattern-proof{padding:2px 6px}.pattern-proofs{gap:5px;margin-top:7px}.pattern-proof-copy{font-size:10px}.pattern-proof-heading{font-size:11px}.trace-centre .pattern-plate h3{font-size:24px;margin-bottom:4px}.trace-centre .pattern-more{font-size:10px;padding:0 10px;margin-top:3px}}
@media(max-width:1100px){.trace-patterns .trace-centre{left:auto;right:auto;top:auto;bottom:auto;transform:none}.pattern-snapshot,.pattern-stage-highlight{position:relative;top:auto;left:auto;right:auto;max-width:none;text-align:left;margin:0 0 23px;padding-right:15px}.pattern-snapshot>div{gap:12px 20px}.pattern-snapshot strong{font-size:25px}.pattern-stage-highlight{margin:0 0 25px}.trace-patterns .trace-stage{padding-top:63px}.pattern-proofs{grid-template-columns:1fr;gap:10px;margin-top:17px}.pattern-proof{padding:12px}.pattern-proof-heading{font-size:14px}.pattern-proof-copy{font-size:12px;line-height:1.45}.trace-centre .pattern-plate h3{font-size:28px}.trace-centre .pattern-definition{font-size:14px}}
@media(min-width:1101px) and (max-width:1400px){.trace-patterns .trace-centre{top:31%;bottom:31%}}
@media(min-width:1101px){.trace-patterns .trace-stage{min-height:850px;aspect-ratio:auto}}
@media(min-width:1101px){.trace-patterns .trace-motion{right:35%}}
