@font-face{font-family:Space Grotesk Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/assets/space-grotesk-vietnamese-wght-normal-D0rl6rjA.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Space Grotesk Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/assets/space-grotesk-latin-ext-wght-normal-D9tNdqV9.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Space Grotesk Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/assets/space-grotesk-latin-wght-normal-BhU9QXUp.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-latin-400-normal-DMJ8VG8y.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-400-normal-CvHOgSBP.woff)format("woff")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-mono-latin-600-normal-BgSNZQsw.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-600-normal-DWFSQ4vo.woff)format("woff")}.app-shell{background:var(--paper)}.skip-link{z-index:200;color:var(--paper);background:var(--iris);font-family:var(--font-mono);padding:.75rem 1rem;font-size:.75rem;position:fixed;top:.5rem;left:.5rem;transform:translateY(-160%)}.skip-link:focus{transform:translateY(0)}.site-header{--scroll-progress:0%;z-index:100;min-height:var(--header-height);color:var(--paper);border-bottom:1px solid var(--line-dark);background:#08090af5;grid-template-columns:minmax(15rem,1fr) auto;align-items:stretch;display:grid;position:fixed;inset:0 0 auto}.brand{min-width:0;padding:0 1.4rem 0 var(--page-pad);font-family:var(--font-mono);align-items:center;gap:.8rem;display:flex}.brand__mark{width:2.05rem;height:2.05rem;color:var(--ink);background:var(--signal);letter-spacing:-.08em;flex:none;place-items:center;font-size:.55rem;font-weight:700;display:grid}.brand__copy{text-transform:uppercase;gap:.12rem;min-width:0;line-height:1;display:grid}.brand__copy strong{letter-spacing:.055em;text-overflow:ellipsis;white-space:nowrap;font-size:.63rem;font-weight:580;overflow:hidden}.brand__copy small{color:var(--steel);letter-spacing:.08em;font-size:.48rem}.site-nav,.site-nav__links,.language-switch{display:flex}.site-nav__links a,.language-switch button{border-left:1px solid var(--line-dark)}.site-nav__links a{min-width:6.65rem;font-family:var(--font-mono);letter-spacing:.035em;align-items:center;gap:.55rem;padding:0 .9rem;font-size:.61rem;transition:color .18s,background-color .18s;display:flex;position:relative;overflow:hidden}.site-nav__links a:after{background:var(--signal);transform-origin:0;content:"";height:.17rem;transition:transform .22s;position:absolute;bottom:0;left:0;right:0;transform:scaleX(0)}.site-nav__links a:hover:after,.site-nav__links a.is-active:after{transform:scaleX(1)}.site-nav__links a:hover,.site-nav__links a.is-active{color:#fff;background:#f5f6f00b}.site-nav__links a strong{font-weight:510}.site-nav__number{color:var(--steel);font-size:.55rem;transition:color .18s}.site-nav__links a.is-active .site-nav__number{color:var(--signal)}.site-nav__links .icon,.site-nav__summary,.site-nav__utilities{display:none}.header-cv{min-width:7.6rem;color:var(--ink);background:var(--signal);font-family:var(--font-mono);letter-spacing:.035em;align-items:center;gap:.5rem;padding:0 1rem;font-size:.58rem;font-weight:600;transition:background-color .18s;display:flex}.header-cv:hover{background:#ff7959}.header-cv:hover .icon{transform:translateY(.15rem)}.language-switch button{width:2.85rem;color:var(--steel);cursor:pointer;font-family:var(--font-mono);background:0 0;border-top:0;border-bottom:0;border-right:0;padding:0;font-size:.64rem}.language-switch button.is-active{color:var(--ink);background:var(--paper)}.menu-toggle{display:none}.header-progress{z-index:2;width:var(--scroll-progress);background:var(--signal);pointer-events:none;height:2px;position:absolute;bottom:-1px;left:0}.header-progress:after{background:var(--iris);content:"";width:.35rem;height:4px;position:absolute;top:-1px;right:0}.hero{min-height:100svh;padding:calc(var(--header-height) + clamp(2.5rem, 5vh, 4.5rem)) var(--page-pad) 0;color:var(--paper);background:var(--ink);grid-template-rows:minmax(0,1fr) auto;grid-template-columns:minmax(28rem,.9fr) minmax(34rem,1.1fr);align-items:center;gap:clamp(2rem,5vw,6rem);display:grid;position:relative;overflow:hidden}.hero:before{inset:var(--header-height) var(--page-pad) auto;background:var(--line-dark);content:"";height:1px;position:absolute}.hero__content{z-index:2;flex-direction:column;align-items:flex-start;gap:clamp(2.5rem,5vh,4rem);display:flex;position:relative}.hero h1{letter-spacing:-.075em;text-wrap:balance;max-width:10.5ch;font-size:clamp(4rem,5.55vw,6.2rem);font-weight:570;line-height:.86}.hero__intro{max-width:35rem;padding-bottom:.5rem}.hero__intro>p{max-width:34rem;color:var(--paper-dim);font-size:clamp(1.05rem,1.5vw,1.35rem);line-height:1.48}.hero__actions{flex-wrap:wrap;gap:.65rem 1.5rem;margin-top:2.2rem;display:flex}.button{min-height:3.1rem;font-family:var(--font-mono);letter-spacing:.03em;text-transform:uppercase;justify-content:space-between;align-items:center;gap:2rem;font-size:.69rem;font-weight:600;display:inline-flex}.button--solid{min-width:13.5rem;color:var(--ink);background:var(--signal);border:1px solid var(--signal);padding:.85rem 1rem;transition:color .18s,background .18s}.button--solid:hover{color:var(--paper);background:0 0}.button--solid:hover .icon{transform:translateY(.22rem)rotate(90deg)}.button--text{border-bottom:1px solid var(--line-dark)}.button--text:hover{border-color:var(--paper)}.button--text:hover .icon{transform:translateY(.18rem)}.hero__system{z-index:1;border:1px solid var(--line-dark);isolation:isolate;border-bottom:0;grid-template-rows:auto minmax(23rem,42vh) auto;width:100%;min-height:min(68vh,43rem);margin:0;display:grid;position:relative;overflow:hidden}.hero__system:before{z-index:-1;content:"";background:#08090acc;position:absolute;inset:0}.hero__system-field{z-index:-2;opacity:.68;object-fit:cover;mix-blend-mode:screen;width:100%;height:100%;position:absolute;inset:0}.hero__system-topline,.hero__system-readout{font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;justify-content:space-between;gap:2rem;padding:.8rem 1rem;font-size:.6rem;display:flex}.hero__system-topline{color:var(--steel);border-bottom:1px solid var(--line-dark)}.hero__system-readout{color:var(--paper);border-top:1px solid var(--line-dark);align-items:baseline}.hero__system-readout span{color:var(--signal)}.hero__system-readout p{max-width:52rem;color:var(--paper-dim);font-family:var(--font-display);letter-spacing:0;text-transform:none;font-size:.82rem;line-height:1.5}.system-diagram{min-height:23rem;position:relative}.system-diagram:before,.system-diagram:after{background:var(--line-dark);content:"";position:absolute}.system-diagram:before{height:1px;top:50%;left:2rem;right:2rem}.system-diagram:after{width:1px;top:1.5rem;bottom:1.5rem;left:50%}.system-diagram__lines{width:100%;height:100%;position:absolute;inset:0;overflow:visible}.diagram-line{stroke:#f5f6f047;stroke-width:1px;stroke-dasharray:5 6;transition:stroke .18s,stroke-width .18s}.diagram-line.is-active{stroke:var(--signal);stroke-width:1.5px}.diagram-particle{fill:var(--iris)}.system-node{top:var(--node-top);left:var(--node-left);z-index:2;min-width:7.2rem;min-height:2.6rem;color:var(--paper);background:var(--ink);cursor:pointer;font-family:var(--font-mono);letter-spacing:.05em;animation:.6s cubic-bezier(.2,.8,.2,1) both node-in;animation-delay:var(--node-delay);border:1px solid #f5f6f07a;align-items:center;gap:.65rem;padding:.7rem .8rem;font-size:.61rem;font-weight:600;transition:background .18s,color .18s,border-color .18s;display:flex;position:absolute;transform:translate(-50%,-50%)}.system-node:hover,.system-node.is-active{color:var(--ink);background:var(--signal);border-color:var(--signal)}.system-node__index{color:var(--steel);font-size:.5rem}.system-node.is-active .system-node__index{color:var(--ink)}.system-node--ai.is-active{color:var(--paper);background:var(--iris);border-color:var(--iris)}.system-node--ai.is-active .system-node__index{color:var(--paper-dim)}.system-diagram__axis{color:#f5f6f059;font-family:var(--font-mono);letter-spacing:.06em;font-size:.48rem;position:absolute}.system-diagram__axis--x{bottom:.6rem;right:1rem}.system-diagram__axis--y{writing-mode:vertical-rl;top:1rem;left:.6rem}@keyframes node-in{0%{opacity:0;transform:translate(-50%,calc(1rem - 50%))}to{opacity:1;transform:translate(-50%,-50%)}}.hero__status{min-height:3.5rem;margin:0 calc(var(--page-pad) * -1);padding:0 var(--page-pad);color:var(--steel);background:var(--ink-raised);border-top:1px solid var(--line-dark);font-family:var(--font-mono);letter-spacing:.035em;text-transform:uppercase;grid-column:1/-1;align-items:center;gap:.7rem;font-size:.61rem;display:flex}.status-light{background:#73e07a;width:.45rem;height:.45rem;animation:2.4s ease-out infinite status-pulse;box-shadow:0 0 #73e07a80}@keyframes status-pulse{50%{box-shadow:0 0 0 .4rem #73e07a00}}.section{padding:clamp(6rem, 11vw, 11rem) var(--page-pad)}.section-label{color:var(--steel-dark);font-family:var(--font-mono);letter-spacing:.08em;font-size:.62rem;font-weight:600}.section-intro{border-bottom:1px solid var(--line-light);grid-template-columns:minmax(10rem,.32fr) minmax(0,1fr);gap:clamp(2rem,7vw,8rem);padding-bottom:clamp(3.5rem,7vw,6rem);display:grid}.section-intro__copy{grid-template-columns:minmax(0,1.1fr) minmax(16rem,.55fr);align-items:end;gap:clamp(2rem,7vw,8rem);display:grid}.section-intro h2,.profile-copy h2,.contact-heading h2{letter-spacing:-.07em;text-wrap:balance;max-width:12ch;font-size:clamp(3.1rem,6.5vw,7.2rem);font-weight:560;line-height:.9}.section-intro__copy>p{max-width:30rem;color:var(--steel-dark);font-size:clamp(1rem,1.35vw,1.25rem);line-height:1.55}.systems-section{color:var(--ink);background:var(--paper)}.case-list{border-bottom:1px solid var(--line-light)}.case-study{border-top:1px solid var(--line-light)}.case-study:first-child{border-top:0}.case-study__trigger{text-align:left;cursor:pointer;background:0 0;border:0;grid-template-columns:minmax(3.5rem,.12fr) minmax(0,1fr) auto;align-items:center;gap:1.5rem;width:100%;min-height:10.5rem;padding:1.8rem 0;display:grid}.case-study__number{color:var(--signal);font-family:var(--font-mono);align-self:start;padding-top:.25rem;font-size:.72rem}.case-study__heading{gap:.7rem;display:grid}.case-study__heading>span,.case-study__action,.case-study__outcome{color:var(--steel-dark);font-family:var(--font-mono);letter-spacing:.05em;text-transform:uppercase;font-size:.59rem}.case-study__heading strong{letter-spacing:-.04em;max-width:26ch;font-size:clamp(1.65rem,3vw,3.2rem);font-weight:520;line-height:1.05}.case-study__action{align-items:center;gap:1.5rem;display:flex}.plus-icon{width:1.5rem;height:1.5rem;transition:transform .2s}.plus-icon.is-open{transform:rotate(45deg)}.case-study__trigger:hover .case-study__heading strong{color:var(--iris)}.case-study__panel{grid-template-columns:minmax(18rem,.45fr) minmax(0,1fr);gap:clamp(3rem,8vw,9rem);padding:1rem 0 4rem 12%;animation:.32s both panel-in;display:grid}.case-study__panel[hidden]{display:none}@keyframes panel-in{0%{opacity:0;transform:translateY(-.7rem)}to{opacity:1;transform:translateY(0)}}.case-study__summary{align-content:start;gap:1.4rem;display:grid}.case-study__body{font-size:clamp(1.15rem,1.7vw,1.5rem);line-height:1.45}.case-study__outcome{border-top:1px solid var(--line-light);padding-top:1.25rem;line-height:1.65}.tech-list{flex-wrap:wrap;gap:.35rem;display:flex}.tech-list li{color:inherit;font-family:var(--font-mono);letter-spacing:.025em;border:1px solid;padding:.5rem .65rem;font-size:.58rem}.architecture{background:var(--ink);border:1px solid var(--ink);align-self:center;overflow:hidden}.architecture__flow{grid-template-columns:repeat(5,1fr);min-height:11rem;display:grid}.architecture__step{color:var(--paper);border-right:1px solid var(--line-dark);flex-direction:column;justify-content:space-between;padding:1rem;display:flex;position:relative}.architecture__step:last-child{border-right:0}.architecture__step>span{color:var(--steel);font-family:var(--font-mono);font-size:.5rem}.architecture__step strong{max-width:8ch;font-size:.76rem;font-weight:530;line-height:1.3}.architecture__step .icon{z-index:2;color:var(--signal);background:var(--ink);padding:.2rem;position:absolute;bottom:1rem;right:-.6rem}.architecture__foundation{min-height:3.4rem;color:var(--signal);border-top:1px solid var(--line-dark);font-family:var(--font-mono);letter-spacing:.05em;text-transform:uppercase;grid-template-columns:1fr auto 1fr;align-items:center;gap:1rem;padding:0 1rem;font-size:.54rem;display:grid}.architecture__foundation span{background:var(--line-dark);height:1px}.trajectory-section{color:var(--paper);background:var(--ink)}.trajectory-section .section-intro{border-color:var(--line-dark)}.trajectory-section .section-label,.trajectory-section .section-intro__copy>p{color:var(--steel)}.timeline{padding-top:5rem;position:relative}.timeline__rail{background:var(--line-dark);width:1px;position:absolute;top:5rem;bottom:0;left:calc(28% + .45rem);overflow:hidden}.timeline__signal{background:var(--signal);width:1px;height:8rem;animation:5s ease-in-out infinite timeline-scan;position:absolute;top:-5rem;left:0}@keyframes timeline-scan{0%,10%{transform:translateY(-8rem)}75%,to{transform:translateY(50rem)}}.timeline__role{grid-template-columns:28% 1rem minmax(0,1fr);gap:0 1.4rem;min-height:17rem;display:grid}.timeline__period{color:var(--steel);font-family:var(--font-mono);letter-spacing:.05em;font-size:.61rem}.timeline__marker{justify-content:center;display:flex;position:relative}.timeline__marker span{z-index:2;background:var(--ink);border:1px solid var(--signal);width:.75rem;height:.75rem;position:relative}.timeline__role:first-of-type .timeline__marker span{background:var(--signal);box-shadow:0 0 0 .35rem #ff5c351f}.timeline__content{border-bottom:1px solid var(--line-dark);grid-template-columns:minmax(8rem,.34fr) minmax(16rem,.65fr);align-content:start;gap:.65rem clamp(2rem,6vw,7rem);padding:0 0 5rem clamp(1rem,3vw,3.5rem);display:grid}.timeline__company{color:var(--signal);font-family:var(--font-mono);letter-spacing:.06em;font-size:.63rem;font-weight:600}.timeline__content h3{letter-spacing:-.045em;font-size:clamp(1.8rem,3vw,3rem);font-weight:510;line-height:1}.timeline__content>p:not(.timeline__company){color:var(--paper-dim);grid-column:2;margin-top:1.2rem;font-size:1.02rem;line-height:1.6}.tag-list{color:var(--steel);font-family:var(--font-mono);letter-spacing:.04em;text-transform:uppercase;flex-wrap:wrap;grid-column:2;gap:.75rem 1.5rem;margin-top:1.2rem;font-size:.57rem;display:flex}.tag-list li:before{color:var(--iris);content:"+ "}.capability-section{color:var(--ink);background:var(--paper)}.capability-layout{min-height:38rem;color:var(--paper);background:var(--ink);border:1px solid var(--ink);grid-template-columns:minmax(24rem,1fr) minmax(18rem,.42fr);margin-top:5rem;display:grid}.capability-map{border-right:1px solid var(--line-dark);min-height:38rem;position:relative;overflow:hidden}.capability-map:before,.capability-map:after{background:var(--line-dark);content:"";position:absolute}.capability-map:before{height:1px;top:50%;left:0;right:0}.capability-map:after{width:1px;top:0;bottom:0;left:50%}.capability-map svg{width:100%;height:100%;position:absolute;inset:0}.capability-map line{stroke:#f5f6f038;stroke-width:1px;stroke-dasharray:4 5;transition:stroke .18s,stroke-width .18s}.capability-map line.is-active{stroke:var(--iris);stroke-width:1.5px}.capability-map button{top:var(--top);left:var(--left);z-index:2;min-width:8rem;min-height:3.2rem;color:var(--paper);background:var(--ink);cursor:pointer;font-family:var(--font-mono);letter-spacing:.04em;border:1px solid #f5f6f06b;grid-template-columns:auto 1fr;align-items:center;gap:.55rem;padding:.75rem;font-size:.61rem;font-weight:600;transition:color .18s,background .18s,border-color .18s;display:grid;position:absolute;transform:translate(-50%,-50%)}.capability-map button span{color:var(--steel);font-size:.48rem}.capability-map button:hover,.capability-map button.is-active{color:var(--paper);background:var(--iris);border-color:var(--iris)}.capability-map button.is-active span{color:var(--paper-dim)}.capability-readout{flex-direction:column;padding:clamp(1.5rem,3vw,3.5rem);display:flex}.capability-readout__instruction{min-height:5rem;color:var(--steel);font-family:var(--font-mono);letter-spacing:.05em;text-transform:uppercase;font-size:.56rem;line-height:1.5}.capability-readout__index{color:var(--signal);font-family:var(--font-mono);font-size:.63rem}.capability-readout h3{letter-spacing:-.06em;margin-top:auto;font-size:clamp(2.3rem,4vw,4.7rem);font-weight:530;line-height:.95}.capability-readout>p:not(.capability-readout__instruction){color:var(--paper-dim);margin-top:1.7rem;line-height:1.6}.capability-readout .tech-list{margin-top:2rem}.capability-ledger{border-right:1px solid var(--line-light);border-bottom:1px solid var(--line-light);grid-template-columns:repeat(3,1fr);display:grid}.capability-ledger button{text-align:left;border:0;border-top:1px solid var(--line-light);border-left:1px solid var(--line-light);cursor:pointer;background:0 0;grid-template-columns:1.5rem 1fr;gap:.5rem 1rem;min-height:8rem;padding:1.2rem;display:grid}.capability-ledger button span{color:var(--steel-dark);font-family:var(--font-mono);font-size:.5rem}.capability-ledger button strong{font-family:var(--font-mono);letter-spacing:.04em;font-size:.68rem}.capability-ledger button small{color:var(--steel-dark);font-family:var(--font-mono);grid-column:2;font-size:.54rem;line-height:1.55}.capability-ledger button:hover,.capability-ledger button.is-active{color:var(--paper);background:var(--iris)}.capability-ledger button:hover span,.capability-ledger button:hover small,.capability-ledger button.is-active span,.capability-ledger button.is-active small{color:var(--paper-dim)}.archive-section{color:var(--paper);background:var(--ink)}.archive-section .section-intro{border-color:var(--line-dark)}.archive-section .section-label,.archive-section .section-intro__copy>p{color:var(--steel)}.archive-explorer{border:1px solid var(--line-dark);grid-template-columns:minmax(21rem,.42fr) minmax(0,.58fr);width:100%;min-width:0;max-width:100%;min-height:54rem;margin-top:5rem;display:grid}.project-index{border-right:1px solid var(--line-dark);min-width:0}.project-index__header{min-height:3.25rem;color:var(--steel);border-bottom:1px solid var(--line-dark);font-family:var(--font-mono);letter-spacing:.06em;justify-content:space-between;align-items:center;padding:0 1rem;font-size:.52rem;display:flex}.project-index__list{min-width:0;max-width:100%;display:grid}.project-index__list button{min-height:7.25rem;color:var(--paper);text-align:left;border:0;border-bottom:1px solid var(--line-dark);cursor:pointer;background:0 0;grid-template-columns:2.4rem minmax(0,1fr) 1.1rem;align-items:center;gap:1rem;padding:1rem;transition:color .18s,background .18s;display:grid;position:relative}.project-index__list button:before{background:var(--signal);transform-origin:top;content:"";width:.22rem;transition:transform .2s;position:absolute;inset:0 auto 0 0;transform:scaleY(0)}.project-index__list button:hover,.project-index__list button.is-active{color:var(--ink);background:var(--paper)}.project-index__list button.is-active:before{transform:scaleY(1)}.project-index__number{color:var(--signal);font-family:var(--font-mono);align-self:start;font-size:.55rem}.project-index__copy{gap:.5rem;min-width:0;display:grid}.project-index__copy small,.project-index__copy em{color:var(--steel);font-family:var(--font-mono);letter-spacing:.045em;font-size:.49rem;font-style:normal;line-height:1.4}.project-index__copy strong{letter-spacing:-.025em;max-width:28ch;font-size:clamp(1rem,1.4vw,1.3rem);font-weight:520;line-height:1.16}.project-index__list button:hover .project-index__copy small,.project-index__list button:hover .project-index__copy em,.project-index__list button.is-active .project-index__copy small,.project-index__list button.is-active .project-index__copy em{color:var(--steel-dark)}.project-index__list button:hover .icon,.project-index__list button.is-active .icon{transform:translate(.25rem)}.project-stage{align-self:start;min-width:0;animation:.32s both project-stage-in}@keyframes project-stage-in{0%{opacity:0}to{opacity:1}}.project-stage__visual{aspect-ratio:16/8.2;background:var(--ink-raised);border-bottom:1px solid var(--line-dark);position:relative;overflow:hidden}.project-stage__visual.has-image:after{mix-blend-mode:color;content:"";background:#6457ff24;position:absolute;inset:0}.project-stage__visual img{filter:grayscale(.72)contrast(1.1);object-fit:cover;width:100%;height:100%;animation:.7s cubic-bezier(.2,.8,.2,1) both project-image-in}@keyframes project-image-in{0%{opacity:0;transform:scale(1.04)}to{opacity:1;transform:scale(1)}}.project-stage__period{z-index:2;color:var(--ink);background:var(--signal);font-family:var(--font-mono);letter-spacing:.04em;padding:.7rem .8rem;font-size:.52rem;position:absolute;top:0;right:0}.project-signal{position:absolute;inset:0;overflow:hidden}.project-signal:before{border:1px solid var(--line-dark);content:"";position:absolute;inset:1.5rem}.project-signal__axis{background:var(--line-dark);position:absolute}.project-signal__axis--x{height:1px;top:50%;left:1.5rem;right:1.5rem}.project-signal__axis--y{width:1px;top:1.5rem;bottom:1.5rem;left:50%}.project-signal__pulse{z-index:2;background:var(--signal);width:.44rem;height:.44rem;animation:4.2s ease-in-out infinite project-scan;position:absolute;top:calc(50% - .22rem);left:1.5rem}@keyframes project-scan{0%,8%{transform:translate(0)}76%,to{transform:translate(calc(50vw - 5rem))}}.project-signal__node{z-index:3;min-width:7.2rem;color:var(--paper);background:var(--ink);font-family:var(--font-mono);letter-spacing:.04em;border:1px solid #f5f6f061;grid-template-columns:auto 1fr;align-items:center;gap:.55rem;padding:.72rem;font-size:.55rem;display:grid;position:absolute}.project-signal__node small{color:var(--steel);font-size:.46rem}.project-signal__node:nth-of-type(4){top:24%;left:11%}.project-signal__node:nth-of-type(5){top:24%;right:11%}.project-signal__node:nth-of-type(6){bottom:19%;left:24%}.project-signal__node:nth-of-type(7){border-color:var(--iris);bottom:19%;right:20%}.project-stage__body{grid-template-columns:minmax(0,.9fr) minmax(17rem,.65fr);gap:1.25rem clamp(2rem,5vw,5rem);min-width:0;padding:clamp(1.5rem,3.5vw,3.5rem);display:grid}.project-stage__meta,.project-stage__role,.project-stage__evidence>p,.project-stage__stack>p,.project-stage__privacy{color:var(--steel);font-family:var(--font-mono);letter-spacing:.05em;text-transform:uppercase;font-size:.53rem;line-height:1.5}.project-stage__meta,.project-stage h3,.project-stage__summary,.project-stage__role{grid-column:1}.project-stage h3{overflow-wrap:anywhere;letter-spacing:-.06em;max-width:16ch;font-size:clamp(2.2rem,4.1vw,4.5rem);font-weight:520;line-height:.95}.project-stage__summary{max-width:42rem;color:var(--paper-dim);font-size:clamp(1rem,1.35vw,1.2rem);line-height:1.55}.project-stage__role{width:max-content;color:var(--paper);border:1px solid var(--line-dark);padding:.55rem .7rem}.project-stage__evidence{grid-area:1/2/span 4;align-self:start}.project-stage__evidence ul{border-top:1px solid var(--line-dark);gap:0;margin-top:1rem;display:grid}.project-stage__evidence li{color:var(--paper-dim);border-bottom:1px solid var(--line-dark);padding:.9rem 0 .9rem 1rem;font-size:.86rem;line-height:1.5;position:relative}.project-stage__evidence li:before{background:var(--signal);content:"";width:.35rem;height:.35rem;position:absolute;top:1.35rem;left:0}.project-stage__stack{border-top:1px solid var(--line-dark);grid-column:1/-1;margin-top:1rem;padding-top:1.4rem}.project-stage__stack .tech-list{margin-top:1rem}.project-stage__privacy{border-top:1px solid var(--line-dark);padding:1rem clamp(1.5rem,3.5vw,3.5rem)}.profile-section{color:var(--ink);background:var(--paper)}.profile-layout{grid-template-columns:minmax(0,1.1fr) minmax(20rem,.6fr);gap:clamp(4rem,10vw,12rem);margin-top:4rem;display:grid}.profile-copy h2{max-width:11ch}.profile-copy>p{max-width:46rem;color:var(--steel-dark);margin-top:2.5rem;font-size:clamp(1.08rem,1.5vw,1.35rem);line-height:1.6}.profile-copy small{max-width:42rem;color:var(--steel-dark);border-left:2px solid var(--signal);font-family:var(--font-mono);margin-top:2rem;padding-left:1rem;font-size:.58rem;line-height:1.6;display:block}.profile-facts{border-top:1px solid var(--line-light);align-self:end}.profile-facts>div{border-bottom:1px solid var(--line-light);grid-template-columns:7rem 1fr;gap:1rem;padding:1.25rem 0;display:grid}.profile-facts dt,.profile-facts dd{font-family:var(--font-mono);font-size:.58rem;line-height:1.5}.profile-facts dt{color:var(--steel-dark)}.contact-section{padding:clamp(6rem, 10vw, 10rem) var(--page-pad) 0;color:var(--paper);background:var(--iris);position:relative;overflow:hidden}.contact-section .section-label{color:#f5f6f0b3}.contact-section__signal{top:0;right:var(--page-pad);align-items:flex-start;gap:.4rem;height:8rem;display:flex;position:absolute}.contact-section__signal span{background:var(--signal);width:.38rem}.contact-section__signal span:first-child{height:45%}.contact-section__signal span:nth-child(2){height:78%}.contact-section__signal span:nth-child(3){height:28%}.contact-layout{grid-template-columns:minmax(0,1.15fr) minmax(20rem,.6fr);gap:clamp(4rem,11vw,13rem);padding:4rem 0 7rem;display:grid}.contact-heading h2{max-width:10ch}.contact-heading>p{color:#f5f6f0c7;max-width:37rem;margin-top:2.5rem;font-size:clamp(1.05rem,1.5vw,1.3rem);line-height:1.55}.contact-links{border-top:1px solid #f5f6f059;align-self:end}.contact-link{width:100%;min-height:5rem;color:var(--paper);text-align:left;cursor:pointer;font-family:var(--font-mono);background:0 0;border:0;border-bottom:1px solid #f5f6f059;justify-content:space-between;align-items:center;gap:2rem;padding:0 1rem;font-size:.7rem;transition:color .18s,background .18s;display:flex}.contact-link span{gap:.45rem;display:grid}.contact-link small{color:#f5f6f099;letter-spacing:.06em;font-size:.5rem}.contact-link:hover,.contact-link--primary{color:var(--ink);background:var(--signal)}.contact-link:hover small,.contact-link--primary small{color:#08090a9e}.contact-link:hover .icon,.contact-link--primary:hover .icon{transform:translate(.35rem)}.site-footer{color:#f5f6f0b8;min-height:5.5rem;font-family:var(--font-mono);letter-spacing:.035em;border-top:1px solid #f5f6f059;grid-template-columns:1fr auto 1fr;align-items:center;gap:2rem;font-size:.55rem;display:grid}.site-footer a{justify-self:end;align-items:center;gap:.6rem;display:inline-flex}.site-footer a:hover .icon{transform:translateY(-.2rem)rotate(-90deg)}@media (width<=1120px){.site-header{grid-template-columns:1fr auto}.site-nav__links a{min-width:auto}.hero__content{gap:2.5rem}.case-study__panel{grid-template-columns:1fr;gap:2.5rem}.brand{padding-right:1rem}.site-nav{inset:var(--header-height) 0 0;z-index:99;visibility:hidden;color:var(--paper);background:var(--ink);opacity:0;flex-direction:column;transition:opacity .18s,transform .18s,visibility .18s;display:flex;position:fixed;overflow-y:auto;transform:translateY(-1rem)}.site-nav.is-open{visibility:visible;opacity:1;transform:translateY(0)}.site-nav__summary{min-height:2.7rem;padding:0 var(--page-pad);color:var(--steel);border-top:1px solid var(--line-dark);font-family:var(--font-mono);letter-spacing:.07em;text-transform:uppercase;flex:none;justify-content:space-between;align-items:center;font-size:.53rem;display:flex}.site-nav__links{flex:1;grid-template-rows:repeat(5,minmax(4rem,1fr));min-height:20rem;display:grid}.site-nav__links a{padding:0 var(--page-pad);border-top:1px solid var(--line-dark);font-family:var(--font-display);letter-spacing:-.05em;opacity:0;transition:color .18s ease, background-color .18s ease, opacity .22s ease calc(45ms * var(--menu-index)), transform .22s ease calc(45ms * var(--menu-index));border-left:0;grid-template-columns:2rem minmax(0,1fr) auto;gap:1rem;font-size:clamp(1.75rem,5vw,3.4rem);font-weight:530;display:grid;transform:translateY(.55rem)}.site-nav.is-open .site-nav__links a{opacity:1;transform:translateY(0)}.site-nav__links a strong{text-overflow:ellipsis;font-weight:530;overflow:hidden}.site-nav__number{font-family:var(--font-mono);letter-spacing:0;font-size:.56rem}.site-nav__links .icon{color:var(--steel);display:block}.site-nav__links a.is-active .icon{color:var(--signal);transform:translate(.25rem)}.site-nav__links a:after{transform-origin:top;width:.25rem;height:100%;left:0;right:auto;transform:scaleY(0)}.site-nav__links a:hover:after,.site-nav__links a.is-active:after{transform:scaleY(1)}.header-cv{display:none}.site-nav__utilities{border-top:1px solid var(--line-dark);flex:none;display:block}.site-nav__availability{min-height:2.65rem;padding:0 var(--page-pad);color:var(--paper-dim);font-family:var(--font-mono);letter-spacing:.045em;text-transform:uppercase;align-items:center;gap:.6rem;font-size:.55rem;display:flex}.site-nav__availability>span{background:var(--signal);flex:none;width:.45rem;height:.45rem;animation:1.8s steps(2,end) infinite status-pulse}.site-nav__utility-links{border-top:1px solid var(--line-dark);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.site-nav__utility-links a{border-left:1px solid var(--line-dark);min-height:4.25rem;font-family:var(--font-mono);grid-template-columns:minmax(0,1fr) auto;align-content:center;gap:.15rem .6rem;padding:.6rem 1rem;font-size:clamp(.51rem,1.3vw,.64rem);display:grid}.site-nav__utility-links a:first-child{border-left:0}.site-nav__utility-links small{color:var(--steel);letter-spacing:.06em;grid-column:1/-1;font-size:.46rem}.site-nav__utility-links a>span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.site-nav__utility-links .icon{width:.9rem;height:.9rem}.site-nav__utility-links a:hover .icon{transform:translate(.2rem,-.15rem)}.language-switch{border-top:1px solid var(--line-dark);flex:none;min-height:3.7rem}.language-switch button{flex:1}.menu-toggle{padding:0 var(--page-pad);color:var(--paper);border:0;border-left:1px solid var(--line-dark);cursor:pointer;font-family:var(--font-mono);background:0 0;align-items:center;gap:1rem;font-size:.6rem;display:flex}.menu-toggle__mark{width:1.1rem;height:.8rem;position:relative}.menu-toggle__mark i{background:currentColor;height:1px;transition:transform .18s,top .18s;position:absolute;left:0;right:0}.menu-toggle__mark i:first-child{top:.2rem}.menu-toggle__mark i:last-child{top:.6rem}.menu-toggle__mark.is-open i:first-child{top:.4rem;transform:rotate(45deg)}.menu-toggle__mark.is-open i:last-child{top:.4rem;transform:rotate(-45deg)}.hero{display:block}.hero__content,.section-intro,.section-intro__copy,.profile-layout,.contact-layout{grid-template-columns:1fr}.hero__content{align-items:start;display:grid}.hero__intro{grid-template-columns:1fr auto;align-items:end;gap:2rem;display:grid}.hero__actions{margin-top:0;display:grid}.hero__system{min-height:31rem;margin:clamp(3.5rem,7vh,6.5rem) auto 0}.section-intro{gap:2.5rem}.section-intro__copy{gap:2rem}.timeline__content{grid-template-columns:1fr;gap:.7rem}.timeline__content>p:not(.timeline__company),.tag-list{grid-column:1}.capability-layout{grid-template-columns:1fr}.capability-map{border-right:0;border-bottom:1px solid var(--line-dark)}.capability-readout{min-height:25rem}.archive-explorer{grid-template-columns:minmax(19rem,.4fr) minmax(0,.6fr)}.project-stage__body{grid-template-columns:1fr}.project-stage__evidence{grid-area:auto/1}.contact-layout{gap:4rem}}@media (width<=700px){.site-nav__links{min-height:15rem}.site-nav__utility-links{grid-template-columns:repeat(2,minmax(0,1fr))}.site-nav__utility-links a{min-height:3.5rem}.site-nav__utility-links a:nth-child(odd){border-left:0}.site-nav__utility-links a:nth-child(n+3){border-top:1px solid var(--line-dark)}.hero{min-height:auto;padding-top:calc(var(--header-height) + 3.4rem)}.hero:before{top:var(--header-height)}.hero h1{max-width:9.5ch;font-size:clamp(3.35rem,16vw,5.7rem);line-height:.87}.hero__intro{grid-template-columns:1fr;gap:1.5rem}.hero__intro>p{max-width:27rem;font-size:1rem}.hero__actions{grid-template-columns:1fr auto;align-items:stretch}.button--solid{min-width:0}.button--text{gap:.75rem}.hero__system{grid-template-rows:auto 28rem auto;min-height:36rem;margin-top:3rem}.hero__system-field{object-position:60% center}.hero__system-readout{gap:.45rem;display:grid}.system-diagram{min-height:28rem}.system-node{min-width:6.2rem;padding:.6rem;font-size:.53rem}.system-node__index,.system-diagram__axis{display:none}.system-node--product{--node-left:18%!important;--node-top:50%!important}.system-node--interface{--node-left:42%!important;--node-top:18%!important}.system-node--services{--node-left:42%!important;--node-top:80%!important}.system-node--data{--node-left:72%!important;--node-top:17%!important}.system-node--ai{--node-left:70%!important;--node-top:54%!important}.system-node--delivery{--node-left:83%!important;--node-top:86%!important}.hero__status{min-height:4.5rem;font-size:.54rem;line-height:1.5}.section{padding-top:6.5rem;padding-bottom:6.5rem}.section-intro{padding-bottom:3rem}.section-intro h2,.profile-copy h2,.contact-heading h2{font-size:clamp(3rem,14vw,5.2rem)}.case-study__trigger{grid-template-columns:2rem 1fr auto;gap:.7rem;min-height:9rem}.case-study__heading>span{font-size:.48rem;line-height:1.45}.case-study__heading strong{font-size:1.65rem}.case-study__action>span{display:none}.case-study__panel{padding:1rem 0 3rem}.architecture{overflow-x:auto}.architecture__flow,.architecture__foundation{min-width:38rem}.timeline{padding-top:3.5rem}.timeline__rail{top:3.5rem;left:.35rem}.timeline__role{grid-template-columns:1rem 1fr;gap:0 1rem;min-height:0;padding-bottom:4rem}.timeline__period{grid-area:1/2;margin-bottom:1.2rem}.timeline__marker{grid-area:1/1/span 2}.timeline__content{grid-area:2/2;padding:0 0 3rem}.timeline__content h3{font-size:2rem}.capability-layout{min-height:0;margin-top:3rem}.capability-map{min-height:28rem}.capability-map button{min-width:6.6rem;min-height:2.7rem;font-size:.53rem}.capability-map button span{display:none}.capability-readout{min-height:22rem}.capability-ledger{grid-template-columns:repeat(2,1fr)}.capability-ledger button{min-height:7.5rem}.archive-explorer{grid-template-columns:1fr;min-height:0;margin-top:3rem}.project-index{border-right:0;border-bottom:1px solid var(--line-dark)}.project-index__list{scroll-snap-type:x mandatory;scrollbar-width:none;display:flex;overflow-x:auto}.project-index__list::-webkit-scrollbar{display:none}.project-index__list button{border-right:1px solid var(--line-dark);scroll-snap-align:start;flex:0 0 16rem;min-height:8.5rem}.project-stage__visual{aspect-ratio:4/3}.project-signal__node{min-width:5.5rem;padding:.55rem;font-size:.45rem}.project-signal__node:nth-of-type(4){top:22%;left:6%}.project-signal__node:nth-of-type(5){top:22%;right:6%}.project-signal__node:nth-of-type(6){bottom:18%;left:10%}.project-signal__node:nth-of-type(7){bottom:18%;right:8%}.project-stage__body{gap:1rem}.project-stage h3{overflow-wrap:normal;word-break:normal;max-width:none;font-size:clamp(2.2rem,10.8vw,3.6rem)}.project-stage__evidence{margin-top:1.5rem}.profile-layout{margin-top:3rem}.profile-facts>div{grid-template-columns:5.8rem 1fr}.contact-section{padding-top:6.5rem}.contact-layout{padding:3rem 0 5rem}.contact-link{min-height:4.5rem;padding:0 .7rem}.contact-link--copy{font-size:.58rem}.site-footer{grid-template-columns:1fr auto;gap:.7rem 1.5rem;padding:1.2rem 0}.site-footer p:nth-child(2){grid-area:2/1/auto/-1}}@media (width<=700px) and (height<=650px){.site-nav__summary{min-height:2.25rem}.site-nav__links{grid-template-rows:repeat(5,minmax(3rem,1fr));min-height:15rem}.site-nav__links a{font-size:1.45rem}.site-nav__availability{min-height:2.2rem}.site-nav__utility-links a{min-height:2.65rem;padding-block:.35rem}.language-switch{min-height:3rem}}@media (width<=430px){.menu-toggle{gap:.6rem}.hero__actions{grid-template-columns:1fr}.button--text{justify-content:flex-start;width:max-content}.system-node{min-width:5.4rem;padding:.55rem}.capability-map button{min-width:5.6rem;padding:.6rem;font-size:.46rem}.capability-ledger button{grid-template-columns:1fr}.capability-ledger button small,.capability-ledger button strong{grid-column:1}.profile-facts>div{grid-template-columns:1fr;gap:.45rem}}:root{--ink:#08090a;--ink-raised:#111316;--paper:#f5f6f0;--paper-dim:#d9ddd5;--steel:#98a1ab;--steel-dark:#5f6871;--signal:#ff5c35;--iris:#6457ff;--line-dark:#f5f6f033;--line-light:#08090a2e;--font-display:"Space Grotesk Variable", "Arial Narrow", sans-serif;--font-mono:"IBM Plex Mono", "Cascadia Mono", monospace;--page-pad:clamp(1.25rem, 4vw, 4.5rem);--header-height:4.5rem;color:var(--ink);background:var(--ink);font-family:var(--font-display);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;scroll-behavior:smooth}*{box-sizing:border-box}html{background:var(--ink);min-width:320px;scroll-padding-top:var(--header-height)}body{background:var(--ink);min-width:320px;min-height:100vh;margin:0;overflow-x:hidden}body.menu-open{overflow:hidden}button,a{-webkit-tap-highlight-color:transparent}button{color:inherit;font:inherit}a{color:inherit;text-decoration:none}img,svg{max-width:100%;display:block}p,h1,h2,h3,ul,dl,dd{margin:0}ul{padding:0;list-style:none}::selection{color:var(--paper);background:var(--iris)}:focus-visible{outline:2px solid var(--signal);outline-offset:4px}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.mobile-only{display:none}.icon{stroke:currentColor;stroke-width:1.5px;stroke-linecap:square;stroke-linejoin:miter;flex:none;width:1.1rem;height:1.1rem;transition:transform .18s}.icon--down{transform:rotate(90deg)}.icon--up{transform:rotate(-90deg)}.reveal{opacity:0;transition:opacity .68s cubic-bezier(.2, .8, .2, 1) var(--reveal-delay,0s), transform .68s cubic-bezier(.2, .8, .2, 1) var(--reveal-delay,0s);transform:translateY(2rem)}.reveal.is-visible{opacity:1;transform:translateY(0)}@media (prefers-reduced-motion:reduce){:root{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.reveal{opacity:1;transform:none}animateMotion{display:none}}@media (width<=700px){:root{--header-height:4rem}.desktop-only{display:none}.mobile-only{display:inline}}
