@font-face{font-family:IBM Plex Mono;src:url("./ibm-plex-mono-latin-400-normal-A2WATXFY.woff2") format("woff2");font-style:normal;font-weight:400;font-display:optional}@font-face{font-family:Instrument Sans;src:url(/fonts/instrument-sans-regular.woff2) format("woff2");font-style:normal;font-weight:400;font-display:optional}@font-face{font-family:Instrument Sans;src:url(/fonts/instrument-sans-semibold.woff2) format("woff2");font-style:normal;font-weight:600;font-display:optional}:root{font-synthesis:none;--bone: #f4f1ea;--deep: #e9e5dc;--paper: #efe6da;--carbon: #0e1111;--carbon-soft: #171b1b;--raised: #1d2221;--graphite: #61676b;--line: rgba(14, 17, 17, .18);--line-dark: rgba(242, 239, 231, .18);--edge: 1px solid var(--line-dark);--oxide: #b44a2a;--oxide-dark: #aa4427;--signal: #e97a4a;--sans: "Instrument Sans", "Helvetica Neue", Arial, sans-serif;--mono: "IBM Plex Mono", "SFMono-Regular", Consolas, monospace;--serif: "Iowan Old Style", "Palatino Linotype", Georgia, serif;--shell: min( calc(100% - clamp(40px, 5vw, 72px)) , 1320px);--navbar-shell: var(--shell);--nav-height: 88px;--section-gap: clamp(6.25rem, 8.25vw, 9rem);--ease-out: cubic-bezier(.22, 1, .36, 1);--ease-in-out: cubic-bezier(.65, 0, .35, 1)}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--carbon)}html[data-menu-open=true],html.intro-active,html.intro-active body{overflow:hidden}body{margin:0;background:var(--carbon);color:var(--bone);font-family:var(--sans);font-size:1rem;letter-spacing:-.006em;line-height:1.5;overflow-x:clip;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}::selection{background:var(--oxide);color:#fffdfa;text-shadow:none}.project-card--oxide ::selection,.section--carbon{background:var(--carbon);color:var(--bone)}img,svg{display:block;max-width:100%}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:default}button,a{-webkit-tap-highlight-color:#e97a4a38}a{color:inherit;text-decoration:none}p,h1,h2,h3,dl,dd{margin:0}h1,h2{text-wrap:balance}p,li{text-wrap:pretty}h1,h2,h3,p,li,dt,dd,a,strong{min-width:0;overflow-wrap:anywhere}ul,ol{margin:0;padding:0;list-style:none}:focus-visible{outline:3px solid var(--signal);outline-offset:5px}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.shell{width:var(--shell);margin-inline:auto}.hero,.section{scroll-margin-top:calc(var(--nav-height) + 1rem)}.skip-link{position:fixed;z-index:300;top:.75rem;left:.75rem;padding:.75rem 1rem;background:var(--bone);color:var(--carbon);font-size:.75rem;transform:translateY(-160%);transition:transform .18s var(--ease-out)}.skip-link:focus{transform:translateY(0)}.technical-label,.section-marker{font-family:var(--mono);font-size:.72rem;font-variant-numeric:tabular-nums;letter-spacing:.08em;line-height:1.4}.wordmark{display:inline-flex;align-items:baseline;font-size:1.75rem;font-weight:600;letter-spacing:-.07em;line-height:1}.wordmark__mark{display:inline-flex;align-items:baseline;transition:opacity .1s linear}.wordmark-dot{width:.18em;height:.18em;flex:0 0 auto;align-self:flex-end;margin-bottom:.04em;margin-left:.13em;background:var(--signal)}.title-stop{color:var(--oxide)}.title-stop--bone,.section-marker.section-marker--light,.hero__accent .title-stop,.hero__role-link,.projects .section-marker,.project-visual--eliza .is-threshold{color:var(--bone)}.node{width:.62rem;height:.62rem;flex:0 0 auto;background:var(--carbon)}.node--oxide,.node--personal,.hero .section-marker .node{background:var(--signal)}.section-marker{display:flex;align-items:center;gap:.75rem;width:100%;padding-block:.8rem;border-top:1px solid currentColor;color:var(--carbon)}.section-marker__aside{margin-left:auto;opacity:.62}.button{display:inline-flex;min-height:3.75rem;align-items:center;justify-content:space-between;gap:2.25rem;padding:.95rem 1.2rem;border:1px solid transparent;font-size:.78rem;font-weight:600;transition:background-color .22s ease,color .22s ease,border-color .22s ease}.button>span:last-child{transition:transform .22s var(--ease-out)}.button:is(:hover,:focus-visible)>span:last-child{transform:translateY(3px)}.button--oxide{background:var(--oxide);color:#fffdfa}.button--oxide:is(:hover,:focus-visible),.contact-link--primary:is(:hover,:focus-visible){background:var(--signal);color:var(--carbon)}.page-compass{position:sticky;z-index:80;top:calc(100svh - 4.375rem);display:grid;width:3.25rem;aspect-ratio:1;place-items:center;margin:0 max(1.125rem,env(safe-area-inset-right)) -3.25rem auto;border:3px solid transparent;border-radius:50%;background:linear-gradient(var(--carbon),var(--carbon)) padding-box,conic-gradient(var(--signal) calc(var(--scroll-progress, 0) * 1turn),rgba(242,239,231,.24) 0) border-box;color:var(--bone);font-size:1.1rem}.page-compass:is(:hover,:focus-visible),.site-footer__legal a:is(:hover,:focus-visible){color:var(--signal)}@media print{.page-compass{display:none!important}}.text-link{position:relative;display:inline-flex;padding-block:.65rem;font-size:1rem}.text-link:after{position:absolute;right:0;bottom:.4rem;left:0;height:1px;background:currentColor;content:"";transform:scaleX(.35);transform-origin:left;transition:transform .24s var(--ease-out)}.text-link:is(:hover,:focus-visible):after{transform:scaleX(1)}.personal-intro{position:fixed;z-index:500;inset:0;display:none;place-items:center;overflow:hidden;color:var(--carbon)}html.js .personal-intro{display:grid}.personal-intro:before{position:absolute;inset:0;background:var(--bone);content:"";transition:opacity .32s var(--ease-out)}.personal-intro__wordmark{position:relative;z-index:1;display:inline-flex;align-items:baseline;font-size:clamp(4.25rem,13vw,12rem);font-weight:600;letter-spacing:-.07em;line-height:1;transform-origin:top left;will-change:transform,opacity}.personal-intro__glyph,.personal-intro__stop{display:inline-block}.personal-intro__glyph--d{--intro-x: 1.6em;animation:personal-intro-anchor 1.24s var(--ease-out) 80ms both}.personal-intro__glyph--j{--intro-x: -.18em;animation:personal-intro-anchor 1.18s var(--ease-out) .14s both}.personal-intro__glyph--e{animation:personal-intro-glyph .46s var(--ease-out) .82s both}.personal-intro__glyph--n{animation:personal-intro-glyph .46s var(--ease-out) .95s both}.personal-intro__glyph--i{animation:personal-intro-glyph .46s var(--ease-out) 1.08s both}.personal-intro__glyph--s{animation:personal-intro-glyph .46s var(--ease-out) 1.2s both}.personal-intro__stop{width:.15em;height:.15em;flex:0 0 auto;align-self:flex-end;margin-bottom:.08em;margin-left:.12em;background:var(--signal);animation:personal-intro-stop 1.8s var(--ease-out) .22s both}.personal-intro__skip{position:absolute;z-index:2;right:3vw;bottom:1.5rem;min-width:44px;min-height:44px;padding:.5rem;border:0;border-bottom:1px solid rgba(14,17,17,.34);background:transparent;color:var(--graphite);font-size:.75rem;opacity:0;pointer-events:none;transition:color .18s ease,opacity .18s ease,transform .18s var(--ease-out)}.personal-intro.is-playing .personal-intro__skip{opacity:1;pointer-events:auto}.personal-intro__skip:is(:hover,:focus-visible){border-bottom-color:var(--oxide);color:var(--carbon)}.personal-intro.is-travelling .personal-intro__skip,.personal-intro.is-clearing .personal-intro__skip{opacity:0;pointer-events:none;transform:translateY(4px)}.personal-intro.is-clearing{pointer-events:none}.personal-intro.is-clearing .personal-intro__wordmark{opacity:0;transition:opacity .18s ease}.personal-intro.is-clearing:before,html.intro-active .wordmark__mark{opacity:0}.personal-intro[hidden],html.intro-bypass .personal-intro{display:none}html.js-fallback .personal-intro{animation:personal-intro-fallback .42s var(--ease-out) var(--fallback-delay, 1.05s) forwards}html.js-fallback .personal-intro__skip{display:none}@keyframes personal-intro-anchor{0%{opacity:0;transform:translate(var(--intro-x),.08em)}30%{opacity:1;transform:translate(var(--intro-x))}to{opacity:1;transform:none}}@keyframes personal-intro-glyph{0%{opacity:0;transform:translateY(.08em)}to{opacity:1;transform:none}}@keyframes personal-intro-stop{0%{opacity:0;transform:translate(-5.05em)}18%{opacity:1;transform:translate(-5.05em)}84%{opacity:1;transform:translate(.14em)}to{opacity:1;transform:none}}@keyframes personal-intro-fallback{to{visibility:hidden;opacity:0}}html.intro-active .desktop-nav,html.intro-active .header-actions,html.intro-active .menu-toggle{opacity:0;pointer-events:none;transform:translateY(-8px)}.site-header{position:fixed;z-index:100;top:0;right:0;left:0;height:var(--nav-height);border-bottom:1px solid rgba(242,239,231,.14);background:var(--carbon)}.site-header__inner{display:grid;grid-template-columns:minmax(260px,1fr) auto minmax(260px,1fr);width:var(--navbar-shell);height:100%;align-items:center;gap:clamp(16px,2vw,32px)}.site-header__progress{position:absolute;bottom:-1px;left:0;width:100%;height:2px;background:var(--signal);transform:scaleX(var(--scroll-progress, 0));transform-origin:left;transition:transform .1s linear}.desktop-nav{display:flex;grid-column:2;align-items:center;justify-self:center;gap:clamp(20px,2.2vw,30px)}.desktop-nav a{padding-block:.45rem;border-bottom:1px solid transparent;color:#f2efe7b8;font-size:.9rem;transition:border-color .18s ease,color .18s ease}.desktop-nav a:is(:hover,:focus-visible,[aria-current=location]){border-color:var(--signal);color:var(--bone)}.header-actions{display:flex;grid-column:3;align-items:center;justify-self:end;gap:24px}.language-switcher{display:flex;align-items:center;gap:2px;font-family:var(--mono);font-size:.68rem}.language-switcher a{display:grid;min-width:44px;min-height:44px;place-items:center;border-bottom:2px solid transparent;color:#f2efe7ad}.language-switcher a:is(:hover,:focus-visible){border-color:var(--signal);background:transparent;color:var(--bone)}.language-switcher a[aria-current=page]{border-color:var(--signal);background:#d460341f;color:var(--bone)}.studio-boundary-link{display:inline-flex;min-height:44px;align-items:center;justify-content:center;gap:11px;padding-inline:14px;border:var(--edge);color:#f2efe7ad;font-size:.72rem;font-weight:600}.studio-boundary-link:is(:hover,:focus-visible){background:#f2efe71a;color:#fffdfa}.menu-toggle{display:none;width:44px;height:44px;align-items:center;justify-content:center;border:1px solid rgba(242,239,231,.35);background:transparent;color:var(--bone)}.menu-toggle span{position:absolute;width:1.15rem;height:1px;background:currentColor;transition:transform .26s var(--ease-in-out)}.menu-toggle:active,.button:active,.contact-link:active,.project-card__primary:active,.project-card__case:active{transform:scale(.98)}.menu-toggle span:first-child{transform:translateY(-.24rem)}.menu-toggle span:last-child{transform:translateY(.24rem)}.menu-toggle[aria-expanded=true] span:first-child{transform:rotate(45deg)}.menu-toggle[aria-expanded=true] span:last-child{transform:rotate(-45deg)}.mobile-menu{position:fixed;z-index:90;inset:var(--nav-height) 0 0;display:none;visibility:hidden;overflow-y:auto;background:var(--carbon);opacity:0;pointer-events:none;transform:translateY(-1rem);transition:visibility 0s linear .3s,opacity .24s ease,transform .3s var(--ease-out)}.mobile-menu[aria-hidden=false]{visibility:visible;opacity:1;pointer-events:auto;transform:translateY(0);transition-delay:0s}.mobile-menu__inner{display:flex;min-height:100%;width:var(--navbar-shell);flex-direction:column;padding:1.5rem max(0rem,env(safe-area-inset-right)) max(2rem,env(safe-area-inset-bottom)) max(0rem,env(safe-area-inset-left))}.mobile-menu__meta{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.6rem 1rem;padding-bottom:1.2rem;color:#f2efe78c}.mobile-menu__meta>.technical-label{flex:1 1 10rem}.mobile-menu__meta .language-switcher{margin-left:auto}.mobile-menu__inner>a{display:grid;grid-template-columns:3rem 1fr;align-items:center;padding:clamp(.85rem,2vh,1.4rem) 0;border-top:var(--edge);font-size:clamp(1.75rem,7vw,3.5rem);letter-spacing:-.045em;line-height:1}.mobile-menu__inner>a span:first-child{color:var(--signal);font-family:var(--mono);font-size:.68rem;letter-spacing:.05em}.mobile-menu__inner>a[aria-current=location]{background:#d460341f;box-shadow:inset 3px 0 0 var(--signal)}.mobile-menu__inner>a:last-child{border-bottom:var(--edge)}.language-switcher--mobile{display:flex}.section{position:relative;overflow:clip;padding-block:var(--section-gap)}.section--bone{background:var(--bone);color:var(--carbon)}.section-heading{display:grid;gap:clamp(3rem,6vw,6.25rem)}.section-heading__content{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(18rem,.52fr);gap:clamp(2.5rem,7vw,8rem);align-items:end}.section-heading h2{max-width:14ch;font-size:clamp(3.25rem,6.2vw,7rem);font-weight:600;letter-spacing:-.072em;line-height:.88;text-wrap:balance}.section-heading__content>p{max-width:38rem;padding-bottom:.35rem;color:var(--graphite);font-size:clamp(1rem,1.25vw,1.25rem);line-height:1.62}.projects .section-heading__content>p{color:#f2efe7ad}.hero{position:relative;display:grid;min-height:max(48rem,100svh);grid-template-rows:minmax(0,1fr) auto;padding-top:calc(var(--nav-height) + clamp(2.25rem,4vw,4rem));background:var(--carbon)}.hero:before{position:absolute;top:var(--nav-height);right:0;bottom:0;width:clamp(5.5rem,17vw,20rem);background:var(--oxide-dark);content:""}.hero__inner{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1.25fr) minmax(20rem,.75fr);gap:clamp(3rem,7vw,8rem);align-items:center;align-self:center;padding-bottom:clamp(2.75rem,5vw,5rem)}.hero .section-marker{max-width:54rem;color:var(--bone)}.hero__copy,.project-card__case>span:first-child{min-width:0}.hero__copy h1{max-width:13ch;margin-top:clamp(2.25rem,4vw,4rem);font-size:clamp(3.8rem,6.35vw,7.6rem);font-weight:600;letter-spacing:-.082em;line-height:.86;text-wrap:balance}.hero__accent{color:var(--signal);font-family:var(--sans);font-style:normal;font-weight:600;letter-spacing:inherit}.hero__lead{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:clamp(1.75rem,4vw,4rem);align-items:end;max-width:54rem;margin-top:clamp(2.25rem,4vw,4rem)}.hero__lead>p{max-width:49ch;color:#f2efe7b8;font-size:clamp(1.05rem,1.3vw,1.3rem);line-height:1.62}.hero__actions{display:flex;min-width:0;flex-direction:column;align-items:stretch;gap:.75rem}.hero__role-link{justify-content:space-between;gap:1.25rem;font-size:.78rem;font-weight:600}.profile-portrait{position:relative;width:min(100%,31rem);margin:0;justify-self:end}.profile-portrait__frame{position:relative;padding:clamp(.45rem,.8vw,.75rem);border:1px solid rgba(242,239,231,.32);background:var(--bone);box-shadow:1.1rem 1.1rem #0e111147}.profile-portrait__frame:after{position:absolute;inset:clamp(.45rem,.8vw,.75rem);background:linear-gradient(180deg,transparent 62%,rgba(14,17,17,.34));content:"";pointer-events:none}.profile-portrait picture{display:block;overflow:hidden;aspect-ratio:4 / 5}.profile-portrait img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 34%;filter:grayscale(1) contrast(1.08) brightness(.97);transform:scale(1.04);transition:filter .7s ease,transform .9s var(--ease-out)}.profile-portrait.is-revealed img{filter:grayscale(1) contrast(1.04) brightness(1);transform:scale(1)}.profile-portrait__index{position:absolute;z-index:1;right:1.5rem;bottom:1.5rem;padding:.55rem .7rem;border:1px solid rgba(242,239,231,.3);background:#0e1111e0;color:var(--bone);font-family:var(--mono);font-size:.68rem;letter-spacing:.08em}.profile-portrait__caption{display:flex;justify-content:space-between;gap:1.5rem;padding:1rem 0 0 clamp(.45rem,.8vw,.75rem);color:#f2efe7ad;font-size:.78rem;line-height:1.45}.profile-portrait__caption>span:last-child{flex:0 0 auto;color:var(--bone);font-family:var(--mono);font-size:.68rem}.hero__rail{position:relative;z-index:1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid rgba(242,239,231,.22);border-bottom:1px solid rgba(242,239,231,.22)}.hero__rail span{min-width:0;padding:1rem clamp(.75rem,2vw,1.5rem);border-right:var(--edge);color:#f2efe7ad;font-family:var(--mono);font-size:.7rem;letter-spacing:.07em;overflow-wrap:anywhere;text-align:left}.hero__rail span:last-child{border-right:0}.about__grid{display:grid;grid-template-columns:minmax(0,1.32fr) minmax(19rem,.68fr);gap:clamp(3rem,8vw,9rem);margin-top:clamp(4rem,8vw,8.5rem)}.about__statement{max-width:65rem}.about__statement p:first-child{max-width:24ch;font-size:clamp(1.9rem,3.45vw,4.25rem);letter-spacing:-.052em;line-height:1.08}.about__statement p+p{max-width:44rem;margin-top:2.75rem;padding-left:clamp(0rem,5vw,6rem);color:var(--graphite);font-size:clamp(1rem,1.28vw,1.25rem);line-height:1.65}.about__facts{align-self:start;border-top:1px solid var(--carbon)}.about__facts>div{display:grid;gap:.75rem;padding:1.35rem 0;border-bottom:1px solid var(--line)}.about__facts strong{max-width:28ch;font-size:1.08rem;font-weight:400;line-height:1.45}.capability-ledger{display:grid;grid-template-columns:minmax(14rem,.52fr) minmax(0,1.48fr);gap:clamp(3rem,7vw,8rem);margin-top:clamp(5rem,9vw,9rem);padding-top:clamp(2rem,4vw,4rem);border-top:1px solid var(--carbon)}.capability-ledger__intro{display:grid;align-content:start;gap:1.5rem}.about__facts .technical-label,.capability-ledger__intro .technical-label,.personal-credo__label .technical-label{color:var(--oxide-dark)}.capability-ledger__intro p{max-width:31ch;color:var(--graphite);font-size:1.02rem;line-height:1.65}.capability-ledger__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--carbon);border-left:1px solid var(--line)}.capability-ledger article{position:relative;min-height:19rem;padding:clamp(4rem,6vw,6rem) clamp(1.25rem,2.4vw,2.5rem) 2rem;border-right:1px solid var(--line);border-bottom:1px solid var(--carbon)}.capability-ledger article:before{position:absolute;top:1.25rem;left:clamp(1.25rem,2.4vw,2.5rem);color:var(--oxide-dark);content:attr(data-capability);font-family:var(--mono);font-size:.7rem;letter-spacing:.08em}.capability-ledger h3{max-width:13ch;font-size:clamp(1.45rem,2vw,2.1rem);font-weight:600;letter-spacing:-.04em;line-height:1.05}.capability-ledger article p{margin-top:1.25rem;color:var(--graphite);font-size:.95rem;line-height:1.62}.personal-credo{display:grid;grid-template-columns:minmax(12rem,.42fr) minmax(0,1.58fr);grid-template-areas:"label quote" ". reading";gap:clamp(2.5rem,5vw,5rem) clamp(3rem,8vw,9rem);margin-top:clamp(5rem,9vw,9rem);padding:clamp(2.5rem,5vw,5rem);border:1px solid rgba(14,17,17,.24);background:var(--paper);box-shadow:inset .45rem 0 0 var(--oxide)}.personal-credo__label{display:flex;grid-area:label;flex-direction:column;gap:1.25rem}.personal-credo__source{max-width:18rem;color:var(--graphite);font-size:.82rem;line-height:1.55}.personal-credo blockquote{grid-area:quote;margin:0}.personal-credo blockquote p{max-width:21ch;font-family:var(--serif);font-size:clamp(2.25rem,4.25vw,5rem);font-style:italic;letter-spacing:-.05em;line-height:1.04}.personal-credo__reading{grid-area:reading;max-width:46rem;color:var(--graphite);font-size:clamp(1rem,1.2vw,1.16rem);line-height:1.68}.experience{border-top:1px solid var(--line)}.timeline{position:relative;display:grid;grid-template-columns:minmax(0,1fr);margin-top:clamp(4.5rem,8vw,8rem);border-top:1px solid var(--carbon)}.timeline__route{position:absolute;z-index:0;top:2rem;bottom:2rem;left:.48rem;width:1px;background:var(--line)}.timeline__route span{display:block;width:100%;height:0;background:var(--oxide);transition:height 1.2s var(--ease-in-out)}.timeline.is-revealed .timeline__route span{height:100%}.timeline article{position:relative;display:grid;grid-template-columns:1.1rem minmax(12rem,.65fr) minmax(11rem,.8fr) minmax(0,1.4fr);gap:clamp(1.25rem,3vw,3.5rem);align-items:start;min-height:10rem;padding:clamp(1.75rem,3vw,3rem) clamp(3.75rem,7vw,7rem) clamp(1.75rem,3vw,3rem) 0;border-bottom:1px solid var(--line)}.timeline__node{position:relative;z-index:1;top:.12rem;left:0;width:1.1rem;height:1.1rem;border:2px solid var(--bone);border-radius:50%;background:var(--carbon);box-shadow:0 0 0 1px var(--carbon)}.timeline__node--highlight,.project-visual--vector i:nth-of-type(3n+1){background:var(--oxide)}.timeline .technical-label{padding-top:.12rem;color:var(--oxide-dark)}.timeline h3{max-width:17ch;font-size:clamp(1.35rem,1.85vw,1.95rem);font-weight:600;letter-spacing:-.04em;line-height:1.08}.timeline p{position:relative;z-index:1;max-width:44rem;color:var(--graphite);line-height:1.68}.timeline__interlude{background:linear-gradient(90deg,rgba(180,74,42,.12),transparent 76%)}.timeline__interlude h3{font-family:var(--serif);font-style:italic;font-weight:400}.projects{background:var(--carbon)}.project-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:clamp(1rem,2vw,1.75rem);margin-top:clamp(4rem,7vw,7rem)}.project-card{--accent: var(--bone);position:relative;display:grid;min-width:0;grid-column:span 6;grid-template-columns:minmax(0,1fr);border:1px solid rgba(242,239,231,.24);background:var(--carbon-soft);color:var(--bone)}.project-card:first-child{grid-column:1 / -1}.project-card--oxide{--accent: var(--signal)}@media(hover:hover)and (pointer:fine){.project-card:has(a:hover){background:var(--raised);box-shadow:inset 0 3px var(--accent)}}.project-card:focus-within{outline:2px solid var(--signal);outline-offset:.35rem;box-shadow:inset 0 3px var(--accent)}.project-card__primary{display:grid;grid-template-rows:auto 1fr auto;align-items:stretch}.project-card:first-child .project-card__primary{grid-template-columns:minmax(20rem,.9fr) minmax(0,1.1fr);grid-template-rows:minmax(0,1fr) auto}.project-card:first-child .project-visual{grid-row:1 / 3;border-right:var(--edge);border-bottom:0}.project-card:first-child .project-card__copy,.project-card:first-child .project-card__case-label{grid-column:2}.project-card__primary:focus-visible,.project-card__case:focus-visible{outline-offset:-4px}.project-card__copy{display:flex;min-width:0;flex-direction:column;justify-content:center;padding:clamp(2rem,4vw,4.5rem)}.project-card__copy h3{max-width:12ch;font-size:clamp(2.5rem,4.35vw,5.25rem);font-weight:600;letter-spacing:-.06em;line-height:.92}.project-card:not(:first-child) .project-card__copy h3{font-size:clamp(2.35rem,3.5vw,4rem)}.project-card__copy>p{max-width:38rem;margin-top:1.5rem;color:#f2efe7b3;font-size:clamp(.96rem,1.1vw,1.08rem);line-height:1.62}.project-card__question{display:grid;grid-template-columns:minmax(7rem,.38fr) minmax(0,1fr);gap:1rem;margin:clamp(1.5rem,2.4vw,2.25rem) 0 0;padding-top:1.1rem;border-top:1px solid rgba(242,239,231,.2)}.project-card__question dt{color:var(--accent);font-size:.7rem;font-weight:600;line-height:1.5}.project-card__question dd{margin:0;color:#f2efe7d6;font-size:.88rem;line-height:1.55}.project-card__case-label,.project-card__case{display:flex;min-width:0;align-items:center;justify-content:space-between;gap:1rem;font-weight:600}.project-card__case-label{min-height:4.5rem;padding:1rem clamp(2rem,4vw,4.5rem);border-top:var(--edge);font-size:.75rem}.project-card__case-label>span:last-child{font-size:1rem;transition:transform .18s var(--ease-out)}.project-card__case{min-height:3.75rem;padding:.85rem 1rem;border-top:var(--edge);color:#f2efe7c7;font-size:.72rem;overflow-wrap:anywhere;transition:background-color .18s ease,color .18s ease}.project-card__primary:is(:hover,:focus-visible) h3,.project-card__case:is(:hover,:focus-visible){color:var(--accent)}.project-card__primary:is(:hover,:focus-visible) .project-card__case-label>span:last-child{transform:translate(.25rem)}.project-visual{position:relative;display:grid;min-width:0;min-height:clamp(14rem,25vw,23rem);overflow:hidden;border-bottom:var(--edge);background:var(--deep);color:var(--carbon);font-family:var(--mono);font-size:.68rem;letter-spacing:.06em}.project-visual--careeros{place-items:center;padding:clamp(1.5rem,4vw,4rem);background:var(--paper)}.careeros-panel{width:min(88%,27rem);border:1px solid var(--carbon);background:var(--bone);box-shadow:.8rem .8rem #0e111126;transform:rotate(-1.5deg)}.careeros-panel__bar,.careeros-panel__status{display:flex;align-items:center}.careeros-panel__bar{justify-content:space-between;gap:1rem;min-height:3rem;padding:.7rem .85rem;background:var(--carbon);color:var(--bone)}.careeros-panel__status{gap:.45rem;color:#f2efe7b8}.careeros-panel__status b{width:.48rem;height:.48rem;background:var(--signal)}.careeros-panel__signals{display:grid;gap:1rem;padding:clamp(1.25rem,3vw,2.5rem)}.careeros-panel__signal{display:grid;grid-template-columns:minmax(5.75rem,.72fr) minmax(0,1.28fr);gap:.75rem;align-items:center}.careeros-panel__signal small{color:var(--graphite);font-size:.68rem}.careeros-panel__signal i{--signal-delay: .22s;display:block;height:.48rem;background:linear-gradient(to right,var(--oxide) 76%,var(--deep) 76%);transform-origin:left}.careeros-panel__signal:nth-child(2) i{--signal-delay: .34s;background:linear-gradient(to right,var(--oxide) 62%,var(--deep) 62%)}.careeros-panel__signal:nth-child(3) i{--signal-delay: .46s;background:linear-gradient(to right,var(--oxide) 88%,var(--deep) 88%)}.careeros-panel__privacy{display:block;min-height:2.5rem;padding:.7rem .85rem;border-top:1px solid var(--carbon);color:var(--graphite)}.project-visual--eliza{grid-template-columns:repeat(4,minmax(0,1fr));grid-template-rows:1fr auto}.project-visual--eliza span{display:flex;align-items:flex-end;padding:1rem;border-right:1px solid var(--line);background:linear-gradient(to top,var(--oxide) var(--score, 20%),transparent var(--score, 20%))}.project-visual--eliza span:nth-child(2){--score: 48%}.project-visual--eliza span:nth-child(3){--score: 71%}.project-visual--eliza span:nth-child(4){--score: 89%;border-right:0}.project-visual--eliza strong{grid-column:1 / -1;padding:1rem;border-top:1px solid var(--carbon)}.project-visual--vector{grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;padding:clamp(1.5rem,3vw,3rem);background:var(--carbon)}.project-visual--vector span,.project-visual--vector i{display:grid;min-width:0;min-height:3.5rem;place-items:center;background:var(--deep);overflow-wrap:anywhere;text-align:center}.project-card.is-revealed .careeros-panel__signal i{animation:careeros-signal .68s var(--ease-out) var(--signal-delay) 1 both}.project-card.is-revealed .project-visual--eliza .is-threshold{animation:threshold-pulse .9s ease-in-out .52s 1 both}@keyframes careeros-signal{0%{transform:scaleX(.08)}}@keyframes threshold-pulse{50%{background-color:var(--carbon)}}.projects__archive{display:flex;justify-content:space-between;margin-top:clamp(2.5rem,4vw,4rem);padding-top:1rem;border-top:var(--edge)}.projects__archive:before{color:#f2efe77a;content:"EVIDENCE / BLOG";font-family:var(--mono);font-size:.68rem;letter-spacing:.07em}.projects__archive .text-link{gap:1rem;color:var(--bone);font-size:.78rem;font-weight:600}.contact{padding-bottom:clamp(4rem,7vw,7rem)}.contact__heading{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(18rem,.48fr);gap:clamp(3rem,8vw,9rem);align-items:end;margin-top:clamp(4rem,8vw,8rem)}.contact__heading h2{max-width:14ch;font-size:clamp(3.35rem,6.75vw,7.75rem);font-weight:600;letter-spacing:-.075em;line-height:.88;text-wrap:balance}.contact__heading p{max-width:34rem;padding-bottom:.45rem;color:#f2efe7ad;font-size:clamp(1rem,1.25vw,1.24rem);line-height:1.62}.contact__links{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:1px;margin-top:clamp(4rem,7vw,7rem);border:1px solid rgba(242,239,231,.2);background:#f2efe733}.contact-link{display:flex;min-height:6.5rem;grid-column:span 2;align-items:center;justify-content:space-between;gap:1rem;padding:1.25rem;border:0;background:var(--carbon);font-size:clamp(.85rem,1.05vw,1.02rem)}.contact-link:is(:hover,:focus-visible){background:var(--raised);color:var(--bone)}.contact-link--primary{grid-column:span 6;background:var(--oxide-dark);overflow-wrap:anywhere}.contact__privacy{display:flex;justify-content:space-between;gap:2rem;margin-top:2rem;color:#f2efe7ad;font-size:.72rem;line-height:1.55}.contact__privacy>span:first-child{max-width:72ch}.contact__privacy>span:last-child{flex:0 0 auto;color:var(--signal);white-space:nowrap}.site-footer{padding-block:clamp(2rem,4vw,4rem);border-top:1px solid rgba(242,239,231,.16);background:var(--carbon)}.site-footer__inner{display:flex;align-items:flex-end;justify-content:space-between;gap:2rem}.wordmark--footer{font-size:clamp(3.5rem,8vw,8.5rem)}.site-footer__inner>div{text-align:right}.site-footer__legal{color:#f2efe79e;font-size:.75rem}.site-footer__legal a{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.28em}.error-page{min-height:100svh}.error-page__main{display:grid;min-height:100svh;align-content:center;padding-block:calc(var(--nav-height) + 4rem) 4rem}.error-page__code{position:absolute;right:4vw;bottom:4vw;display:flex;align-items:center;color:#f2efe70f;font-size:clamp(12rem,32vw,38rem);font-weight:600;letter-spacing:-.1em;line-height:.6;pointer-events:none}.error-page__code i{width:.22em;aspect-ratio:1;margin-inline:.05em;background:var(--oxide)}.error-page__main .section-marker{max-width:35rem;color:var(--bone)}.error-page__main h1{position:relative;z-index:1;max-width:14ch;margin-top:3rem;font-size:clamp(3.5rem,8.5vw,9rem);font-weight:600;letter-spacing:-.075em;line-height:.88}.error-page__main>p{position:relative;z-index:1;max-width:38rem;margin-top:2rem;color:#f2efe79e;font-size:1.1rem}.error-page__main .button{position:relative;z-index:1;width:fit-content;margin-top:2rem}.js [data-reveal]{opacity:0;transform:translateY(26px);transition:opacity .68s var(--ease-out),transform .68s var(--ease-out)}.js [data-reveal][data-reveal-order="1"]{transition-delay:70ms}.js [data-reveal][data-reveal-order="2"]{transition-delay:.14s}.js [data-reveal][data-reveal-order="3"]{transition-delay:.21s}.js [data-reveal][data-reveal-order="4"]{transition-delay:.28s}.js .project-card[data-reveal]{transform:none}.js [data-reveal].is-revealed,html.js-fallback [data-reveal]{opacity:1;transform:translateY(0)}@media(min-width:62.501em){html{scrollbar-gutter:stable}}@media(max-width:73.75em){.hero__inner,.section-heading__content,.contact__heading,.capability-ledger{grid-template-columns:1fr}.hero__inner{padding-top:2rem}.profile-portrait{width:min(100%,36rem);justify-self:start}.section-heading__content>p,.contact__heading p{max-width:46rem}.capability-ledger__intro{grid-template-columns:minmax(10rem,.4fr) minmax(0,1fr)}.capability-ledger__intro p{max-width:44rem}.contact__links{grid-template-columns:repeat(12,minmax(0,1fr))}.contact-link{grid-column:span 4}.contact-link--primary{grid-column:1 / -1}}@media(max-width:62.5em){:root{--navbar-shell: min( calc(100% - 40px) , 1280px);--nav-height: 76px}.desktop-nav,.header-actions{display:none}.site-header__inner{grid-template-columns:1fr auto}.menu-toggle{position:relative;display:inline-flex;justify-self:end}.mobile-menu{display:block}html:not(.js) .site-header{position:static;height:auto}html:not(.js) .site-header__inner{grid-template-columns:1fr;height:auto;gap:1rem 1.5rem;padding-block:.85rem}html:not(.js) .desktop-nav,html:not(.js) .header-actions{display:flex;grid-column:1;width:100%;flex-wrap:wrap}html:not(.js) .desktop-nav{justify-self:start;gap:.75rem 1.5rem}html:not(.js) .header-actions{justify-self:stretch}html:not(.js) .menu-toggle,html:not(.js) .site-header__progress,html:not(.js) .mobile-menu{display:none}}@media(max-width:53.75em){:root{--shell: min(90vw, 760px);--section-gap: clamp(5rem, 16vw, 7rem)}.wordmark{font-size:1.55rem}.hero,.capability-ledger article{min-height:auto}.hero__inner{gap:3.5rem;padding-top:1rem}.hero__actions{width:min(100%,36rem)}.hero:before{width:.65rem}.hero__rail{grid-template-columns:repeat(2,minmax(0,1fr))}.hero__rail span:nth-child(2),.project-card:first-child .project-visual{border-right:0}.hero__rail span:nth-child(-n+2),.project-card:first-child .project-visual{border-bottom:var(--edge)}.hero__rail span:last-child{grid-column:1 / -1}.hero__lead,.about__grid,.capability-ledger__intro,.capability-ledger__grid,.project-grid,.project-card__primary{grid-template-columns:1fr}.about__statement p+p{padding-left:0}.capability-ledger article{padding-block:4.5rem 2rem}.project-card{grid-column:1}.project-card:first-child .project-card__primary{grid-template-rows:auto 1fr auto}.project-card:first-child .project-visual{grid-row:auto}.project-card:first-child .project-card__copy,.project-card:first-child .project-card__case-label{grid-column:1}.project-visual{min-height:14rem}.project-card__copy{min-height:17rem}.project-card__case-label{min-height:5rem;align-items:center}.personal-credo{grid-template-columns:1fr;grid-template-areas:"label" "quote" "reading";gap:2.5rem;padding:clamp(2rem,7vw,3.5rem)}.timeline__route{top:1.6rem;bottom:1.6rem;left:.5rem}.timeline article{grid-template-columns:1.1rem minmax(0,1fr);gap:.75rem 1.75rem;padding:1.8rem 3.5rem 1.8rem 0}.timeline__node{grid-row:1 / span 3}.timeline .technical-label,.timeline h3,.timeline p{grid-column:2}.timeline h3{max-width:22ch}.contact__links{grid-template-columns:1fr 1fr}.contact-link{grid-column:auto}}@media(max-width:38.75em){:root{--shell: calc(100vw - 2rem) }.section-marker__aside,.hero__copy h1 br,.section-heading h2 br,.contact__heading h2 br,.projects__archive:before{display:none}.hero__copy h1,.section-heading h2,.contact__heading h2,.error-page__main h1{max-width:100%;overflow-wrap:break-word;hyphens:manual;text-wrap:balance}.hero__copy h1{font-size:clamp(2.6rem,12.75vw,3.35rem);line-height:.92;word-spacing:.06em}.about__facts>div,.careeros-panel__signal,.project-card__question,.contact__links{grid-template-columns:1fr}.about__facts>div{gap:.4rem}.profile-portrait__caption,.contact__privacy,.site-footer__inner{flex-direction:column}.profile-portrait__caption{gap:.5rem}.capability-ledger{gap:2rem}.project-visual--careeros{padding:.9rem}.careeros-panel{width:94%;box-shadow:.4rem .4rem #0e11111f}.careeros-panel__bar{gap:.5rem;padding-inline:.65rem}.careeros-panel__signal{gap:.25rem}.project-card__question{gap:.45rem}.personal-credo blockquote p{font-size:clamp(2rem,10.2vw,3.1rem)}.personal-credo{box-shadow:inset .3rem 0 0 var(--oxide)}.contact-link,.contact-link--primary{grid-column:1}.contact__privacy>span:last-child{white-space:normal}.site-footer__inner{align-items:flex-start}.site-footer__inner>div{text-align:left}.mobile-menu__inner>a{font-size:clamp(1.55rem,8vw,2.3rem)}}@media(max-width:30em){.page-compass{display:none}}@media(max-width:62.5em)and (max-height:560px){.mobile-menu__inner{padding-top:.75rem;padding-bottom:max(.9rem,env(safe-area-inset-bottom))}.mobile-menu__meta{padding-bottom:.65rem}.mobile-menu__inner>a{padding-block:.65rem;font-size:clamp(1.35rem,7vh,2rem)}}@media(prefers-reduced-motion:no-preference){@view-transition{navigation:auto}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important;transition-delay:0ms!important}.js [data-reveal]{opacity:1;transform:none}.personal-intro{display:none!important}.button:hover>span:last-child,.button:focus-visible>span:last-child,.menu-toggle:active,.button:active,.contact-link:active,.project-card__primary:active,.project-card__case:active{transform:none}}@media(prefers-contrast:more){:root{--graphite: #3d4244;--line: rgba(14, 17, 17, .5);--line-dark: rgba(244, 241, 234, .5)}.desktop-nav a,.language-switcher a,.studio-boundary-link,.hero__lead>p,.contact__heading p,.contact__privacy{color:currentColor;opacity:1}.project-card,.profile-portrait__frame,.contact-link,.site-header__inner{border-width:2px}}@media(forced-colors:active){:root{forced-color-adjust:auto}:focus-visible{outline:3px solid Highlight;outline-offset:4px}.node,.site-header__progress{forced-color-adjust:none;background:Highlight}.button--oxide,.page-compass,.contact-link--primary{border:1px solid Highlight;background:Highlight;color:HighlightText}.project-card,.profile-portrait__frame,.contact-link,.site-header__inner,.menu-toggle,.mobile-menu{border-color:CanvasText}.project-card{border:1px solid CanvasText}.site-header,.mobile-menu,.project-card,.project-visual,.project-visual--careeros strong{background:Canvas;color:CanvasText}.desktop-nav a[aria-current=location],.language-switcher a[aria-current=page],.mobile-menu__inner>a[aria-current=location]{color:LinkText;text-decoration:underline;text-decoration-thickness:2px}}
