/* ============================================================
 * v4.css — GENERATED BUNDLE. Do NOT edit directly.
 * Source of truth = the modular files in styles/sections/ and
 * styles/components/. After editing any of them, re-run:
 *     python build-css.py
 * Bundling avoids the render-blocking import-chain waterfall.
 * ============================================================ */

:root{--v4-blue: #2563a8;--v4-teal: #65d6c9;--v4-orange: #d0622c;--v4-amber: #f6c85f;--v4-panel: color-mix(in srgb,var(--panel,#111827) 88%,transparent);--v4-panel-strong: color-mix(in srgb,var(--panel-strong,#172033) 92%,transparent);--v4-line: color-mix(in srgb,var(--line,rgba(255,255,255,0.14)) 92%,transparent);--v4-shadow: 0 26px 80px rgba(0,0,0,0.28);--v4-radius: 14px;--v4-radius-sm: 8px;--v4-grid: linear-gradient(color-mix(in srgb,var(--line,#223) 55%,transparent) 1px,transparent 1px),linear-gradient(90deg,color-mix(in srgb,var(--line,#223) 55%,transparent) 1px,transparent 1px)}html[data-theme="light"]{--v4-panel: rgba(255,255,255,0.86);--v4-panel-strong: rgba(247,250,252,0.96);--v4-line: rgba(22,61,76,0.16);--v4-shadow: 0 24px 70px rgba(21,45,60,0.16)}.motion-ready .section h2,.motion-ready .card h3,.motion-ready .project-card h3{transition: font-weight 180ms ease,letter-spacing 180ms ease}.motion-ready .section h2:hover,.motion-ready .card:hover h3,.motion-ready .project-card:hover h3{font-weight: 650}html[data-theme="light"] .signal-routes a,html[data-theme="light"] .rail-metrics article,html[data-theme="light"] .quick-signal-item{color: #13212b;background: rgba(255,255,255,0.86);border-color: rgba(20,70,88,0.18)}html[data-theme="light"] .signal-routes span,html[data-theme="light"] .rail-title span,html[data-theme="light"] .rail-metrics span{color: #4a6373}@font-face{font-family: "Inter Fallback";src: local("Arial");size-adjust: 107%;ascent-override: 90%;descent-override: 22%;line-gap-override: 0%}:root{--font-sans: "Inter","Inter Fallback",system-ui,-apple-system,"Segoe UI",sans-serif;--font-mono: "JetBrains Mono",ui-monospace,"SFMono-Regular","Roboto Mono",monospace;--type-xs: 0.8rem;--type-sm: 0.875rem;--type-base: 1rem;--type-md: 1.125rem;--type-lg: 1.406rem;--type-xl: 1.758rem;--type-2xl: 2.197rem;--type-3xl: 2.747rem;--type-4xl: 3.434rem}body,.future-v3,.signal-rebuild{font-family: var(--font-sans);font-feature-settings: "ss01","cv11","calt";font-variation-settings: "opsz" 18;text-rendering: optimizeLegibility;-webkit-font-smoothing: antialiased}code,pre,kbd,samp,.font-mono,.hero-kicker,.eyebrow,.meta,.result-metric-card strong,.signal-rail strong,.thesis-kpis strong,.thesis-chart-card .chart-kpi-grid strong{font-family: var(--font-mono);font-feature-settings: "ss01","cv11","tnum"}h1,h2,h3,h4{font-family: var(--font-sans);font-variation-settings: "opsz" 28,"wght" 540;letter-spacing: -0.012em;transition: font-variation-settings var(--motion-dur-fast,220ms) var(--motion-ease-out,ease)}h1{font-size: clamp(2.1rem,4.2vw,var(--type-4xl));line-height: 1.05}h2{font-size: clamp(1.65rem,2.9vw,var(--type-2xl));line-height: 1.18}h3{font-size: clamp(1.18rem,1.9vw,var(--type-lg));line-height: 1.28}h4{font-size: var(--type-md);line-height: 1.35}h2:hover,h3:hover,.title-link:hover,.heading-link:hover{font-variation-settings: "opsz" 32,"wght" 640}.hero h1,.signal-hero h1,.case-hero h1{font-variation-settings: "opsz" 32,"wght" 640;letter-spacing: -0.018em}html.motion-reduced h2,html.motion-reduced h3{transition: none}body.signal-rebuild .hero-core{display: grid;grid-template-columns: minmax(23rem,1fr) minmax(26rem,1.04fr);gap: clamp(1.8rem,3.6vw,3.1rem);align-items: start;min-width: 0;max-width: 100%}body:not(.lens-dev).signal-rebuild .hero-core{display: grid;grid-template-columns: minmax(25rem,1fr) minmax(22rem,0.78fr);align-items: center}body:not(.lens-dev).signal-rebuild .hero-core .hero-copy{max-width: min(64rem,100%)}body:not(.lens-dev).signal-rebuild .hero-core .signal-claim{max-width: min(60rem,100%)}body:not(.lens-dev).signal-rebuild .hero-core .hero-text{max-width: min(58rem,100%)}body.signal-rebuild .hero-copy{min-width: 0;max-width: 100%;display: grid;gap: 22px}body.signal-rebuild .hero-core h1{max-width: none;font-size: clamp(3.4rem,5.1vw,4.9rem);overflow-wrap: anywhere}body.lens-dev.signal-rebuild .hero-core h1{min-width: 0;overflow-wrap: break-word;font-size: clamp(2.9rem,4.4vw,4.4rem)}body.lens-dev.signal-rebuild .hero-core .signal-claim,body.lens-dev.signal-rebuild .hero-core .hero-text{max-width: 100%}body.signal-rebuild .hero-core .signal-claim{max-width: 43rem;font-size: clamp(1.28rem,1.68vw,1.68rem);overflow-wrap: anywhere}body.signal-rebuild .hero-core .hero-text{max-width: 42rem;overflow-wrap: anywhere}.home-signal-console{position: relative;min-width: 0;align-self: stretch;display: grid;grid-template-rows: auto minmax(0,1fr) auto;gap: 0.75rem;min-height: clamp(22rem,31vw,31rem);margin-top: 0.35rem;padding: clamp(0.85rem,1.4vw,1rem);border: 1px solid color-mix(in srgb,var(--accent,var(--v4-teal)) 38%,var(--v4-line));border-radius: var(--v4-radius-sm,8px);background: linear-gradient(145deg,color-mix(in srgb,var(--accent,var(--v4-teal)) 12%,transparent),transparent 48%),rgba(7,13,18,0.84);box-shadow: inset 0 1px 0 rgba(255,255,255,0.06),0 28px 80px rgba(0,0,0,0.26);overflow: hidden}.home-signal-console::before,.home-signal-console::after{content: "";position: absolute;inset: 0;pointer-events: none}.home-signal-console::before{background-image: linear-gradient(rgba(144,226,217,0.09) 1px,transparent 1px),linear-gradient(90deg,rgba(144,226,217,0.07) 1px,transparent 1px);background-size: 44px 44px;mask-image: linear-gradient(110deg,transparent,#000 18%,#000 82%,transparent)}.home-signal-console::after{width: 42%;background: linear-gradient(90deg,transparent,color-mix(in srgb,var(--accent,var(--v4-teal)) 16%,transparent),transparent);transform: translateX(-120%);animation: home-console-scan 6s linear infinite}.home-signal-console-head,.home-signal-console-foot,.home-signal-stage{position: relative;z-index: 1}.home-signal-console-head{display: flex;align-items: center;justify-content: space-between;gap: 0.8rem;color: var(--v4-teal);font-family: var(--font-mono);font-size: 0.76rem;font-weight: 800;letter-spacing: 0.08em;text-transform: uppercase}.home-signal-console-head strong{color: var(--v4-amber)}.home-signal-stage{display: grid;min-height: 0;border: 1px solid color-mix(in srgb,var(--accent,var(--v4-teal)) 28%,var(--v4-line));border-radius: 6px;background: rgba(3,8,13,0.52);overflow: hidden}.home-signal-stage svg{grid-area: 1 / 1;width: 100%;height: 100%;min-height: 18rem;display: block}.home-signal-stage text{fill: color-mix(in srgb,var(--v4-text) 72%,var(--v4-teal));font: 700 0.72rem/1 var(--font-mono);letter-spacing: 0.07em;text-transform: uppercase}.console-grid-line{stroke: rgba(167,176,189,0.18);stroke-width: 1}.console-reducer-wall,.console-c2-wall,.console-nozzle,.console-cooling-loop,.console-box{stroke: color-mix(in srgb,var(--accent,var(--v4-teal)) 78%,white);stroke-width: 2.2;fill: rgba(11,20,30,0.55);vector-effect: non-scaling-stroke}.console-c2-wall,.console-cooling-loop{stroke: var(--v4-teal)}.console-nozzle{stroke: var(--v4-amber);fill: rgba(208,98,44,0.12)}.console-flow,.console-energy-curve,.console-plume{fill: none;stroke: var(--accent,var(--v4-teal));stroke-width: 3.2;stroke-linecap: round;stroke-linejoin: round;stroke-dasharray: 9 13;animation: home-console-flow 3s linear infinite;vector-effect: non-scaling-stroke}.console-flow.strong,.console-energy-curve{stroke-width: 4}.console-flow.secondary,.console-energy-curve.secondary,.console-plume.lower{opacity: 0.62;animation-duration: 4.4s}.console-hot-band,.console-cool-band{fill: var(--v4-amber);opacity: 0.74}.console-cool-band{fill: var(--v4-teal)}.console-node{fill: var(--accent,var(--v4-teal));stroke: rgba(5,8,12,0.85);stroke-width: 2}.console-box.amber{stroke: var(--v4-amber)}.console-box.blue{stroke: var(--v4-blue)}.console-energy-curve.recovery{stroke: #9bd69f}.home-signal-console-foot{color: color-mix(in srgb,var(--v4-muted) 74%,var(--v4-text));font-size: 0.78rem;line-height: 1.45}body.lens-dev.signal-rebuild .home-signal-console{display: none}html[data-theme="light"] .home-signal-console{background: linear-gradient(145deg,color-mix(in srgb,var(--accent,var(--v4-teal)) 10%,transparent),transparent 50%),rgba(248,251,252,0.88);box-shadow: inset 0 1px 0 rgba(255,255,255,0.84),0 24px 70px rgba(31,47,59,0.12)}html[data-theme="light"] .home-signal-stage{background: rgba(255,255,255,0.56)}.motion-ambient-canvas{position: absolute;inset: 0;z-index: 0;width: 100%;height: 100%;pointer-events: none;opacity: 0.5;mix-blend-mode: screen}html[data-theme="light"] .motion-ambient-canvas{opacity: 0.37;mix-blend-mode: multiply}.signal-hero .signal-grid-bg{z-index: 1}.signal-hero .signal-hero-inner{z-index: 2}.hero-instrument{position: relative;min-width: 0;margin: 0.35rem 0 0;padding: clamp(0.7rem,1.25vw,0.86rem);border: 1px solid #273640;border-radius: 8px;background: #091117;color: #e6edf2;box-shadow: 0 16px 42px rgba(3,8,13,0.28)}.hero-instrument-head{display: flex;justify-content: space-between;gap: 0.8rem;align-items: center;min-height: 1.9rem;margin-bottom: 0.55rem;color: #92b0bd;font: 500 0.67rem/1.25 var(--font-mono,ui-monospace,monospace);text-transform: uppercase}.hero-instrument-head strong{flex: none;padding: 0.26rem 0.45rem;border: 1px solid #264d4a;color: #6dd5c9;font-weight: 600}.hero-instrument-surface{position: relative;overflow: hidden;aspect-ratio: 0.92;min-height: 460px;border: 1px solid #152730;background: #05090d}.hero-instrument-surface::after{content: "";position: absolute;inset: 0;pointer-events: none;border: 1px solid rgba(101,214,201,0.08);background: linear-gradient(to right,rgba(119,150,159,0.08) 1px,transparent 1px),linear-gradient(to bottom,rgba(119,150,159,0.08) 1px,transparent 1px);background-size: 48px 48px}.hero-instrument figcaption{min-height: 2.7rem;margin-top: 0.62rem;color: #b8c6cd;font-size: 0.73rem;line-height: 1.45}.hero-instrument .motion-fluid-canvas{opacity: 1;z-index: 0}html[data-theme="light"] .hero-instrument{border-color: #c4d0d6;background: #091117;color: #e6edf2;box-shadow: 0 18px 42px rgba(23,36,45,0.14)}html.motion-reduced .motion-ambient-canvas{opacity: 0.16}@keyframes home-console-flow{to{stroke-dashoffset: -66}}@keyframes home-console-scan{0%{transform: translateX(-120%)}45%,100%{transform: translateX(260%)}}body.signal-rebuild .signal-rail .rail-grid{display: grid;grid-template-columns: minmax(0,1.5fr) minmax(240px,0.72fr);gap: 14px;align-items: stretch;margin-top: 18px}body.signal-rebuild .signal-rail .rail-grid .rail-metrics{margin-top: 0}body.signal-rebuild .signal-rail .validation-card{position: relative;z-index: 1;display: grid;align-content: start;gap: 12px;padding: 14px 16px;border: 1px solid color-mix(in srgb,var(--accent,#65d6c9) 28%,var(--v4-line));border-radius: 10px;background: linear-gradient(145deg,color-mix(in srgb,var(--accent,#65d6c9) 10%,transparent),transparent 52%),color-mix(in srgb,var(--v4-panel-strong) 76%,transparent);box-shadow: 0 14px 42px color-mix(in srgb,#000 22%,transparent)}.vc-head{display: flex;justify-content: space-between;gap: 10px;align-items: center}.vc-title{position: relative;padding-left: 13px;color: color-mix(in srgb,var(--accent,#65d6c9) 72%,var(--muted));font: 600 0.66rem/1 var(--font-mono,ui-monospace,monospace);letter-spacing: 0.08em;text-transform: uppercase}.vc-title::before{content: "";position: absolute;left: 0;top: 50%;width: 6px;height: 6px;margin-top: -3px;border-radius: 50%;background: var(--accent,#65d6c9);box-shadow: 0 0 9px color-mix(in srgb,var(--accent,#65d6c9) 80%,transparent);animation: vc-pulse 1.9s ease-in-out infinite}.vc-live{display: inline-flex;align-items: center;gap: 5px;color: var(--muted);font: 600 0.62rem/1 var(--font-mono,ui-monospace,monospace);letter-spacing: 0.08em;text-transform: uppercase}.vc-live i{width: 6px;height: 6px;border-radius: 50%;background: var(--v4-teal,#65d6c9);box-shadow: 0 0 8px color-mix(in srgb,var(--v4-teal,#65d6c9) 70%,transparent)}.vc-stats{display: grid;grid-template-columns: repeat(2,minmax(0,1fr));gap: 10px}.vc-kpi b{display: block;color: var(--v4-teal,#65d6c9);font: 750 1.45rem/1 var(--font-mono,ui-monospace,monospace);letter-spacing: -0.02em}.vc-kpi.amber b{color: var(--v4-amber,#f6c85f)}.vc-kpi span{display: block;margin-top: 4px;color: var(--muted);font: 600 0.58rem/1.25 var(--font-mono,ui-monospace,monospace);letter-spacing: 0.06em;text-transform: uppercase}.vc-spark{width: 100%;height: 36px}.vc-spark .vc-draw{stroke: var(--accent,#65d6c9);stroke-width: 2;stroke-linecap: round;stroke-linejoin: round;stroke-dasharray: 360;stroke-dashoffset: 360;animation: vc-draw 3.4s var(--motion-ease-out,ease) infinite}.vc-head-dot{fill: var(--v4-amber,#f6c85f);animation: vc-fade 3.4s ease infinite}@keyframes vc-pulse{50%{opacity: 0.42}}@keyframes vc-draw{0%{stroke-dashoffset: 360}62%,100%{stroke-dashoffset: 0}}@keyframes vc-fade{0%,45%{opacity: 0}65%,100%{opacity: 1}}@media (max-width: 1050px){body.signal-rebuild .hero-core{grid-template-columns: minmax(22rem,1fr) minmax(19rem,0.9fr);gap: 1.4rem}body.signal-rebuild .hero-core h1{font-size: clamp(2.8rem,5.3vw,3.8rem)}}@media (max-width: 820px){body.signal-rebuild .hero-core,body:not(.lens-dev).signal-rebuild .hero-core{display: flex;flex-direction: column;width: 100%;grid-template-columns: none;align-items: stretch}body:not(.lens-dev).signal-rebuild .hero-core .hero-copy,body:not(.lens-dev).signal-rebuild .hero-core .signal-claim,body:not(.lens-dev).signal-rebuild .hero-core .hero-text{max-width: 100%}body.signal-rebuild .hero-copy{display: contents}body.signal-rebuild .hero-copy > *,body.signal-rebuild .hero-core > *,body.signal-rebuild .hero-core .signal-claim,body.signal-rebuild .hero-core .hero-text,body.signal-rebuild .hero-core .signal-actions{min-width: 0;max-width: 100%;width: 100%}body.signal-rebuild .hero-copy h1{order: 1}body.signal-rebuild .hero-copy .signal-claim{order: 2}.hero-instrument{order: 3;width: 100%;max-width: 100%;margin-top: 0}.home-signal-console{order: 3;width: 100%;min-height: 20rem;margin-top: 0}body.signal-rebuild .hero-copy .hero-text{order: 4}body.signal-rebuild .hero-copy .signal-actions{order: 5}.hero-instrument-surface{aspect-ratio: 1.35;min-height: 320px}body.signal-rebuild .signal-rail .rail-grid{grid-template-columns: 1fr}}@media (max-width: 520px){body.signal-rebuild .home-mode-toggle{display: grid;grid-template-columns: repeat(2,minmax(0,1fr));gap: 0.35rem;width: 100%;max-width: 100%}body.signal-rebuild .home-mode-button{flex: none;min-width: 0;padding-inline: 0.55rem;white-space: normal}body.signal-rebuild .home-mode-button span{min-width: 0;overflow-wrap: anywhere;line-height: 1.15}body.signal-rebuild .hero-core h1{font-size: clamp(2.35rem,11.8vw,3rem)}body.signal-rebuild .hero-core .signal-claim{font-size: 1.18rem}.hero-instrument-surface{aspect-ratio: 1.22;min-height: 260px}.home-signal-console{min-height: 16rem}.home-signal-stage svg{min-height: 14rem}}.step-contact-form{position: relative}.step-form-progress{display: grid;grid-template-columns: repeat(3,minmax(0,1fr));gap: 8px;margin-bottom: 18px}.step-form-progress span{border: 1px solid var(--v4-line);border-radius: 999px;padding: 8px 10px;color: var(--muted);text-align: center;font-size: 0.78rem;background: color-mix(in srgb,var(--v4-panel) 76%,transparent)}.step-form-progress .is-active,.step-form-progress .is-complete{color: var(--text);border-color: color-mix(in srgb,var(--accent,#65d6c9) 55%,var(--v4-line))}.step-contact-form [data-step-panel]{display: none}.step-contact-form[data-step="1"] [data-step-panel="1"],.step-contact-form[data-step="2"] [data-step-panel="2"],.step-contact-form[data-step="3"] [data-step-panel="3"]{display: block}.step-contact-form[data-step="3"] .contact-form-footer{display: flex}.step-contact-form:not([data-step="3"]) .contact-form-footer{display: none}.step-form-actions{display: flex;justify-content: space-between;gap: 12px;margin-top: 16px}.step-contact-form[data-step="1"] [data-step-prev]{visibility: hidden}.step-contact-form[data-step="3"] [data-step-next]{display: none}.letter-dialog{width: min(760px,calc(100vw - 32px));border: 0;border-radius: 18px;padding: 0;background: transparent;color: var(--text)}.letter-dialog::backdrop{background: rgba(0,0,0,0.72);backdrop-filter: blur(12px)}.letter-dialog-panel{position: relative;padding: 18px;border: 1px solid var(--v4-line);border-radius: 18px;background: var(--v4-panel-strong);box-shadow: var(--v4-shadow)}.letter-dialog-close{position: absolute;right: 18px;top: 18px;z-index: 2;border: 1px solid var(--v4-line);border-radius: 999px;padding: 8px 12px;background: color-mix(in srgb,var(--v4-panel) 80%,transparent);color: var(--text)}.letter-page{min-height: 420px;border-radius: 12px;padding: 54px min(56px,8vw);background: linear-gradient(135deg,color-mix(in srgb,var(--panel,#111827) 88%,#ffffff 4%),var(--v4-panel));border: 1px solid var(--v4-line)}html[data-theme="light"] .letter-page{color: #13212b;background: #ffffff;border-color: rgba(22,61,76,0.12);box-shadow: inset 0 1px 0 rgba(255,255,255,0.88)}html[data-theme="light"] .letter-header,html[data-theme="light"] .letter-meta,html[data-theme="light"] .letter-page p{color: #506575}html[data-theme="light"] .letter-page blockquote,html[data-theme="light"] .letter-page .letter-summary,html[data-theme="light"] .letter-meta strong{color: #13212b}.letter-header,.letter-meta{display: flex;flex-direction: column;gap: 4px;color: var(--muted);font-size: 0.86rem}.letter-page blockquote{margin: 48px 0;font-size: clamp(1.45rem,3vw,2.3rem);line-height: 1.25;color: var(--text)}.letter-page .letter-summary{margin: 48px 0;color: var(--text);font-size: clamp(1.16rem,2.2vw,1.48rem);line-height: 1.5}.reading-time-pill{display: inline-flex;align-items: center;gap: 6px;margin-left: 12px;padding: 2px 10px;border: 1px solid var(--v4-line);border-radius: 999px;font-family: var(--font-mono,ui-monospace,monospace);font-size: 0.72rem;color: var(--muted);background: color-mix(in srgb,var(--v4-panel) 50%,transparent);vertical-align: middle}.reading-time-pill svg{width: 11px;height: 11px;stroke: currentColor;fill: none;stroke-width: 1.6}body[data-page-key="case-study"] .scroll-progress{background: linear-gradient(90deg,var(--v4-blue,#2563a8),var(--v4-teal,#65d6c9));transform-origin: left;transform: scaleX(var(--reading-progress,0));transition: transform 90ms linear}.scholar-card-grid{display: grid;grid-template-columns: repeat(auto-fit,minmax(220px,1fr));gap: 14px;margin: 22px 0}.scholar-card{display: flex;align-items: center;gap: 12px;padding: 14px 16px;border: 1px solid var(--v4-line);border-radius: var(--v4-radius);background: var(--v4-panel);text-decoration: none;color: var(--text);transition: border-color 220ms var(--motion-ease-out,ease),transform 220ms var(--motion-ease-out,ease)}.scholar-card:hover{border-color: color-mix(in srgb,var(--v4-teal) 50%,var(--v4-line));transform: translateY(-2px)}.scholar-card .scholar-icon{flex: 0 0 36px;height: 36px;border-radius: 8px;display: grid;place-items: center;font-family: var(--font-mono);font-size: 0.8rem;font-weight: 600;color: #fff}.scholar-card .scholar-icon[data-icon="orcid"]{background: #a6ce39;color: #0a0}.scholar-card .scholar-icon[data-icon="scholar"]{background: #4285f4}.scholar-card .scholar-icon[data-icon="diva"]{background: #1954a6}.scholar-card .scholar-icon[data-icon="linkedin"]{background: #0a66c2}.scholar-card .scholar-icon[data-icon="github"]{background: #181717}.scholar-card .scholar-icon[data-icon="kth"]{background: #1b4796}.scholar-card .scholar-body{display: flex;flex-direction: column;gap: 2px;min-width: 0}.scholar-card .scholar-body strong{font-size: 0.92rem;line-height: 1.2}.scholar-card .scholar-body span{font-family: var(--font-mono);font-size: 0.72rem;color: var(--muted);overflow: hidden;text-overflow: ellipsis;white-space: nowrap}.looking-for-banner{position: relative;display: flex;align-items: center;justify-content: center;gap: 14px;min-width: 0;padding: 10px 56px 10px 18px;border-bottom: 1px solid var(--v4-line);background: linear-gradient( 90deg,color-mix(in srgb,var(--v4-blue) 14%,transparent),color-mix(in srgb,var(--v4-teal) 14%,transparent) );font-size: 0.86rem;text-align: center;z-index: 5}.looking-for-banner .status-dot{flex: 0 0 auto;width: 8px;height: 8px;border-radius: 999px;background: #22c55e;position: relative}.looking-for-banner .status-text{min-width: 0;max-width: 100%;overflow-wrap: anywhere;line-height: 1.42}.looking-for-banner .status-dot::after{content: '';position: absolute;inset: -4px;border-radius: 999px;background: color-mix(in srgb,#22c55e 36%,transparent);will-change: transform,opacity;animation: looking-for-pulse 2.4s ease-in-out infinite}@keyframes looking-for-pulse{0%,100%{transform: scale(0.5);opacity: 0.8}50%{transform: scale(2);opacity: 0}}.looking-for-banner a{color: inherit;text-decoration: underline;text-decoration-color: color-mix(in srgb,var(--accent) 60%,transparent);text-underline-offset: 3px}.looking-for-banner .dismiss{position: absolute;right: 12px;top: 50%;transform: translateY(-50%);width: 28px;height: 28px;border-radius: 999px;border: 1px solid var(--v4-line);background: transparent;color: var(--muted);cursor: pointer;display: grid;place-items: center;font-size: 14px;line-height: 1}.looking-for-banner .dismiss:hover{color: var(--text);border-color: color-mix(in srgb,var(--accent) 50%,var(--v4-line))}html.motion-reduced .looking-for-banner .status-dot::after{animation: none}@media (max-width: 720px){.looking-for-banner{display: grid;grid-template-columns: auto minmax(0,1fr);align-items: start;justify-content: start;gap: 8px;text-align: left;padding: 12px 48px 12px 16px}}.contact-cal{margin-top: 18px;padding: 16px 18px;border: 1px dashed var(--v4-line);border-radius: var(--v4-radius);background: color-mix(in srgb,var(--v4-panel) 50%,transparent)}.contact-cal .eyebrow{margin: 0 0 4px}.contact-cal-help{font-size: 0.85rem;color: var(--muted);margin: 0 0 12px}.biot-calc{padding: 22px;border: 1px solid var(--v4-line);border-radius: var(--v4-radius);background: linear-gradient( 140deg,color-mix(in srgb,var(--v4-panel) 95%,transparent),color-mix(in srgb,var(--v4-panel-strong) 95%,transparent) );box-shadow: var(--v4-shadow);display: grid;gap: 18px;font-family: var(--font-sans)}.biot-calc-head h3{display: flex;align-items: center;gap: 12px;margin: 6px 0 8px;font-size: 1.4rem}.biot-calc-head .math{display: inline-flex;align-items: center;font-size: 1.6rem;color: var(--v4-teal)}.biot-calc-help{font-size: 0.92rem;line-height: 1.55;color: var(--muted);margin: 0}.biot-calc-grid{display: grid;grid-template-columns: repeat(auto-fit,minmax(180px,1fr));gap: 14px}.biot-calc-grid label{display: grid;gap: 6px;padding: 10px 12px;border: 1px solid var(--v4-line);border-radius: 10px;background: color-mix(in srgb,var(--v4-panel) 60%,transparent)}.biot-calc-grid label > span{display: flex;justify-content: space-between;align-items: baseline;font-family: var(--font-mono);font-size: 0.92rem;color: var(--text)}.biot-calc-grid label > span small{color: var(--muted);font-size: 0.7rem;letter-spacing: 0.04em;text-transform: uppercase}.biot-calc-grid input[type="number"]{border: 1px solid var(--v4-line);border-radius: 6px;padding: 6px 8px;background: color-mix(in srgb,var(--v4-panel-strong) 90%,transparent);color: var(--text);font-family: var(--font-mono);font-size: 0.92rem}.biot-calc-grid input[type="range"]{width: 100%;accent-color: var(--v4-teal)}.biot-calc-result{display: grid;grid-template-columns: minmax(0,1fr) minmax(0,2fr);gap: 18px;align-items: start;padding: 18px;border-radius: 12px;border: 1px solid var(--v4-line);background: color-mix(in srgb,var(--v4-panel-strong) 80%,transparent)}@media (max-width: 580px){.biot-calc-result{grid-template-columns: 1fr}}.biot-calc-value strong{display: block;font-family: var(--font-mono);font-size: 1.7rem;letter-spacing: -0.02em;color: var(--v4-amber);margin-top: 4px}.biot-calc-interpretation .biot-tag{display: inline-block;padding: 2px 10px;border-radius: 999px;font-family: var(--font-mono);font-size: 0.75rem;text-transform: uppercase;letter-spacing: 0.05em;margin-bottom: 8px}.biot-tag[data-tone="thermal"]{background: color-mix(in srgb,var(--v4-blue) 20%,transparent);color: #93c5fd}.biot-tag[data-tone="energy"]{background: color-mix(in srgb,var(--v4-teal) 20%,transparent);color: #5eead4}.biot-tag[data-tone="decarbonisation"]{background: color-mix(in srgb,var(--v4-orange) 22%,transparent);color: #fdba74}html[data-theme="light"] .biot-tag[data-tone="thermal"]{color: #1e40af}html[data-theme="light"] .biot-tag[data-tone="energy"]{color: #0f766e}html[data-theme="light"] .biot-tag[data-tone="decarbonisation"]{color: #c2410c}.biot-calc-interpretation p{margin: 0;font-size: 0.92rem;line-height: 1.55;color: var(--text)}.biot-calc-presets{display: flex;flex-direction: column;gap: 8px}.biot-preset-row{display: flex;flex-wrap: wrap;gap: 8px}.biot-preset-row button{padding: 6px 12px;border: 1px solid var(--v4-line);border-radius: 999px;background: transparent;color: var(--muted);font-family: var(--font-mono);font-size: 0.82rem;cursor: pointer;transition: border-color 200ms,color 200ms,background 200ms}.biot-preset-row button:hover{color: var(--text);border-color: color-mix(in srgb,var(--v4-teal) 50%,var(--v4-line))}.i18n-toggle{display: inline-flex;align-items: center;border: 1px solid var(--v4-line);border-radius: 999px;padding: 2px;margin-left: 6px;background: color-mix(in srgb,var(--v4-panel) 60%,transparent)}.i18n-toggle button{border: 0;background: transparent;font-family: var(--font-mono,ui-monospace,monospace);font-size: 0.74rem;padding: 4px 8px;border-radius: 999px;cursor: pointer;color: var(--muted);transition: color 180ms,background 180ms}.i18n-toggle button[aria-pressed="true"]{background: color-mix(in srgb,var(--v4-teal) 22%,transparent);color: var(--text)}.i18n-toggle button:hover{color: var(--text)}@media (max-width: 720px){.i18n-toggle{margin-left: 4px}.i18n-toggle button{padding: 4px 6px;font-size: 0.68rem}}.motion-bootup-overlay{position: fixed;inset: 0;z-index: 9998;background: radial-gradient( ellipse at center,color-mix(in srgb,#050810 96%,transparent),#02050c );display: grid;place-items: center;color: #c9d6e2;font-family: var(--font-mono,"JetBrains Mono",ui-monospace,monospace);pointer-events: auto;will-change: transform;overflow: hidden}html[data-theme="light"] .motion-bootup-overlay{background: radial-gradient( ellipse at center,color-mix(in srgb,#f7f9fc 96%,transparent),#eef2f7 );color: #13212b}.motion-bootup-bar{position: absolute;top: 0;left: 0;width: 100%;height: 2px;background: linear-gradient( 90deg,transparent,var(--v4-teal,#65d6c9) 30%,var(--v4-amber,#f6c85f) 70%,transparent );transform-origin: left center;transform: scaleX(0);filter: drop-shadow(0 0 6px color-mix(in srgb,var(--v4-teal,#65d6c9) 60%,transparent))}.motion-bootup-readout{display: grid;gap: 12px;font-size: clamp(0.86rem,1.5vw,1.05rem);letter-spacing: 0.04em;text-align: left;width: min(560px,calc(100vw - 56px));padding: 18px 22px;border: 1px solid color-mix(in srgb,var(--v4-teal,#65d6c9) 22%,transparent);border-radius: 12px;background: color-mix(in srgb,#050810 80%,transparent);box-shadow: 0 28px 90px rgba(0,0,0,0.42)}html[data-theme="light"] .motion-bootup-readout{background: color-mix(in srgb,#fff 80%,transparent);border-color: color-mix(in srgb,var(--v4-blue,#2563a8) 22%,transparent)}.motion-bootup-readout .readout-line{display: block;min-height: 1.4em;opacity: 0.55;transition: opacity 220ms ease}.motion-bootup-readout .readout-line.is-active{opacity: 1}.motion-bootup-readout .readout-line[data-readout="3"].is-active{color: var(--v4-teal,#65d6c9)}html.motion-reduced .motion-bootup-overlay{display: none !important}.bento-preview{position: absolute;inset: 0 0 auto 0;width: 100%;aspect-ratio: 16 / 9;max-height: 60vh;pointer-events: none;z-index: 0;border-radius: inherit;overflow: hidden;opacity: 0.34;transition: opacity 220ms var(--motion-ease-out,ease);mask-image: linear-gradient(180deg,#000 0%,#000 82%,transparent 100%);-webkit-mask-image: linear-gradient(180deg,#000 0%,#000 82%,transparent 100%)}@supports not (aspect-ratio: 16 / 9){.bento-preview{height: clamp(160px,32%,320px)}}.bento-preview canvas{width: 100%;height: 100%;display: block}.project-card:hover .bento-preview{opacity: 0.62}[data-project-id]{position: relative}[data-project-id] > *:not(.bento-preview){position: relative;z-index: 1}html.motion-reduced .bento-preview{display: none !important}body[data-page-key="case-study"] main > section + section + section{content-visibility: auto;contain-intrinsic-size: 600px}.reducer-3d-viewer{margin: 22px 0;padding: 18px;border: 1px solid var(--v4-line);border-radius: var(--v4-radius);background: linear-gradient( 135deg,color-mix(in srgb,var(--v4-panel) 92%,transparent),color-mix(in srgb,var(--v4-panel-strong) 92%,transparent) )}.reducer-3d-stage{width: 100%;aspect-ratio: 16 / 9;border-radius: 10px;overflow: hidden;position: relative;background: radial-gradient(circle at 30% 30%,rgba(101,214,201,0.06),transparent 60%),rgba(7,12,22,0.6)}html[data-theme="light"] .reducer-3d-stage{background: radial-gradient(circle at 30% 30%,rgba(2,132,199,0.06),transparent 60%),rgba(247,250,252,0.6)}.reducer-3d-stage canvas{display: block;width: 100%;height: 100%}.reducer-3d-controls{margin-top: 12px;display: flex;flex-wrap: wrap;gap: 12px;align-items: center;justify-content: space-between}[data-reducer-3d-toggle]{padding: 8px 16px;border: 1px solid var(--v4-line);border-radius: 999px;background: color-mix(in srgb,var(--v4-panel) 60%,transparent);color: var(--text);font-family: var(--font-mono,ui-monospace,monospace);font-size: 0.85rem;cursor: pointer;transition: border-color 200ms,background 200ms}[data-reducer-3d-toggle]:hover{border-color: color-mix(in srgb,var(--v4-teal) 50%,var(--v4-line))}[data-reducer-3d-toggle][data-state="legacy"] strong{color: var(--v4-orange,#d0622c)}[data-reducer-3d-toggle][data-state="redesigned"] strong{color: var(--v4-teal,#65d6c9)}.reducer-3d-hint{font-family: var(--font-mono,ui-monospace,monospace);font-size: 0.75rem;color: var(--muted)}body.signal-rebuild .thesis-story-section{position: relative;z-index: 4;isolation: isolate;overflow: clip;align-items: start !important;min-height: 0 !important;padding-top: clamp(60px,8vw,110px);padding-bottom: clamp(60px,8vw,110px);background: var(--bg,#070908)}body.signal-rebuild .thesis-story-section::before{content: "";position: absolute;inset: 0;z-index: -1;background: linear-gradient(180deg,color-mix(in srgb,var(--bg,#070908) 98%,transparent),var(--bg,#070908)),var(--v4-grid)}.thesis-story-shell{display: grid;grid-template-columns: minmax(260px,0.74fr) minmax(0,1.26fr);gap: clamp(24px,5vw,64px);align-items: center}.thesis-story-copy{max-width: 460px}.thesis-story-copy .eyebrow{margin-bottom: 8px}.thesis-story-copy h2{font-size: clamp(1.6rem,2.4vw,2.1rem);line-height: 1.2;letter-spacing: 0;margin-bottom: 14px}.thesis-story-copy .copy-lead{margin-bottom: 18px;color: var(--muted)}.thesis-story-stage{position: relative;width: 100%;display: grid;gap: 18px}.thesis-story-section:not(.is-static) .thesis-story-shell{min-height: min(calc(100svh - 78px),780px);padding-block: clamp(12px,2vh,28px)}.thesis-story-section:not(.is-static) .thesis-story-stage{gap: clamp(8px,1.2vh,14px);max-height: calc(100svh - 76px)}.thesis-story-visual{width: 100%;border-radius: 18px;background: linear-gradient(140deg,color-mix(in srgb,var(--v4-panel-strong) 96%,transparent),color-mix(in srgb,var(--v4-panel) 90%,transparent));border: 1px solid var(--v4-line);padding: clamp(9px,1.4vh,16px);box-shadow: var(--v4-shadow)}.thesis-story-svg{width: 100%;height: auto;max-height: min(58svh,550px);display: block}.story-bg{fill: color-mix(in srgb,#050a14 88%,transparent);stroke: color-mix(in srgb,var(--v4-line) 60%,transparent)}html[data-theme="light"] .story-bg{fill: color-mix(in srgb,#f5f7fb 92%,transparent)}.story-grid path{stroke: color-mix(in srgb,var(--v4-line) 32%,transparent);stroke-width: 0.5;fill: none}.story-section-label{font-family: var(--font-mono,ui-monospace,monospace);font-size: 11px;letter-spacing: 0.08em;text-transform: uppercase;fill: color-mix(in srgb,var(--v4-teal) 60%,var(--muted))}.story-note{font-family: var(--font-mono,ui-monospace,monospace);font-size: 11px;fill: var(--muted);letter-spacing: 0.02em}.story-layer{opacity: 0;pointer-events: none;transition: opacity 420ms var(--motion-ease-out,ease)}[data-story-key="geometry"] .story-geometry,[data-story-key="mesh"] .story-mesh,[data-story-key="flow"] .story-flow,[data-story-key="thermal"] .story-thermal,[data-story-key="kpi"] .story-kpis{opacity: 1}.story-source-frame rect{fill: color-mix(in srgb,var(--v4-panel-strong) 90%,transparent);stroke: var(--v4-line);stroke-width: 1}.story-source-frame image{opacity: 0.98}.story-frame-label,.story-proof-label{font-family: var(--font-mono,ui-monospace,monospace);letter-spacing: 0.04em;font-size: 10px;font-weight: 700;fill: var(--v4-teal,#65d6c9)}.story-proof-label{fill: color-mix(in srgb,var(--v4-amber) 70%,var(--text))}html[data-theme="light"] .story-frame-label{fill: #086b68}html[data-theme="light"] .story-proof-label{fill: #8a4417}html[data-theme="light"] .dimension-annotation text,html[data-theme="light"] .story-note{fill: #435565}.reducer-wall{fill: none;stroke: var(--v4-teal,#65d6c9);stroke-width: 2;stroke-linejoin: round;filter: drop-shadow(0 0 4px color-mix(in srgb,var(--v4-teal) 30%,transparent))}.dimension-annotation path{stroke: color-mix(in srgb,var(--v4-amber) 60%,var(--muted));stroke-width: 0.7;fill: none}.dimension-annotation text{font-family: var(--font-mono,ui-monospace,monospace);font-size: 11px;fill: color-mix(in srgb,var(--v4-amber) 75%,var(--text))}.flow-model-panel{fill: color-mix(in srgb,var(--v4-panel) 68%,transparent);stroke: var(--v4-line)}.flow-interpretation .reducer-wall{stroke-width: 3.2}.flow-interpretation path,.flow-interpretation ellipse{vector-effect: non-scaling-stroke}.flow-stream{fill: none;stroke: url(#storyStream);stroke-width: 2.4;stroke-linecap: round;stroke-dasharray: 18 280;stroke-dashoffset: 0;animation: flow-advect 3s linear infinite;animation-delay: var(--delay,0s)}@keyframes flow-advect{to{stroke-dashoffset: 298}}html.motion-reduced .flow-stream{animation: none;stroke-dasharray: none;stroke-width: 1.2;opacity: 0.7}.separation-lobe{fill: color-mix(in srgb,var(--v4-orange) 30%,transparent);stroke: color-mix(in srgb,var(--v4-orange) 70%,transparent);stroke-width: 0.8;animation: lobe-pulse 1.8s ease-in-out infinite}@keyframes lobe-pulse{0%,100%{opacity: 0.45}50%{opacity: 0.85}}html.motion-reduced .separation-lobe{animation: none;opacity: 0.55}.flow-note{fill: color-mix(in srgb,var(--v4-orange) 65%,var(--text));font-style: italic}html[data-theme="light"] .flow-model-panel{fill: #f0f4f5;stroke: #c3d4d9}html[data-theme="light"] .flow-interpretation .reducer-wall{stroke: #086b68}html[data-theme="light"] .flow-note{fill: #3a5262}.thermal-wall{fill: none;stroke: url(#storyHot);stroke-width: 4;stroke-linejoin: round;filter: drop-shadow(0 0 6px color-mix(in srgb,var(--v4-orange) 38%,transparent))}.thermal-legend rect{fill: url(#storyHot)}.thermal-legend text{font-family: var(--font-mono,ui-monospace,monospace);font-size: 10px;fill: var(--muted)}.biot-callout text{font-family: var(--font-mono,ui-monospace,monospace);fill: var(--text)}.biot-equation{font-size: 14px;font-weight: 600;fill: var(--v4-teal,#65d6c9) !important}.biot-meaning{font-size: 11px;fill: var(--muted) !important}.kpi-badge{transform-origin: center;opacity: 0;animation: kpi-fly-in 540ms var(--motion-ease-spring,cubic-bezier(0.34,1.56,0.64,1)) forwards;animation-delay: var(--delay,0s)}@keyframes kpi-fly-in{from{opacity: 0;transform: translateY(-12px) scale(0.9)}to{opacity: 1;transform: translateY(0) scale(1)}}html.motion-reduced .kpi-badge{animation: none;opacity: 1}.kpi-badge rect{fill: color-mix(in srgb,var(--v4-panel-strong) 95%,transparent);stroke: var(--v4-teal,#65d6c9);stroke-width: 1}.kpi-value{font-family: var(--font-mono,ui-monospace,monospace);font-size: 14px;font-weight: 700;fill: var(--v4-teal,#65d6c9)}.kpi-label{font-family: var(--font-mono,ui-monospace,monospace);font-size: 9px;letter-spacing: 0.06em;text-transform: uppercase;fill: var(--muted)}.kpi-trace{stroke: color-mix(in srgb,var(--v4-teal) 50%,transparent);stroke-width: 0.8;stroke-dasharray: 3 4;fill: none;animation: trace-flow 1.6s linear infinite}@keyframes trace-flow{to{stroke-dashoffset: -7}}html.motion-reduced .kpi-trace{animation: none}.thesis-story-beats{display: grid;gap: 10px}.thesis-story-beat{display: none;padding: clamp(9px,1.1vh,13px) 18px;border-radius: 12px;border: 1px solid transparent;background: color-mix(in srgb,var(--v4-panel) 50%,transparent);transition: border-color 240ms ease,background 240ms ease,transform 240ms ease}.thesis-story-beat.is-active{display: block;border-color: color-mix(in srgb,var(--v4-teal) 60%,var(--v4-line));background: color-mix(in srgb,var(--v4-teal) 8%,var(--v4-panel-strong));transform: translateX(4px)}.thesis-story-beat span{display: block;font-family: var(--font-mono,ui-monospace,monospace);font-size: 11px;color: color-mix(in srgb,var(--v4-amber) 80%,var(--muted));letter-spacing: 0.08em}.thesis-story-beat strong{display: block;font-size: clamp(0.94rem,1.5vh,1.05rem);margin: 4px 0 4px}.thesis-story-beat p{margin: 0;font-size: clamp(0.78rem,1.2vh,0.88rem);color: var(--muted);line-height: 1.55}.thesis-story-static{display: none}.thesis-story-section.is-static .thesis-story-visual,.thesis-story-section.is-static .thesis-story-beats{display: none}.thesis-story-section.is-static .thesis-story-static{display: grid;gap: 16px}.thesis-story-static figure{margin: 0;padding: 14px;border: 1px solid var(--v4-line);border-radius: 8px;background: var(--v4-panel-strong)}.thesis-story-static figcaption{margin-bottom: 10px;color: var(--muted);font-size: 0.86rem}.thesis-story-static figcaption strong{display: block;margin-bottom: 4px;color: var(--text);font-family: var(--font-mono,ui-monospace,monospace)}.thesis-story-static figcaption span{display: block}.thesis-story-static figure > div{display: grid;grid-template-columns: repeat(2,minmax(0,1fr));gap: 10px}.thesis-story-static img{display: block;width: 100%;border-radius: 6px;background: #070b10}.thesis-story-static .static-story-note figcaption{margin-bottom: 0}@media (max-width: 980px){.thesis-story-shell{grid-template-columns: 1fr}.thesis-story-copy{max-width: none}.thesis-story-section:not(.is-static) .thesis-story-shell,.thesis-story-section:not(.is-static) .thesis-story-stage{min-height: 0;max-height: none}}@media (max-width: 600px){.thesis-story-static figure > div{grid-template-columns: 1fr}}.v4-evidence-graph{position: relative;min-height: 570px;margin-top: 26px;border: 1px solid var(--v4-line);border-radius: var(--v4-radius);background: radial-gradient(circle at 38% 22%,rgba(101,214,201,0.12),transparent 30%),var(--v4-grid),var(--v4-panel);background-size: auto,30px 30px,auto;overflow: hidden;box-shadow: var(--v4-shadow)}.evidence-lanes.has-v4-graph-source{display: none !important}.evidence-map .v4-evidence-graph{grid-column: 2;grid-row: 1;margin-top: 0}.v4-evidence-graph svg,.graph-node-layer{position: absolute;inset: 0 0 auto;height: 392px}.v4-evidence-graph line{stroke: color-mix(in srgb,var(--v4-teal) 44%,transparent);stroke-width: 0.6}.v4-evidence-graph circle{fill: var(--v4-teal);opacity: 0.72}.v4-evidence-graph circle.is-dimmed,.graph-node.is-dimmed,.v4-evidence-graph line.is-dimmed{opacity: 0;pointer-events: none}.graph-node{position: absolute;left: calc(var(--x) * 1%);top: calc(var(--y) * 1%);transform: translate(-50%,-50%);width: min(180px,28vw);border: 1px solid var(--v4-line);border-radius: 12px;padding: 10px;color: var(--text);background: color-mix(in srgb,var(--v4-panel-strong) 90%,transparent);text-align: left;box-shadow: 0 18px 50px rgba(0,0,0,0.18)}.graph-node span,.graph-detail span{display: block;color: var(--v4-teal);font: 700 0.7rem/1.2 var(--mono,monospace);text-transform: uppercase;letter-spacing: 0.08em}.graph-node strong,.graph-detail strong{display: block;margin-top: 4px;font-size: 0.9rem}.graph-detail{position: relative;margin: 400px 18px 18px;width: auto;border: 1px solid var(--v4-line);border-radius: 12px;padding: 18px;background: color-mix(in srgb,var(--v4-panel-strong) 94%,transparent)}.graph-detail p{margin: 10px 0 14px;color: var(--muted)}@media (max-width: 780px){.evidence-map .v4-evidence-graph{grid-column: auto;grid-row: auto}.v4-evidence-graph{min-height: auto;padding: 16px}.v4-evidence-graph svg{display: none}.graph-node-layer,.graph-detail{position: static}.graph-node-layer{display: grid;gap: 10px}.graph-node{position: static;transform: none;width: 100%}.graph-detail{margin-top: 14px;width: auto}}#projects .project-grid[data-featured-projects]{align-items: stretch}#projects .project-grid[data-featured-projects] .project-card{position: relative;min-height: 100%;overflow: hidden}#projects .project-grid[data-featured-projects] .project-card:nth-child(1){grid-column: span 2;grid-row: span 2}#projects .project-grid[data-featured-projects] .project-card:nth-child(2),#projects .project-grid[data-featured-projects] .project-card:nth-child(4){grid-column: span 2}body.signal-rebuild .signal-filter-bar{display: flex;flex-wrap: wrap;align-items: center;gap: 8px;margin: 0 0 clamp(18px,3vw,26px);padding: 10px;border: 1px solid var(--v4-line);border-radius: var(--v4-radius-sm,8px);background: linear-gradient(135deg,color-mix(in srgb,var(--v4-teal) 6%,transparent),transparent 42%),color-mix(in srgb,var(--v4-panel) 72%,transparent);backdrop-filter: blur(14px)}body.signal-rebuild .signal-chip{display: inline-flex;align-items: center;justify-content: center;min-height: 34px;border: 1px solid var(--v4-line);border-radius: 999px;padding: 7px 13px;background: color-mix(in srgb,var(--v4-panel-strong) 72%,transparent);color: var(--muted);font: 700 0.72rem/1 var(--font-mono,ui-monospace,monospace);letter-spacing: 0.045em;text-transform: uppercase;cursor: pointer;transition: color 180ms ease,border-color 180ms ease,background 180ms ease,transform 180ms ease,box-shadow 180ms ease}body.signal-rebuild .signal-chip:hover{color: var(--text);transform: translateY(-1px);border-color: color-mix(in srgb,var(--v4-teal) 42%,var(--v4-line))}body.signal-rebuild .signal-chip.is-active{color: var(--text);border-color: color-mix(in srgb,var(--accent,var(--v4-teal)) 58%,var(--v4-line));background: linear-gradient(90deg,color-mix(in srgb,var(--accent,var(--v4-teal)) 16%,transparent),transparent),color-mix(in srgb,var(--v4-panel-strong) 84%,transparent);box-shadow: inset 0 0 0 1px color-mix(in srgb,var(--accent,var(--v4-teal)) 12%,transparent)}body.signal-rebuild .signal-filter-count{margin-left: auto;color: var(--muted);font: 700 0.7rem/1 var(--font-mono,ui-monospace,monospace);letter-spacing: 0.07em;text-transform: uppercase}body.signal-rebuild #projects .project-grid[data-featured-projects] .project-card{isolation: isolate}body.signal-rebuild #projects .project-grid[data-featured-projects] .project-card::before{content: "";position: absolute;inset: 0;z-index: 0;pointer-events: none;border-radius: inherit;background: linear-gradient(90deg,transparent,color-mix(in srgb,var(--accent,var(--v4-teal)) 13%,transparent),transparent);transform: translateX(-115%) skewX(-17deg);opacity: 0;transition: opacity 180ms ease}body.signal-rebuild #projects .project-grid[data-featured-projects] .project-card:hover::before{opacity: 1;animation: signal-project-scan 1.15s ease both}body.signal-rebuild #projects .project-grid[data-featured-projects] .project-card > *{position: relative;z-index: 1}body.signal-rebuild #projects .project-grid[data-featured-projects] .project-card[hidden]{display: none !important}body.signal-rebuild #projects .project-grid[data-featured-projects] .project-card.is-filtered-out{pointer-events: none}.structural-thumb-board{position: relative;display: block;overflow: hidden;border: 1px solid color-mix(in srgb,var(--v4-blue) 36%,var(--v4-line));border-radius: var(--v4-radius-sm,8px);background: linear-gradient(90deg,rgba(255,255,255,0.04) 1px,transparent 1px),linear-gradient(180deg,rgba(255,255,255,0.04) 1px,transparent 1px),color-mix(in srgb,var(--v4-panel) 92%,#020617);background-size: 34px 34px}.structural-thumb-board img{display: block;width: 100%;aspect-ratio: 5 / 3;object-fit: cover;object-position: center}.structural-thumb-board .featured-badge{position: absolute;z-index: 3;left: 14px;top: 14px}@keyframes signal-project-scan{from{transform: translateX(-115%) skewX(-17deg)}to{transform: translateX(115%) skewX(-17deg)}}.bento-mini-chart{position: absolute;right: 16px;bottom: 14px;width: min(190px,52%);height: auto;color: var(--v4-teal);opacity: 0.86}.bento-mini-chart path:first-child{fill: none;stroke: color-mix(in srgb,currentColor 38%,transparent);stroke-width: 1.2}.bento-mini-chart .mini-line{fill: none;stroke: currentColor;stroke-width: 2.8;stroke-dasharray: 210;animation: bento-draw 2.8s ease both}.bento-mini-chart circle{fill: var(--v4-amber)}.bento-kpi-bars{position: absolute;right: 18px;bottom: 16px;display: flex;align-items: end;gap: 8px;height: 74px}.bento-kpi-bars span{width: 12px;height: var(--v);border-radius: 8px 8px 2px 2px;background: linear-gradient(180deg,var(--v4-amber),var(--v4-orange));animation: bento-rise 1.2s ease both}@keyframes bento-draw{from{stroke-dashoffset: 210}to{stroke-dashoffset: 0}}@keyframes bento-rise{from{transform: scaleY(0.12);transform-origin: bottom;opacity: 0.3}to{transform: scaleY(1);transform-origin: bottom;opacity: 1}}@media (max-width: 920px){#projects .project-grid[data-featured-projects] .project-card:nth-child(n){grid-column: auto;grid-row: auto}}@media (max-width: 640px){body.signal-rebuild .signal-filter-bar{align-items: stretch}body.signal-rebuild .signal-chip{flex: 1 1 calc(50% - 8px)}body.signal-rebuild .signal-filter-count{flex-basis: 100%;margin-left: 0;padding: 4px 2px 0}.structural-thumb-board img{aspect-ratio: 16 / 10}}.case-data-table{width: 100%;overflow-x: auto;border: 1px solid var(--v4-line);border-radius: var(--v4-radius-sm,8px);background: color-mix(in srgb,var(--v4-panel-strong) 72%,transparent)}.case-data-table table{width: 100%;min-width: 720px;border-collapse: collapse;font-size: 0.92rem}.case-data-table th,.case-data-table td{padding: 13px 15px;border-bottom: 1px solid var(--v4-line);text-align: left;vertical-align: top}.case-data-table th{color: var(--v4-teal);font-family: var(--font-mono,ui-monospace,monospace);font-size: 0.72rem;letter-spacing: 0.08em;text-transform: uppercase;white-space: nowrap}.case-data-table td:first-child,.case-data-table td:nth-child(2),.case-data-table td:nth-child(3){font-family: var(--font-mono,ui-monospace,monospace)}.case-data-table td:first-child{color: var(--text);font-weight: 700;white-space: nowrap}.case-data-table td:nth-child(2),.case-data-table td:nth-child(3){color: color-mix(in srgb,var(--v4-amber) 72%,var(--text))}.case-data-table tr:last-child td{border-bottom: 0}.case-media-grid{display: grid;grid-template-columns: repeat(2,minmax(0,1fr));gap: clamp(14px,2vw,22px)}.case-media-card{margin: 0;overflow: hidden;border: 1px solid var(--v4-line);border-radius: var(--v4-radius-sm,8px);background: linear-gradient(180deg,color-mix(in srgb,var(--v4-panel-strong) 86%,transparent),color-mix(in srgb,var(--v4-panel) 92%,transparent));box-shadow: 0 18px 50px color-mix(in srgb,#000 24%,transparent)}.case-media-card img{display: block;width: 100%;aspect-ratio: 16 / 9;object-fit: contain;background: #f7f8fa;border-bottom: 1px solid var(--v4-line)}.case-media-card figcaption{padding: 13px 15px 15px;color: var(--muted);font-size: 0.92rem;line-height: 1.55}.case-media-card figcaption strong{display: block;margin-bottom: 4px;color: var(--text);font-family: var(--font-mono,ui-monospace,monospace);font-size: 0.72rem;letter-spacing: 0.08em;text-transform: uppercase}.structural-hero-board{display: grid;grid-template-columns: minmax(0,1.35fr) minmax(220px,0.72fr);grid-template-rows: auto auto;gap: clamp(12px,1.7vw,18px);margin-top: clamp(28px,5vw,48px);padding: clamp(12px,1.7vw,18px);border: 1px solid color-mix(in srgb,var(--v4-blue) 48%,var(--v4-line));border-radius: clamp(14px,2vw,22px);background: radial-gradient(circle at 18% 12%,color-mix(in srgb,var(--v4-teal) 11%,transparent),transparent 30%),linear-gradient(135deg,color-mix(in srgb,var(--v4-panel-strong) 88%,transparent),color-mix(in srgb,var(--v4-panel) 94%,transparent));box-shadow: 0 30px 90px color-mix(in srgb,#000 28%,transparent)}.structural-hero-composite{margin: clamp(28px,5vw,48px) 0 0;overflow: hidden;border: 1px solid color-mix(in srgb,var(--v4-blue) 48%,var(--v4-line));border-radius: clamp(14px,2vw,22px);background: radial-gradient(circle at 18% 12%,color-mix(in srgb,var(--v4-teal) 11%,transparent),transparent 30%),color-mix(in srgb,var(--v4-panel-strong) 88%,transparent);box-shadow: 0 30px 90px color-mix(in srgb,#000 28%,transparent)}.structural-hero-composite img{display: block;width: 100%;aspect-ratio: 5 / 3;object-fit: cover;background: color-mix(in srgb,var(--v4-panel) 94%,#020617)}.structural-hero-composite figcaption,.structural-comparison-board figcaption{padding: 12px 16px 15px;border-top: 1px solid var(--v4-line);color: var(--muted);font-size: 0.9rem;line-height: 1.55}.structural-comparison-board figcaption strong{display: block;margin-bottom: 4px;color: var(--text);font-family: var(--font-mono,ui-monospace,monospace);font-size: 0.72rem;letter-spacing: 0.08em;text-transform: uppercase}.structural-hero-shot,.structural-figure-card{position: relative;min-width: 0;margin: 0;overflow: hidden;border: 1px solid var(--v4-line);border-radius: var(--v4-radius-sm,8px);background: linear-gradient(180deg,color-mix(in srgb,var(--v4-panel-strong) 92%,transparent),color-mix(in srgb,var(--v4-panel) 96%,transparent))}.structural-hero-shot.is-primary{grid-row: 1 / span 2}.structural-hero-shot img,.structural-figure-card img{display: block;width: 100%;object-fit: contain;background: linear-gradient(90deg,rgba(15,23,42,0.04) 1px,transparent 1px),linear-gradient(180deg,rgba(15,23,42,0.04) 1px,transparent 1px),#f6f7f8;background-size: 32px 32px;border-bottom: 1px solid var(--v4-line)}.structural-hero-shot img{aspect-ratio: 16 / 10}.structural-hero-shot.is-primary img{aspect-ratio: 16 / 9}.structural-hero-shot figcaption,.structural-figure-card figcaption{display: grid;gap: 5px;padding: 12px 14px 14px;color: var(--muted);font-size: 0.9rem;line-height: 1.5}.structural-hero-shot figcaption strong,.structural-figure-card figcaption strong{color: var(--text);font-family: var(--font-mono,ui-monospace,monospace);font-size: 0.72rem;letter-spacing: 0.08em;text-transform: uppercase}.structural-figure-deck{display: grid;grid-template-columns: repeat(6,minmax(0,1fr));gap: clamp(14px,2vw,22px)}.structural-figure-card{grid-column: span 3;box-shadow: 0 18px 52px color-mix(in srgb,#000 21%,transparent)}.structural-figure-card.is-wide{grid-column: span 6}.structural-figure-card.is-mesh,.structural-figure-card.is-plot{grid-column: span 3}.structural-figure-card img{aspect-ratio: 16 / 9}.structural-figure-card.is-wide img{aspect-ratio: 21 / 9}.structural-figure-card.is-mesh img{aspect-ratio: 4 / 3}.structural-figure-card.is-plot img{aspect-ratio: 16 / 9}.structural-figure-card.is-composite img{aspect-ratio: 90 / 41;background: color-mix(in srgb,var(--v4-panel) 94%,#020617)}.figure-kpi-row{display: flex;flex-wrap: wrap;align-items: center;gap: 8px;padding: 10px 12px;border-bottom: 1px solid var(--v4-line);background: linear-gradient(90deg,color-mix(in srgb,var(--v4-teal) 10%,transparent),transparent 48%),color-mix(in srgb,var(--v4-panel-strong) 86%,transparent)}.figure-kpi-row span{display: inline-flex;align-items: center;min-height: 25px;border: 1px solid color-mix(in srgb,var(--v4-line) 80%,transparent);border-radius: 999px;padding: 4px 9px;color: color-mix(in srgb,var(--v4-teal) 78%,var(--text));font: 700 0.66rem/1 var(--font-mono,ui-monospace,monospace);letter-spacing: 0.055em;text-transform: uppercase;background: color-mix(in srgb,var(--v4-panel) 62%,transparent)}.structural-comparison{display: grid;grid-template-columns: minmax(240px,0.46fr) minmax(0,1fr);gap: clamp(16px,2.4vw,28px);align-items: start;margin-top: clamp(20px,3vw,32px);padding: clamp(16px,2.4vw,24px);border: 1px solid color-mix(in srgb,var(--v4-amber) 28%,var(--v4-line));border-radius: var(--v4-radius,12px);background: linear-gradient(135deg,color-mix(in srgb,var(--v4-amber) 8%,transparent),transparent 60%),color-mix(in srgb,var(--v4-panel-strong) 78%,transparent)}.structural-comparison-copy{position: sticky;top: 96px}.structural-comparison-copy h3{margin: 0 0 10px;color: var(--text);font-size: clamp(1.3rem,2.1vw,1.9rem)}.structural-comparison-copy p:not(.eyebrow){margin: 0;color: var(--muted);line-height: 1.65}.structural-comparison-grid{display: grid;grid-template-columns: repeat(2,minmax(0,1fr));gap: clamp(14px,1.8vw,20px)}.structural-comparison-board{min-width: 0;margin: 0;overflow: hidden;border: 1px solid color-mix(in srgb,var(--v4-teal) 38%,var(--v4-line));border-radius: var(--v4-radius-sm,8px);background: color-mix(in srgb,var(--v4-panel-strong) 88%,transparent);box-shadow: 0 18px 52px color-mix(in srgb,#000 21%,transparent)}.structural-comparison-board img{display: block;width: 100%;aspect-ratio: 90 / 43;object-fit: cover;background: color-mix(in srgb,var(--v4-panel) 94%,#020617)}.structural-figure-card.is-alert{border-color: color-mix(in srgb,var(--v4-orange) 38%,var(--v4-line))}.structural-figure-card.is-alert .figure-kpi-row{background: linear-gradient(90deg,color-mix(in srgb,var(--v4-orange) 13%,transparent),transparent 56%),color-mix(in srgb,var(--v4-panel-strong) 86%,transparent)}.structural-figure-card.is-accepted{border-color: color-mix(in srgb,var(--v4-teal) 42%,var(--v4-line))}html[data-theme="light"] .structural-hero-board,html[data-theme="light"] .structural-hero-composite,html[data-theme="light"] .structural-hero-shot,html[data-theme="light"] .structural-figure-card,html[data-theme="light"] .structural-comparison,html[data-theme="light"] .structural-comparison-board{box-shadow: 0 18px 46px rgba(15,23,42,0.08)}.case-role-grid{display: grid;grid-template-columns: repeat(4,minmax(0,1fr));gap: clamp(12px,1.6vw,18px)}.case-role-card,.standards-note{border: 1px solid var(--v4-line);border-radius: var(--v4-radius-sm,8px);background: color-mix(in srgb,var(--v4-panel-strong) 78%,transparent)}.case-role-card{padding: clamp(16px,2vw,20px)}.case-role-card h3,.standards-note h3{margin: 0 0 8px;color: var(--text);font-size: 1rem}.case-role-card p,.standards-note p{margin: 0;color: var(--muted);line-height: 1.6}.standards-note{margin-top: clamp(16px,2vw,22px);padding: clamp(18px,2.2vw,24px);border-color: color-mix(in srgb,var(--v4-amber) 34%,var(--v4-line));background: linear-gradient(135deg,color-mix(in srgb,var(--v4-amber) 10%,transparent),transparent 56%),color-mix(in srgb,var(--v4-panel-strong) 84%,transparent)}@media (max-width: 980px){.case-role-grid{grid-template-columns: repeat(2,minmax(0,1fr))}.structural-hero-board,.structural-comparison{grid-template-columns: 1fr}.structural-hero-shot.is-primary{grid-row: auto}.structural-comparison-copy{position: static}}@media (max-width: 720px){.case-media-grid,.case-role-grid,.structural-figure-deck,.structural-comparison-grid{grid-template-columns: 1fr}.structural-figure-card,.structural-figure-card.is-wide,.structural-figure-card.is-mesh,.structural-figure-card.is-plot{grid-column: auto}.structural-figure-card.is-wide img,.structural-figure-card img,.structural-figure-card.is-composite img,.structural-hero-shot img,.structural-hero-shot.is-primary img,.structural-hero-composite img,.structural-comparison-board img{aspect-ratio: 4 / 3}}.capability-radar{display: grid;grid-template-columns: minmax(240px,0.82fr) minmax(280px,1fr) minmax(220px,0.72fr);gap: clamp(18px,4vw,42px);align-items: center;margin: 0 0 28px;padding: clamp(18px,3vw,28px);border: 1px solid var(--v4-line);border-radius: var(--v4-radius);background: radial-gradient(circle at 52% 40%,rgba(101,214,201,0.10),transparent 36%),var(--v4-panel);box-shadow: var(--v4-shadow)}.radar-frame svg{width: 100%;max-height: 320px;display: block}.radar-grid polygon,.radar-grid line{fill: none;stroke: var(--v4-line);stroke-width: 0.9}.radar-signal{fill: color-mix(in srgb,var(--v4-teal) 24%,transparent);stroke: var(--v4-teal);stroke-width: 2.3;filter: drop-shadow(0 10px 24px rgba(101,214,201,0.18))}.radar-focus{fill: var(--v4-amber);stroke: var(--v4-panel-strong);stroke-width: 2;filter: drop-shadow(0 0 9px rgba(246,200,95,0.58))}.radar-labels text{fill: var(--muted);font-size: 8px;font-family: var(--mono,monospace)}.radar-readout{display: grid;gap: 8px}.radar-readout button{display: flex;justify-content: space-between;gap: 12px;width: 100%;border: 1px solid var(--v4-line);border-radius: 999px;padding: 8px 11px;color: var(--muted);background: color-mix(in srgb,var(--v4-panel-strong) 80%,transparent);cursor: pointer;font: inherit}.radar-readout button:hover,.radar-readout button.is-selected{border-color: color-mix(in srgb,var(--v4-teal) 55%,var(--v4-line));color: var(--text)}.radar-readout strong{color: var(--text);font-family: var(--mono,monospace)}.radar-evidence{min-height: 88px;margin-top: 12px;padding: 11px 12px;border-left: 2px solid var(--v4-teal);background: color-mix(in srgb,var(--v4-panel-strong) 70%,transparent)}.radar-evidence strong{display: flex;justify-content: space-between;gap: 8px;color: var(--text);font-size: 0.86rem}.radar-evidence strong span{color: var(--v4-teal);font: 500 0.72rem/1.2 var(--mono,monospace)}.radar-evidence p{margin: 8px 0 0;color: var(--muted);font-size: 0.78rem;line-height: 1.4}html[data-theme="light"] #skills .skill-pill:not([data-chip-type]){color: #243542 !important;border-color: rgba(22,61,76,0.18) !important;background: rgba(248,251,250,0.96) !important;box-shadow: inset 0 0 0 1px rgba(22,61,76,0.05)}html[data-theme="light"] #skills .skill-block{background: rgba(255,255,255,0.82);border-color: rgba(22,61,76,0.16)}@media (max-width: 900px){.capability-radar{grid-template-columns: 1fr}}.experience-rail{position: relative;display: grid;grid-template-columns: repeat(4,minmax(0,1fr));gap: 0;margin-bottom: 26px;padding: 0 8px}.experience-rail::before{content: "";position: absolute;left: 10%;right: 10%;top: 30px;height: 1px;background: color-mix(in srgb,var(--v4-teal) 36%,var(--v4-line))}.experience-stop{position: relative;z-index: 1;min-width: 0;padding: 0 12px;border: 0;background: transparent;color: var(--muted);text-align: left;cursor: pointer}.experience-stop::before{content: "";display: block;width: 10px;height: 10px;margin: 25px 0 15px;border: 2px solid var(--v4-line);border-radius: 50%;background: var(--v4-panel-strong);transition: transform 180ms ease,border-color 180ms ease,background 180ms ease}.experience-stop time{position: absolute;top: 0;left: 12px;font: 600 0.72rem/1 var(--font-mono,ui-monospace,monospace);color: color-mix(in srgb,var(--v4-teal) 70%,var(--muted))}.experience-stop strong,.experience-stop span,.experience-stop small{display: block}.experience-stop strong{font-size: 0.96rem;color: var(--text)}.experience-stop span{font-size: 0.82rem;color: var(--muted)}.experience-stop small{margin-top: 6px;color: var(--muted);font: 500 0.68rem/1.3 var(--font-mono,ui-monospace,monospace);text-transform: uppercase}.experience-stop:hover::before,.experience-stop.is-active::before{transform: scale(1.28);border-color: var(--v4-teal);background: var(--v4-teal)}.experience-stop-siemens.is-active strong,.experience-stop-siemens:hover strong{color: var(--v4-teal)}.experience-stop-alleima.is-active::before{border-color: var(--v4-amber);background: var(--v4-amber)}.experience-stop-qburst.is-active::before{border-color: var(--v4-orange);background: var(--v4-orange)}.cinematic-timeline{position: relative;display: grid;grid-template-columns: repeat(3,minmax(0,1fr)) minmax(290px,1.35fr);gap: 16px;padding: 6px 2px 14px;max-width: 100%;min-width: 0}.cinematic-role-card{min-width: 0;transition: transform 260ms ease,border-color 260ms ease,background 260ms ease}.cinematic-role-card.is-active{transform: translateY(-4px);border-color: color-mix(in srgb,var(--v4-teal) 48%,var(--v4-line))}.cinematic-role-card.is-primary-role{box-shadow: 0 24px 76px rgba(101,214,201,0.12)}.cinematic-role-card p:not(.meta){font-size: 0.93rem}@media (max-width: 980px){#experience .container{min-width: 0;max-width: 100%}.experience-rail{display: flex;gap: 0;width: 100%;overflow-x: auto;padding-bottom: 8px}.experience-rail::before{left: 30px;right: 30px}.experience-stop{flex: 0 0 145px}.cinematic-timeline{display: flex;flex-wrap: nowrap;gap: 12px;width: 100%;overflow-x: auto;scroll-snap-type: x mandatory;scrollbar-width: thin}.cinematic-role-card,.cinematic-role-card.is-primary-role{flex: 0 0 calc(100vw - 48px);min-width: 0;scroll-snap-align: start}}.research-mindmap{position: relative;min-height: 300px;margin: 0 0 28px;border: 1px solid var(--v4-line);border-radius: var(--v4-radius);background: radial-gradient(circle at 31% 48%,rgba(37,99,168,0.18),transparent 34%),var(--v4-grid),var(--v4-panel);background-size: auto,28px 28px,auto;overflow: hidden}.research-mindmap svg,.mindmap-node-layer{position: absolute;inset: 0 35% 0 0}.research-mindmap path{fill: none;stroke: color-mix(in srgb,var(--v4-teal) 78%,transparent);stroke-width: 1.35;stroke-dasharray: 5 5;animation: research-signal-flow 5s linear infinite}.research-mindmap .mindmap-arrowhead{fill: var(--v4-teal);stroke: none;animation: none}@keyframes research-signal-flow{to{stroke-dashoffset: -40}}.mindmap-node{position: absolute;left: calc(var(--x) * 1%);top: calc(var(--y) * 1%);transform: translate(-50%,-50%);width: min(190px,31vw);border: 1px solid var(--v4-line);border-radius: 12px;padding: 10px;background: color-mix(in srgb,var(--v4-panel-strong) 90%,transparent);color: var(--text);font-weight: 650}.mindmap-node::before{content: "";display: inline-block;width: 7px;height: 7px;margin-right: 8px;border-radius: 50%;background: color-mix(in srgb,var(--v4-teal) 52%,var(--muted))}.mindmap-node.is-active{border-color: var(--v4-teal);box-shadow: 0 18px 54px rgba(101,214,201,0.14)}.mindmap-node.is-active::before{background: var(--v4-teal);animation: mindmap-live 1.9s ease-out infinite}@keyframes mindmap-live{50%{box-shadow: 0 0 0 7px rgba(101,214,201,0)}from{box-shadow: 0 0 0 0 rgba(101,214,201,0.38)}to{box-shadow: 0 0 0 0 rgba(101,214,201,0)}}.mindmap-detail{position: absolute;right: 20px;top: 50%;transform: translateY(-50%);width: calc(34% - 28px);border: 1px solid var(--v4-line);border-radius: 12px;padding: 16px;background: color-mix(in srgb,var(--v4-panel-strong) 92%,transparent)}.mindmap-detail span{display: block;color: var(--v4-teal);font-weight: 700}.mindmap-detail small{display: block;margin-top: 9px;color: var(--v4-amber);font: 500 0.7rem/1.45 var(--font-mono,ui-monospace,monospace);text-transform: uppercase}.mindmap-detail p{margin: 8px 0 0;color: var(--muted)}@media (max-width: 720px){.research-mindmap{min-height: auto;padding: 16px}.research-mindmap svg{display: none}.mindmap-node-layer,.mindmap-detail{position: static;transform: none}.mindmap-node-layer{display: grid;gap: 10px}.mindmap-node{position: static;width: 100%;transform: none}.mindmap-detail{margin-top: 12px;width: auto}}.testimonial-card{position: relative}.letter-open{margin-top: 16px;border: 1px solid var(--v4-line);border-radius: 999px;padding: 8px 12px;background: color-mix(in srgb,var(--v4-panel-strong) 86%,transparent);color: var(--text)}body.signal-rebuild .card,body.signal-rebuild .project-card,body.signal-rebuild .testimonial-card,body.signal-rebuild .assignment-card,body.signal-rebuild .skill-block,body.signal-rebuild .track-disclosure,body.signal-rebuild .contact-card,body.signal-rebuild .contact-cal,body.signal-rebuild .capability-radar,body.signal-rebuild .v4-evidence-graph{border-color: color-mix(in srgb,var(--accent,var(--v4-teal)) 20%,var(--v4-line));background: linear-gradient(145deg,color-mix(in srgb,var(--accent,var(--v4-teal)) 5%,transparent),transparent 46%),color-mix(in srgb,var(--v4-panel-strong) 88%,transparent);box-shadow: inset 0 1px 0 color-mix(in srgb,#fff 6%,transparent),0 22px 70px color-mix(in srgb,#000 20%,transparent)}body.signal-rebuild .card,body.signal-rebuild .project-card,body.signal-rebuild .testimonial-card,body.signal-rebuild .assignment-card,body.signal-rebuild .skill-block,body.signal-rebuild .contact-cal{border-radius: var(--v4-radius-sm,8px)}body.signal-rebuild .card:hover,body.signal-rebuild .project-card:hover,body.signal-rebuild .testimonial-card:hover,body.signal-rebuild .assignment-card:hover,body.signal-rebuild .skill-block:hover{border-color: color-mix(in srgb,var(--accent,var(--v4-teal)) 42%,var(--v4-line))}body.signal-rebuild .section-head .eyebrow,body.signal-rebuild .evidence-map-copy .eyebrow,body.signal-rebuild .contact-intro .eyebrow{color: color-mix(in srgb,var(--accent,var(--v4-teal)) 76%,var(--v4-amber))}body.signal-rebuild[data-signal-lens="thermal"]{--signal-lens-color: var(--v4-teal)}body.signal-rebuild[data-signal-lens="energy"]{--signal-lens-color: #9bd69f}body.signal-rebuild[data-signal-lens="industrial"]{--signal-lens-color: var(--v4-amber)}body.signal-rebuild[data-signal-lens="research"]{--signal-lens-color: #8ec8ff}body.signal-rebuild[data-signal-lens="structural"]{--signal-lens-color: #a78bfa}body.signal-rebuild[data-signal-lens="software"]{--signal-lens-color: #7dd3fc}body.signal-rebuild .has-signal-page-art{position: relative}body.signal-rebuild .case-hero .container.has-signal-page-art,body.signal-rebuild .page-shell-grid .hero-slab.has-signal-page-art,body.signal-rebuild .page-shell .container.has-signal-page-art{padding-right: clamp(1.25rem,22vw,18rem)}body.signal-rebuild .signal-page-art{position: absolute;top: clamp(1rem,2.2vw,1.6rem);right: clamp(1rem,2vw,1.5rem);z-index: 0;width: clamp(11rem,22vw,17rem);max-width: min(34%,18rem);padding: 0.62rem;border: 1px solid color-mix(in srgb,var(--signal-lens-color,var(--accent,var(--v4-teal))) 34%,var(--v4-line));border-radius: var(--v4-radius-sm,8px);background: linear-gradient(135deg,color-mix(in srgb,var(--signal-lens-color,var(--accent,var(--v4-teal))) 12%,transparent),transparent 62%),color-mix(in srgb,var(--v4-panel-strong) 70%,transparent);box-shadow: inset 0 1px 0 color-mix(in srgb,#fff 7%,transparent);pointer-events: none;opacity: 0.82}body.signal-rebuild .signal-page-art::after{content: "";position: absolute;inset: 0;border-radius: inherit;background: linear-gradient(to right,color-mix(in srgb,var(--v4-line) 52%,transparent) 1px,transparent 1px),linear-gradient(to bottom,color-mix(in srgb,var(--v4-line) 52%,transparent) 1px,transparent 1px);background-size: 28px 28px;opacity: 0.42;pointer-events: none}body.signal-rebuild .signal-art-head{position: relative;z-index: 1;display: flex;align-items: center;justify-content: space-between;gap: 0.75rem;margin-bottom: 0.3rem;color: color-mix(in srgb,var(--signal-lens-color,var(--accent,var(--v4-teal))) 78%,var(--muted));font: 700 0.58rem/1.2 var(--font-mono,ui-monospace,monospace);letter-spacing: 0.08em;text-transform: uppercase}body.signal-rebuild .signal-art-head b{color: var(--muted);font-weight: 700}body.signal-rebuild .signal-page-art svg{position: relative;z-index: 1;display: block;width: 100%;height: auto}body.signal-rebuild .signal-page-art path,body.signal-rebuild .signal-page-art rect,body.signal-rebuild .signal-page-art circle{vector-effect: non-scaling-stroke}body.signal-rebuild .signal-page-art .grid-line,body.signal-rebuild .signal-page-art .mesh-line{stroke: color-mix(in srgb,var(--muted) 38%,transparent);stroke-width: 1}body.signal-rebuild .signal-page-art .flow-line,body.signal-rebuild .signal-page-art .energy-curve,body.signal-rebuild .signal-page-art .plume-core,body.signal-rebuild .signal-page-art .reducer-c2,body.signal-rebuild .signal-page-art .cooling-loop{stroke: var(--signal-lens-color,var(--accent,var(--v4-teal)));stroke-width: 2.3;stroke-linecap: round;stroke-linejoin: round;fill: none;stroke-dasharray: 5 8;animation: signal-art-flow 3.8s linear infinite}body.signal-rebuild .signal-page-art .secondary{opacity: 0.64;animation-duration: 5.2s}body.signal-rebuild .signal-page-art .reducer-wall,body.signal-rebuild .signal-page-art .nozzle-wall,body.signal-rebuild .signal-page-art .mesh-outline,body.signal-rebuild .signal-page-art .process-box{stroke: color-mix(in srgb,var(--signal-lens-color,var(--accent,var(--v4-teal))) 62%,var(--text));stroke-width: 1.6;fill: color-mix(in srgb,var(--signal-lens-color,var(--accent,var(--v4-teal))) 8%,transparent)}body.signal-rebuild .signal-page-art .thermal-band,body.signal-rebuild .signal-page-art .deposit-strip,body.signal-rebuild .signal-page-art .recovery,body.signal-rebuild .signal-page-art .load-arrow{stroke: var(--v4-amber);stroke-width: 2;stroke-linecap: round;fill: none}body.signal-rebuild .signal-page-art .constraint,body.signal-rebuild .signal-page-art .node-set circle{fill: var(--signal-lens-color,var(--accent,var(--v4-teal)));stroke: color-mix(in srgb,#000 22%,transparent)}@keyframes signal-art-flow{to{stroke-dashoffset: -52}}body.signal-rebuild .signal-heading-icon{display: flex;align-items: flex-start;gap: 0.55rem}body.signal-rebuild .signal-mini-icon{flex: 0 0 auto;display: inline-grid;place-items: center;width: 1.45rem;height: 1.45rem;margin-top: 0.05rem;border: 1px solid color-mix(in srgb,var(--signal-lens-color,var(--accent,var(--v4-teal))) 38%,var(--v4-line));border-radius: 6px;background: color-mix(in srgb,var(--signal-lens-color,var(--accent,var(--v4-teal))) 10%,transparent);color: var(--signal-lens-color,var(--accent,var(--v4-teal)))}body.signal-rebuild .signal-mini-icon svg{width: 1rem;height: 1rem;stroke: currentColor;stroke-width: 1.45;stroke-linecap: round;stroke-linejoin: round}body.signal-rebuild .tag-row span,body.signal-rebuild .audience-chip-row span,body.signal-rebuild .skill-pill,body.signal-rebuild .tool-icon-card,body.signal-rebuild .contact-links a{border-color: color-mix(in srgb,var(--accent,var(--v4-teal)) 28%,var(--v4-line));background: color-mix(in srgb,var(--accent,var(--v4-teal)) 7%,transparent)}html[data-theme="light"] body.signal-rebuild .card,html[data-theme="light"] body.signal-rebuild .project-card,html[data-theme="light"] body.signal-rebuild .testimonial-card,html[data-theme="light"] body.signal-rebuild .assignment-card,html[data-theme="light"] body.signal-rebuild .skill-block,html[data-theme="light"] body.signal-rebuild .track-disclosure,html[data-theme="light"] body.signal-rebuild .contact-card,html[data-theme="light"] body.signal-rebuild .contact-cal,html[data-theme="light"] body.signal-rebuild .capability-radar,html[data-theme="light"] body.signal-rebuild .v4-evidence-graph{background: linear-gradient(145deg,color-mix(in srgb,var(--accent,var(--v4-teal)) 5%,transparent),transparent 46%),rgba(255,255,255,0.9);box-shadow: inset 0 1px 0 rgba(255,255,255,0.82),0 20px 54px rgba(21,45,60,0.12)}@media (max-width: 980px){body.signal-rebuild .case-hero .container.has-signal-page-art,body.signal-rebuild .page-shell-grid .hero-slab.has-signal-page-art,body.signal-rebuild .page-shell .container.has-signal-page-art{padding-right: revert}body.signal-rebuild .signal-page-art{position: relative;inset: auto;width: 100%;max-width: 26rem;margin-top: 1rem}}@media (max-width: 620px){body.signal-rebuild .signal-page-art{display: none}}html.motion-reduced body.signal-rebuild .signal-page-art .flow-line,html.motion-reduced body.signal-rebuild .signal-page-art .energy-curve,html.motion-reduced body.signal-rebuild .signal-page-art .plume-core,html.motion-reduced body.signal-rebuild .signal-page-art .reducer-c2,html.motion-reduced body.signal-rebuild .signal-page-art .cooling-loop{animation: none}@media print{@media print{.motion-scroll-rail,.motion-cursor,.motion-audio-toggle,.step-form-actions,.letter-open{display: none !important}}}
