@import"https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap";:root{font-family:DM Sans,sans-serif;color:#e7ece9;background:#101817;font-synthesis:none;text-rendering:optimizeLegibility;--bg:#101817;--surface:#141d1b;--surface-2:#1a2522;--line:#293532;--text:#e7ece9;--muted:#98a6a1;--accent:#c5f36b;--mono:"DM Mono",monospace;--display:"Manrope",sans-serif;--width:1160px;--scroll-progress:0%}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:92px}body{margin:0;min-width:320px;background:var(--bg);color:var(--text);line-height:1.6}body:before{position:fixed;z-index:20;inset:0 auto auto 0;width:var(--scroll-progress);height:2px;background:var(--accent);content:""}a{color:inherit}button{font:inherit}::selection{color:#101817;background:var(--accent)}.site-header{position:fixed;z-index:15;inset:0 0 auto;display:flex;align-items:center;justify-content:space-between;max-width:var(--width);height:82px;margin:auto;padding:0 28px;transition:height .2s,background .2s,border-color .2s}.site-header.is-scrolled{height:68px;max-width:none;padding-inline:max(28px,calc((100vw - var(--width))/2 + 28px));border-bottom:1px solid rgba(212,226,219,.08);background:#101817e8;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.brand{display:inline-flex;align-items:center;gap:11px;color:var(--text);font:700 .92rem var(--display);letter-spacing:-.025em;text-decoration:none}.brand-mark{display:grid;place-items:center;width:34px;height:34px;border:1px solid #405049;border-radius:50%;color:var(--accent);font:500 .7rem var(--mono);letter-spacing:-.06em}.brand-period{color:var(--accent)}.nav{display:flex;align-items:center;gap:30px}.nav a{color:#b5c0bb;font-size:.78rem;text-decoration:none;transition:color .2s}.nav a:hover,.nav a:focus-visible{color:var(--accent)}.nav .nav-cta{padding:9px 14px;border:1px solid #435148;border-radius:3px;color:var(--text)}.nav-cta span{margin-left:7px;color:var(--accent)}.menu-toggle{display:none}.hero{position:relative;display:flex;min-height:740px;min-height:min(880px,100svh);align-items:center;overflow:hidden;border-bottom:1px solid #202b28}.hero:after{position:absolute;inset:0;background:radial-gradient(ellipse at 77% 43%,rgba(59,88,62,.17),transparent 39%),linear-gradient(90deg,transparent 0 65%,rgba(15,23,21,.45));content:"";pointer-events:none}.hero-grid,.contact-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(171,195,181,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(171,195,181,.035) 1px,transparent 1px);background-size:68px 68px;-webkit-mask-image:linear-gradient(90deg,black,transparent 95%);mask-image:linear-gradient(90deg,black,transparent 95%)}.hero-inner{position:relative;z-index:1;display:grid;grid-template-columns:1fr .9fr;align-items:center;gap:7%;width:min(calc(100% - 72px),var(--width));margin:70px auto 0}.hero-copy{max-width:660px}.eyebrow{display:flex;align-items:center;gap:10px;margin:0 0 24px;color:var(--accent);font:500 .67rem var(--mono);letter-spacing:.12em}.availability-dot{width:7px;height:7px;border-radius:50%;background:var(--accent);box-shadow:0 0 14px #c5f36bb3}.eyebrow-divider{color:#65716c}.hero h1,.contact h2{margin:0;font:600 clamp(3.4rem,6.35vw,6.2rem)/.99 var(--display);letter-spacing:-.075em}.hero h1 span{color:var(--accent)}.hero-description{max-width:480px;margin:27px 0 0;color:#a9b6b1;font-size:1.08rem;line-height:1.8}.hero-actions{display:flex;align-items:center;gap:26px;margin-top:35px}.button{display:inline-flex;min-height:49px;align-items:center;justify-content:center;gap:20px;padding:0 18px;border:1px solid transparent;border-radius:3px;font-size:.8rem;font-weight:700;text-decoration:none;transition:transform .2s,background .2s,border-color .2s}.button:hover{transform:translateY(-2px)}.button-dark{background:var(--accent);color:#121a16}.button-dark span{font-size:1.1rem}.text-link{color:#c0cbc5;font-size:.8rem;text-decoration:none}.text-link span{margin-left:6px;color:var(--accent)}.hero-proof{display:flex;flex-wrap:wrap;gap:12px 24px;margin-top:70px;color:#81908a;font:400 .59rem var(--mono);letter-spacing:.075em}.hero-proof span+span:before{padding-right:24px;color:#485650;content:"/"}.system-visual{position:relative;z-index:1;width:100%;max-width:490px;min-height:416px;margin:20px auto 0;border:1px solid #34413b;background:#141d1bd1;box-shadow:0 26px 100px #00000047}.visual-topline,.visual-foot{display:flex;align-items:center;justify-content:space-between;padding:15px 18px;color:#86948e;font:400 .56rem var(--mono);letter-spacing:.055em}.visual-topline{border-bottom:1px solid #293532}.visual-topline span:first-child{color:#c5d0c9}.visual-topline i{display:inline-block;width:6px;height:6px;margin:0 7px 1px 0;border-radius:50%;background:var(--accent)}.system-map{position:relative;height:337px;margin:0 18px;background-image:linear-gradient(rgba(169,194,178,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(169,194,178,.055) 1px,transparent 1px);background-size:30px 30px}.service-node{position:absolute;z-index:2;display:flex;width:142px;min-height:87px;flex-direction:column;justify-content:center;padding:12px;border:1px solid #3c4c44;background:#17211e;box-shadow:0 8px 24px #0000002e}.service-node small{color:#8d9b94;font:400 .49rem var(--mono);letter-spacing:.06em}.service-node strong{margin-top:5px;color:#e2e9e4;font:600 .78rem var(--display)}.service-node em{margin-top:2px;color:#84928a;font-size:.57rem;font-style:normal}.api-node{top:27px;left:calc(50% - 71px);border-color:#789c50}.api-node strong{color:var(--accent)}.service-node-a{top:135px;left:calc(50% - 71px)}.service-node-b{top:239px;left:5%}.service-node-c{top:239px;right:5%}.map-lines span{position:absolute;z-index:1;top:114px;left:50%;width:1px;height:21px;background:#6e8d53}.map-lines span:nth-child(2){top:222px;left:26%;width:24%;height:1px;background:#40584a}.map-lines span:nth-child(3){top:222px;left:50%;width:24%;height:1px;background:#40584a}.map-lines span:nth-child(4){top:222px;left:26%;width:1px;height:17px;background:#40584a}.map-tag{position:absolute;right:3px;bottom:9px;color:#6c7c73;font:400 .48rem var(--mono);letter-spacing:.06em}.visual-foot{border-top:1px solid #293532}.visual-foot span:first-child{color:#c6d0ca}.visual-foot span:last-child span{padding-left:5px;color:var(--accent)}.scroll-cue{position:absolute;bottom:22px;left:max(36px,calc((100% - var(--width))/2));display:flex;align-items:center;gap:11px;color:#7f8c86;font:400 .55rem var(--mono);letter-spacing:.08em;text-decoration:none}.scroll-cue span{width:1px;height:26px;background:var(--accent)}.approach-section{padding:112px 0 118px;border-bottom:1px solid #24302c;background:#141d1b}.approach-inner{display:grid;grid-template-columns:180px minmax(0,1fr) 260px;align-items:start;gap:35px;width:min(calc(100% - 72px),var(--width));margin:auto}.approach-label{display:flex;align-items:center;gap:15px}.section-index{color:#7a8b81;font:400 .67rem var(--mono)}.approach-label .eyebrow{margin:0;font-size:.6rem}.approach-inner h2{max-width:590px;margin:-9px 0 0;font:500 clamp(2rem,3.8vw,3.2rem)/1.17 var(--display);letter-spacing:-.055em}.approach-inner h2 span{color:#74837a}.approach-copy{margin:-4px 0 0;color:#97a59e;font-size:.84rem;line-height:1.8}.principles{grid-column:2/4;display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:38px;padding-top:23px;border-top:1px solid #303c37}.principles div{display:flex;align-items:center;gap:12px}.principles span{color:var(--accent);font:400 .58rem var(--mono)}.principles strong{font-size:.75rem;font-weight:500;color:#d0d9d3}.section-pad{padding:112px 0}.content-width{width:min(calc(100% - 72px),var(--width));margin:0 auto}.section-intro{display:grid;grid-template-columns:180px minmax(0,1fr);gap:35px;align-items:start}.section-intro>.section-index{padding-top:6px}.section-intro .eyebrow{margin:0 0 13px;font-size:.63rem}.section-intro h2{max-width:690px;margin:0;font:500 clamp(2.2rem,4.2vw,3.9rem)/1.08 var(--display);letter-spacing:-.065em}.section-copy{max-width:580px;margin:16px 0 0;color:#94a29b;font-size:.89rem;line-height:1.8}.work-section{background:var(--bg)}.project-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:48px 0 18px;padding:14px 0;border-top:1px solid #303a36;border-bottom:1px solid #303a36}.project-toolbar>span{color:#95a39c;font:400 .6rem var(--mono);letter-spacing:.08em;white-space:nowrap}.project-toolbar b{color:var(--accent);font-weight:400}.filter-list{display:flex;flex-wrap:wrap;gap:6px}.filter-button{padding:7px 11px;border:1px solid transparent;border-radius:2px;background:transparent;color:#9ba8a1;font-size:.67rem;cursor:pointer;transition:color .2s,border-color .2s,background .2s}.filter-button:hover{color:var(--text)}.filter-button.active{border-color:#536440;background:#c5f36b14;color:var(--accent)}.project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}.project-card{position:relative;display:flex;min-height:310px;flex-direction:column;padding:22px;border:1px solid #2b3732;background:linear-gradient(145deg,#17201e,#141c1a);transition:transform .2s,border-color .2s,background .2s}.project-card:hover{transform:translateY(-4px);border-color:#637947;background:#192320}.card-top{display:flex;justify-content:space-between;color:#7f8c85;font:400 .58rem var(--mono);letter-spacing:.05em}.project-number{color:#a2b098}.project-category{margin-top:30px;color:var(--accent);font:400 .58rem var(--mono);letter-spacing:.09em;text-transform:uppercase}.project-card h3{max-width:280px;margin:8px 0 10px;font:600 1.1rem/1.3 var(--display);letter-spacing:-.03em}.project-description{margin:0 0 20px;color:#9ba8a1;font-size:.75rem;line-height:1.75}.tag-list{display:flex;flex-wrap:wrap;gap:6px;margin:auto 0 0;padding:0;list-style:none}.tag-list li{padding:4px 7px;border:1px solid #34403a;color:#9eaca4;font:400 .54rem var(--mono)}.card-corner{position:absolute;right:17px;top:15px;color:#5c6c60;opacity:0;transform:translate(-3px,3px);transition:.2s}.project-card:hover .card-corner{opacity:1;transform:none}.skills-section{border-top:1px solid #28332f;border-bottom:1px solid #28332f;background:#141d1b}.skills-layout{display:grid;grid-template-columns:.85fr 1.15fr;gap:70px}.skills-layout .section-intro{grid-template-columns:28px minmax(0,1fr);gap:28px}.skill-list{padding-top:1px}.skill-row{display:grid;grid-template-columns:35px 130px minmax(0,1fr);gap:15px;align-items:start;padding:21px 0;border-top:1px solid #303c37}.skill-index{padding-top:4px;color:var(--accent);font:400 .57rem var(--mono)}.skill-row h3{margin:0;color:#e0e7e2;font:600 .82rem var(--display)}.skill-row p{margin:0;color:#9aa8a0;font-size:.76rem;line-height:1.8}.experience-section{background:var(--bg)}.experience-list{margin-top:50px;border-top:1px solid #303b36}.experience-item{display:grid;grid-template-columns:180px 230px minmax(0,1fr);gap:35px;align-items:start;padding:25px 0;border-bottom:1px solid #303b36}.experience-date{padding-top:4px;color:#91a087;font:400 .59rem var(--mono);letter-spacing:.025em}.experience-role h3{margin:0;color:#e4eae6;font:600 .91rem var(--display)}.experience-role span{display:block;margin-top:5px;color:var(--accent);font-size:.72rem}.experience-item>p{max-width:540px;margin:0;color:#9aa7a0;font-size:.77rem;line-height:1.8}.contact-section{position:relative;overflow:hidden;padding:110px 0 90px;border-top:1px solid #2d3833;background:#18221f}.contact-grid{opacity:.62;-webkit-mask-image:linear-gradient(90deg,transparent,black);mask-image:linear-gradient(90deg,transparent,black)}.contact-inner{position:relative;z-index:1;width:min(calc(100% - 72px),var(--width));margin:auto}.contact-inner>.eyebrow{margin-bottom:20px}.contact h2{max-width:790px;font-size:clamp(3.2rem,7vw,6.8rem)}.contact h2 span{color:var(--accent)}.contact-copy{max-width:480px;margin:24px 0 0;color:#a6b2ac;font-size:.9rem;line-height:1.8}.contact-actions{display:flex;align-items:center;gap:23px;margin-top:30px}.button-light{background:var(--accent);color:#101817}.copy-button{padding:8px 0;border:0;border-bottom:1px solid #66766c;background:none;color:#c4cec8;font-size:.74rem;cursor:pointer}.social-links{display:flex;gap:23px;margin-top:63px;padding-top:19px;border-top:1px solid #35403a}.social-links a{color:#bdc8c1;font-size:.7rem;text-decoration:none}.social-links a span{padding-left:4px;color:var(--accent)}.contact-side-note{position:absolute;right:max(36px,calc((100% - var(--width))/2));bottom:24px;color:#6f8175;font:400 .55rem/1.8 var(--mono);letter-spacing:.08em;text-align:right}.site-footer{display:flex;min-height:88px;align-items:center;justify-content:space-between;gap:20px;width:min(calc(100% - 72px),var(--width));margin:auto;color:#86938c;font-size:.65rem}.site-footer .brand{font-size:.78rem}.site-footer .brand-mark{width:29px;height:29px;font-size:.62rem}:focus-visible{outline:2px solid var(--accent);outline-offset:4px}section[id]{scroll-margin-top:85px}@media(max-width:1000px){.hero-inner{grid-template-columns:1fr .82fr;gap:4%;width:calc(100% - 56px)}.hero h1{font-size:clamp(3.2rem,7vw,5.4rem)}.system-visual{min-height:390px}.system-map{height:310px}.service-node-b,.service-node-c{width:128px}.approach-inner{grid-template-columns:130px minmax(0,1fr) 220px;gap:24px}.content-width{width:calc(100% - 56px)}.project-card{padding:18px;min-height:330px}.skills-layout{gap:42px}.experience-item{grid-template-columns:150px 195px 1fr;gap:23px}}@media(max-width:760px){.site-header{height:70px;padding-inline:22px}.site-header.is-scrolled{height:64px;padding-inline:22px}.menu-toggle{display:flex;width:38px;height:38px;flex-direction:column;align-items:center;justify-content:center;gap:6px;border:1px solid #3a4740;border-radius:3px;background:#17201e}.menu-toggle span{width:15px;height:1px;background:var(--text)}.nav{position:absolute;top:calc(100% - 2px);right:14px;left:14px;display:none;align-items:stretch;gap:0;padding:9px 15px;border:1px solid #34413a;background:#151f1c}.nav.is-open{display:flex;flex-direction:column}.nav a{padding:12px 4px;border-bottom:1px solid #2b3731}.nav .nav-cta{margin:7px 0;border:1px solid #435148}.hero{min-height:auto;padding:132px 0 74px}.hero-inner{grid-template-columns:1fr;gap:48px;width:calc(100% - 48px);margin:0 auto}.hero h1{font-size:clamp(3.4rem,11vw,5.5rem)}.hero-description{font-size:1rem}.hero-proof{margin-top:43px}.system-visual{max-width:520px;margin:0}.scroll-cue{display:none}.approach-section,.section-pad{padding:80px 0}.approach-inner{grid-template-columns:1fr 1fr;gap:22px;width:calc(100% - 48px)}.approach-label{grid-column:1/-1}.approach-inner h2{grid-column:1/-1;margin:0}.approach-copy{grid-column:1/-1;max-width:530px}.principles{grid-column:1/-1;margin-top:15px}.content-width{width:calc(100% - 48px)}.section-intro{grid-template-columns:40px minmax(0,1fr);gap:20px}.section-intro h2{font-size:clamp(2.1rem,7vw,3.5rem)}.project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.project-card{min-height:320px}.project-toolbar{align-items:flex-start;flex-direction:column;gap:12px}.skills-layout{grid-template-columns:1fr;gap:42px}.skills-layout .section-intro{grid-template-columns:40px minmax(0,1fr);gap:20px}.experience-item{grid-template-columns:140px 1fr;gap:10px 22px}.experience-item>p{grid-column:2}.experience-list{margin-top:35px}.contact-section{padding:85px 0 72px}.contact-inner{width:calc(100% - 48px)}.contact-side-note{right:24px;bottom:18px}.site-footer{width:calc(100% - 48px);flex-wrap:wrap;padding:20px 0}.site-footer>span:nth-child(2){display:none}}@media(max-width:520px){.hero{padding-top:118px}.hero-inner{width:calc(100% - 38px)}.hero .eyebrow{font-size:.57rem;letter-spacing:.08em}.hero h1{font-size:clamp(3rem,12vw,4rem)}.hero-description{font-size:.9rem}.hero-actions{gap:18px}.hero-proof{gap:8px 14px;font-size:.5rem}.hero-proof span+span:before{padding-right:14px}.system-visual{min-height:360px}.visual-topline,.visual-foot{padding-inline:11px;font-size:.48rem}.system-map{height:300px;margin:0 10px}.service-node{width:124px}.service-node-b{left:0}.service-node-c{right:0}.api-node,.service-node-a{left:calc(50% - 62px)}.approach-section,.section-pad{padding:68px 0}.approach-inner,.content-width,.contact-inner{width:calc(100% - 38px)}.approach-inner h2{font-size:2.2rem}.principles{grid-template-columns:1fr;gap:13px}.section-intro{grid-template-columns:25px minmax(0,1fr);gap:13px}.section-intro h2{font-size:2.2rem}.section-copy{font-size:.82rem}.project-grid{grid-template-columns:1fr}.project-card{min-height:280px;padding:21px}.project-category{margin-top:22px}.filter-list{gap:3px}.filter-button{padding:7px 8px;font-size:.61rem}.skills-layout{gap:30px}.skills-layout .section-intro{grid-template-columns:25px minmax(0,1fr);gap:13px}.skill-row{grid-template-columns:25px 92px 1fr;gap:9px}.skill-row p{font-size:.7rem}.experience-item{grid-template-columns:1fr;gap:6px;padding:20px 0}.experience-role{grid-row:2}.experience-item>p{grid-column:1;grid-row:3;margin-top:4px}.experience-date{font-size:.55rem}.contact-section{padding:72px 0 65px}.contact h2{font-size:clamp(3rem,12vw,4rem)}.contact-copy{font-size:.83rem}.contact-actions{align-items:flex-start;flex-direction:column;gap:14px}.social-links{margin-top:45px}.contact-side-note{font-size:.48rem}.site-footer{width:calc(100% - 38px);gap:12px}.site-footer>span:last-child{font-size:.57rem}}.system-visual{min-height:492px}.micro-map{position:relative;height:412px;margin:0 14px;background-image:linear-gradient(rgba(169,194,178,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(169,194,178,.045) 1px,transparent 1px);background-size:24px 24px}.micro-node{position:relative;z-index:2;display:flex;min-width:0;min-height:69px;flex-direction:column;justify-content:center;padding:8px 9px;border:1px solid #3c4c44;background:#17211e;box-shadow:0 7px 20px #00000029}.micro-node small,.micro-bus small,.micro-observe small{color:#8d9b94;font:400 .43rem var(--mono);letter-spacing:.035em;white-space:nowrap}.micro-node strong,.micro-bus strong,.micro-observe strong{margin-top:3px;color:#e2e9e4;font:600 .68rem var(--display);white-space:nowrap}.micro-node em{margin-top:2px;color:#84928a;font-size:.5rem;font-style:normal;white-space:nowrap}.micro-clients{position:absolute;top:34px;left:0;display:flex;flex-direction:column;gap:8px}.micro-clients span,.micro-stores span{padding:5px 6px;border:1px solid #36433d;background:#17211e;color:#9aa89f;font:400 .45rem var(--mono);text-align:center;white-space:nowrap}.gateway-node{position:absolute;top:25px;left:calc(50% - 69px);width:138px;min-height:58px;border-color:#718d4c;text-align:center}.gateway-node strong{color:var(--accent)}.micro-connector{position:absolute;height:1px;background:#687f51}.micro-connector:after,.micro-fanout i:after,.micro-data-lines i:after,.micro-bus-link i:after,.micro-observe-link i:after{position:absolute;right:-1px;top:-3px;width:6px;height:6px;border-top:1px solid #8cae5c;border-right:1px solid #8cae5c;content:"";transform:rotate(45deg)}.clients-to-gateway{top:53px;left:42px;width:calc(50% - 111px)}.micro-fanout{position:absolute;top:83px;left:50%;width:1px;height:19px;background:#687f51}.micro-fanout:before{position:absolute;top:18px;left:-112px;width:224px;height:1px;background:#687f51;content:""}.micro-fanout i{position:absolute;top:18px;width:1px;height:11px;background:#687f51}.micro-fanout i:nth-child(1){left:-112px}.micro-fanout i:nth-child(2){left:0}.micro-fanout i:nth-child(3){left:112px}.micro-services{position:absolute;top:112px;right:0;left:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.micro-services .micro-node{text-align:center}.micro-data-lines{position:absolute;top:181px;right:0;left:0;display:grid;grid-template-columns:repeat(3,1fr);justify-items:center}.micro-data-lines i{position:relative;width:1px;height:17px;background:#495d4b}.micro-data-lines i:after{top:auto;right:-2px;bottom:0;transform:rotate(135deg)}.micro-stores{position:absolute;top:201px;right:0;left:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.micro-stores span{padding:6px 2px;font-size:.42rem}.micro-bus-link{position:absolute;top:242px;left:50%;width:1px;height:15px;background:#586c4d}.micro-bus{position:absolute;top:257px;left:calc(50% - 91px);z-index:2;display:flex;width:182px;min-height:47px;align-items:center;justify-content:center;gap:10px;border:1px solid #506144;background:#1b271f}.micro-bus strong{color:#cde2a6}.bus-signal{color:var(--accent);font-size:1.1rem}.micro-bus-link i{position:absolute;top:auto;right:-2px;bottom:0;width:5px;height:5px;border-right:1px solid #8cae5c;border-bottom:1px solid #8cae5c;transform:rotate(45deg)}.micro-observe-link{position:absolute;top:304px;left:50%;width:1px;height:15px;background:#53634e}.micro-observe{position:absolute;top:320px;left:calc(50% - 105px);z-index:2;display:flex;width:210px;min-height:44px;align-items:center;justify-content:center;gap:9px;border:1px solid #3a4a42;background:#17211e}.micro-observe small{font-size:.39rem}.micro-observe strong{font-size:.62rem}.micro-observe>b{margin-left:4px;color:var(--accent);font-size:.8rem}.observe-pulse{width:7px;height:7px;flex:0 0 auto;border-radius:50%;background:var(--accent);box-shadow:0 0 9px #c5f36b99}.map-tag{position:absolute;right:2px;bottom:2px;color:#6c7c73;font:400 .43rem var(--mono);letter-spacing:.025em;white-space:nowrap}@media(max-width:1000px){.system-visual{min-height:492px}.micro-map{height:412px}}@media(max-width:760px){.system-visual{min-height:492px}.micro-map{height:412px}}@media(max-width:520px){.system-visual{min-height:476px}.micro-map{height:396px;margin:0 9px}.micro-services,.micro-stores{gap:5px}.micro-node{padding:7px 3px}.micro-node small{font-size:.37rem}.micro-node strong{font-size:.58rem}.micro-node em{font-size:.43rem}.micro-stores span{font-size:.36rem}.micro-fanout:before{left:-80px;width:160px}.micro-fanout i:nth-child(1){left:-80px}.micro-fanout i:nth-child(3){left:80px}.micro-observe{width:198px;left:calc(50% - 99px)}.micro-bus{left:calc(50% - 88px);width:176px}.micro-observe-link,.micro-bus-link{left:50%}.clients-to-gateway{left:39px;width:calc(50% - 105px)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}:root{font-size:17px}.nav a{font-size:.86rem}.eyebrow{font-size:.72rem}.project-toolbar>span,.filter-button{font-size:.73rem}.project-card h3{font-size:1.18rem}.project-description,.skill-row p,.experience-item>p,.contact-copy{font-size:.88rem}.tag-list li{font-size:.64rem}.project-number,.project-year,.project-category,.experience-date,.skill-index{font-size:.68rem}.site-footer{font-size:.74rem}.micro-node small,.micro-bus small,.micro-observe small{font-size:.52rem}.micro-node strong,.micro-bus strong,.micro-observe strong{font-size:.76rem}.micro-node em{font-size:.6rem}.micro-clients span,.micro-stores span{font-size:.53rem}.map-tag{font-size:.5rem}.visual-topline,.visual-foot{font-size:.64rem}@media(max-width:760px){.nav a{font-size:.9rem}.project-description,.skill-row p,.experience-item>p,.contact-copy{font-size:.93rem}}@media(max-width:520px){:root{font-size:16px}.hero .eyebrow{font-size:.65rem}.project-description,.skill-row p,.experience-item>p,.contact-copy{font-size:.9rem}.micro-node small,.micro-bus small,.micro-observe small{font-size:.46rem}.micro-node strong,.micro-bus strong,.micro-observe strong{font-size:.68rem}.micro-node em{font-size:.53rem}.micro-clients span,.micro-stores span{font-size:.45rem}.map-tag{font-size:.44rem}.visual-topline,.visual-foot{font-size:.56rem}}h1,h2,h3,p{overflow-wrap:break-word;text-wrap:pretty}.hero-actions .button,.hero-actions .text-link,.contact-actions .button,.copy-button{white-space:nowrap}.hero-proof{display:grid;grid-template-columns:minmax(0,1fr);justify-items:start;gap:7px;line-height:1.5;letter-spacing:.045em}.hero-proof span{min-width:0;max-width:100%;white-space:nowrap}.hero-proof span+span:before{content:none}.micro-bus>span:not(.bus-signal),.micro-observe>span:nth-child(2){display:flex;flex-direction:column;align-items:flex-start;gap:3px;line-height:1.25}.micro-bus,.micro-observe{gap:11px;padding:7px 10px}@media(min-width:761px){.hero{min-height:min(800px,100svh);padding-bottom:48px}.hero-inner{margin-top:48px;translate:0 22px}.scroll-cue{right:max(36px,calc((100% - var(--width))/2));bottom:16px;left:auto;flex-direction:row-reverse}}@media(max-width:520px){html,body{overflow-x:clip}.hero-actions{gap:13px}.hero-actions .button{gap:11px;padding-inline:13px;font-size:.76rem}.hero-actions .text-link{font-size:.76rem}.hero-proof{display:grid;grid-template-columns:1fr;gap:6px;margin-top:40px;font-size:.62rem;line-height:1.5}.hero-proof span+span:before{content:none}.filter-list{display:grid;grid-template-columns:repeat(3,max-content);gap:5px 7px}.hero h1{font-size:clamp(2.65rem,10.8vw,3.25rem);line-height:1.02}.section-intro h2,.approach-inner h2{line-height:1.12}.project-card h3{line-height:1.35}.experience-item>p,.project-description,.section-copy,.approach-copy{line-height:1.75}.micro-map{overflow:hidden}.micro-node small,.micro-bus small,.micro-observe small{font-size:.52rem}.micro-clients span,.micro-stores span{font-size:.49rem}.map-tag{right:0;max-width:100%;font-size:.48rem}.micro-bus,.micro-observe{padding:5px 8px}.visual-foot{align-items:flex-start;flex-direction:column;gap:4px;padding-block:10px}}.reveal-on-scroll{opacity:0;transform:translateY(20px);transition:opacity .65s ease,transform .65s cubic-bezier(.2,.7,.2,1);transition-delay:var(--reveal-delay,0ms);will-change:opacity,transform}.reveal-on-scroll.is-revealed{opacity:1;transform:translateY(0)}.project-card.reveal-on-scroll{transform:translateY(24px) scale(.985)}.project-card.reveal-on-scroll.is-revealed{transform:translateY(0) scale(1)}.project-card.reveal-on-scroll:hover{transform:translateY(-4px)}.skill-row.reveal-on-scroll{transform:translate(16px)}.skill-row.reveal-on-scroll.is-revealed{transform:translate(0)}.experience-item.reveal-on-scroll{transform:translate(-16px)}.experience-item.reveal-on-scroll.is-revealed{transform:translate(0)}.skill-row{transition:border-color .25s,padding-left .25s}.skill-row:hover{padding-left:8px;border-color:#64764d}.experience-item{transition:border-color .25s,padding-left .25s}.experience-item:hover{padding-left:9px;border-color:#64764d}.system-visual.reveal-on-scroll:not(.is-revealed) .micro-node,.system-visual.reveal-on-scroll:not(.is-revealed) .micro-bus,.system-visual.reveal-on-scroll:not(.is-revealed) .micro-observe{opacity:0;transform:translateY(9px)}.system-visual .micro-node,.system-visual .micro-bus,.system-visual .micro-observe{transition:opacity .45s ease,transform .45s ease}.system-visual.is-revealed .gateway-node{transition-delay:.12s}.system-visual.is-revealed .micro-services .micro-node:nth-child(1){transition-delay:.2s}.system-visual.is-revealed .micro-services .micro-node:nth-child(2){transition-delay:.28s}.system-visual.is-revealed .micro-services .micro-node:nth-child(3){transition-delay:.36s}.system-visual.is-revealed .micro-bus{transition-delay:.44s}.system-visual.is-revealed .micro-observe{transition-delay:.52s}.hero-copy.reveal-on-scroll{animation:hero-copy-enter .9s .1s cubic-bezier(.2,.7,.2,1) both}.system-visual.reveal-on-scroll{animation:hero-panel-enter 1s .26s cubic-bezier(.2,.7,.2,1) both}.system-visual.reveal-on-scroll .gateway-node{animation:diagram-node-enter .55s .62s ease both}.system-visual.reveal-on-scroll .micro-services .micro-node:nth-child(1){animation:diagram-node-enter .55s .72s ease both}.system-visual.reveal-on-scroll .micro-services .micro-node:nth-child(2){animation:diagram-node-enter .55s .82s ease both}.system-visual.reveal-on-scroll .micro-services .micro-node:nth-child(3){animation:diagram-node-enter .55s .92s ease both}.system-visual.reveal-on-scroll .micro-bus{animation:diagram-node-enter .55s 1.02s ease both}.system-visual.reveal-on-scroll .micro-observe{animation:diagram-node-enter .55s 1.12s ease both}.availability-dot{animation:status-pulse 2.2s 1.35s ease-in-out infinite}.system-visual .micro-node,.system-visual .micro-bus,.system-visual .micro-observe,.micro-clients span,.micro-stores span{transition:opacity .45s ease,transform .22s ease,translate .22s ease,border-color .22s ease,box-shadow .22s ease,background-color .22s ease}.system-visual .micro-node:hover,.system-visual .micro-bus:hover,.system-visual .micro-observe:hover{z-index:3;border-color:#b4dc72;background:#1c2a22;box-shadow:0 0 0 1px #c5f36b21,0 9px 25px #0000004d,0 0 22px #c5f36b1a;translate:0 -3px}.system-visual.is-revealed .micro-node:hover,.system-visual.is-revealed .micro-bus:hover,.system-visual.is-revealed .micro-observe:hover{transition-delay:0s!important}.system-visual .micro-node:hover strong,.system-visual .micro-bus:hover strong,.system-visual .micro-observe:hover strong{color:var(--accent)}.micro-clients span:hover,.micro-stores span:hover{border-color:#9abd61;background:#202d24;box-shadow:0 0 14px #c5f36b1a;transform:translateY(-2px)}@keyframes hero-copy-enter{0%{opacity:0;transform:translateY(26px)}to{opacity:1;transform:translateY(0)}}@keyframes hero-panel-enter{0%{opacity:0;transform:translate(18px,16px) scale(.975)}to{opacity:1;transform:translate(0) scale(1)}}@keyframes diagram-node-enter{0%{opacity:0;transform:translateY(9px)}to{opacity:1;transform:translateY(0)}}@keyframes status-pulse{0%,to{box-shadow:0 0 #c5f36b40}50%{box-shadow:0 0 0 5px #c5f36b00}}@media(prefers-reduced-motion:reduce){.reveal-on-scroll,.reveal-on-scroll.is-revealed,.system-visual .micro-node,.system-visual .micro-bus,.system-visual .micro-observe{opacity:1!important;transform:none!important;transition:none!important;animation:none!important;will-change:auto!important}.skill-row,.experience-item,.availability-dot{transition:none!important;animation:none!important}}.contact-side-note{white-space:nowrap}.clients-to-gateway:after{top:-3px;right:-3px;width:7px;height:7px;border:0;background:#a3cd66;clip-path:polygon(0 0,100% 50%,0 100%);transform:none}.micro-fanout i:after,.micro-data-lines i:after,.micro-bus-link i,.micro-observe-link i{inset:auto auto -2px -3px;width:7px;height:5px;border:0;background:#a3cd66;clip-path:polygon(0 0,100% 0,50% 100%);transform:none}.micro-observe-link i{position:absolute}.micro-connector,.micro-fanout,.micro-data-lines,.micro-bus-link,.micro-observe-link{z-index:3}.clients-to-gateway:after{right:0}.micro-fanout{right:0;left:0;width:auto;height:29px;background:none}.micro-fanout:before{top:18px;right:16.667%;left:16.667%;width:auto;height:1px}.micro-fanout:after{position:absolute;top:0;left:50%;width:1px;height:18px;background:#687f51;content:""}.micro-fanout i{top:18px;height:11px}.micro-fanout i:nth-child(1){left:16.667%}.micro-fanout i:nth-child(2){left:50%}.micro-fanout i:nth-child(3){left:83.333%}.micro-data-lines i{height:20px}.micro-bus-link i,.micro-observe-link i{bottom:0}.micro-observe-link{height:16px}
