/* THE SIGNAL / DIRECTOR'S CUT — editorial identity, choreography, live engineering workbench */
@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700;800;900&family=IBM+Plex+Mono:wght@400;500;600;700&display=swap');
:root{--bg:#090f11;--bg-soft:#0c1618;--panel:#101e20;--border:#28474a;--line:#294044;--text:#f0f5ed;--dim:#b2c8c3;--subtle:#739b96;--accent:#a5f5df;--aqua:#54dafa;--amber:#e5ad76;--display:'DM Sans','Arial Black','Helvetica Neue',Arial,sans-serif;--mono:'IBM Plex Mono',ui-monospace,Consolas,monospace}
html{scroll-padding-top:76px}
body{font-family:'DM Sans',Arial, sans-serif;overflow-x:clip}
body::after{opacity:.024;z-index:90}
::selection{color:#091418;background:#a5f5df}
.site-header{position:fixed;top:0;left:0;right:0;max-width:1920px;margin-inline:auto;height:76px;background:linear-gradient(180deg,rgba(7,13,16,.92),rgba(7,13,16,.72));backdrop-filter:blur(16px);border-bottom:1px solid rgba(140,193,187,.22);padding-inline:4.1%;z-index:80;transition:background .4s,border-color .4s}
.site-header.scrolled{background:rgba(6,14,17,.97);border-color:rgba(143,220,199,.37)}
.brand-mark{font:900 31px/1 var(--display);letter-spacing:-.12em}.brand-detail{font-size:9px;letter-spacing:.27em}.site-nav{gap:42px}.site-nav a{font:500 10px var(--mono);letter-spacing:.075em}
.header-contact{font-size:10px;padding:14px 20px;color:#071a19}.power-toggle{font-size:9px;min-height:43px}
#site-current{z-index:55;opacity:.87}#electric-arcs{z-index:5;position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.boot-overlay{position:fixed;inset:0;z-index:200;background:#091215;color:#e7f9f1;display:grid;place-items:center;pointer-events:none;animation:boot-exit 1.35s 1.15s cubic-bezier(.6,0,.2,1) forwards}.boot-central{width:min(360px,70vw);text-align:center}.boot-monogram{font:900 11rem/.85 var(--display);letter-spacing:-.12em;text-indent:-.12em}.boot-monogram span{color:var(--accent)}.boot-progress{height:1px;width:100%;margin:32px 0 15px;background:#254743;overflow:hidden}.boot-progress span{display:block;background:var(--accent);height:100%;transform-origin:left;animation:boot-progress 1.3s ease-out forwards;box-shadow:0 0 20px var(--accent)}.boot-central p{display:flex;justify-content:space-between;font:10px var(--mono);letter-spacing:.16em}.boot-index{position:absolute;bottom:30px;font:9px var(--mono);letter-spacing:.13em;opacity:.55}@keyframes boot-progress{from{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes boot-exit{to{opacity:0;visibility:hidden;transform:translateY(-20px)}}
.cursor-orbit{position:fixed;width:52px;height:52px;left:0;top:0;border:1px solid rgba(164,248,220,.55);border-radius:50%;z-index:100;pointer-events:none;mix-blend-mode:screen;transform:translate(-100px,-100px);transition:width .2s,height .2s,background .2s,border .2s;display:none}.cursor-orbit::after{content:'';width:4px;height:4px;background:#e5fff8;border-radius:50%;position:absolute;left:calc(50% - 2px);top:calc(50% - 2px)}.cursor-orbit.hovered{width:77px;height:77px;background:rgba(98,223,196,.12);border-color:var(--accent)}
@media(pointer:fine){.cursor-orbit{display:block}}
.hero{height:285svh;min-height:1700px;display:block;overflow:clip;border-bottom:0;isolation:isolate;background:#070e12}
.hero-stage{height:100svh;min-height:700px;display:grid;grid-template-columns:minmax(0,54%) minmax(0,46%);position:sticky;top:0;overflow:hidden}
.hero-grid{z-index:1;opacity:.66;background:linear-gradient(90deg,#070e11 4%,rgba(7,14,17,.95) 26%,rgba(7,14,17,.26) 76%),repeating-linear-gradient(0deg,transparent 0,transparent 79px,rgba(83,134,145,.07) 80px),repeating-linear-gradient(90deg,transparent 0,transparent 79px,rgba(83,134,145,.07) 80px)}
.hero-copy{padding:clamp(150px,21vh,235px) 0 115px 7.8%;justify-content:start;transition:opacity .65s,transform .9s cubic-bezier(.16,1,.3,1);z-index:8;pointer-events:none}
.hero-copy a{pointer-events:auto}.hero-copy .eyebrow{font-size:10px;letter-spacing:.1em;flex-wrap:wrap}
.hero-copy .kicker{margin-top:54px;margin-bottom:28px;font-size:11px;letter-spacing:.21em}
.hero h1{font-size:clamp(72px,8.8vw,170px);line-height:.81;max-width:none;letter-spacing:-.105em;white-space:nowrap;position:relative;z-index:4;text-wrap:nowrap}
.hero h1 em{background:linear-gradient(110deg,#eaffcc,#9af5e4 55%,#66c8ec);background-clip:text;-webkit-background-clip:text}
.hero-description{margin:43px 0 38px;max-width:430px;font-size:16px;line-height:1.75;font-weight:400;color:#bed0cd}
.hero-actions{gap:29px}.btn-primary{padding:22px 25px;min-width:240px;box-shadow:0 0 65px rgba(126,231,204,.11)}.btn-primary:hover{box-shadow:0 0 65px rgba(126,231,204,.3)}.btn-link{font-size:10px}
.hero-index{position:absolute;bottom:95px;left:7.8%;margin:0;padding:0;font-size:10px;letter-spacing:.14em}
.hero-visual{min-height:0;height:100%;background:radial-gradient(ellipse 55% 56% at 53% 51%,#23403b,#0c1e24 53%,#071017 81%);border-left:1px solid rgba(112,188,176,.15);box-shadow:inset 20px 0 140px #071017;z-index:2}
.hero-visual::after{width:min(92%,710px);border-color:rgba(145,247,228,.38);opacity:.3;box-shadow:0 0 140px #50dbc536}
.hero-visual::before{background:repeating-linear-gradient(0deg,transparent 0 76px,rgba(149,225,204,.035) 77px),repeating-linear-gradient(90deg,transparent 0 76px,rgba(149,225,204,.035) 77px)}
.visual-topline{top:111px;left:31px;right:33px}.visual-corner.vc-tl,.visual-corner.vc-tr{top:145px}.visual-corner.vc-bl,.visual-corner.vc-br{bottom:126px}
.visual-controls{bottom:58px;left:30px;right:32px}.mode{font-size:9px;background:rgba(10,25,30,.8);border-color:rgba(137,212,198,.29)}.mode.active{background:#b6f6e2;border-color:#b6f6e2}
.visual-bottom{bottom:23px;left:30px;right:32px;color:#719e96}
.component-callout{top:27%;font-size:10px}.hero-world-coordinate{font:9px/1.85 var(--mono);text-align:right;color:#598e86;position:absolute;right:40px;top:25%;letter-spacing:.12em}.hero-trajectory{position:absolute;z-index:6;bottom:180px;left:42px;display:flex;gap:12px;align-items:center;transform:rotate(-90deg);transform-origin:top left;font:8px var(--mono);letter-spacing:.12em;color:#5f9a94}.trajectory-line{width:55px;height:1px;background:#74b5a5}
.hero-bottom-ribbon{height:43px;bottom:0;background:#b7f6df;font:600 10px var(--mono);letter-spacing:.11em}
.hero-act-overlay{grid-column:1;position:absolute;z-index:9;pointer-events:none;left:7.8%;top:29vh;max-width:52vw;opacity:0;transform:translateY(35px);transition:opacity .7s,transform .95s cubic-bezier(.16,1,.3,1)}.hero-act-overlay .act-count{display:block;color:var(--accent);font:11px var(--mono);letter-spacing:.15em;margin-bottom:24px}.hero-act-overlay strong{display:block;font:900 clamp(70px,8.2vw,155px)/.88 var(--display);letter-spacing:-.09em;max-width:780px}.hero-act-overlay p{font:400 16px/1.75 'DM Sans',sans-serif;color:#c1d4cf;max-width:410px;margin:34px 0}.hero[data-act="1"] .hero-copy,.hero[data-act="2"] .hero-copy{opacity:0;transform:translateY(-45px)}.hero[data-act="1"] .hero-act-overlay,.hero[data-act="2"] .hero-act-overlay{opacity:1;transform:translateY(0)}.hero[data-act="1"] .hero-visual{background:radial-gradient(ellipse at 55% 44%,#203b40,#09181e 60%,#071017)}.hero[data-act="2"] .hero-visual{background:radial-gradient(ellipse at 55% 44%,#152d34,#091116 65%,#070e11)}.hero-act-tracker{position:absolute;bottom:67px;left:7.8%;display:flex;gap:8px;z-index:15}.act-bar{display:block;width:38px;height:3px;background:#47716d;transition:background .3s,width .3s}.act-bar.active{width:92px;background:#b1f9df;box-shadow:0 0 18px #8fe4d6}
.hero[data-act="1"] .hero-index,.hero[data-act="2"] .hero-index{opacity:0}
.manifesto-band{height:72px;background:#b8f2df;color:#0b1c1e;overflow:hidden;display:flex;align-items:center;border-block:1px solid #d2fff1}.manifesto-track{white-space:nowrap;display:flex;gap:40px;align-items:center;font:900 30px/1 var(--display);letter-spacing:-.065em;animation:marquee 24s linear infinite}.manifesto-track span{font-weight:400;font-size:29px;color:#216e6c}@keyframes marquee{to{transform:translateX(-45%)}}
.interlude{background:#eff1e8;color:#132023;position:relative;min-height:700px;overflow:hidden;padding:70px 7.8% 80px;border-bottom:1px solid #c7d7d0}.interlude-top,.interlude-code{font:600 10px var(--mono);letter-spacing:.19em}.interlude-top{display:flex;justify-content:space-between;border-bottom:1px solid #cad6ce;padding-bottom:22px}.interlude h2{position:relative;z-index:2;font:900 clamp(75px,10.35vw,186px)/.83 var(--display);letter-spacing:-.105em;margin:105px 0 120px;text-wrap:nowrap}.interlude h2 em{color:#2d968f;font-style:normal}.interlude-bottom{position:relative;z-index:2;display:flex;align-items:end;justify-content:space-between;gap:20px;border-top:1px solid #c3d1ca;padding-top:22px}.interlude-bottom p{max-width:445px;font-size:16px;line-height:1.6;margin:0}.interlude-code{color:#638580}.interlude-charge{position:absolute;font:900 800px/1 var(--display);color:#d4ddd5;right:-20px;top:-155px;z-index:1;pointer-events:none;transform:rotate(12deg)}
.section{position:relative}.section-head{position:relative;z-index:3}.section-head>p{color:#aabeb8}.section h2,.lab-heading-row h2,.sim-title-row h2{font-weight:900}.section h2 em,.lab-heading-row h2 em,.feature-copy h3 em{color:var(--accent)}
.work-section{padding-top:145px;background:#090f11}.featured-project{border-color:#385b55;min-height:570px}.feature-copy{background:#112623}.feature-copy h3{font-size:clamp(50px,5vw,86px)}.signal-art svg{max-height:480px}.feature-visual{background:radial-gradient(circle at center,#203d37,#0d1719 70%)}.work-card{background:#0c1719;transition:transform .45s,background .45s,border-color .45s}.work-card:hover{transform:translateY(-8px);background:#102124;border-color:#75beb1}
.lab-section{background:#0d191a;padding-top:130px}.lab-layout{background:radial-gradient(circle at 35% 50%,#1c3934,#0c1515 75%)}.lab-controls{background:#101e1e}
/* A light interruption around a true interactive circuit study */
.simulator-section{position:relative;z-index:2;padding:105px 7.8% 125px;background:#d9e8df;color:#0d2426;overflow:hidden}
.simulator-section::before{content:'OHM';position:absolute;font:900 min(37vw,660px)/.8 var(--display);letter-spacing:-.09em;color:#cbe0d5;right:-2%;top:0;opacity:.45;pointer-events:none}.simulator-section>*{position:relative;z-index:1}.sim-topline,.sim-view-head,.sim-view-footer,.sim-dashboard-top,.slider-ends,.sim-presets,.sim-disclaimer,.sim-scope,.sim-metric>span{font:500 10px var(--mono);letter-spacing:.1em}
.sim-topline{display:flex;justify-content:space-between;border-bottom:1px solid #b5c9bd;padding-bottom:20px;color:#557b74}
.sim-title-row{display:flex;justify-content:space-between;align-items:end;gap:50px;margin:90px 0 65px}.sim-title-row h2{font:900 clamp(75px,9.4vw,154px)/.83 var(--display);letter-spacing:-.095em;margin:0}.sim-title-row h2 em{font-style:normal;color:#20988e}.sim-title-row .section-overline{color:#23766f;margin-bottom:25px}.sim-title-row>p{max-width:355px;font-size:18px;line-height:1.65;color:#375952}
.sim-interface{display:grid;grid-template-columns:minmax(0,1.44fr) minmax(330px,.73fr);border:1px solid #345b5d;min-height:670px;box-shadow:0 30px 100px rgba(5,51,42,.11)}
.sim-viewport{background:radial-gradient(circle at 55% 43%,#15353a,#071b20 73%);display:flex;flex-direction:column;position:relative;min-width:0;overflow:hidden;color:#d7f3e9}
.sim-view-head,.sim-view-footer{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:19px 25px;color:#91c9bf;z-index:4}.sim-view-head{border-bottom:1px solid #31565a}.sim-view-footer{border-top:1px solid #31565a;margin-top:auto;font-size:9px}.sim-status{color:#c0f6dc}.sim-status i{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--accent);box-shadow:0 0 15px var(--accent);margin-right:7px}
.circuit-svg{width:100%;min-height:340px;flex:1;display:block}.circuit-underlay{filter:drop-shadow(0 0 3px rgba(95,239,195,.14))}#sim-circuit-path{filter:drop-shadow(0 0 5px #67f3d4);stroke-dasharray:7 15;animation:sim-travel 4s linear infinite}@keyframes sim-travel{to{stroke-dashoffset:-440}}
.sim-charge-orb{filter:drop-shadow(0 0 13px #80ffc8)}.sim-scope{display:flex;align-items:center;gap:20px;border-top:1px solid #285152;padding:6px 25px;min-height:70px;color:#a4d2c9;font-size:8px}#waveform-canvas{width:min(300px,40%);height:63px;flex:1;min-width:70px}.sim-scope span:last-child{margin-left:auto}
.sim-dashboard{background:#f2f7ef;display:flex;flex-direction:column;padding:26px 30px;color:#133234}.sim-dashboard-top{display:flex;justify-content:space-between;gap:10px;border-bottom:1px solid #bccfc6;padding-bottom:25px;color:#49776d;font-size:9px}.sim-control{margin-top:35px}.sim-control-title{display:flex;justify-content:space-between;gap:20px;align-items:center}.sim-control label{font:600 10px var(--mono);letter-spacing:.1em;color:#447368}.sim-control output{font:800 36px var(--display);letter-spacing:-.07em}.sim-control output small{font:500 14px var(--mono);color:#3f726b}.sim-control input[type=range]{width:100%;margin:25px 0 13px;accent-color:#117d77;cursor:pointer;height:5px}.slider-ends{display:flex;justify-content:space-between;color:#669186;font-size:9px}.sim-metrics{display:grid;grid-template-columns:1fr 1fr;gap:13px;margin-top:43px}.sim-metric{padding:21px 17px;background:#dcebe3;border:1px solid #c4d7cc;min-width:0}.sim-metric>span{display:block;font-size:9px;color:#45766e}.sim-metric strong{display:block;white-space:nowrap;font:800 clamp(32px,3vw,50px)/1.5 var(--display);letter-spacing:-.065em}.sim-metric small{font:500 12px var(--mono)}.sim-presets{margin-top:27px;display:flex;gap:6px;flex-wrap:wrap}.sim-presets button{background:transparent;border:1px solid #b4ccc0;padding:12px 14px;font:500 9px var(--mono);letter-spacing:.03em;color:#345a54;cursor:pointer}.sim-presets button:hover,.sim-presets button.active{background:#103937;border-color:#103937;color:#dff8e9}.sim-disclaimer{margin-top:auto;padding-top:28px;font-size:9px;line-height:1.7;color:#718f82;letter-spacing:0}
.experience-section{background:#0b171a}.timeline-row:hover{background:rgba(84,230,197,.045)}.about-section{background:#102124}.about-aside{background:#b4eddb;color:#102524}.about-aside p{color:#31594e}.about-aside .large-stat{color:#0a2b2a}.contact-section{background:#c8f4df;color:#112522;min-height:680px}.contact-section h2 em{color:#177c74}.contact-section .contact-big-link{border-color:#1b413a}.contact-section .contact-big-link:hover{background:#0c3330;color:#d4f7e7}.contact-foot,.contact-top{border-color:rgba(22,64,52,.28)}
.reveal{transition:transform 1s cubic-bezier(.16,1,.3,1),opacity 1s;transform:translateY(58px)}.reveal.visible{transform:translateY(0)}
@media(max-width:1300px){.hero h1{font-size:8.2vw}.hero-copy{padding-top:23vh}.hero-description{max-width:395px}.hero-act-overlay strong{font-size:8.3vw}}
@media(max-width:1050px){.hero-stage{grid-template-columns:52% 48%}.hero h1{font-size:8.7vw}.hero-copy{padding-left:7%;padding-top:25vh}.hero-description{font-size:15px}.hero-act-overlay{left:7%}.visual-controls{left:20px;right:20px}.mode{font-size:8px;padding:11px 8px}.component-callout{display:none}.hero-world-coordinate{display:none}.sim-interface{grid-template-columns:1.05fr .95fr}.sim-dashboard{padding:24px 18px}.sim-metric{padding:14px 10px}}
@media(max-width:900px){.site-header{height:70px}.hero{height:240svh;min-height:1450px}.hero-stage{grid-template-columns:1fr;grid-template-rows:auto 52%;min-height:620px;height:100svh}.hero-copy{padding:112px 7% 0;z-index:10}.hero-copy .kicker{margin:23px 0 12px}.hero h1{font-size:clamp(58px,11vw,110px)}.hero-description{max-width:530px;font-size:14px;margin:22px 0}.hero-actions{gap:20px}.btn-primary{padding:14px 16px;min-width:205px;font-size:10px}.hero-visual{position:relative;grid-row:2;grid-column:1;height:100%;border-left:0;border-top:1px solid #284847}.hero-visual::after{width:min(57%,480px)}.hero-visual .visual-topline{top:14px}.visual-corner.vc-tl,.visual-corner.vc-tr{top:49px}.visual-corner.vc-bl,.visual-corner.vc-br{bottom:104px}.hero-index{display:none}.hero-bottom-ribbon{height:34px}.visual-controls{bottom:42px}.visual-bottom{bottom:8px}.hero-act-overlay{top:13%;max-width:86%;left:7%}.hero-act-overlay strong{font-size:clamp(63px,10.3vw,100px)}.hero-act-overlay p{margin-top:13px}.hero-act-tracker{left:7%;bottom:calc(52% + 10px)}.interlude h2{font-size:clamp(65px,10.4vw,107px)}.sim-interface{grid-template-columns:1fr}.sim-viewport{min-height:480px}.sim-dashboard{padding:32px;min-height:530px}.sim-title-row{flex-direction:column;align-items:start}.sim-title-row>p{max-width:580px}.simulator-section{padding-inline:6%}}
@media(max-width:630px){.site-header{padding-inline:5%;height:66px}.site-nav{display:none}.brand-mark{font-size:30px}.brand-detail{font-size:8px}.header-contact{padding:11px 12px;font-size:8px}.header-contact span{margin-left:9px}.power-toggle{min-height:37px}.hero{height:225svh;min-height:1320px}.hero-stage{grid-template-rows:47% 53%;min-height:590px}.hero-copy{padding:105px 5% 15px}.hero h1{font-size:clamp(49px,13.6vw,85px);letter-spacing:-.1em}.hero-copy .eyebrow{font-size:8px}.hero-copy .kicker{font-size:9px;letter-spacing:.12em}.hero-description{font-size:13px;line-height:1.55;margin:18px 0;max-width:340px}.hero-actions{gap:12px;flex-wrap:wrap}.btn-primary{min-width:unset;padding:13px 14px;gap:15px}.btn-link{font-size:9px}.hero-visual{min-height:0}.hero-visual::after{width:80%}.visual-topline{left:18px!important;right:18px!important;font-size:8px!important}.visual-corner{display:none}.hero-trajectory{display:none}.webgl-fallback{padding:30px 16% 80px}.visual-controls{left:15px;right:15px;gap:4px}.mode{font-size:8px;padding:9px 6px}.visual-bottom{display:none}.hero-bottom-ribbon{padding-inline:5%;font-size:8px;gap:9px}.hero-bottom-ribbon .ribbon-plus{font-size:12px}.ribbon-end{display:none}.hero-act-overlay{top:14%;left:5%;max-width:92%}.hero-act-overlay strong{font-size:13vw}.hero-act-overlay p{font-size:13px;max-width:320px}.hero-act-tracker{left:5%;bottom:calc(53% + 6px)}.manifesto-band{height:55px}.manifesto-track{font-size:22px;gap:23px}.interlude{min-height:570px;padding:50px 6%}.interlude-top{font-size:8px;gap:10px}.interlude-top span{max-width:135px;text-align:right}.interlude h2{font-size:clamp(46px,11.2vw,78px);margin:115px 0 90px}.interlude-bottom{flex-direction:column;align-items:start}.interlude-bottom p{font-size:14px}.interlude-code{font-size:8px}.interlude-charge{font-size:550px;right:-120px;top:-30px}.section{padding-inline:6%}.simulator-section{padding:70px 5% 80px}.sim-title-row{margin:55px 0 35px}.sim-title-row h2{font-size:clamp(70px,13vw,110px)}.sim-title-row>p{font-size:15px}.sim-topline span:last-child{display:none}.sim-view-head,.sim-view-footer{font-size:8px;padding-inline:13px}.sim-view-footer span:last-child{display:none}.sim-viewport{min-height:390px}.circuit-svg{min-height:240px}.sim-dashboard{padding:22px;min-height:530px}.sim-metrics{gap:7px}.sim-metric strong{font-size:32px}.sim-metric>span{font-size:8px}.sim-presets button{font-size:8px;padding:11px}.sim-scope{padding-inline:12px;gap:8px}.sim-scope span{font-size:7px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.boot-overlay{display:none}.manifesto-track{animation:none}.reveal{transform:none;transition:none}.hero-act-overlay,.hero-copy{transition:none}#sim-circuit-path{animation:none}.cursor-orbit{display:none}}
/* The live conductor sits above decorative surfaces without intercepting controls. */
#signal-artery{position:fixed;inset:0;z-index:54;pointer-events:none;width:100%;height:100%}
#site-current{display:none!important}
.power-disabled #signal-artery{opacity:0}
@media(prefers-reduced-motion:reduce){#signal-artery{display:none}}

/* final small-screen reading-order refinement */
@media(max-width:630px){.hero-copy{padding-top:96px}.hero-description{margin:14px 0}.hero-actions .btn-link{display:none}.fallback-caption{display:none}.visual-side-label{display:none}.hero-visual .webgl-fallback{padding:25px 9% 78px}.hero-visual .cabinet-illustration{max-height:580px}.hero-visual .power-status{letter-spacing:.02em}.hero .hero-act-overlay strong{letter-spacing:-.09em}}
.project-deep-link{font:700 10px var(--mono);letter-spacing:.07em;border:1px solid #6dbaad;color:#c3fee5;padding:16px 18px;margin-top:24px;display:flex;gap:18px;justify-content:space-between;align-items:center;transition:background .25s,color .25s}.project-deep-link:hover{background:#b6f5dc;color:#092722}.project-deep-link span{font-size:18px}