:is(body:has(.portfolio-shell),html:has(.portfolio-shell)){background:#07090c}html:has(.portfolio-shell){scroll-behavior:smooth;scroll-padding-top:6rem}body:has(.portfolio-shell){margin:0;overflow-x:hidden}.portfolio-shell{--portfolio-bg:#07090c;--portfolio-surface:#0c1117;--portfolio-surface-strong:#121923;--portfolio-line:#253142;--portfolio-line-soft:#94a3b82e;--portfolio-text:#edf4fb;--portfolio-muted:#aebdce;--portfolio-dim:#718096;--portfolio-accent:#0a6cff;--portfolio-accent-soft:#66b2ff;--portfolio-green:#33d69f;--portfolio-ease:cubic-bezier(.22, 1, .36, 1);background:radial-gradient(circle at 84% 8%, #0a6cff21, transparent 34rem), linear-gradient(#778aa409 1px, transparent 1px), linear-gradient(90deg, #778aa409 1px, transparent 1px), var(--portfolio-bg);min-height:100vh;color:var(--portfolio-text);background-size:auto,4rem 4rem,4rem 4rem,auto;font-family:Instrument Sans,ui-sans-serif,system-ui,sans-serif;overflow:clip}.portfolio-shell *,.portfolio-shell :before,.portfolio-shell :after,.portfolio-menu-overlay *,.command-palette *{box-sizing:border-box}.portfolio-shell a,.portfolio-menu-overlay a,.command-palette a{color:inherit;text-decoration:none}.portfolio-shell :is(a,button,input,select,textarea):focus-visible,.portfolio-menu-overlay :is(a,button):focus-visible,.command-palette :is(input,button):focus-visible{outline:3px solid var(--portfolio-accent,#0a6cff);outline-offset:3px;border-radius:.125rem}.portfolio-shell button,.portfolio-menu-overlay button,.command-palette button{font:inherit}.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}.skip-link{z-index:300;background:var(--portfolio-text);padding:.75rem 1rem;font-weight:700;transition:transform .16s;position:fixed;top:.75rem;left:.75rem;transform:translateY(-180%);color:var(--portfolio-bg)!important}.skip-link:focus{transform:translateY(0)}.portfolio-page-frame{min-height:60vh}.portfolio-header{z-index:80;border-bottom:1px solid var(--portfolio-line);-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;grid-template-columns:minmax(10rem,1fr) auto minmax(10rem,1fr);align-items:center;min-height:4.75rem;padding-inline:clamp(1rem,3vw,3rem);transition:background-color .18s,-webkit-backdrop-filter .18s,backdrop-filter .18s;display:grid;position:sticky;top:0}.portfolio-header.is-scrolled{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#07090cdb}.portfolio-shell:has(.portfolio-home)>main{margin-top:-4.75rem}.portfolio-mark-new,.portfolio-menu-brand{letter-spacing:.12em;align-items:center;gap:.65rem;width:max-content;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.82rem;font-weight:700;display:inline-flex}.portfolio-logo{width:3.4rem;height:auto}.portfolio-nav{align-items:center;gap:clamp(1.25rem,2.2vw,2.5rem);display:flex}.portfolio-nav a{color:var(--portfolio-muted);letter-spacing:.08em;text-transform:uppercase;padding-block:1.75rem;font-size:.79rem;font-weight:600;position:relative}.portfolio-nav a:after{background:var(--portfolio-accent);content:"";height:2px;transition:transform .22s var(--portfolio-ease);position:absolute;bottom:-1px;left:0;right:0;transform:scaleX(0)}.portfolio-nav a:hover,.portfolio-nav a.is-active{color:var(--portfolio-text)}.portfolio-nav a:hover:after,.portfolio-nav a.is-active:after{transform:scaleX(1)}.header-actions{justify-self:end;align-items:center;gap:.6rem;display:flex}.header-cta,.portfolio-menu-toggle,.secondary-action{border:1px solid var(--portfolio-line);min-height:2.75rem;color:var(--portfolio-text);letter-spacing:.05em;text-transform:uppercase;background:#ffffff05;justify-content:center;align-items:center;gap:.5rem;padding:.7rem .9rem;font-size:.78rem;font-weight:650;transition:border-color .18s,background .18s,transform .18s;display:inline-flex}.header-cta:hover,.portfolio-menu-toggle:hover,.secondary-action:hover{border-color:var(--portfolio-accent-soft);background:#0a6cff1a;transform:translateY(-2px)}.portfolio-menu-toggle{cursor:pointer}.portfolio-menu-overlay{z-index:180;color:#edf4fb;background:linear-gradient(90deg,#0a6cff0d,#0000 34%),#07090c;font-family:Instrument Sans,ui-sans-serif,system-ui,sans-serif;position:fixed;inset:0;overflow-y:auto}.portfolio-menu-overlay>header{border-bottom:1px solid #253142;grid-template-columns:1fr auto 1fr;align-items:center;min-height:5rem;padding-inline:clamp(1rem,4vw,4rem);display:grid}.portfolio-menu-overlay>header>p{color:#aebdce;letter-spacing:.08em;text-transform:uppercase;align-items:center;gap:1.5rem;margin:0;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.72rem;display:flex}.portfolio-menu-overlay>header>p span{color:#edf4fb;align-items:center;gap:.45rem;display:inline-flex}.portfolio-menu-overlay>header>p i,.system-canvas-header i,.command-status,.availability i{background:#33d69f;border-radius:999px;width:.5rem;height:.5rem;box-shadow:0 0 .75rem #33d69fb3}.portfolio-menu-overlay>header>button{color:#edf4fb;cursor:pointer;background:0 0;border:0;justify-self:end;align-items:center;gap:.6rem;padding:.75rem;display:inline-flex}.portfolio-menu-grid{grid-template-columns:minmax(0,1.65fr) minmax(18rem,.7fr);min-height:calc(100vh - 5rem);display:grid}.portfolio-menu-grid>nav{border-right:1px solid #253142;flex-direction:column;justify-content:center;padding:clamp(2rem,7vh,6rem) clamp(1rem,6vw,7rem);display:flex}.portfolio-menu-grid>nav a{color:#aebdce;letter-spacing:-.055em;transition:color .18s ease, padding-left .24s var(--portfolio-ease);border-bottom:1px solid #94a3b833;grid-template-columns:3rem 1fr auto;align-items:center;padding-block:clamp(.8rem,2vh,1.35rem);font-size:clamp(2.1rem,6vw,5.8rem);font-weight:550;line-height:.95;display:grid}.portfolio-menu-grid>nav a span{color:#0a6cff;letter-spacing:.1em;align-self:start;padding-top:.35rem;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.7rem}.portfolio-menu-grid>nav a:hover,.portfolio-menu-grid>nav a.is-active{color:#edf4fb;padding-left:.75rem}.portfolio-menu-grid>aside{flex-direction:column;justify-content:center;gap:2rem;padding:clamp(2rem,5vw,4rem);display:flex}.portfolio-menu-grid>aside div{gap:.6rem;display:grid}.portfolio-menu-grid>aside div>span,.portfolio-menu-grid>aside>p{color:#718096;letter-spacing:.08em;text-transform:uppercase;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.7rem}.portfolio-menu-grid>aside strong{color:#edf4fb;font-size:1rem;line-height:1.55}.portfolio-menu-grid>aside a{color:#aebdce;text-transform:capitalize;align-items:center;gap:.35rem;display:inline-flex}.portfolio-menu-grid>aside a:hover{color:#66b2ff}.portfolio-menu-enter-active,.portfolio-menu-leave-active{transition:opacity .38s var(--portfolio-ease), clip-path .48s var(--portfolio-ease)}.portfolio-menu-enter-from,.portfolio-menu-leave-to{opacity:0;clip-path:inset(0 0 100%)}.portfolio-loader{z-index:250;background:radial-gradient(circle at 50% 45%, #0a6cff1a, transparent 34rem), var(--portfolio-bg);place-items:center;padding:clamp(1rem,3vw,3rem);display:grid;position:fixed;inset:0;overflow:hidden}.portfolio-loader:before{content:"";pointer-events:none;background-image:linear-gradient(#66b2ff0a 1px,#0000 1px),linear-gradient(90deg,#66b2ff0a 1px,#0000 1px);background-size:4rem 4rem;position:absolute;inset:0;-webkit-mask-image:radial-gradient(circle,#000 0%,#0000 78%);mask-image:radial-gradient(circle,#000 0%,#0000 78%)}.portfolio-loader-skip{z-index:2;top:max(1rem, env(safe-area-inset-top));right:max(1rem, env(safe-area-inset-right));border:1px solid var(--portfolio-line);min-height:2.75rem;color:var(--portfolio-muted);letter-spacing:.08em;text-transform:uppercase;cursor:pointer;background:#07090cd1;align-items:center;gap:.7rem;padding:.65rem .8rem;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.65rem;transition:border-color .18s,color .18s,background-color .18s;display:inline-flex;position:absolute}.portfolio-loader-skip span{color:var(--portfolio-dim);font-size:.55rem}.portfolio-loader-content{z-index:1;gap:clamp(1.5rem,4vh,2.5rem);width:min(46rem,100vw - 2rem);display:grid;position:relative}.portfolio-loader-terminal{border:1px solid var(--portfolio-line);transform-origin:50%;background:#080d14f5;box-shadow:0 0 0 1px #0a6cff0d,0 1.75rem 5rem #0000006b}.portfolio-loader-terminal>header{border-bottom:1px solid var(--portfolio-line-soft);color:var(--portfolio-dim);letter-spacing:.09em;text-transform:uppercase;justify-content:space-between;align-items:center;gap:1rem;padding:.8rem 1rem;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.62rem;display:flex}.portfolio-loader-terminal>header span:first-child{color:var(--portfolio-accent-soft)}.portfolio-loader-commands{gap:.95rem;min-height:12.5rem;margin:0;padding:clamp(1.35rem,3vw,2.15rem);list-style:none;display:grid}.portfolio-loader-commands li{min-width:0;color:var(--portfolio-muted);letter-spacing:.035em;grid-template-columns:minmax(0,1fr) auto;align-items:baseline;gap:1rem;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:clamp(.72rem,1.4vw,.84rem);line-height:1.45;display:grid}.portfolio-loader-commands li.is-hidden{visibility:hidden}.portfolio-loader-command{overflow-wrap:anywhere;min-width:0}.portfolio-loader-command i{color:var(--portfolio-accent);margin-right:.5rem;font-style:normal}.portfolio-loader-cursor{background:var(--portfolio-accent-soft);vertical-align:-.12em;width:.48rem;height:.95em;margin-left:.15rem;animation:.86s step-end infinite loader-cursor;display:inline-block}.portfolio-loader-command-status{min-width:4.5rem;color:var(--portfolio-dim);letter-spacing:.08em;text-align:right;text-transform:uppercase;font-size:.62rem}.portfolio-loader-command-status:before{content:"["}.portfolio-loader-command-status:after{content:"]"}.portfolio-loader-command-status:empty:before,.portfolio-loader-command-status:empty:after{content:""}.portfolio-loader-command-status[data-status=complete]{color:var(--portfolio-accent-soft)}.portfolio-loader-command-status[data-status=fallback],.portfolio-loader-command-status[data-status=deferred]{color:var(--portfolio-muted)}.portfolio-loader-brand{justify-items:center;gap:1rem;display:grid}.portfolio-loader-logo{opacity:.64;filter:drop-shadow(0 0 #0a6cff00);width:clamp(6.5rem,16vw,8.5rem);height:auto;transition:opacity .3s var(--portfolio-ease), filter .3s var(--portfolio-ease)}.portfolio-loader.is-experience-ready .portfolio-loader-logo,.portfolio-loader.is-launching .portfolio-loader-logo{opacity:1;filter:drop-shadow(0 0 .8rem #0a6cff3d)}.portfolio-loader-progress-row{width:min(32rem,76vw);color:var(--portfolio-muted);letter-spacing:.08em;text-transform:uppercase;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:1rem;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.65rem;display:grid}.portfolio-loader-progress{background:var(--portfolio-line);height:2px;position:relative;overflow:hidden}.portfolio-loader-progress-fill{background:var(--portfolio-accent);transform-origin:0;transition:transform .28s var(--portfolio-ease);position:absolute;inset:0;box-shadow:0 0 .75rem #0a6cffb8}.portfolio-loader-progress i{background:linear-gradient(90deg, transparent, var(--portfolio-accent-soft), transparent);opacity:0;width:18%;position:absolute;inset:0 auto 0 -18%}.portfolio-loader.is-launching .portfolio-loader-progress i{animation:.42s linear both loader-signal}.portfolio-loader-brand>p{color:var(--portfolio-dim);letter-spacing:.08em;text-align:center;text-transform:uppercase;margin:0;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.58rem}.portfolio-loader.is-leaving{pointer-events:none}@media (hover:hover) and (pointer:fine){.portfolio-loader-skip:hover{border-color:var(--portfolio-accent-soft);color:var(--portfolio-text);background:#0a6cff17}}@keyframes loader-cursor{50%{opacity:0}}@keyframes loader-signal{0%{opacity:0;transform:translate(0)}18%,82%{opacity:1}to{opacity:0;transform:translate(655%)}}@media (width<=40rem){.portfolio-loader{padding:max(4.5rem, env(safe-area-inset-top)) max(1rem, env(safe-area-inset-right)) max(1.25rem, env(safe-area-inset-bottom)) max(1rem, env(safe-area-inset-left));align-items:center}.portfolio-loader-content{gap:1.5rem;width:100%}.portfolio-loader-terminal>header{padding:.7rem .8rem;font-size:.56rem}.portfolio-loader-terminal>header span:last-child{display:none}.portfolio-loader-commands{gap:.8rem;min-height:11.5rem;padding:1.15rem}.portfolio-loader-commands li{letter-spacing:.015em;gap:.6rem;font-size:.7rem}.portfolio-loader-command-status{min-width:3.7rem;font-size:.55rem}.portfolio-loader-progress-row{width:min(25rem,88vw)}.portfolio-loader-brand>p{max-width:19rem;font-size:.52rem;line-height:1.5}}@media (height<=42rem){.portfolio-loader{place-items:start center;overflow-y:auto}.portfolio-loader-content{gap:1rem;margin-block:auto}.portfolio-loader-commands{gap:.55rem;min-height:9rem;padding-block:.9rem}.portfolio-loader-brand{gap:.65rem}.portfolio-loader-logo{width:5.75rem}}.hero-section,.portfolio-section,.page-hero,.page-cta,.case-study,.article-page,.contact-section,.portfolio-footer,.writing-index,.contact-layout{width:min(100%,96rem);margin-inline:auto}.hero-section{border-bottom:1px solid var(--portfolio-line);isolation:isolate;background:#020611;width:100%;min-height:calc(100svh - 4.75rem);display:block;position:relative;overflow:clip}.portfolio-home .hero-section{min-height:100svh}.portfolio-home .hero-copy{min-height:100svh;padding-top:calc(clamp(4rem,9vh,6rem) + 4.75rem)}.hero-copy{z-index:10;text-shadow:0 1px 2rem #000000b8;flex-direction:column;justify-content:center;width:min(35rem,43vw);min-height:calc(100svh - 4.75rem);padding:clamp(4rem,9vh,6rem) 1rem clamp(3rem,6vh,5rem) clamp(3rem,8.2vw,8.5rem);display:flex;position:relative;transform:translateY(2.25rem)}.hero-copy:before{z-index:-1;content:"";pointer-events:none;background:radial-gradient(at 24%,#020611fa 0%,#020611d6 44%,#0000 72%);position:absolute;inset:-6% -36% -6% -10%}.eyebrow{color:var(--portfolio-muted);letter-spacing:.095em;text-transform:uppercase;align-items:center;gap:.65rem;margin:0;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.7rem;font-weight:600;line-height:1.5;display:flex}.eyebrow span{color:var(--portfolio-accent-soft)}.hero-copy h1,.page-hero h1,.case-study-hero h1,.article-hero h1{letter-spacing:-.075em;max-width:11ch;margin:1.25rem 0 1.5rem;font-size:clamp(4.1rem,8.3vw,9.5rem);font-weight:570;line-height:.84}.hero-copy h1 span{color:var(--portfolio-accent-soft);display:block}.hero-copy h1{max-width:7.9ch;font-size:clamp(5rem,6.5vw,7rem);line-height:.82}.hero-intro,.page-hero>p,.case-study-hero>p,.article-hero>p{max-width:44rem;color:var(--portfolio-muted);margin:0;font-size:clamp(1rem,1.2vw,1.1rem);line-height:1.65}.hero-actions{flex-wrap:nowrap;align-items:center;gap:.75rem;margin-top:2.25rem;display:flex}.primary-action,.contact-primary,.contact-submit{border:1px solid var(--portfolio-accent);background:var(--portfolio-accent);letter-spacing:.04em;text-transform:uppercase;justify-content:center;align-items:center;gap:.75rem;min-height:3rem;padding:.85rem 1.1rem;font-size:.8rem;font-weight:700;transition:background .18s,border-color .18s,transform .18s;display:inline-flex;color:#fff!important}.primary-action:hover,.contact-primary:hover,.contact-submit:hover:not(:disabled){background:#3386ff;border-color:#3386ff;transform:translateY(-2px)}.availability{color:var(--portfolio-muted);letter-spacing:.06em;text-transform:uppercase;align-items:center;gap:.6rem;margin:1.35rem 0 0;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.68rem;display:flex}.hero-scene{--atlas-exit:0;z-index:0;isolation:isolate;pointer-events:none;background:#020611;min-height:0;position:absolute;inset:0;overflow:hidden}.atlas-reference-image,.atlas-vignette,.atlas-grid{width:100%;height:100%;position:absolute;inset:0}.atlas-reference-image{z-index:1;object-fit:cover;object-position:40% center;opacity:0;filter:saturate(1.04)brightness(.82)contrast(1.08);transform-origin:55% 48%;width:100%;max-width:none;height:100%;transition:opacity .7s var(--portfolio-ease);will-change:transform}.hero-atlas.is-ready .atlas-reference-image,.hero-atlas.is-static .atlas-reference-image{opacity:calc(1 - var(--atlas-exit) * .36)}.atlas-vignette{z-index:5;background:linear-gradient(90deg,#020611fa 0%,#020611e8 23%,#0206118a 34%,#0206111f 48%,#0000 63%),linear-gradient(#0206113d 0%,#0000 30%,#02061112 73%,#02061194 100%),radial-gradient(at 62% 48%,#0000 0 48%,#01040c6b 100%)}.atlas-grid{z-index:4;opacity:.42;background-image:linear-gradient(#66b2ff0f 1px,#0000 1px),linear-gradient(90deg,#66b2ff0f 1px,#0000 1px);background-size:4rem 4rem;-webkit-mask-image:radial-gradient(at 58% 54%,#000 10%,#000000ad 58%,#0000 100%);mask-image:radial-gradient(at 58% 54%,#000 10%,#000000ad 58%,#0000 100%)}.atlas-index,.atlas-capabilities,.atlas-region,.atlas-disclosure{z-index:7;letter-spacing:.08em;text-transform:uppercase;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;position:absolute}.atlas-index{color:#9db9daeb;border-left:1px solid #66b2ff85;gap:.35rem;padding-left:.8rem;font-size:.59rem;display:grid;top:clamp(6rem,5vw,8rem);left:clamp(3rem,8.2vw,8.5rem)}.atlas-index strong{color:#e0edfaf5;font-size:.65rem;font-weight:500}.atlas-capabilities{counter-reset:atlas-capability;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);background:#020712c2;border:1px solid #76b0ff6b;gap:.32rem;min-width:10rem;padding:.65rem .8rem;display:grid;top:clamp(2.5rem,6vw,5rem);right:max(clamp(1.25rem,4vw,4rem),50vw - 45rem);box-shadow:0 0 0 1px #00000052,0 0 1.6rem #1164ff21}.atlas-capabilities:before{color:#80b6f2eb;content:"Deploying ideas globally";border-bottom:1px solid #66b2ff5c;max-width:11rem;margin-bottom:.5rem;padding-bottom:.55rem;font-size:.55rem;line-height:1.45}.atlas-capabilities span{color:#deeaf8eb;counter-increment:atlas-capability;grid-template-columns:1.4rem 1fr;gap:.4rem;padding:.16rem 0;font-size:.57rem;display:grid}.atlas-capabilities span:before{color:#6890c0d1;content:"0" counter(atlas-capability)}.atlas-region{-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);background:#020712c2;border:1px solid #76b0ff6b;gap:.32rem;min-width:10rem;padding:.65rem .8rem;display:grid;box-shadow:0 0 0 1px #00000052,0 0 1.6rem #1164ff21}.atlas-region strong{color:#eff7fffa;font-size:.62rem;font-weight:500}.atlas-region span{color:#a4c2e5eb;font-size:.49rem}.atlas-region--europe{top:27%;left:50%}.atlas-region--middle-east{top:62%;right:7%}.atlas-region--asia{top:64%;right:14%}.atlas-region--africa{top:75%;left:40%}.atlas-disclosure{color:#96afccc2;margin:0;font-size:.49rem;bottom:1.7rem;right:max(clamp(1.25rem,4vw,4rem),50vw - 45rem)}.atlas-index,.atlas-capabilities,.atlas-region,.atlas-disclosure{opacity:0;transition:opacity .62s var(--portfolio-ease), transform .62s var(--portfolio-ease);-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);background:#020712c2;border:1px solid #76b0ff6b;gap:.32rem;min-width:10rem;padding:.65rem .8rem;transform:translateY(.55rem);box-shadow:0 0 0 1px #00000052,0 0 1.6rem #1164ff21}.hero-atlas.is-ready .atlas-index,.hero-atlas.is-ready .atlas-capabilities,.hero-atlas.is-ready .atlas-region,.hero-atlas.is-ready .atlas-disclosure,.hero-atlas.is-static .atlas-index,.hero-atlas.is-static .atlas-capabilities,.hero-atlas.is-static .atlas-region,.hero-atlas.is-static .atlas-disclosure{opacity:1;transform:none}@media (prefers-reduced-motion:no-preference){.hero-atlas.is-ready .atlas-reference-image{animation:12s ease-in-out infinite alternate atlas-background-drift}.hero-atlas.is-ready .atlas-region{animation:6s ease-in-out infinite atlas-label-signal}.hero-atlas.is-ready .atlas-region--middle-east,.hero-atlas.is-ready .atlas-region--asia{animation-delay:-2s}.hero-atlas.is-ready .atlas-region--africa{animation-delay:-4s}.atlas-region strong:before{content:"";background:#80d5ff;border-radius:50%;width:.35rem;height:.35rem;margin-right:.5rem;animation:3s ease-in-out infinite atlas-beacon-blink;display:inline-block;box-shadow:0 0 .65rem #168cff}.atlas-region--middle-east strong:before,.atlas-region--asia strong:before{animation-delay:-1s}.atlas-region--africa strong:before{animation-delay:-2s}}@keyframes atlas-background-drift{0%{scale:1}to{scale:1.045}}@keyframes atlas-label-signal{0%,30%,to{opacity:1}55%,70%{opacity:.76}}@keyframes atlas-beacon-blink{0%,35%,to{opacity:1;transform:scale(1)}55%,70%{opacity:.2;transform:scale(.8)}}.portfolio-section{border:1px solid var(--portfolio-line);border-top:0;padding:clamp(5rem,9vw,9rem) clamp(1.25rem,5vw,5rem)}.section-heading{grid-template-columns:minmax(0,1.2fr) minmax(17rem,.65fr);align-items:end;gap:2rem;margin-bottom:clamp(2.5rem,5vw,5rem);display:grid}.section-heading h2,.about-copy h2,.contact-section h2,.page-cta h2,.case-study-content h2,.case-study-stack h2,.related-work h2,.article-related-project h2,.contact-layout h2{letter-spacing:-.06em;max-width:15ch;margin:.8rem 0 0;font-size:clamp(2.4rem,5vw,5.7rem);font-weight:560;line-height:.96}.section-intro{max-width:35rem;color:var(--portfolio-muted);margin:0;font-size:1rem;line-height:1.75}.discipline-grid{border-top:1px solid var(--portfolio-line);border-left:1px solid var(--portfolio-line);grid-template-columns:repeat(3,1fr);margin:0;padding:0;list-style:none;display:grid}.discipline-grid li{border-right:1px solid var(--portfolio-line);border-bottom:1px solid var(--portfolio-line);background:#0c1117b8;min-height:19rem;padding:clamp(1.4rem,3vw,2.5rem)}.discipline-number,.discipline-evidence{color:var(--portfolio-accent-soft);letter-spacing:.08em;text-transform:uppercase;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.66rem}.discipline-grid h3{letter-spacing:-.035em;margin:4.5rem 0 .9rem;font-size:clamp(1.3rem,2.2vw,2rem);font-weight:560}.discipline-grid p{min-height:5rem;color:var(--portfolio-muted);margin:0 0 1.5rem;line-height:1.7}.discipline-evidence{color:var(--portfolio-dim);line-height:1.55;display:block}.project-grid{border-top:1px solid var(--portfolio-line);border-left:1px solid var(--portfolio-line);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.project-card{border-right:1px solid var(--portfolio-line);border-bottom:1px solid var(--portfolio-line);background:#0c1117b8;grid-template-columns:minmax(12rem,.72fr) minmax(0,1.28fr);min-height:30rem;display:grid}.project-visual{border-right:1px solid var(--portfolio-line);background:linear-gradient(#66b2ff14 1px,#0000 1px) 0 0/2rem 2rem,linear-gradient(90deg,#66b2ff14 1px,#0000 1px) 0 0/2rem 2rem,radial-gradient(circle at 50% 46%,#0a6cff3b,#0000 48%),#080c12;justify-content:center;align-items:center;min-height:100%;display:flex;position:relative;overflow:hidden}.project-cover{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.project-card[data-accent=emerald] .project-visual{background:linear-gradient(#33d69f14 1px,#0000 1px) 0 0/2rem 2rem,linear-gradient(90deg,#33d69f14 1px,#0000 1px) 0 0/2rem 2rem,radial-gradient(circle at 50% 46%,#33d69f2e,#0000 48%),#080c12}.project-card[data-accent=violet] .project-visual{background:linear-gradient(#9b78ff14 1px,#0000 1px) 0 0/2rem 2rem,linear-gradient(90deg,#9b78ff14 1px,#0000 1px) 0 0/2rem 2rem,radial-gradient(circle at 50% 46%,#9b78ff33,#0000 48%),#080c12}.project-card[data-accent=amber] .project-visual{background:linear-gradient(#ffb74d14 1px,#0000 1px) 0 0/2rem 2rem,linear-gradient(90deg,#ffb74d14 1px,#0000 1px) 0 0/2rem 2rem,radial-gradient(circle at 50% 46%,#ffb74d30,#0000 48%),#080c12}.project-index{color:var(--portfolio-dim);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.65rem;position:absolute;top:1rem;left:1rem}.project-monogram{color:#edf4fbf2;letter-spacing:-.08em;text-shadow:0 0 2rem #0a6cff73;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:clamp(3.2rem,6vw,6.5rem);font-weight:750}.project-signal-map{flex-wrap:wrap;gap:.35rem;display:flex;position:absolute;bottom:.75rem;left:.75rem;right:.75rem}.project-signal-map span{border:1px solid var(--portfolio-line);color:var(--portfolio-muted);background:#07090cc2;padding:.3rem .45rem;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.55rem}.project-card-body{flex-direction:column;padding:clamp(1.35rem,2.5vw,2.3rem);display:flex}.project-topline{color:var(--portfolio-dim);letter-spacing:.06em;text-transform:uppercase;justify-content:space-between;gap:1rem;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.6rem;display:flex}.project-card h3{letter-spacing:-.055em;margin:3rem 0 .8rem;font-size:clamp(2rem,3.5vw,3.8rem);font-weight:560;line-height:.95}.project-card h3 a{transition:color .16s}.project-card h3 a:hover{color:var(--portfolio-accent-soft)}.project-card-body>p{color:var(--portfolio-muted);margin:0;line-height:1.65}.project-meta{grid-template-columns:repeat(2,1fr);gap:1rem;margin:1.5rem 0;display:grid}.project-meta div{border-top:1px solid var(--portfolio-line-soft);padding-top:.75rem}.project-meta dt{color:var(--portfolio-dim);text-transform:uppercase;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.6rem}.project-meta dd{color:var(--portfolio-text);margin:.4rem 0 0;font-size:.82rem}.project-technologies,.article-grid ul,.writing-index ul,.case-study-stack ul{flex-wrap:wrap;gap:.4rem;margin:auto 0 1.5rem;padding:0;list-style:none;display:flex}.project-technologies li,.article-grid li,.writing-index li,.case-study-stack li{border:1px solid var(--portfolio-line);color:var(--portfolio-muted);padding:.35rem .55rem;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.62rem}.project-actions{flex-wrap:wrap;gap:1rem;display:flex}.text-action,.text-link,.back-link,.writing-index-link,.article-related-project>a{width:max-content;color:var(--portfolio-text);letter-spacing:.035em;text-transform:uppercase;align-items:center;gap:.5rem;font-size:.78rem;font-weight:650;display:inline-flex}.text-action:hover,.text-link:hover,.back-link:hover,.writing-index-link:hover,.article-related-project>a:hover{color:var(--portfolio-accent-soft)}.project-grid.is-compact .project-card{min-height:25rem}.section-link-row{justify-content:flex-end;margin-top:2rem;display:flex}.system-explorer{border:1px solid var(--portfolio-line);isolation:isolate;background:linear-gradient(#66b2ff06 1px,#0000 1px) 0 0/4rem 4rem,linear-gradient(90deg,#66b2ff06 1px,#0000 1px) 0 0/4rem 4rem,#05090f;grid-template-columns:minmax(15rem,.68fr) minmax(34rem,1.8fr) minmax(18rem,.8fr);min-height:48rem;display:grid;overflow:hidden}.infrastructure-context,.infrastructure-inspector{z-index:3;background:#05090fed;position:relative}.infrastructure-context{border-right:1px solid var(--portfolio-line);flex-direction:column;gap:1.6rem;min-width:0;padding:clamp(1.35rem,2.4vw,2.5rem);display:flex}.infrastructure-context h3{letter-spacing:-.07em;max-width:9ch;margin:1.3rem 0 1rem;font-size:clamp(2.5rem,4.2vw,4.85rem);font-weight:600;line-height:.92}.infrastructure-context h3 span{color:var(--portfolio-accent-soft);display:block}.infrastructure-intro{color:var(--portfolio-muted);margin:0;font-size:.88rem;line-height:1.7}.infrastructure-actions{gap:.6rem;display:grid}.infrastructure-action{border:1px solid var(--portfolio-line);min-height:2.9rem;color:var(--portfolio-muted);letter-spacing:.045em;cursor:pointer;text-align:left;background:#ffffff04;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.7rem;padding:.75rem .85rem;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.68rem;transition:border-color .18s,background-color .18s,color .18s;display:grid}.infrastructure-action-primary{border-color:var(--portfolio-accent);background:var(--portfolio-accent);color:#fff}.infrastructure-trace-steps{gap:.12rem;margin:0;padding:0 0 0 .85rem;list-style:none;display:grid;position:relative}.infrastructure-trace-steps:before{background:var(--portfolio-line);content:"";width:1px;position:absolute;top:1.2rem;bottom:1.2rem;left:.18rem}.infrastructure-trace-steps li:before{border:1px solid var(--portfolio-line);content:"";background:#05090f;border-radius:50%;width:.42rem;height:.42rem;margin-top:1rem;transition:border-color .18s,background-color .18s,box-shadow .18s;position:absolute;left:0;transform:translate(-50%)}.infrastructure-trace-steps li.is-active:before,.infrastructure-trace-steps li.is-complete:before{border-color:var(--portfolio-accent-soft);background:var(--portfolio-accent);box-shadow:0 0 .8rem #0a6cff8a}.infrastructure-trace-steps button{width:100%;min-height:2.4rem;color:var(--portfolio-dim);cursor:pointer;text-align:left;background:0 0;border:0;grid-template-columns:2rem minmax(0,1fr);align-items:center;padding:.45rem .35rem;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.62rem;line-height:1.4;transition:color .18s;display:grid}.infrastructure-trace-steps button span{color:var(--portfolio-accent-soft)}.infrastructure-trace-steps li.is-active button,.infrastructure-trace-steps button:hover{color:var(--portfolio-text)}.infrastructure-playback{border:1px solid var(--portfolio-line);grid-template-columns:repeat(5,minmax(2.75rem,1fr));display:grid}.infrastructure-playback button,.infrastructure-inspector>header button{border:0;border-right:1px solid var(--portfolio-line);min-width:2.75rem;min-height:2.75rem;color:var(--portfolio-muted);cursor:pointer;background:0 0;place-items:center;transition:background-color .18s,color .18s;display:grid}.infrastructure-playback button:last-child,.infrastructure-inspector>header button:last-child{border-right:0}.infrastructure-playback button:disabled{color:var(--portfolio-line);cursor:not-allowed}.infrastructure-disclosure{color:var(--portfolio-dim);letter-spacing:.07em;text-transform:uppercase;margin:auto 0 0;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.54rem;line-height:1.55}.infrastructure-visual{background:radial-gradient(circle at 50% 42%,#0a6cff1f,#0000 43%),#03070dc7;min-width:0}.infrastructure-visual-header{z-index:4;border-bottom:1px solid var(--portfolio-line);min-height:3.35rem;color:var(--portfolio-dim);letter-spacing:.075em;text-transform:uppercase;justify-content:space-between;align-items:center;gap:1rem;padding-inline:1rem;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.58rem;display:flex;position:relative}.infrastructure-visual-header span:first-child{color:var(--portfolio-muted);align-items:center;gap:.55rem;display:flex}.infrastructure-visual-header i{background:var(--portfolio-accent);border-radius:50%;width:.45rem;height:.45rem;box-shadow:0 0 .75rem #0a6cffb8}.infrastructure-frame{perspective:900px;min-height:37rem;position:relative;overflow:hidden}.infrastructure-three-scene{z-index:0;opacity:0;pointer-events:none;width:100%;height:100%;transition:opacity .36s var(--portfolio-ease);position:absolute;inset:0}.infrastructure-explorer.is-three-ready .infrastructure-three-scene{opacity:1}.infrastructure-explorer.is-three-context-lost .infrastructure-three-scene{opacity:0}.infrastructure-frame:before{z-index:0;pointer-events:none;content:"";transform-origin:50% 70%;background-color:#0000;background-image:linear-gradient(#66b2ff0d 1px,#0000 1px),linear-gradient(90deg,#66b2ff0d 1px,#0000 1px);background-position:0 0,0 0;background-repeat:repeat,repeat;background-size:2.25rem 2.25rem;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box;position:absolute;inset:0;transform:perspective(34rem)rotateX(58deg)scale(1.25);-webkit-mask-image:linear-gradient(#0000,#000 18% 82%,#0000);mask-image:linear-gradient(#0000,#000 18% 82%,#0000)}.infrastructure-platform{z-index:0;clip-path:polygon(10% 0,100% 8%,90% 100%,0 90%);transform-origin:50%;background-color:#060c14c7;background-image:linear-gradient(135deg,#66b2ff08 25%,#0000 25% 50%,#66b2ff08 50% 75%,#0000 75%),none;background-position:0 0,0 0;background-repeat:repeat,repeat;background-size:3rem 3rem;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box;border:1px solid #66b2ff24;transition:opacity .22s;position:absolute;inset:12% 7% 10%;transform:perspective(50rem)rotateX(58deg)rotate(-4deg);box-shadow:0 2rem 5rem #00000094,inset 0 0 4rem #0a6cff0d}.infrastructure-explorer.is-three-ready .infrastructure-platform,.infrastructure-explorer.is-three-ready .infrastructure-module-wrap:before,.infrastructure-explorer.is-three-ready .infrastructure-module-wrap:after,.infrastructure-explorer.is-three-ready .infrastructure-module:before,.infrastructure-explorer.is-three-ready .infrastructure-module-side{opacity:0}.infrastructure-explorer.is-three-ready .infrastructure-module{filter:none;width:3rem;height:3rem;top:50%;left:50%;transform:translate(-50%,-50%)}.infrastructure-explorer.is-three-ready .infrastructure-module-top{width:100%;height:100%;box-shadow:none;clip-path:none;background:0 0;border:0;inset:0;overflow:visible}.infrastructure-explorer.is-three-ready .infrastructure-module-top:after{display:none}.infrastructure-explorer.is-three-ready .infrastructure-node.is-active .infrastructure-module-wrap,.infrastructure-explorer.is-three-ready .infrastructure-node.is-trace-target .infrastructure-module-wrap{transform:none}.infrastructure-connections{z-index:2;pointer-events:none;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.infrastructure-connections marker path{fill:var(--portfolio-accent-soft)}.infrastructure-connection{fill:none;stroke:#314157;stroke-width:1.2px;vector-effect:non-scaling-stroke;transition:opacity .22s,stroke .22s,stroke-width .22s}.infrastructure-connection.is-active{stroke:#338cff;stroke-width:1.8px}.infrastructure-connection.is-trace{stroke:#9bd4ff;stroke-width:2.4px;stroke-dasharray:7 12;filter:drop-shadow(0 0 .3rem #0a6cffeb);animation:.74s linear infinite infrastructure-flow}.infrastructure-connection.is-trace.is-reverse{animation-direction:reverse}.infrastructure-node{z-index:3;width:7rem;min-height:5.2rem;color:var(--portfolio-muted);--module-scale:1;cursor:pointer;background:0 0;border:0;padding:0;transition:opacity .22s,filter .22s;position:absolute;transform:translate(-50%,-50%)}.infrastructure-module-wrap{--module-width:3.8rem;--module-height:3.2rem;perspective:26rem;width:100%;min-height:5.2rem;transform-style:preserve-3d;transition:transform .28s var(--portfolio-ease);display:block;position:relative}.infrastructure-module-wrap:before,.infrastructure-module-wrap:after{z-index:-1;clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%);content:"";pointer-events:none;width:4.9rem;height:2.3rem;position:absolute;left:0}.infrastructure-module-wrap:before{filter:drop-shadow(0 1.25rem 1.35rem #0000009e);background:linear-gradient(135deg,#264f7ed1,#070f1af0 58%);top:3rem}.infrastructure-module-wrap:after{background:#050b13;width:4.2rem;height:1.75rem;top:3.2rem;left:.35rem;box-shadow:inset 0 0 0 1px #4b8fd675}.infrastructure-module{width:var(--module-width);height:var(--module-height);transform:scale(var(--module-scale));transform-origin:bottom;filter:drop-shadow(0 1.35rem 1.15rem #0000009e);transition:filter .22s ease, transform .22s var(--portfolio-ease);position:absolute;top:.25rem;left:.55rem}.infrastructure-module:before,.infrastructure-module-top,.infrastructure-module-side{border:1px solid #36516f;place-items:center;transition:border-color .22s,background .22s,box-shadow .22s;display:grid;position:absolute}.infrastructure-module:before{clip-path:polygon(0 0,100% 41%,100% 100%,0 59%);content:"";background:linear-gradient(145deg,#4c8fd32e,#0000 58%),#0b1625;width:50%;height:71%;top:29%;left:0;box-shadow:inset 1px -1px #69adef1a}.infrastructure-module-top{z-index:1;width:100%;height:58%;color:var(--portfolio-accent-soft);clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%);background:radial-gradient(circle at 42% 48%,#2a77d242,#0000 48%),linear-gradient(145deg,#18304e,#0a121e 72%);top:0;left:0;overflow:hidden;box-shadow:inset 0 0 1.6rem #135cb31f,inset 0 -1px #77bcff2b}.infrastructure-module-top:after{content:"";background:#58b0ff;width:.22rem;height:.22rem;position:absolute;bottom:22%;right:18%;box-shadow:-.5rem 0 #1d568b,-1rem 0 #1d568b}.infrastructure-module-top svg{z-index:1;filter:drop-shadow(0 0 .45rem #3693ff85);position:relative}.infrastructure-module-side{clip-path:polygon(0 41%,100% 0,100% 59%,0 100%);background:linear-gradient(215deg,#4685c62b,#0000 52%),#070e18;width:50%;height:71%;top:29%;right:0;box-shadow:inset -1px -1px #69adef1a}.infrastructure-node.is-client .infrastructure-module-wrap{--module-width:4.2rem;--module-height:2.7rem}.infrastructure-node.is-rendering .infrastructure-module-wrap{--module-width:3.25rem;--module-height:4rem}.infrastructure-node.is-proxy .infrastructure-module-wrap{--module-width:3.75rem;--module-height:3rem}.infrastructure-node.is-data .infrastructure-module-wrap{--module-width:3.45rem;--module-height:3.45rem}.infrastructure-node[data-node-id=redis] .infrastructure-module-top{color:#ff7d86;background:linear-gradient(145deg,#c2303c6b,#0000 58%),#1b0b11}.infrastructure-node[data-node-id=redis] .infrastructure-module-top:after{background:#ff6672;box-shadow:-.5rem 0 #7e2931,-1rem 0 #7e2931}.infrastructure-node[data-node-id=postgres] .infrastructure-module-top{background:radial-gradient(circle at 40% 34%,#4894de57,#0000 52%),linear-gradient(145deg,#102b48,#07101b 72%)}.infrastructure-node-label{text-align:left;gap:.12rem;width:7.5rem;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;display:grid;position:absolute;top:.65rem;left:5.2rem}.infrastructure-node-label i{color:var(--portfolio-accent-soft);letter-spacing:.08em;font-size:.5rem;font-style:normal}.infrastructure-node-label strong{color:var(--portfolio-text);font-size:.68rem;font-weight:600}.infrastructure-node-label small{color:var(--portfolio-dim);font-size:.5rem;line-height:1.35}.infrastructure-node.is-application{z-index:3;width:8.5rem}.infrastructure-node.is-application .infrastructure-module-wrap{--module-width:4.9rem;--module-height:4rem}.infrastructure-node.is-application .infrastructure-module-wrap:before{width:6rem;height:2.7rem}.infrastructure-node.is-application .infrastructure-module-wrap:after{width:5.1rem;height:2.05rem;left:.45rem}.infrastructure-node.is-application .infrastructure-module-top{color:#ff6b78;background:radial-gradient(circle at 44% 42%,#ff526345,#0000 48%),linear-gradient(145deg,#2c1722,#0d0a11 72%);border-color:#6c394d;box-shadow:inset 0 0 1.8rem #ff45571c,inset 0 -1px #ff85902b}.infrastructure-node.is-application .infrastructure-module:before{background:linear-gradient(90deg,#ff5b6c2b,#0000 58%),#261725;border-color:#593447}.infrastructure-node.is-application .infrastructure-module-side{background:linear-gradient(#ff506226,#0000 58%),#120b13;border-color:#492e40}.infrastructure-node.is-application .infrastructure-module-top:after{background:#ff6674;box-shadow:-.5rem 0 #7b2a3e,-1rem 0 #7b2a3e}.infrastructure-node.is-application .infrastructure-node-label{top:1rem;left:6.4rem}.infrastructure-node.is-rendering .infrastructure-node-label{text-align:right;left:auto;right:4.8rem}.infrastructure-node.is-active .infrastructure-module-wrap,.infrastructure-node.is-trace-target .infrastructure-module-wrap{transform:translateY(-.45rem)}.infrastructure-node.is-active .infrastructure-module,.infrastructure-node.is-trace-target .infrastructure-module{filter:drop-shadow(0 1.35rem 1.15rem #0000009e)drop-shadow(0 0 1rem #2382ff80)}.infrastructure-node.is-active .infrastructure-module:before,.infrastructure-node.is-active .infrastructure-module-top,.infrastructure-node.is-active .infrastructure-module-side,.infrastructure-node.is-trace-target .infrastructure-module:before,.infrastructure-node.is-trace-target .infrastructure-module-top,.infrastructure-node.is-trace-target .infrastructure-module-side{border-color:#79bcff}.infrastructure-node.is-active .infrastructure-module-wrap:before,.infrastructure-node.is-trace-target .infrastructure-module-wrap:before{filter:drop-shadow(0 1.25rem 1.35rem #0000009e)drop-shadow(0 0 .85rem #0a6cff70);background:linear-gradient(135deg,#2e7edbeb,#081322f5 62%)}.infrastructure-node.is-active .infrastructure-module-top,.infrastructure-node.is-trace-target .infrastructure-module-top{color:#d7efff}.infrastructure-node.is-subdued{opacity:.3;filter:saturate(.45)}.infrastructure-node:focus-visible{outline:none}.infrastructure-node:focus-visible .infrastructure-module-top{outline:3px solid var(--portfolio-accent-soft);outline-offset:5px}.infrastructure-trace-caption{z-index:5;background:#050c16f0;border:1px solid #28568f;grid-template-columns:auto minmax(0,1fr);gap:.25rem .75rem;width:min(24rem,100% - 2rem);padding:.85rem 1rem;display:grid;position:absolute;bottom:1rem;left:1rem;box-shadow:0 1.25rem 3rem #0000006b}.infrastructure-trace-caption span{color:var(--portfolio-accent-soft);grid-row:span 2;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.58rem}.infrastructure-trace-caption strong{color:var(--portfolio-text);font-size:.75rem}.infrastructure-trace-caption p{color:var(--portfolio-muted);margin:0;font-size:.68rem;line-height:1.5}.infrastructure-navigator{border-top:1px solid var(--portfolio-line);scrollbar-color:var(--portfolio-line) transparent;display:flex;overflow-x:auto}.infrastructure-navigator button{border:0;border-right:1px solid var(--portfolio-line);min-width:7.35rem;min-height:6rem;color:var(--portfolio-dim);cursor:pointer;text-align:left;background:#05090fd6;flex:1;grid-template-rows:auto auto auto;grid-template-columns:auto 1fr;align-content:center;gap:.18rem .5rem;padding:.75rem;transition:background-color .18s,color .18s,box-shadow .18s;display:grid}.infrastructure-navigator button:last-child{border-right:0}.infrastructure-navigator button>span{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.52rem}.infrastructure-navigator button>svg{color:var(--portfolio-accent-soft);grid-row:span 2;align-self:center}.infrastructure-navigator button strong{color:var(--portfolio-muted);font-size:.68rem;font-weight:600}.infrastructure-navigator button small{text-overflow:ellipsis;white-space:nowrap;font-size:.52rem;overflow:hidden}.infrastructure-navigator button.is-active{box-shadow:inset 0 2px 0 var(--portfolio-accent);color:var(--portfolio-text);background:#0a6cff17}.infrastructure-navigator button.is-active strong{color:var(--portfolio-text)}.infrastructure-inspector{border-left:1px solid var(--portfolio-line);flex-direction:column;min-width:0;display:flex}.infrastructure-inspector>header{border-bottom:1px solid var(--portfolio-line);min-height:3.35rem;color:var(--portfolio-dim);letter-spacing:.075em;text-transform:uppercase;justify-content:space-between;align-items:center;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.58rem;display:flex}.infrastructure-inspector>header>span{padding-inline:1rem}.infrastructure-inspector>header>div{border-left:1px solid var(--portfolio-line);display:flex}.infrastructure-inspector-content{gap:1.25rem;padding:clamp(1.2rem,2vw,1.75rem);display:grid}.infrastructure-inspector-title{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:.85rem;display:grid}.infrastructure-inspector-title>span{width:3rem;height:3rem;color:var(--portfolio-accent-soft);background:#0a6cff14;border:1px solid #315982;place-items:center;display:grid}.infrastructure-inspector-title p{color:var(--portfolio-accent-soft);letter-spacing:.07em;text-transform:uppercase;margin:0 0 .3rem;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.52rem}.infrastructure-inspector-title h3{letter-spacing:-.04em;margin:0;font-size:clamp(1.25rem,2vw,1.75rem);font-weight:580;line-height:1.05}.infrastructure-inspector-title strong{color:var(--portfolio-muted);margin-top:.35rem;font-size:.66rem;font-weight:500;display:block}.infrastructure-inspector-content>p{color:var(--portfolio-muted);margin:0;font-size:.78rem;line-height:1.65}.infrastructure-facts{border-top:1px solid var(--portfolio-line);margin:0;display:grid}.infrastructure-facts>div{border-bottom:1px solid var(--portfolio-line);grid-template-columns:6.5rem minmax(0,1fr);gap:.75rem;padding-block:.65rem;display:grid}.infrastructure-facts dt,.infrastructure-facts dd{margin:0;font-size:.62rem;line-height:1.45}.infrastructure-facts dt,.infrastructure-inspector-content h4{color:var(--portfolio-dim);letter-spacing:.055em;text-transform:uppercase;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.infrastructure-facts dd{color:var(--portfolio-muted)}.infrastructure-inspector-content section{min-width:0}.infrastructure-inspector-content h4{margin:0 0 .65rem;font-size:.58rem;font-weight:600}.infrastructure-inspector-content ul{color:var(--portfolio-muted);gap:.45rem;margin:0;padding:0;font-size:.68rem;line-height:1.45;list-style:none;display:grid}.infrastructure-inspector-content li{padding-left:.85rem;position:relative}.infrastructure-inspector-content li:before{background:var(--portfolio-accent);content:"";width:.28rem;height:.28rem;position:absolute;top:.6em;left:0}.infrastructure-related{display:grid}.infrastructure-related button{border:0;border-bottom:1px solid var(--portfolio-line);min-height:2.75rem;color:var(--portfolio-muted);cursor:pointer;text-align:left;background:0 0;grid-template-columns:minmax(0,.7fr) minmax(0,1fr) auto;align-items:center;gap:.5rem;padding:.5rem 0;display:grid}.infrastructure-related button span{color:var(--portfolio-text);font-size:.66rem}.infrastructure-related button small{color:var(--portfolio-dim);text-overflow:ellipsis;white-space:nowrap;font-size:.55rem;overflow:hidden}.infrastructure-inspector>small{color:var(--portfolio-dim);margin:auto 1.5rem 1.5rem;font-size:.58rem;line-height:1.55}.infrastructure-inspector-enter-active,.infrastructure-inspector-leave-active{transition:opacity .18s ease, transform .22s var(--portfolio-ease)}.infrastructure-inspector-enter-from{opacity:0;transform:translateY(.5rem)}.infrastructure-inspector-leave-to{opacity:0;transform:translateY(-.35rem)}@media (hover:hover) and (pointer:fine){.infrastructure-action:hover,.infrastructure-playback button:hover:not(:disabled),.infrastructure-inspector>header button:hover,.infrastructure-navigator button:hover,.infrastructure-related button:hover{border-color:var(--portfolio-accent-soft);color:var(--portfolio-text);background-color:#0a6cff17}.infrastructure-node:hover:not(.is-subdued) .infrastructure-module-wrap{transform:translateY(-.3rem)}}@keyframes infrastructure-flow{to{stroke-dashoffset:-38px}}.experience-timeline{grid-template-columns:14rem 2px minmax(0,1fr);gap:clamp(1.5rem,4vw,4rem);display:grid;position:relative}.experience-progress-status{align-self:start;gap:1rem;display:grid;position:sticky;top:7rem}.experience-progress-kicker,.experience-progress-current,.experience-progress-status>strong{letter-spacing:.06em;text-transform:uppercase;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.65rem}.experience-progress-kicker{color:var(--portfolio-dim);align-items:center;gap:.5rem;display:flex}.experience-progress-signal{background:var(--portfolio-green);border-radius:50%;width:.45rem;height:.45rem}.experience-progress-current{min-height:2.4rem;color:var(--portfolio-text);line-height:1.45}.experience-progress-status>strong{color:var(--portfolio-accent-soft)}.experience-progress-meter{background:var(--portfolio-line);width:100%;height:2px;position:relative;overflow:hidden}.experience-progress-meter-fill{background:var(--portfolio-accent);position:absolute;inset:0}.experience-progress-meter-marker{display:none}.experience-progress{background:var(--portfolio-line);width:2px;position:relative}.experience-progress-fill{background:var(--portfolio-accent);transform-origin:top;position:absolute;inset:0}.experience-list{margin:0;padding:0;list-style:none;display:grid}.experience-entry{border-bottom:1px solid var(--portfolio-line);min-height:16rem;color:var(--portfolio-muted);transition:color .18s ease, opacity .18s ease, transform .24s var(--portfolio-ease);grid-template-columns:minmax(14rem,.8fr) 7rem minmax(0,1fr);align-items:start;gap:clamp(1.25rem,3vw,3rem);padding:2.5rem 0;display:grid;position:relative}.experience-node{border:2px solid var(--portfolio-bg);background:var(--portfolio-line);border-radius:50%;width:.75rem;height:.75rem;position:absolute;top:3rem;left:calc(-1*clamp(1.5rem,4vw,4rem) - 1px);transform:translate(-50%)}.experience-entry.is-active{color:var(--portfolio-text);transform:translate(.45rem)}.experience-entry.is-active .experience-node{background:var(--portfolio-accent);box-shadow:0 0 1.2rem #0a6cffcc}.experience-entry h3{letter-spacing:-.035em;margin:0 0 .45rem;font-size:clamp(1.35rem,2.4vw,2.35rem);font-weight:560}.experience-entry div span,.experience-entry>strong{color:var(--portfolio-accent-soft);letter-spacing:.06em;text-transform:uppercase;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.68rem}.experience-entry p{color:var(--portfolio-muted);margin:0;line-height:1.7}.engineering-monolith{--monolith-exit:0;border:1px solid var(--portfolio-line);background:#05080d;position:relative;overflow:hidden}.engineering-monolith:before{z-index:0;content:"";pointer-events:none;background-color:#0000;background-image:linear-gradient(#66b2ff0a 1px,#0000 1px),linear-gradient(90deg,#66b2ff0a 1px,#0000 1px);background-position:0 0,0 0;background-repeat:repeat,repeat;background-size:4rem 4rem;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000 0 72%,#0000 100%);mask-image:linear-gradient(#000 0 72%,#0000 100%)}.monolith-readout{z-index:5;border-bottom:1px solid var(--portfolio-line);background:#05080dd6;justify-content:space-between;align-items:center;gap:1.5rem;min-height:4.5rem;padding:.8rem 1rem;display:flex;position:relative}.monolith-readout div{align-items:baseline;gap:.65rem;display:flex}.monolith-readout span,.monolith-readout p,.monolith-navigation-note,.monolith-layer-navigation>p,.monolith-coordinate{color:var(--portfolio-dim);letter-spacing:.09em;text-transform:uppercase;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.56rem;line-height:1.5}.monolith-readout strong{color:var(--portfolio-text);letter-spacing:-.025em;text-transform:uppercase;font-size:clamp(1rem,1.5vw,1.35rem);font-weight:560}.monolith-readout strong:first-letter{color:var(--portfolio-accent-soft)}.monolith-readout p{text-align:right;margin:0}.monolith-layout{z-index:2;grid-template-columns:11.5rem minmax(28rem,1.3fr) minmax(22rem,.95fr);min-height:47rem;display:grid;position:relative}.monolith-layer-navigation{z-index:5;border-right:1px solid var(--portfolio-line);background:#05090fe0;flex-direction:column;min-width:0;padding:1.3rem 0;display:flex;position:relative}.monolith-layer-navigation>p{min-height:5.75rem;color:var(--portfolio-accent-soft);margin:0;padding:0 1rem}.monolith-layer-tab{min-height:4.25rem;color:var(--portfolio-dim);cursor:pointer;text-align:left;touch-action:manipulation;background:0 0;border:1px solid #0000;border-left:0;border-right:0;grid-template-rows:auto auto;grid-template-columns:1.6rem minmax(0,1fr);align-items:center;gap:.12rem .55rem;padding:.65rem .8rem;transition:border-color .18s,background-color .18s,color .18s;display:grid;position:relative}.monolith-layer-tab:before{background:var(--portfolio-accent-soft);content:"";opacity:0;width:2px;transition:opacity .18s ease, transform .26s var(--portfolio-ease);position:absolute;top:0;bottom:0;left:0;transform:scaleY(.45);box-shadow:0 0 1rem #0a6cffe0}.monolith-layer-tab>span{color:var(--portfolio-dim);letter-spacing:.08em;grid-row:1/3;align-self:start;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.58rem}.monolith-layer-tab strong{color:var(--portfolio-muted);font-size:.76rem;font-weight:560}.monolith-layer-tab small{color:var(--portfolio-dim);letter-spacing:.03em;text-overflow:ellipsis;white-space:nowrap;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.48rem;overflow:hidden}.monolith-layer-tab.is-active{color:var(--portfolio-text);background:linear-gradient(90deg,#0a6cff33,#0000 92%),#0a131fb8;border-color:#66b2ff2e}.monolith-layer-tab.is-active:before{opacity:1;transform:scaleY(1)}.monolith-layer-tab.is-active strong,.monolith-layer-tab.is-active>span{color:var(--portfolio-text)}.monolith-navigation-note{border-left:1px solid #66b2ff73;padding-left:.65rem;position:absolute;bottom:1.2rem;left:1rem}.monolith-viewport{border-right:1px solid var(--portfolio-line);isolation:isolate;min-width:0;min-height:47rem;transform:translateY(calc(var(--monolith-exit) * 1rem));background:radial-gradient(circle at 52% 42%,#0a6cff26,#0000 42%),linear-gradient(#090f185c,#020509eb);transition:opacity .24s;position:relative;overflow:hidden}.monolith-viewport:before,.monolith-viewport:after{z-index:4;content:"";pointer-events:none;position:absolute}.monolith-viewport:before{background-color:#0000;background-image:linear-gradient(#66b2ff0d 1px,#0000 1px),linear-gradient(90deg,#66b2ff0d 1px,#0000 1px);background-position:0 0,0 0;background-repeat:repeat,repeat;background-size:3rem 3rem;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box;inset:0;-webkit-mask-image:radial-gradient(circle at 52% 48%,#000 0 42%,#0000 88%);mask-image:radial-gradient(circle at 52% 48%,#000 0 42%,#0000 88%)}.monolith-viewport:after{inset:0;box-shadow:inset 0 0 7rem #000000ad,inset 0 -5rem 8rem #0000008c}.monolith-canvas,.monolith-static-fallback,.monolith-labels{width:100%;height:100%;position:absolute;inset:0}.monolith-canvas{z-index:2;opacity:0;transition:opacity .62s var(--portfolio-ease);outline:none;display:block}.engineering-monolith.is-scene-ready .monolith-canvas{opacity:calc(1 - var(--monolith-exit) * .42)}.monolith-static-fallback{z-index:1;opacity:1;perspective:70rem;transition:opacity .5s}.engineering-monolith.is-scene-ready:not(.is-scene-fallback) .monolith-static-fallback{opacity:0}.monolith-static-layer{width:min(78%,34rem);min-height:4.8rem;color:var(--portfolio-muted);transform:translate3d(-50%, calc(-50% + (var(--fallback-index) - 2) * 4.15rem), calc((4 - var(--fallback-index)) * .7rem)) rotateX(55deg) rotateZ(-17deg);transform-style:preserve-3d;background:linear-gradient(135deg,#66b2ff1a,#0000 48%),#0a111a;border:1px solid #66b2ff57;justify-content:space-between;align-items:center;padding:1rem 1.15rem;display:flex;position:absolute;top:50%;left:50%;box-shadow:0 .62rem #03070c,0 .68rem 0 1px #66b2ff29,0 1.4rem 3rem #0000007a}.monolith-static-layer:after{content:"";background-image:linear-gradient(#66b2ff12 1px,#0000 1px),linear-gradient(90deg,#66b2ff12 1px,#0000 1px);background-size:1rem 1rem;border:1px solid #66b2ff1f;position:absolute;inset:.45rem}.monolith-static-layer.is-active{border-color:var(--portfolio-accent-soft);color:var(--portfolio-text);box-shadow:0 .62rem #03070c,0 .68rem 0 1px #66b2ff94,0 1.4rem 4rem #0a6cff47}.monolith-static-layer span,.monolith-static-layer strong{z-index:1;position:relative}.monolith-static-layer span{color:var(--portfolio-accent-soft);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.62rem}.monolith-static-layer strong{letter-spacing:.06em;text-transform:uppercase;font-size:.82rem}.monolith-labels{z-index:5;pointer-events:none}.monolith-spatial-label{color:#aec6e0b8;letter-spacing:.08em;opacity:0;text-transform:uppercase;white-space:nowrap;background:#040910d1;border:1px solid #66b2ff47;justify-content:space-between;align-items:center;gap:.7rem;min-width:7.8rem;padding:.32rem .48rem;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.48rem;transition:border-color .18s,color .18s,background-color .18s;display:flex;position:absolute;top:0;left:0;box-shadow:0 0 1rem #0a6cff14}.monolith-spatial-label i{color:var(--portfolio-dim);font-style:normal}.monolith-spatial-label.is-active{color:var(--portfolio-text);background:#05101deb;border-color:#66b2ffb8}.monolith-coordinate{z-index:6;pointer-events:none;margin:0;position:absolute}.monolith-coordinate--top{top:1rem;right:1rem}.monolith-coordinate--bottom{bottom:.85rem;right:1rem}.monolith-detail-panel{z-index:4;background-color:#070b11f0;background-image:linear-gradient(#66b2ff07 1px,#0000 1px),none;background-position:0 0,0 0;background-repeat:repeat,repeat;background-size:100% 3rem;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box;min-width:0;padding:clamp(1.25rem,2.4vw,2rem);position:relative}.monolith-detail-panel>header{border-bottom:1px solid var(--portfolio-line);grid-template-columns:auto minmax(0,1fr);align-items:start;gap:.9rem;padding-bottom:1rem;display:grid}.monolith-detail-panel>header p,.monolith-detail-panel>header span,.monolith-detail-panel>header strong,.monolith-projects>header,.monolith-projects>a>span{color:var(--portfolio-dim);letter-spacing:.08em;text-transform:uppercase;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.54rem;line-height:1.45}.monolith-detail-panel>header p{color:var(--portfolio-accent-soft);margin:0}.monolith-detail-panel>header div{gap:.28rem;display:grid}.monolith-detail-panel h3{letter-spacing:-.055em;text-transform:uppercase;margin:0;font-size:clamp(1.8rem,2.8vw,2.9rem);font-weight:560;line-height:.95}.monolith-detail-panel>header strong{color:var(--portfolio-muted);align-items:center;gap:.4rem;font-weight:500;display:flex}.monolith-detail-panel>header strong i{background:var(--portfolio-green);border-radius:50%;width:.42rem;height:.42rem;box-shadow:0 0 .65rem #33d69f9e}.monolith-detail-description{color:var(--portfolio-muted);margin:1rem 0 1.25rem;font-size:.82rem;line-height:1.65}.monolith-technology-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem;margin:0;padding:0;list-style:none;display:grid}.monolith-technology-grid li{border:1px solid var(--portfolio-line);background:#0a1018c2;grid-template-columns:2.1rem minmax(0,1fr);align-items:center;gap:.6rem;min-height:4.35rem;padding:.55rem;display:grid}.monolith-technology-grid li>span{width:2.1rem;height:2.1rem;color:var(--portfolio-accent-soft);letter-spacing:.04em;background:#0a6cff17;border:1px solid #66b2ff47;place-items:center;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.62rem;display:grid}.monolith-technology-grid li>div{gap:.22rem;min-width:0;display:grid}.monolith-technology-grid strong{font-size:.75rem;font-weight:560}.monolith-technology-grid small{color:var(--portfolio-dim);text-overflow:ellipsis;white-space:nowrap;font-size:.54rem;line-height:1.3;overflow:hidden}.monolith-projects{margin-top:1.35rem}.monolith-projects>header{color:var(--portfolio-accent-soft);align-items:center;gap:.65rem;margin-bottom:.65rem;display:flex}.monolith-projects>header i{background:var(--portfolio-line);flex:1;height:1px}.monolith-projects>div{gap:.55rem;display:grid}.monolith-projects a{border:1px solid var(--portfolio-line);background:linear-gradient(110deg,#0a6cff14,#0000 62%),#090e15d6;gap:.22rem;min-height:6rem;padding:.7rem 2rem .7rem .75rem;transition:border-color .18s,background-color .18s,transform .18s;display:grid;position:relative}.monolith-projects a>span{color:var(--portfolio-dim)}.monolith-projects a>strong{font-size:.86rem;font-weight:560}.monolith-projects a>small{color:var(--portfolio-muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.62rem;line-height:1.35;display:-webkit-box;overflow:hidden}.monolith-projects a>svg{color:var(--portfolio-accent-soft);position:absolute;top:.7rem;right:.7rem}.is-keyboard-selection .monolith-layer-tab{transition-duration:0s}@media (hover:hover) and (pointer:fine){.monolith-layer-tab:hover{color:var(--portfolio-text);background-color:#0a6cff14;border-color:#66b2ff3d}.monolith-projects a:hover{border-color:var(--portfolio-accent-soft);background-color:#0b1522eb;transform:translateY(-2px)}}.article-grid{border-top:1px solid var(--portfolio-line);border-left:1px solid var(--portfolio-line);grid-template-columns:repeat(2,1fr);display:grid}.article-grid article{border-right:1px solid var(--portfolio-line);border-bottom:1px solid var(--portfolio-line);background:#0c1117b8;flex-direction:column;min-height:25rem;padding:clamp(1.5rem,3vw,2.75rem);display:flex}.article-grid article>p:first-child,.article-meta{color:var(--portfolio-dim);letter-spacing:.05em;text-transform:uppercase;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.65rem}.article-grid h3{letter-spacing:-.05em;margin:2.7rem 0 1rem;font-size:clamp(1.75rem,3.2vw,3rem);font-weight:560;line-height:1.04}.article-grid h3 a:hover{color:var(--portfolio-accent-soft)}.article-grid article>p:not(:first-child){color:var(--portfolio-muted);line-height:1.7}.article-grid ul{margin-top:auto}.about-section{grid-template-columns:minmax(18rem,.72fr) minmax(0,1.28fr);align-items:stretch;padding:0;display:grid}.portrait-wrap{border-right:1px solid var(--portfolio-line);background:#0c1117;min-height:38rem;position:relative;overflow:hidden}.portrait-wrap:after{content:"";pointer-events:none;background:linear-gradient(#0000 55%,#07090cbf),linear-gradient(90deg,#0a6cff1f,#0000);position:absolute;inset:0}.portrait-wrap img{object-fit:cover;filter:saturate(.78)contrast(1.05);width:100%;height:100%}.portrait-wrap>span{z-index:2;color:#edf4fb;letter-spacing:.08em;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.65rem;position:absolute;bottom:1rem;left:1rem;right:1rem}.about-copy{flex-direction:column;justify-content:center;padding:clamp(2rem,6vw,7rem);display:flex}.about-copy h2{max-width:12ch}.about-copy>p:not(.eyebrow){max-width:42rem;color:var(--portfolio-muted);margin:1.6rem 0 2rem;font-size:clamp(1rem,1.5vw,1.2rem);line-height:1.75}.contact-section,.page-cta{border:1px solid var(--portfolio-line);background:radial-gradient(circle at 82% 38%, #0a6cff2e, transparent 22rem), var(--portfolio-surface);border-top:0;padding:clamp(4rem,8vw,8rem) clamp(1.25rem,5vw,5rem)}.contact-grid,.page-cta{grid-template-columns:minmax(0,1.25fr) minmax(18rem,.55fr);align-items:end;gap:3rem;display:grid}.contact-grid h2{max-width:12ch}.contact-grid>div>p{max-width:38rem;color:var(--portfolio-muted);line-height:1.7}.contact-actions{gap:1.2rem;display:grid}.contact-primary{justify-content:space-between;min-height:5.5rem;padding-inline:1.5rem}.social-links{gap:1rem;display:flex}.social-links a{color:var(--portfolio-muted);text-transform:uppercase;font-size:.8rem}.social-links a:hover{color:var(--portfolio-accent-soft)}.portfolio-footer{border-right:1px solid var(--portfolio-line);border-bottom:1px solid var(--portfolio-line);border-left:1px solid var(--portfolio-line);grid-template-columns:1.2fr .8fr .8fr;gap:3rem;padding:clamp(3rem,6vw,5rem) clamp(1.25rem,5vw,5rem) 2rem;display:grid}.portfolio-footer-lead>a{align-items:center;display:inline-flex}.portfolio-footer-lead p{max-width:24rem;color:var(--portfolio-muted);line-height:1.65}.portfolio-footer nav,.portfolio-footer-meta{align-content:start;gap:.8rem;display:grid}.portfolio-footer nav a,.portfolio-footer-meta a{width:max-content;color:var(--portfolio-muted);align-items:center;gap:.35rem;font-size:.78rem;display:inline-flex}.portfolio-footer nav a:hover,.portfolio-footer-meta a:hover{color:var(--portfolio-accent-soft)}.portfolio-footer-note{border-top:1px solid var(--portfolio-line);color:var(--portfolio-dim);grid-column:1/-1;margin:0;padding-top:1.5rem;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.62rem}.portfolio-page{min-height:70vh}.page-hero{border-right:1px solid var(--portfolio-line);border-bottom:1px solid var(--portfolio-line);border-left:1px solid var(--portfolio-line);padding:clamp(5rem,10vw,10rem) clamp(1.25rem,7vw,7rem)}.page-hero h1{max-width:12ch}.page-hero .secondary-action{margin-top:2rem}.page-hero-meta{flex-wrap:wrap;gap:.5rem;margin-top:2.5rem;display:flex}.page-hero-meta span{border:1px solid var(--portfolio-line);color:var(--portfolio-muted);text-transform:uppercase;padding:.45rem .65rem;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.65rem}.page-section{border-top:0}.about-page-hero{grid-template-columns:minmax(0,1.2fr) minmax(18rem,.65fr);gap:4rem;padding-bottom:0;display:grid}.about-page-hero .portrait-wrap{border:1px solid var(--portfolio-line);border-bottom:0;min-height:35rem}.about-foundations-grid{border-top:1px solid var(--portfolio-line);border-left:1px solid var(--portfolio-line);grid-template-columns:repeat(3,1fr);display:grid}.about-foundations-grid article{border-right:1px solid var(--portfolio-line);border-bottom:1px solid var(--portfolio-line);background:var(--portfolio-surface);min-height:20rem;padding:clamp(1.5rem,3vw,2.5rem)}.about-foundations-grid article>span{color:var(--portfolio-accent-soft);text-transform:uppercase;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.65rem}.about-foundations-grid h3{letter-spacing:-.03em;margin:4rem 0 1rem;font-size:1.5rem;font-weight:560}.about-foundations-grid p{color:var(--portfolio-muted);line-height:1.7}.case-study,.article-page{border-right:1px solid var(--portfolio-line);border-left:1px solid var(--portfolio-line)}.case-study-hero,.article-hero{border-bottom:1px solid var(--portfolio-line);padding:clamp(4rem,9vw,9rem) clamp(1.25rem,7vw,7rem)}.back-link{margin-bottom:3rem}.case-study-hero h1{max-width:none}.case-study-meta{border-top:1px solid var(--portfolio-line);border-left:1px solid var(--portfolio-line);grid-template-columns:.65fr .45fr 1.2fr;margin:4rem 0 0;display:grid}.case-study-meta div{border-right:1px solid var(--portfolio-line);border-bottom:1px solid var(--portfolio-line);min-height:7rem;padding:1rem}.case-study-meta dt{color:var(--portfolio-dim);text-transform:uppercase;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.62rem}.case-study-meta dd{color:var(--portfolio-text);margin:1.2rem 0 0;line-height:1.5}.case-study-visual{border-bottom:1px solid var(--portfolio-line);padding:clamp(2rem,5vw,5rem)}.case-study-screen{border:1px solid var(--portfolio-line);background:#080c12}.case-study-screen>header{border-bottom:1px solid var(--portfolio-line);min-height:3rem;color:var(--portfolio-dim);text-transform:uppercase;justify-content:space-between;align-items:center;padding-inline:1rem;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.62rem;display:flex}.case-study-screen>header span:first-child{align-items:center;gap:.45rem;display:flex}.case-study-screen>header i{background:var(--portfolio-green);border-radius:50%;width:.45rem;height:.45rem}.case-study-screen-grid{background:linear-gradient(#66b2ff12 1px,#0000 1px) 0 0/2.5rem 2.5rem,linear-gradient(90deg,#66b2ff12 1px,#0000 1px) 0 0/2.5rem 2.5rem,radial-gradient(circle at 28%,#0a6cff40,#0000 32rem);grid-template-columns:.8fr 1.2fr;min-height:35rem;display:grid}.case-study-screen-grid>strong{border-right:1px solid var(--portfolio-line);letter-spacing:-.1em;text-shadow:0 0 3rem #0a6cff8c;place-items:center;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:clamp(5rem,13vw,13rem);display:grid}.case-study-screen-grid>div{grid-template-columns:repeat(2,1fr);align-content:center;gap:1rem;padding:2rem;display:grid}.case-study-screen-grid>div span{border:1px solid var(--portfolio-line);color:var(--portfolio-muted);animation:signal-in .62s var(--portfolio-ease) both;animation-delay:calc(var(--index) * 80ms);background:#0c1117d1;padding:1.2rem;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.72rem}@keyframes signal-in{0%{opacity:0;transform:translateY(.75rem)}}.case-study-visual>p{color:var(--portfolio-dim);margin:1rem 0 0;font-size:.72rem}.case-study-content{border-bottom:1px solid var(--portfolio-line);grid-template-columns:repeat(3,1fr);display:grid}.case-study-content section{border-right:1px solid var(--portfolio-line);min-height:28rem;padding:clamp(1.5rem,4vw,4rem)}.case-study-content section:last-child{border-right:0}.case-study-content h2{margin-top:1.4rem;font-size:clamp(2rem,3vw,3.5rem)}.case-study-content section>p:not(.eyebrow){color:var(--portfolio-muted);margin-top:2rem;line-height:1.75}.case-study-content ul{gap:.65rem;margin:2rem 0 0;padding:0;list-style:none;display:grid}.case-study-content li{border-top:1px solid var(--portfolio-line);color:var(--portfolio-muted);padding-top:.65rem}.case-study-caveat{border:1px solid var(--portfolio-line);background:#0a6cff12;padding:1rem;font-size:.75rem}.case-study-stack,.related-work,.article-related-project{border-bottom:1px solid var(--portfolio-line);padding:clamp(3rem,6vw,6rem)}.case-study-stack{grid-template-columns:.9fr 1fr auto;align-items:end;gap:2rem;display:grid}.case-study-stack h2{font-size:clamp(2rem,4vw,4rem)}.case-study-stack ul{margin:0}.related-work>h2{margin-bottom:2.5rem}.writing-index{border-right:1px solid var(--portfolio-line);border-left:1px solid var(--portfolio-line)}.writing-index>article{border-bottom:1px solid var(--portfolio-line);grid-template-columns:5rem minmax(0,1fr) auto;align-items:center;gap:clamp(1.25rem,4vw,4rem);min-height:21rem;padding:clamp(2rem,5vw,5rem);display:grid}.writing-index-number{color:var(--portfolio-accent-soft);align-self:start;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.72rem}.article-meta{flex-wrap:wrap;gap:1rem;margin:0;display:flex}.writing-index h2{letter-spacing:-.06em;max-width:19ch;margin:1.4rem 0 1rem;font-size:clamp(2.2rem,4.4vw,5rem);font-weight:560;line-height:.98}.writing-index h2 a:hover{color:var(--portfolio-accent-soft)}.writing-index article>div:nth-child(2)>p:not(.article-meta){max-width:45rem;color:var(--portfolio-muted);line-height:1.7}.writing-index ul{margin:1.4rem 0 0}.article-hero h1{max-width:13ch;font-size:clamp(3.3rem,7vw,8rem)}.article-byline{color:var(--portfolio-dim);text-transform:uppercase;flex-wrap:wrap;gap:1rem;margin-top:2.5rem;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.68rem;display:flex}.article-byline>*{border-right:1px solid var(--portfolio-line);padding-right:1rem}.article-layout{border-bottom:1px solid var(--portfolio-line);grid-template-columns:17rem minmax(0,48rem);justify-content:center;gap:clamp(2rem,6vw,7rem);padding:clamp(3rem,7vw,7rem) clamp(1.25rem,5vw,5rem);display:grid}.article-toc{border-top:1px solid var(--portfolio-line);align-self:start;padding-top:1rem;position:sticky;top:7rem}.article-toc>p{color:var(--portfolio-dim);text-transform:uppercase;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.65rem}.article-toc nav{margin-top:1rem;display:grid}.article-toc a{border-left:1px solid var(--portfolio-line);color:var(--portfolio-muted);padding:.55rem 0 .55rem .8rem;font-size:.78rem;line-height:1.45}.article-toc a.is-level-3{padding-left:1.6rem}.article-toc a:hover,.article-toc a.is-active{border-left-color:var(--portfolio-accent);color:var(--portfolio-text)}.article-prose{min-width:0;color:var(--portfolio-muted);font-size:1.02rem;line-height:1.82}.article-prose h1{display:none}.article-prose h2,.article-prose h3{color:var(--portfolio-text);letter-spacing:-.04em;scroll-margin-top:7rem;font-weight:580;line-height:1.1}.article-prose h2{margin:4rem 0 1.2rem;font-size:clamp(2rem,4vw,3.5rem)}.article-prose h3{margin:2.7rem 0 1rem;font-size:1.5rem}.article-prose p,.article-prose li{max-width:72ch}.article-prose a{color:var(--portfolio-accent-soft);text-underline-offset:.2em;text-decoration:underline}.article-prose strong{color:var(--portfolio-text)}.article-prose pre{border:1px solid var(--portfolio-line);color:#d6e2ef;background:#05070a;max-width:100%;margin-block:2rem;padding:1.25rem;overflow-x:auto}.article-prose code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.86em}.article-prose :not(pre)>code{border:1px solid var(--portfolio-line);background:var(--portfolio-surface);color:var(--portfolio-accent-soft);padding:.12rem .3rem}.token-comment{color:#718096}.token-string{color:#8be0bd}.token-keyword{color:#85b7ff}.token-number{color:#d6a8ff}.article-related-project{justify-content:space-between;align-items:end;gap:2rem;display:flex}.article-related-project h2{font-size:clamp(2rem,4vw,4rem)}.article-related-project p:not(.eyebrow){max-width:40rem;color:var(--portfolio-muted);line-height:1.7}.contact-layout{border-right:1px solid var(--portfolio-line);border-bottom:1px solid var(--portfolio-line);border-left:1px solid var(--portfolio-line);grid-template-columns:minmax(0,1.35fr) minmax(20rem,.65fr);display:grid}.contact-layout>section{border-right:1px solid var(--portfolio-line);padding:clamp(2rem,6vw,6rem)}.contact-form-heading{justify-content:space-between;align-items:end;gap:2rem;margin-bottom:3rem;display:flex}.contact-form-heading h2{margin-top:.8rem;font-size:clamp(2.2rem,4vw,4.5rem)}.contact-form-heading>span,.field-help{color:var(--portfolio-dim);font-size:.68rem}.contact-form{position:relative}.form-grid{grid-template-columns:repeat(2,1fr);gap:1.25rem;display:grid}.contact-form label{color:var(--portfolio-muted);letter-spacing:.03em;gap:.55rem;font-size:.75rem;font-weight:600;display:grid}.contact-form :is(input,select,textarea){border:1px solid var(--portfolio-line);width:100%;min-height:3.2rem;color:var(--portfolio-text);font:inherit;background:#090d13;border-radius:0;padding:.75rem;font-size:.9rem;transition:border-color .16s}.contact-form textarea{resize:vertical;min-height:12rem}.contact-form :is(input,select,textarea):focus{border-color:var(--portfolio-accent-soft);outline:0}.contact-form :is(input,select,textarea)[aria-invalid=true]{border-color:#ff738b}.contact-form label small{color:#ff91a4;font-weight:500}.message-field{margin-top:1.25rem}.contact-submit{cursor:pointer;width:100%;margin-top:1.25rem}.contact-submit:disabled{cursor:wait;opacity:.65}.honeypot-field{width:1px;height:1px;position:absolute;left:-10000px;overflow:hidden}.form-error-summary,.form-success{color:#ffd5dc;border:1px solid #ff738b;align-items:center;gap:.6rem;margin-bottom:1rem;padding:.85rem 1rem;font-size:.82rem;display:flex}.form-success{border-color:var(--portfolio-green);color:#aaf0d7}.contact-sidebar{flex-direction:column;padding:clamp(2rem,4vw,4rem);display:flex}.contact-sidebar h2{margin:1rem 0 2rem;font-size:clamp(2rem,3vw,3.5rem)}.contact-sidebar>a,.contact-sidebar>div{border-top:1px solid var(--portfolio-line);grid-template-columns:1fr auto;gap:.4rem 1rem;padding:1.1rem 0;display:grid}.contact-sidebar>a span,.contact-sidebar>div span{color:var(--portfolio-dim);text-transform:uppercase;grid-column:1/-1;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.62rem}.contact-sidebar>a strong,.contact-sidebar>div strong{font-size:.82rem;font-weight:550}.contact-sidebar>a:hover strong{color:var(--portfolio-accent-soft)}.contact-sidebar>p:last-child{color:var(--portfolio-dim);margin-top:auto;font-size:.72rem;line-height:1.55}.command-palette-trigger{z-index:70;border:1px solid var(--portfolio-line);min-height:2.8rem;color:var(--portfolio-text);cursor:pointer;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#0c1117ed;align-items:center;gap:.55rem;padding:.65rem .8rem;font-size:.72rem;display:inline-flex;position:fixed;bottom:1rem;right:1rem}.command-palette-trigger kbd,.portfolio-menu-overlay kbd,.command-palette kbd{color:#aebdce;background:#07090c;border:1px solid #344256;padding:.16rem .3rem;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.62rem}.command-palette-backdrop{z-index:220;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#020407c7;place-items:start center;padding:min(14vh,8rem) 1rem 1rem;display:grid;position:fixed;inset:0}.command-palette{color:#edf4fb;background:#0c1117;border:1px solid #344256;width:min(46rem,100%);max-height:min(70vh,42rem);font-family:Instrument Sans,ui-sans-serif,system-ui,sans-serif;display:grid;overflow:hidden;box-shadow:0 2rem 7rem #00000080}.command-palette>header,.command-palette>footer{border-bottom:1px solid #253142;justify-content:space-between;align-items:center;gap:1rem;min-height:3.3rem;padding-inline:1rem;display:flex}.command-palette>header>div{align-items:center;gap:.6rem;display:flex}.command-palette>header strong{letter-spacing:.06em;text-transform:uppercase;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.7rem}.command-palette>header button{color:#aebdce;cursor:pointer;background:0 0;border:0;padding:.45rem}.command-search{border-bottom:1px solid #253142;grid-template-columns:auto 1fr auto;align-items:center;gap:.75rem;min-height:4rem;padding-inline:1rem;display:grid}.command-search input{color:#edf4fb;min-width:0;font:inherit;background:0 0;border:0;outline:0;padding:1rem 0;font-size:.95rem}.command-search input::placeholder{color:#718096}.command-results{min-height:10rem;padding:.45rem;overflow-y:auto}.command-results button{color:#aebdce;cursor:pointer;text-align:left;background:0 0;border:1px solid #0000;justify-content:space-between;align-items:center;gap:1rem;width:100%;min-height:3.9rem;padding:.65rem .8rem;display:flex}.command-results button.is-active{color:#edf4fb;background:#0a6cff1f;border-color:#344256}.command-results button>span{gap:.2rem;display:grid}.command-results button>span:last-child{grid-template-columns:1fr auto;align-items:center}.command-results small{color:#718096;text-transform:uppercase;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.58rem}.command-results strong{font-size:.86rem;font-weight:550}.command-empty{color:#718096;text-align:center;padding:2rem}.command-palette>footer{color:#718096;border-top:1px solid #253142;border-bottom:0;justify-content:flex-start;font-size:.62rem}.command-palette>footer span{align-items:center;gap:.25rem;display:flex}.command-palette-enter-active,.command-palette-leave-active{transition:opacity .18s}.command-palette-enter-active .command-palette,.command-palette-leave-active .command-palette{transition:transform .22s var(--portfolio-ease)}.command-palette-enter-from,.command-palette-leave-to{opacity:0}.command-palette-enter-from .command-palette,.command-palette-leave-to .command-palette{transform:translateY(-1rem)scale(.985)}@media (width<=78rem){.portfolio-nav{display:none}.portfolio-header{grid-template-columns:1fr auto}.project-grid{grid-template-columns:1fr}.project-card{min-height:26rem}.monolith-layout{grid-template-columns:9.5rem minmax(24rem,1.15fr) minmax(19rem,.85fr)}.monolith-layer-tab small{display:none}.monolith-detail-panel{padding:1.2rem}.monolith-detail-panel>header{grid-template-columns:auto minmax(0,1fr)}.monolith-detail-panel>header strong{display:none}.system-explorer{grid-template-columns:16rem minmax(0,1fr)}.infrastructure-inspector{border-top:1px solid var(--portfolio-line);border-left:0;grid-column:1/-1}.infrastructure-inspector-content{grid-template-columns:minmax(0,1fr) minmax(18rem,.8fr);align-items:start}.infrastructure-inspector-content>h3,.infrastructure-inspector-content>p{grid-column:1/-1}}@media (width<=62rem){.system-explorer{grid-template-columns:1fr}.infrastructure-context{border-right:0;border-bottom:1px solid var(--portfolio-line)}.infrastructure-context h3{max-width:11ch}.infrastructure-visual{border-bottom:1px solid var(--portfolio-line)}.infrastructure-inspector{border-top:0;grid-column:auto}.infrastructure-frame{min-height:34rem}.system-explorer,.about-section,.contact-grid,.contact-layout,.about-page-hero,.case-study-stack{grid-template-columns:1fr}.hero-copy{border:0;width:min(52rem,86vw);min-height:calc(100svh - 4.75rem)}.hero-scene{min-height:0}.atlas-reference-image{object-position:58% center;filter:saturate(.96)brightness(.72)contrast(1.08)}.atlas-vignette{background:linear-gradient(90deg,#020611f7 0%,#020611c7 46%,#02061130 79%,#0000 100%),linear-gradient(#0206114f 0%,#0000 41%,#0206117a 100%)}.atlas-region{display:none}.section-heading{grid-template-columns:1fr;align-items:start}.discipline-grid,.about-foundations-grid,.case-study-content{grid-template-columns:1fr}.discipline-grid li,.about-foundations-grid article{min-height:15rem}.discipline-grid h3,.about-foundations-grid h3{margin-top:2.5rem}.experience-timeline{grid-template-columns:9rem 2px minmax(0,1fr);gap:1.5rem}.experience-entry{grid-template-columns:1fr;gap:.75rem}.monolith-layout{grid-template-columns:1fr}.monolith-viewport{border-right:0;border-bottom:1px solid var(--portfolio-line);order:1;min-height:40rem}.monolith-layer-navigation{border-right:0;border-bottom:1px solid var(--portfolio-line);order:2;grid-template-columns:repeat(5,minmax(0,1fr));padding:0;display:grid}.monolith-layer-navigation>p,.monolith-navigation-note{display:none}.monolith-layer-tab{border-right:1px solid var(--portfolio-line);text-align:center;grid-template-rows:auto auto;grid-template-columns:auto;min-height:4.75rem}.monolith-layer-tab:last-of-type{border-right:0}.monolith-layer-tab>span{grid-row:auto}.monolith-detail-panel{order:3;min-height:34rem;padding:clamp(1.4rem,4vw,2.4rem)}.portfolio-footer{grid-template-columns:1fr 1fr}.portfolio-footer-note{grid-column:1/-1}.about-page-hero{padding-bottom:0}.about-page-hero .portrait-wrap{width:min(30rem,100%)}.case-study-content section{border-right:0;border-bottom:1px solid var(--portfolio-line);min-height:auto}.case-study-screen-grid{min-height:28rem}.article-layout{grid-template-columns:13rem minmax(0,1fr);gap:2rem}.contact-layout>section{border-right:0;border-bottom:1px solid var(--portfolio-line)}}@media (width<=48rem){html:has(.portfolio-shell){scroll-padding-top:4.5rem}.portfolio-header{min-height:4.25rem}.portfolio-shell:has(.portfolio-home)>main{margin-top:-4.25rem}.header-cta{display:none}.infrastructure-context,.infrastructure-inspector-content{padding:1.25rem}.infrastructure-context h3{font-size:clamp(3rem,15vw,4.5rem)}.infrastructure-visual-header span:last-child{display:none}.infrastructure-frame{min-height:31rem}.infrastructure-node{--module-scale:.83}.infrastructure-node.is-application{--module-scale:.86;width:6.5rem}.infrastructure-node.is-application .infrastructure-node-label{top:.65rem;left:5.2rem}.infrastructure-node-label{width:5.5rem;font-size:.67rem}.infrastructure-node.is-rendering .infrastructure-node-label{right:3.9rem}.infrastructure-node-label small{display:none}.infrastructure-trace-caption{max-width:none;bottom:.75rem;left:.75rem;right:.75rem}.infrastructure-navigator{grid-template-columns:3rem minmax(0,1fr) 3rem}.infrastructure-navigator button{min-height:3.4rem}.infrastructure-inspector-content{grid-template-columns:1fr}.infrastructure-inspector-content>h3,.infrastructure-inspector-content>p{grid-column:auto}.portfolio-menu-overlay>header{grid-template-columns:1fr auto}.portfolio-menu-overlay>header>p{display:none}.portfolio-menu-grid{grid-template-columns:1fr}.portfolio-menu-grid>nav{border-right:0;justify-content:flex-start}.portfolio-menu-grid>nav a{font-size:clamp(2.3rem,13vw,4.2rem)}.portfolio-menu-grid>aside{border-top:1px solid #253142}.hero-section{min-height:max(100svh - 4.25rem,50rem)}.hero-copy{width:100%;min-height:max(100svh - 4.25rem,50rem);padding:clamp(3.25rem,8vh,5rem) 1rem;transform:none}.portfolio-home .hero-section,.portfolio-home .hero-copy{min-height:max(100svh,50rem)}.portfolio-home .hero-copy{padding-top:calc(clamp(3.25rem,8vh,5rem) + 4.25rem)}.hero-copy:before{background:linear-gradient(#020611f5 0%,#020611c7 54%,#02061157 77%,#0000 100%);inset:-5% -20%}.hero-copy h1,.page-hero h1{font-size:clamp(3.4rem,17vw,6.2rem)}.hero-actions{flex-direction:column;align-items:stretch}.primary-action,.secondary-action{width:100%}.atlas-reference-image{object-position:62% center;filter:saturate(.92)brightness(.68)contrast(1.08);width:100%;height:100%}.atlas-grid{background-size:3rem 3rem;-webkit-mask-image:linear-gradient(#0000 18%,#000 58%,#0000 100%);mask-image:linear-gradient(#0000 18%,#000 58%,#0000 100%)}.atlas-vignette{background:linear-gradient(#0206119e 0%,#0000 43%,#0206113d 72%,#020611b8 100%),radial-gradient(circle at 50% 71%,#0000 0 30%,#01040c6b 100%)}.atlas-index,.atlas-capabilities,.atlas-region{display:none}.atlas-disclosure{bottom:1rem;left:1rem;right:auto}.portfolio-section,.page-hero,.contact-section,.page-cta{padding-inline:1rem}.project-card{grid-template-columns:1fr}.project-visual{border-right:0;border-bottom:1px solid var(--portfolio-line);min-height:17rem}.experience-timeline{grid-template-columns:2px minmax(0,1fr);gap:1.35rem}.experience-progress-status{grid-area:1/1/auto/-1;position:static}.experience-progress{grid-area:2/1}.experience-list{grid-area:2/2}.experience-node{left:calc(-1.35rem - 1px)}.monolith-readout{flex-direction:column;justify-content:center;align-items:start;gap:.3rem;min-height:5.25rem}.monolith-readout div{flex-direction:column;align-items:start;gap:.2rem}.monolith-readout p{text-align:left}.monolith-viewport{min-height:32rem}.monolith-layer-navigation{grid-template-columns:repeat(2,minmax(0,1fr))}.monolith-layer-tab{border-bottom-color:var(--portfolio-line);text-align:left;grid-template-rows:auto;grid-template-columns:1.4rem minmax(0,1fr);min-height:4.6rem}.monolith-layer-tab>span{grid-row:auto}.monolith-layer-tab:last-of-type{grid-column:1/-1}.monolith-detail-panel{min-height:auto;padding:1rem}.monolith-detail-panel>header{grid-template-columns:auto minmax(0,1fr)}.monolith-detail-panel h3{font-size:clamp(1.55rem,7.5vw,2.2rem)}.monolith-detail-panel>header strong{display:none}.monolith-technology-grid{grid-template-columns:1fr}.monolith-projects a{min-height:6.5rem}.monolith-spatial-label:not(.is-active){display:none}.monolith-spatial-label{min-width:6.8rem}.monolith-coordinate--top{display:none}.article-grid,.form-grid{grid-template-columns:1fr}.portrait-wrap{border-right:0;border-bottom:1px solid var(--portfolio-line);min-height:31rem}.contact-grid,.page-cta{align-items:start;gap:2rem}.portfolio-footer{grid-template-columns:1fr;gap:2rem}.portfolio-footer-note{grid-column:auto}.case-study-meta{grid-template-columns:1fr}.case-study-screen-grid{grid-template-columns:1fr;min-height:35rem}.case-study-screen-grid>strong{border-right:0;border-bottom:1px solid var(--portfolio-line);min-height:14rem}.case-study-screen-grid>div{grid-template-columns:1fr;padding:1rem}.writing-index>article{grid-template-columns:1fr}.article-layout{grid-template-columns:1fr;padding-inline:1rem}.article-toc{border:1px solid var(--portfolio-line);padding:1rem;position:static}.article-related-project,.contact-form-heading{flex-direction:column;align-items:start}.contact-sidebar>p:last-child{margin-top:2rem}.command-palette-trigger span{display:none}.command-palette-backdrop{padding:0}.command-palette{border:0;width:100%;min-height:100dvh;max-height:100dvh}.command-results{flex:1}.command-palette>footer span:last-child{display:none}}@media (width<=30rem){.portfolio-shell{background-size:auto,2.5rem 2.5rem,2.5rem 2.5rem,auto}.portfolio-menu-toggle{min-width:2.75rem;padding-inline:.7rem}.portfolio-menu-toggle span{display:none}.hero-copy h1,.page-hero h1{font-size:clamp(3.1rem,18vw,5rem)}.page-hero--writing h1{font-size:clamp(3rem,12.5vw,4rem)}.project-meta{grid-template-columns:1fr}.command-palette>footer{display:none}}@media (prefers-reduced-motion:reduce){html:has(.portfolio-shell){scroll-behavior:auto}.portfolio-shell *,.portfolio-shell :before,.portfolio-shell :after,.portfolio-menu-overlay *,.command-palette *{scroll-behavior:auto!important;transition-duration:1ms!important;animation-duration:1ms!important;animation-iteration-count:1!important}.experience-entry,.experience-entry.is-active{opacity:1;transform:none}.experience-progress-fill,.experience-progress-meter-fill{transform:none!important}.hero-atlas .atlas-reference-image{opacity:1;transform:none!important}.hero-atlas .atlas-index,.hero-atlas .atlas-capabilities,.hero-atlas .atlas-region,.hero-atlas .atlas-disclosure{opacity:1;transform:none}}.case-study-cover{border-bottom:1px solid var(--portfolio-line);margin:0;padding:clamp(1.25rem,5vw,4rem)}.case-study-cover img{border:1px solid var(--portfolio-line);border-radius:.75rem;width:100%;height:auto;display:block}.case-study-cover figcaption{color:var(--portfolio-muted);margin-top:.75rem;font-size:.875rem}.published-media-gallery{gap:1.5rem;margin-top:1.5rem;display:grid}.published-media-gallery figure,.recommendation-grid figure,.recommendation-grid blockquote{margin:0}.published-media-gallery img{border:1px solid var(--portfolio-line);border-radius:.75rem;width:100%;height:auto;display:block}.published-media-gallery figcaption{color:var(--portfolio-muted);margin-top:.75rem;font-size:.875rem}.recommendation-grid figcaption{margin-top:1.5rem}.recommendation-portrait{object-fit:cover;border-radius:50%;width:4rem;height:4rem;margin-bottom:.75rem;display:block}.published-project-detail p{white-space:pre-line}.published-project-detail pre{border:1px solid var(--portfolio-line);color:var(--portfolio-text);white-space:pre-wrap;overflow-wrap:anywhere;border-radius:.5rem;padding:1rem;overflow-x:auto}
