:root{--ink:#1d1d1f;--ink-2:#424245;--muted:#6e6e73;--canvas:#f5f5f7;--white:#fff;--line:#d2d2d7;--line-dark:#86868b;--accent:#f7df1e;--accent-ink:#1d1d1f;--accent-soft:#f5f5f7;--dark:#2c2c2e;--on-dark:#f5f5f7;--on-dark-muted:#d2d2d7;--on-dark-faint:#aeaeb2;--header-bg:#fffffff0;--header-line:#1d1d1f21;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}html.dark{--ink:#f5f5f7;--ink-2:#d2d2d7;--muted:#c7c7cc;--canvas:#1c1c1e;--white:#2c2c2e;--line:#48484a;--line-dark:#636366;--accent:#f7df1e;--accent-ink:#1d1d1f;--accent-soft:#1c1c1e;--dark:#242426;--on-dark:#f5f5f7;--on-dark-muted:#d2d2d7;--on-dark-faint:#aeaeb2;--header-bg:#1c1c1eeb;--header-line:#ffffff1f;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth}section[id],.hero{scroll-margin-top:92px}body{background:var(--canvas);color:var(--ink);text-rendering:optimizelegibility;margin:0;font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.65;overflow-x:hidden}button,summary{font:inherit;color:inherit}img,svg{max-width:100%}a{color:inherit;text-decoration:none}button,a{-webkit-tap-highlight-color:transparent}.not-found-mark{letter-spacing:-.08em;margin:0 0 1.6rem;font-size:clamp(7.5rem,18vw,14rem);font-weight:600;line-height:.78}.not-found-mark:after{content:"";background:var(--accent);width:3.75rem;height:6px;margin-top:1.1rem;display:block}.not-found-actions{margin:-1.5rem 0 2.75rem}.section-page{background:var(--canvas);min-height:100svh;color:var(--ink);padding:7.5rem clamp(1.25rem,4.5vw,5rem) 4rem}.section-page-header .header-actions{justify-self:end}.section-page__intro{max-width:46rem;margin-bottom:3rem}.section-page__intro:has(.not-found-mark){max-width:none}.section-page__intro h1{letter-spacing:-.055em;max-width:18ch;margin:.85rem 0 1rem;font-size:clamp(2.4rem,5vw,4.2rem);font-weight:600;line-height:.98}.section-page__lead{max-width:40rem;color:var(--ink-2);margin:0;font-size:1.05rem;line-height:1.7}.section-page__list{border-top:1px solid var(--line-dark);margin:0;padding:0;list-style:none}.section-page__list li{border-bottom:1px solid var(--line);grid-template-columns:48px minmax(0,1fr);gap:1.25rem;padding:1.5rem 0;display:grid}.section-page__index{color:var(--muted);letter-spacing:.08em;font-size:.68rem;font-weight:800}.section-page__meta{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;margin:0 0 .45rem;font-size:.72rem;font-weight:800}.section-page__list h2{letter-spacing:-.03em;margin:0 0 .45rem;font-size:clamp(1.2rem,2vw,1.65rem);font-weight:600;line-height:1.2}.section-page__list p{color:var(--ink-2);margin:0;font-size:.95rem;line-height:1.65}.section-page__list a{text-underline-offset:.16em;text-decoration:underline}.section-page__more,.section-page__home{margin:2rem 0 0;font-size:.86rem;font-weight:700}.section-page__home a,.section-page__more a{color:var(--ink);text-underline-offset:.16em;text-decoration:underline}::selection{color:var(--accent-ink);background:var(--accent)}.scroll-progress{z-index:70;width:var(--scroll-progress,0%);background:var(--accent);pointer-events:none;height:2px;position:fixed;inset:0 auto auto 0}.cursor-layer{z-index:80;pointer-events:none;display:none;position:fixed;inset:0}.cursor-glow,.cursor-ring{pointer-events:none;opacity:0;border-radius:50%;position:fixed;top:0;left:0}.cursor-glow{background:radial-gradient(circle, color-mix(in srgb, var(--accent) 22%, transparent) 0%, transparent 70%);width:180px;height:180px;margin:-90px 0 0 -90px}.cursor-ring{border:1px solid var(--ink);width:28px;height:28px;margin:-14px 0 0 -14px;transition:width .18s,height .18s,margin .18s,border-color .18s,opacity .18s}.cursor-layer.is-active .cursor-glow{opacity:.9}.cursor-layer.is-active .cursor-ring{opacity:.45}.cursor-layer.is-hover .cursor-ring{border-color:var(--accent);opacity:.9;width:46px;height:46px;margin:-23px 0 0 -23px}.cursor-layer.is-text .cursor-glow,.cursor-layer.is-text .cursor-ring{opacity:0}@media (hover:hover) and (pointer:fine){.motion-enabled .cursor-layer{display:block}}.site-header{z-index:50;border-bottom:1px solid var(--header-line);background:var(--header-bg);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);grid-template-columns:minmax(260px,1fr) auto minmax(160px,1fr);align-items:center;gap:2rem;height:76px;padding:0 clamp(1.25rem,4.5vw,5rem);display:grid;position:fixed;inset:0 0 auto}.brand{flex-direction:row;align-items:center;gap:12px;min-width:0;display:flex}.brand-mark{flex:none;width:34px;max-width:none;height:34px;display:block;overflow:visible}.brand-copy{flex-direction:column;min-width:0;line-height:1.18;display:flex}.brand-name{font-size:.9rem;font-weight:800}.brand-role{color:var(--muted);margin-top:.24rem;font-size:.67rem}.site-header nav{align-items:center;gap:clamp(1.25rem,2.7vw,2.8rem);display:flex}.site-header nav a{color:var(--ink-2);font-size:.78rem;font-weight:700}:is(.site-header nav a:hover,.site-header nav a:focus-visible){color:var(--ink)}.header-actions{justify-self:end;align-items:center;gap:.85rem;display:inline-flex}.header-link{color:var(--ink);align-items:center;gap:.35rem;font-size:.78rem;font-weight:800;display:inline-flex}.theme-toggle{width:44px;height:44px;color:var(--ink);cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;padding:0;display:inline-flex}.theme-toggle:hover{color:var(--ink-2)}.theme-toggle:focus-visible{outline:2px solid var(--ink);outline-offset:3px}.theme-toggle__icons{place-items:center;width:16px;height:16px;display:grid;position:relative}.theme-icon{grid-area:1/1;transition:opacity .28s,transform .42s cubic-bezier(.22,1,.36,1)}.theme-icon-moon{opacity:1;transform:rotate(0)scale(1)}.theme-icon-sun{opacity:0;transform:rotate(-90deg)scale(.65)}html.dark .theme-icon-moon{opacity:0;transform:rotate(90deg)scale(.65)}html.dark .theme-icon-sun{opacity:1;transform:rotate(0)scale(1)}.section-nav{z-index:40;width:auto;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;pointer-events:none;background:0 0;border:0;padding:0;display:none;position:fixed;top:50%;left:1.1rem;right:auto;transform:translateY(-50%)}.section-nav__list{pointer-events:auto;flex-direction:column;align-items:flex-start;gap:.7rem;margin:0;padding:.15rem 0;list-style:none;display:flex;position:relative}.section-nav__list a{z-index:1;width:1.15rem;height:1.15rem;color:var(--muted);background:0 0;border:0;border-radius:0;justify-content:flex-start;align-items:center;padding:0;display:flex;position:relative}.section-nav__dot{border:1.5px solid color-mix(in srgb, var(--ink) 35%, transparent);background:var(--canvas);width:7px;height:7px;box-shadow:none;border-radius:50%;flex:none;transition:width .2s,height .2s,background-color .2s,border-color .2s,border-radius .2s}.section-nav__label{border:1px solid var(--header-line);background:var(--header-bg);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);color:var(--ink);letter-spacing:-.01em;white-space:nowrap;opacity:0;pointer-events:none;border-radius:8px;padding:.28rem .55rem;font-size:.68rem;font-weight:700;transition:opacity .18s,transform .18s;position:absolute;top:50%;left:calc(100% + .7rem);right:auto;transform:translate(-4px,-50%)}:is(.section-nav__list a:hover,.section-nav__list a:focus-visible){color:var(--ink);background:0 0}.section-nav__list a:hover .section-nav__label,.section-nav__list a.is-active:hover .section-nav__label{opacity:1;transform:translateY(-50%)}.section-nav__list a:focus-visible .section-nav__label{opacity:1;transform:translateY(-50%)}.section-nav__list a.is-active:focus-visible .section-nav__label{opacity:1;transform:translateY(-50%)}.section-nav__list a:focus-visible{outline:2px solid var(--ink);outline-offset:3px;border-radius:999px}.section-nav__list a.is-active .section-nav__dot{background:var(--accent);border-color:#0000;border-radius:999px;width:7px;height:16px}.section-nav__list a.is-active{color:var(--ink);background:0 0}.section-nav__list a:hover .section-nav__dot{border-color:var(--ink)}@media (min-width:1100px){.section-nav{display:block}}html.theme-animate,html.theme-animate body,html.theme-animate .site-header,html.theme-animate .section-nav,html.theme-animate .hero-brief,html.theme-animate .practice-section,html.theme-animate .capability-visual,html.theme-animate .site-footer,html.theme-animate .button,html.theme-animate .case-study,html.theme-animate .resume-item{transition:background-color .38s,color .38s,border-color .38s,box-shadow .38s!important}@view-transition{navigation:auto}@keyframes page-in{0%{opacity:0}to{opacity:1}}@keyframes page-out{0%{opacity:1}to{opacity:0}}.page-enter{animation:.28s both page-in}@supports (view-transition-name:none){::view-transition-old(root){animation-duration:.26s;animation-timing-function:ease;animation-fill-mode:both}::view-transition-new(root){animation-duration:.26s;animation-timing-function:ease;animation-fill-mode:both}::view-transition-old(root){animation-name:page-out}::view-transition-new(root){animation-name:page-in}html.theme-vt::view-transition-old(root){mix-blend-mode:normal;animation:none}html.theme-vt::view-transition-new(root){mix-blend-mode:normal;animation:none}html.theme-vt::view-transition-old(root){z-index:1}html.theme-vt::view-transition-new(root){z-index:2}}.hero{background:var(--white);border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1.15fr) minmax(390px,.55fr);min-height:100svh;padding:76px 0 0;display:grid}.hero-main{flex-direction:column;justify-content:center;padding:clamp(1.5rem,3vw,2.5rem) clamp(1.25rem,7vw,8rem);display:flex}.motion-enabled .hero-copy{transform:translate3d(var(--pointer-x,0px), calc(var(--hero-shift,0px) + var(--pointer-y,0px)), 0)}.motion-enabled .hero-brief>*{transform:translate3d(calc(var(--pointer-x,0px) * -1.35), calc(var(--brief-shift,0px) + var(--pointer-y,0px) * -1.15), 0)}.location{color:var(--muted);align-items:center;gap:.45rem;margin:0 0 1.35rem;font-size:.75rem;font-weight:700;display:flex}.hero-kicker,.section-label{color:var(--ink);letter-spacing:.12em;text-transform:uppercase;margin:0;font-size:.7rem;font-weight:800}.hero h1{letter-spacing:-.065em;max-width:960px;margin:.7rem 0 .9rem;font-size:clamp(2.55rem,4.5vw,4.75rem);font-weight:600;line-height:.98;overflow:visible}.hero-headline{display:block;position:relative}.hero-headline__sr{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.hero-headline__visual{isolation:isolate;padding:.04em .08em .12em 0;display:block;position:relative;overflow:hidden}.hero-headline__word{z-index:1;opacity:1;margin-inline-end:0;animation:none;display:inline-block;position:relative}.hero-headline.is-playing .hero-headline__word{animation:.62s cubic-bezier(.16,1,.3,1) both hero-headline-stamp;animation-delay:calc(var(--i) * 48ms)}.hero-headline__word:last-child{margin-inline-end:0}.hero-headline.is-playing .hero-headline__word.is-accent{animation-duration:.72s}.hero-headline__word.is-accent:after{content:"";transform-origin:0;filter:blur(3px);opacity:0;background:currentColor;border-radius:999px;height:.055em;animation:none;position:absolute;inset-block-end:-.08em;inset-inline:.02em .04em;transform:scaleX(0)}.hero-headline.is-playing .hero-headline__word.is-accent:after{animation:.7s cubic-bezier(.16,1,.3,1) both hero-headline-ink;animation-delay:calc(var(--i) * 88ms + .26s)}.hero-headline__sweep{pointer-events:none;z-index:0;background:linear-gradient(90deg, transparent 0%, color-mix(in srgb, var(--ink) 14%, transparent) 50%, transparent 100%);filter:blur(22px);opacity:0;width:18%;animation:none;position:absolute;top:8%;bottom:8%;left:0;transform:translate(-80%)}.hero-headline.is-playing .hero-headline__sweep{animation:2.05s cubic-bezier(.16,1,.3,1) 40ms both hero-headline-sweep}html.dark .hero-headline__sweep{display:none}.hero-headline__sweep--return{width:16%}.hero-headline.is-playing .hero-headline__sweep--return{animation-name:hero-headline-sweep-return;animation-duration:1.55s;animation-delay:1.1s}@keyframes hero-headline-stamp{0%{transform:translateY(.18em)}to{transform:none}}@keyframes hero-headline-sweep{0%{opacity:0;transform:translate(-80%)}18%{opacity:.95}to{opacity:0;transform:translate(230%)}}@keyframes hero-headline-sweep-return{0%{opacity:0;transform:translate(220%)}24%{opacity:.7}to{opacity:0;transform:translate(-90%)}}@keyframes hero-headline-ink{0%{filter:blur(8px);opacity:0;transform:scaleX(0)}to{filter:blur();opacity:.55;transform:scaleX(1)}}.hero-summary{max-width:760px;color:var(--ink-2);margin:0;font-size:clamp(1.08rem,1.35vw,1.3rem);line-height:1.72}.hero-actions{flex-wrap:wrap;gap:.7rem;margin-top:1.5rem;display:flex}.button{border:1px solid #0000;justify-content:center;align-items:center;gap:.52rem;min-height:48px;padding:.72rem 1rem;font-size:.8rem;font-weight:800;display:inline-flex}.button-primary{background:var(--ink);color:var(--white)}.button-primary:hover{background:var(--accent);color:var(--accent-ink)}.button-secondary{border-color:var(--line-dark);background:var(--white);color:var(--ink)}.button-secondary:hover{border-color:var(--accent);color:var(--ink)}.hero-brief{background:var(--dark);min-width:0;color:var(--on-dark);grid-template-rows:auto 1fr auto;padding:2rem;display:grid}.brief-top{color:var(--on-dark-muted);letter-spacing:.08em;text-transform:uppercase;border-bottom:1px solid #ffffff2b;justify-content:space-between;padding-bottom:1rem;font-size:.68rem;font-weight:800;display:flex}.brief-statement{align-self:center;padding-block:3rem}.brief-statement>span{color:var(--on-dark-muted);letter-spacing:.1em;text-transform:uppercase;font-size:.72rem;font-weight:800}.brief-statement p{letter-spacing:-.035em;margin:1.3rem 0 0;font-size:clamp(1.65rem,2.6vw,3rem);font-weight:500;line-height:1.2}.brief-facts{border-top:1px solid #ffffff2b;border-left:1px solid #ffffff2b;grid-template-columns:1fr 1fr;margin:0;display:grid}.brief-facts div{border-bottom:1px solid #ffffff2b;border-right:1px solid #ffffff2b;min-height:130px;padding:1.1rem}.brief-facts dt{color:var(--on-dark);font-size:1.8rem;font-weight:700;line-height:1}.brief-facts dd{color:var(--on-dark-muted);margin:.65rem 0 0;font-size:.7rem;line-height:1.45}.profile-strip{background:var(--accent-soft);border-bottom:1px solid var(--line);grid-template-columns:90px minmax(0,970px);align-items:start;gap:clamp(2rem,6vw,7rem);padding:clamp(4rem,7vw,7rem) clamp(1.25rem,7vw,8rem);display:grid}.section-number{color:var(--ink);letter-spacing:.08em;font-size:.72rem;font-weight:800}.profile-strip p{color:var(--ink);letter-spacing:-.035em;margin:0;font-size:clamp(1.55rem,2.7vw,3rem);line-height:1.38}.profile-strip strong{font-weight:800}.profiles-section,.work-section,.experience-section,.building-section{background:var(--white);padding:clamp(5rem,9vw,9rem) clamp(1.25rem,7vw,8rem)}.profile-track-list{border-top:1px solid var(--line-dark);border-bottom:1px solid var(--line-dark);grid-template-columns:repeat(5,1fr);display:grid;position:relative}.profile-track-list article{border-right:1px solid var(--line);flex-direction:column;min-height:390px;padding:1.5rem;transition:opacity .28s cubic-bezier(.2,.75,.2,1);display:flex;position:relative}.profile-track-list article:first-child{padding-left:0}.profile-track-list article:last-child{border-right:0}.profile-track-list article:before{content:"";background:var(--accent);transform-origin:0;pointer-events:none;height:2px;transition:transform .32s cubic-bezier(.2,.75,.2,1);position:absolute;inset:-1px 0 auto;transform:scaleX(0)}.track-number{color:var(--muted);align-items:center;gap:.55rem;font-size:.68rem;font-weight:800;transition:color .22s;display:inline-flex}.track-number:before{content:"";opacity:.45;background:currentColor;width:7px;height:7px;transition:background-color .22s,opacity .22s,transform .28s cubic-bezier(.2,.75,.2,1);transform:rotate(45deg)}.profile-track-list h3{letter-spacing:-.025em;min-height:74px;margin:2.8rem 0 1rem;font-size:clamp(1.3rem,1.7vw,1.7rem);line-height:1.15;transition:color .22s}.profile-track-list p{color:var(--muted);margin:0;font-size:.83rem;line-height:1.72}.profile-track-list ul{margin:auto 0 0;padding:1.5rem 0 0;list-style:none}.profile-track-list li{border-top:1px solid var(--line);color:var(--ink);padding:.48rem 0;font-size:.7rem;font-weight:700;transition:box-shadow .22s,padding-left .22s,border-color .22s;position:relative}@media (hover:hover) and (pointer:fine){.profile-track-list:hover article:not(:hover):not(:focus-within){opacity:.38}.profile-track-list article:hover:before,.profile-track-list article:focus-within:before{transform:scaleX(1)}.profile-track-list article:hover .track-number,.profile-track-list article:focus-within .track-number{color:var(--ink)}.profile-track-list article:hover .track-number:before,.profile-track-list article:focus-within .track-number:before{background:var(--accent);color:var(--accent);opacity:1;transform:rotate(45deg)scale(1.15)}.profile-track-list article:hover li,.profile-track-list article:focus-within li{border-top-color:color-mix(in srgb, var(--ink) 18%, var(--line));box-shadow:inset 2px 0 0 var(--accent);padding-left:.7rem}}.work-section{background:var(--canvas)}.section-intro{grid-template-columns:minmax(120px,.35fr) minmax(0,1.1fr) minmax(270px,.5fr);align-items:end;gap:clamp(2rem,5vw,6rem);margin-bottom:clamp(3rem,6vw,6rem);display:grid}.section-intro>div:first-child,.practice-heading>div{flex-direction:column;gap:.8rem;display:flex}.section-intro h2,.practice-heading h2,.contact-section h2,.development h2,.resume-downloads h2{letter-spacing:-.055em;margin:0;font-size:clamp(2.3rem,4.3vw,4.75rem);font-weight:600;line-height:1.02}.section-intro>p,.practice-heading>p{color:var(--muted);margin:0;font-size:.97rem;line-height:1.8}.section-intro.compact{grid-template-columns:minmax(120px,.35fr) minmax(0,1.5fr);align-items:start}.case-study-list{border-top:1px solid var(--line-dark)}.case-study{border-bottom:1px solid var(--line);grid-template-columns:62px minmax(230px,.55fr) minmax(0,1fr) 36px;gap:clamp(1rem,3.5vw,4rem);padding:2.6rem 0;display:grid;position:relative}.case-index{color:var(--muted);letter-spacing:.08em;font-size:.7rem;font-weight:800}.case-identity p{color:var(--ink);margin:0 0 1rem;font-size:.7rem;font-weight:800;line-height:1.45}.case-identity h3{letter-spacing:-.04em;margin:0;font-size:clamp(1.8rem,2.7vw,3rem);line-height:1}.case-identity>span{color:var(--muted);margin-top:.85rem;font-size:.8rem;display:block}.case-detail{grid-template-columns:1fr 1fr;gap:1.5rem 2rem;display:grid}.case-summary{color:var(--ink-2);margin:0;font-size:1rem;line-height:1.75}.case-remit{border-left:2px solid var(--accent);padding-left:1.15rem}.case-remit span{color:var(--ink);letter-spacing:.08em;text-transform:uppercase;font-size:.68rem;font-weight:800}.case-remit p{color:var(--muted);margin:.65rem 0 0;font-size:.83rem;line-height:1.7}.tag-list{flex-wrap:wrap;grid-column:1/-1;gap:.45rem;display:flex}.tag-list span{border:1px solid var(--line);color:var(--ink-2);padding:.3rem .5rem;font-size:.64rem}.case-link{color:var(--muted);align-self:start}.case-link:hover{color:var(--ink)}.practice-section{background:var(--dark);color:var(--on-dark);padding:clamp(5rem,9vw,9rem) clamp(1.25rem,7vw,8rem)}.practice-heading{grid-template-columns:minmax(120px,.35fr) minmax(0,1.1fr) minmax(270px,.5fr);align-items:end;gap:clamp(2rem,5vw,6rem);margin-bottom:clamp(3rem,6vw,6rem);display:grid}.practice-heading .section-number,.practice-heading .section-label,.practice-heading>p{color:var(--on-dark-muted)}.practice-flow{border-top:1px solid #ffffff47;grid-template-columns:repeat(5,1fr);display:grid;position:relative}.practice-flow:after{content:"";z-index:1;background:var(--accent);pointer-events:none;width:0;height:2px;transition:width .42s cubic-bezier(.2,.75,.2,1);position:absolute;top:-1px;left:0}.practice-flow article{border-right:1px solid #ffffff29;min-height:310px;padding:1.5rem 1.35rem 1.5rem 0;transition:opacity .28s cubic-bezier(.2,.75,.2,1);position:relative}.practice-flow article:not(:first-child){padding-left:1.35rem}.practice-flow article:last-child{border-right:0}.practice-flow article>span{color:var(--on-dark-muted);align-items:center;gap:.5rem;font-size:.67rem;font-weight:800;transition:color .22s;display:inline-flex}.practice-flow article>span:before{content:"";opacity:.4;background:currentColor;width:7px;height:7px;transition:background-color .22s,opacity .22s,transform .28s cubic-bezier(.2,.75,.2,1);transform:rotate(45deg)}.practice-flow h3{margin:4rem 0 .8rem;font-size:1.3rem;transition:color .22s}.practice-flow p{color:var(--on-dark-muted);margin:0;font-size:.82rem;line-height:1.72;transition:color .22s}.architecture-domains{border-top:1px solid #ffffff47;flex-wrap:wrap;gap:.5rem;padding-top:1.5rem;display:flex}.architecture-domains span{color:var(--on-dark-muted);border:1px solid #fff3;padding:.38rem .62rem;font-size:.68rem;transition:background-color .2s,border-color .2s,color .2s}@media (hover:hover) and (pointer:fine){.practice-flow:hover article:not(:hover):not(:focus-within){opacity:.36}.practice-flow article:hover>span,.practice-flow article:focus-within>span{color:var(--accent)}.practice-flow article:hover>span:before,.practice-flow article:focus-within>span:before{background:var(--accent);opacity:1;transform:rotate(45deg)scale(1.15)}.practice-flow article:hover p,.practice-flow article:focus-within p{color:var(--on-dark)}.practice-flow:has(article:first-child:hover):after{width:20%}.practice-flow:has(article:first-child:focus-within):after{width:20%}.practice-flow:has(article:nth-child(2):hover):after{width:40%}.practice-flow:has(article:nth-child(2):focus-within):after{width:40%}.practice-flow:has(article:nth-child(3):hover):after{width:60%}.practice-flow:has(article:nth-child(3):focus-within):after{width:60%}.practice-flow:has(article:nth-child(4):hover):after{width:80%}.practice-flow:has(article:nth-child(4):focus-within):after{width:80%}.practice-flow:has(article:nth-child(5):hover):after{width:100%}.practice-flow:has(article:nth-child(5):focus-within):after{width:100%}:is(.architecture-domains span:hover,.architecture-domains span:focus-visible){background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}}.experience-section{background:var(--canvas)}.experience-track{--experience-y:2.35rem}.experience-timeline{border-top:1px solid var(--line-dark);margin:0;padding:0;list-style:none}.experience-timeline article,.foundation-summary{grid-template-columns:72px 150px minmax(280px,.85fr) minmax(0,.7fr);align-items:stretch;gap:clamp(1.15rem,3.4vw,3.8rem);display:grid;position:relative}.experience-timeline article{padding:var(--experience-y) 0;border-bottom:1px solid var(--line);grid-template-areas:"axis time identity description";transition:opacity .28s cubic-bezier(.2,.75,.2,1)}.experience-timeline article:before,.foundation-summary:before{content:"";background:var(--accent);transform-origin:0;pointer-events:none;height:2px;transition:transform .32s cubic-bezier(.2,.75,.2,1);position:absolute;inset:-1px 0 auto;transform:scaleX(0)}.experience-axis{grid-area:axis;grid-template-columns:36px 13px;align-items:stretch;gap:.7rem;min-height:1.2rem;display:grid}.experience-index{color:var(--muted);letter-spacing:.08em;align-self:start;font-size:.7rem;font-weight:800;transition:color .22s}.experience-rail{width:1px;margin-block:calc(var(--experience-y) * -1);background:var(--line-dark);place-self:stretch center;position:relative}.experience-timeline:not(.experience-timeline--foundation)>li:first-child .experience-rail{margin-top:0}.experience-node{top:var(--experience-y);background:var(--canvas);border:1.5px solid var(--line-dark);z-index:1;width:9px;height:9px;transition:background-color .22s,border-color .22s,transform .28s cubic-bezier(.2,.75,.2,1);position:absolute;left:50%;transform:translate(-50%)rotate(45deg)}.experience-timeline:not(.experience-timeline--foundation)>li:first-child .experience-node{top:0}.experience-timeline time{grid-area:time}.experience-identity{grid-area:identity}.experience-description{grid-area:description}.experience-timeline article.is-current .experience-node{background:var(--accent);border-color:var(--accent);box-shadow:0 0 0 4px color-mix(in srgb, var(--accent) 28%, transparent)}.experience-timeline time{color:var(--muted);letter-spacing:.06em;font-size:.72rem;font-weight:800}.experience-timeline h3{letter-spacing:-.03em;margin:-.15rem 0 .45rem;font-size:clamp(1.28rem,2vw,1.85rem);line-height:1.18}.experience-timeline .organization{color:var(--ink);margin:0;font-size:.78rem;font-weight:700}.experience-description{border-left:2px solid var(--accent);color:var(--muted);margin:0;padding-left:1.15rem;font-size:.9rem;line-height:1.75}.foundation-note{interpolate-size:allow-keywords;--experience-y:1.35rem;margin-top:0;padding:0;transition:opacity .28s cubic-bezier(.2,.75,.2,1)}.foundation-note>summary{cursor:pointer;-webkit-user-select:none;user-select:none;list-style:none;display:block}.foundation-note>summary::-webkit-details-marker{content:none;display:none}.foundation-note>summary::marker{content:none;display:none}.foundation-summary{padding:var(--experience-y) 0;grid-template-columns:72px 150px minmax(0,1fr) auto;grid-template-areas:"axis label copy toggle";align-items:start}.foundation-summary .experience-axis{grid-area:axis;align-self:stretch}.foundation-label{color:var(--ink);text-transform:uppercase;grid-area:label;font-size:.7rem;font-weight:800}.foundation-summary>p{color:var(--muted);grid-area:copy;margin:0;font-size:.85rem;line-height:1.6}.foundation-toggle{color:var(--ink);letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;grid-area:toggle;align-items:center;gap:.4rem;font-size:.66rem;font-weight:800;display:inline-flex}.foundation-toggle svg{transition:transform .32s cubic-bezier(.2,.75,.2,1)}.foundation-toggle-open,.foundation-note[open] .foundation-toggle-closed{display:none}.foundation-note[open] .foundation-toggle-open{display:inline}.foundation-note[open] .foundation-toggle svg{transform:rotate(180deg)}.foundation-note>summary:hover .foundation-toggle{color:var(--ink-2)}.foundation-note>summary:focus-visible{outline:none}.foundation-note>summary:focus-visible .foundation-toggle{outline:2px solid var(--ink);outline-offset:4px}.foundation-note::details-content{transition:block-size .48s cubic-bezier(.2,.75,.2,1), content-visibility .48s allow-discrete;display:block;overflow:clip}.foundation-note:not([open])::details-content{content-visibility:hidden;block-size:0}.foundation-note[open]::details-content{block-size:auto}.foundation-summary .experience-rail{margin-block:calc(var(--experience-y) * -1)}.foundation-summary .experience-node{top:var(--experience-y)}.foundation-note:not([open]) .foundation-summary .experience-rail{height:calc(var(--experience-y) + 9px);align-self:start;margin-bottom:0}.experience-node--branch{background:var(--canvas);border-color:var(--ink);width:7px;height:7px}.experience-timeline--foundation{border-top:0}.experience-timeline--foundation article{--experience-y:1.35rem;padding:1.35rem 0}.experience-timeline--foundation .experience-rail{margin-block:-1.35rem}.experience-timeline--foundation>li:first-child .experience-rail{margin-top:-1.35rem}.experience-timeline--foundation>li:first-child .experience-node{top:1.35rem}.experience-timeline--foundation>li:last-child .experience-rail{align-self:start;height:calc(1.35rem + 9px);margin-bottom:0}.experience-timeline--foundation h3{font-size:clamp(1.02rem,1.45vw,1.22rem)}.experience-timeline--foundation .organization{font-size:.74rem}.experience-timeline--foundation time{font-size:.68rem}.experience-timeline--foundation .experience-description{font-size:.84rem}@media (hover:hover) and (pointer:fine){.experience-track:hover .experience-timeline article:not(:hover):not(:focus-within),.experience-track:hover .foundation-note:not(:hover):not(:focus-within){opacity:.42}.experience-timeline article:hover:before,.experience-timeline article:focus-within:before,.foundation-note>summary:hover .foundation-summary:before{transform:scaleX(1)}.foundation-note>summary:focus-visible .foundation-summary:before{transform:scaleX(1)}.experience-timeline article:hover .experience-index,.experience-timeline article:focus-within .experience-index{color:var(--ink)}:is(.experience-timeline article:hover .experience-rail,.experience-timeline article:focus-within .experience-rail,.foundation-note>summary:hover .experience-rail,.foundation-note>summary:focus-visible .experience-rail){background:var(--accent)}:is(.experience-timeline article:hover .experience-node,.experience-timeline article:focus-within .experience-node,.foundation-note>summary:hover .experience-node,.foundation-note>summary:focus-visible .experience-node){background:var(--accent);border-color:var(--accent);transform:translate(-50%)rotate(45deg)scale(1.15)}}.capabilities-section{background:var(--white);padding:clamp(5rem,9vw,9rem) clamp(1.25rem,7vw,8rem)}.capability-stage{border-top:1px solid var(--line-dark);border-bottom:1px solid var(--line-dark);grid-template-columns:minmax(360px,.9fr) minmax(0,1.1fr);display:grid}.skills-visual{background:var(--dark);min-width:0;height:min(68vh,650px);min-height:520px;color:var(--on-dark);grid-template-rows:auto 1fr auto;align-self:start;padding:2rem;display:grid;position:sticky;top:98px}.skills-visual .brief-statement p{font-size:clamp(1.45rem,2.2vw,2.35rem)}.capability-columns{grid-template-columns:repeat(2,1fr);display:grid}.capability-columns>div{border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-height:315px;padding:1.6rem}.capability-columns>div:nth-child(2n){border-right:0}.capability-columns>div:nth-child(n+3){border-bottom:0}.capability-number{color:var(--muted);margin-bottom:2rem;font-size:.66rem;font-weight:800;display:block}.capability-columns h3{color:var(--ink);letter-spacing:.06em;text-transform:uppercase;margin:0 0 1.5rem;font-size:.78rem}.capability-columns ul{margin:0;padding:0;list-style:none}.capability-columns li{border-bottom:1px solid var(--line);color:var(--ink-2);padding:.65rem 0;font-size:.88rem}.stack-section{background:var(--canvas);padding:clamp(5rem,9vw,9rem) clamp(1.25rem,7vw,8rem)}.stack-board{border-top:1px solid var(--line-dark);border-bottom:1px solid var(--line-dark);grid-template-columns:repeat(3,minmax(0,1fr));display:grid;position:relative}.stack-board article{border-right:1px solid var(--line);border-bottom:1px solid var(--line);flex-direction:column;min-height:280px;padding:1.6rem 1.5rem 1.7rem;transition:opacity .28s cubic-bezier(.2,.75,.2,1);display:flex;position:relative}.stack-board article:nth-child(3n){border-right:0}.stack-board article:last-child,.stack-board article:nth-child(3n+1):nth-last-child(-n+3),.stack-board article:nth-child(3n+2):nth-last-child(-n+2){border-bottom:0}.stack-board article:before{content:"";background:var(--accent);transform-origin:0;pointer-events:none;height:2px;transition:transform .32s cubic-bezier(.2,.75,.2,1);position:absolute;inset:-1px 0 auto;transform:scaleX(0)}.stack-number{color:var(--muted);letter-spacing:.08em;align-items:center;gap:.55rem;margin-bottom:2.1rem;font-size:.66rem;font-weight:800;transition:color .22s;display:inline-flex}.stack-number:before{content:"";opacity:.45;background:currentColor;width:7px;height:7px;transition:background-color .22s,opacity .22s,transform .28s cubic-bezier(.2,.75,.2,1);transform:rotate(45deg)}.stack-board h3{color:var(--ink);letter-spacing:.06em;text-transform:uppercase;margin:0 0 1.35rem;font-size:.78rem}.stack-tools{flex-wrap:wrap;gap:.45rem;margin:auto 0 0;padding:0;list-style:none;display:flex}.stack-tools li{border:1px solid var(--line);background:var(--white);min-height:34px;color:var(--ink);letter-spacing:-.01em;align-items:center;padding:.32rem .62rem;font-size:.74rem;font-weight:700;transition:background-color .18s,border-color .18s,color .18s;display:inline-flex}@media (hover:hover) and (pointer:fine){.stack-board:hover article:not(:hover){opacity:.38}.stack-board article:hover:before{transform:scaleX(1)}.stack-board article:hover .stack-number{color:var(--ink)}.stack-board article:hover .stack-number:before{background:var(--accent);color:var(--accent);opacity:1;transform:rotate(45deg)scale(1.15)}.stack-tools li:hover{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}}.building-section{background:var(--white)}.building-list{border-top:1px solid var(--line-dark)}.building-list a{border-bottom:1px solid var(--line);grid-template-columns:190px 180px minmax(0,1fr) 28px;align-items:center;gap:2rem;padding:1.7rem 0;transition:color .15s;display:grid}.building-list a:hover{color:var(--ink)}.building-type{color:var(--ink);text-transform:uppercase;font-size:.68rem;font-weight:800}.building-list h3{margin:0;font-size:1.35rem}.building-list p{color:var(--muted);margin:0;font-size:.86rem;line-height:1.7}.building-list a:hover p{color:var(--ink-2)}.resume-section{background:var(--canvas);padding:clamp(5rem,9vw,9rem) clamp(1.25rem,7vw,8rem)}.resume-layout{grid-template-columns:minmax(300px,.75fr) minmax(0,1.25fr);gap:clamp(3rem,8vw,9rem);display:grid}.development .section-label{margin-top:.8rem}.development h2,.resume-downloads h2{margin-top:1.2rem;font-size:clamp(2rem,3.3vw,3.8rem)}.development dl{border-top:1px solid var(--line-dark);margin:3rem 0 0}.development dl div{border-bottom:1px solid var(--line);grid-template-columns:150px 1fr;gap:1rem;padding:1rem 0;display:grid}.development dt{color:var(--ink);text-transform:uppercase;font-size:.65rem;font-weight:800}.development dd{margin:0;font-size:.87rem;font-weight:700}.resume-list{border-top:1px solid var(--line-dark);margin-top:3rem}.resume-item{border-bottom:1px solid var(--line);grid-template-columns:42px 1fr auto;align-items:center;gap:1rem;min-height:76px;display:grid}.resume-item>span{color:var(--muted);font-size:.65rem;font-weight:800}.resume-item strong{font-size:.98rem}.resume-item a{border:1px solid var(--line-dark);color:var(--ink);align-items:center;gap:.3rem;padding:.48rem .58rem;font-size:.66rem;font-weight:800;display:inline-flex}.resume-item a:hover{border-color:var(--accent);background:var(--accent-soft)}.contact-section{background:var(--accent-soft);border-top:1px solid var(--line);padding:clamp(5rem,9vw,9rem) clamp(1.25rem,7vw,8rem)}.contact-section h2{max-width:830px}.contact-lead{max-width:720px;color:var(--ink-2);margin:1.3rem 0 0;font-size:.97rem;line-height:1.8}.contact-links{border-top:1px solid var(--line-dark)}.contact-links a{border-bottom:1px solid var(--line);min-height:92px;color:var(--ink);grid-template-columns:48px 140px minmax(0,1fr) auto 28px;align-items:center;gap:1.5rem;padding:1.55rem 0 1.55rem .9rem;transition:padding-left .16s;display:grid;position:relative}.contact-links a:before{content:"";background:0 0;width:2px;transition:background-color .16s;position:absolute;inset:1.35rem auto 1.35rem 0}:is(.contact-links a:hover,.contact-links a:focus-visible){padding-left:1.15rem}.contact-links a:hover:before{background:var(--ink)}.contact-links a:focus-visible:before{background:var(--ink)}.contact-links a:focus-visible{outline:2px solid var(--ink);outline-offset:4px}.contact-index{color:var(--muted);letter-spacing:.08em;font-size:.68rem;font-weight:800}.contact-kind{color:var(--ink);letter-spacing:.1em;text-transform:uppercase;font-size:.68rem;font-weight:800}.contact-links strong{overflow-wrap:anywhere;letter-spacing:-.03em;min-width:0;font-size:clamp(1.15rem,2vw,1.65rem);font-weight:600;line-height:1.2}.contact-hint{color:var(--muted);font-size:.8rem}.contact-links svg{color:var(--muted);justify-self:end}.contact-links a:hover .contact-hint,.contact-links a:hover svg{color:var(--ink)}.contact-links a:focus-visible .contact-hint{color:var(--ink)}.contact-links a:focus-visible svg{color:var(--ink)}.contact-note{grid-template-columns:188px 1fr;gap:2rem;margin-top:1.3rem;padding:1.2rem 0 0;display:grid}.contact-note span{color:var(--ink);text-transform:uppercase;letter-spacing:.06em;font-size:.7rem;font-weight:800}.contact-note p{color:var(--muted);margin:0;font-size:.85rem}.social-networks-block{margin-top:2.2rem;padding-top:.2rem}.section-page .social-networks-block{margin-top:2.4rem}.social-networks-block .section-label{margin:0 0 1.15rem}.social-networks{flex-wrap:wrap;gap:1rem 1.4rem;display:flex}.social-networks a{min-width:3.5rem;color:var(--ink);flex-direction:column;align-items:center;gap:.55rem;display:inline-flex}.social-mark{background:var(--canvas);width:3.25rem;height:3.25rem;color:var(--ink);border-radius:50%;place-items:center;transition:color .22s,background-color .22s;display:grid;overflow:hidden}.social-mark svg{fill:currentColor;width:100%;height:100%;display:block}.social-name{color:var(--muted);letter-spacing:.1em;text-transform:uppercase;font-size:.62rem;font-weight:800;transition:color .22s}:is(.social-networks a:hover .social-mark,.social-networks a:focus-visible .social-mark){background:var(--accent-ink);color:var(--accent)}:is(.social-networks a:hover .social-name,.social-networks a:focus-visible .social-name){color:var(--ink)}.social-networks a:focus-visible{outline:2px solid var(--ink);outline-offset:4px}.motion-enabled [data-reveal]{transition:transform .78s cubic-bezier(.2,.75,.2,1);transform:translateY(18px)}.motion-enabled [data-reveal].is-visible{transform:translate(0,0)}.site-footer{isolation:isolate;background:var(--dark);color:var(--on-dark-muted);padding:clamp(4.5rem,8vw,7.5rem) clamp(1.25rem,4.5vw,5rem) 0;position:relative;overflow:hidden}.site-footer>:not(.footer-pattern){z-index:1;position:relative}.footer-pattern{z-index:0;pointer-events:none;position:absolute;inset:0;overflow:hidden}.footer-pattern__glow{border-radius:50%;position:absolute}.footer-pattern__glow--accent{background:radial-gradient(circle,#f7df1e33 0%,#f7df1e0f 42%,#0000 70%);width:min(58vw,34rem);height:min(58vw,34rem);top:-18%;right:-6%}.footer-pattern__glow--soft{background:radial-gradient(circle,#f5f5f714 0%,#0000 68%);width:min(42vw,24rem);height:min(42vw,24rem);bottom:-16%;left:-8%}.motion-enabled .footer-pattern__glow--accent{animation:28s ease-in-out infinite footer-glow-accent}.motion-enabled .footer-pattern__glow--soft{animation:36s ease-in-out infinite footer-glow-soft}@keyframes footer-glow-accent{0%,to{transform:translate(0,0)}50%{transform:translate(-22vw,28%)}}@keyframes footer-glow-soft{0%,to{transform:translate(0,0)}50%{transform:translate(18vw,-22%)}}.site-footer .section-label{color:var(--on-dark-muted)}.footer-masthead{border-bottom:1px solid #ffffff29;justify-content:space-between;align-items:flex-end;gap:2rem;padding-bottom:2.4rem;display:flex}.footer-name{color:var(--on-dark);letter-spacing:-.055em;margin:1rem 0 .55rem;font-size:clamp(2.4rem,5vw,4.4rem);font-weight:600;line-height:.95;display:block}.footer-tagline{color:var(--on-dark-muted);letter-spacing:.1em;text-transform:uppercase;margin:0;font-size:.72rem;font-weight:800}.footer-top{min-height:44px;color:var(--on-dark);white-space:nowrap;align-items:center;gap:.4rem;font-size:.75rem;font-weight:800;display:inline-flex}:is(.footer-top:hover,.footer-top:focus-visible){color:var(--accent)}.footer-grid{grid-template-columns:minmax(160px,.7fr) minmax(220px,.85fr) minmax(0,1.2fr);gap:clamp(2rem,5vw,5.5rem);padding:2.6rem 0 3.2rem;display:grid}.site-footer h2{color:var(--on-dark-muted);letter-spacing:.12em;text-transform:uppercase;margin:0 0 1.15rem;font-size:.68rem;font-weight:800}.site-footer ul{margin:0;padding:0;list-style:none}.site-footer li+li{margin-top:.55rem}.site-footer nav a,.site-footer li a{color:var(--on-dark);font-size:.92rem;font-weight:600}:is(.site-footer nav a:hover,.site-footer nav a:focus-visible,.site-footer li a:hover,.site-footer li a:focus-visible){color:var(--accent)}.site-footer p{max-width:28rem;margin:0;font-size:.92rem;line-height:1.7}.site-footer .footer-locale{color:var(--on-dark-muted);letter-spacing:.04em;margin-top:1.1rem;font-size:.72rem;font-weight:800}.footer-bar{color:var(--on-dark-faint);border-top:1px solid #ffffff29;justify-content:space-between;gap:1rem;padding:1.15rem 0 1.35rem;font-size:.68rem;font-weight:700;display:flex}@media (max-width:1100px){.hero{grid-template-columns:1fr}.hero-brief{min-height:580px}.brief-statement p{font-size:clamp(2rem,5vw,4rem)}.section-intro,.practice-heading{grid-template-columns:120px 1fr}.section-intro>p,.practice-heading>p{grid-column:2}.case-study{grid-template-columns:48px minmax(220px,.55fr) minmax(0,1fr) 28px}.experience-timeline article,.foundation-summary{grid-template-columns:72px 140px minmax(220px,.85fr) minmax(0,.7fr)}.foundation-summary{grid-template-columns:72px 140px minmax(0,1fr) auto}.case-detail{grid-template-columns:1fr}.practice-flow{grid-template-columns:repeat(3,1fr)}.practice-flow:after{display:none}.practice-flow article{border-bottom:1px solid #ffffff29}.profile-track-list{grid-template-columns:repeat(3,1fr)}.profile-track-list article{border-bottom:1px solid var(--line)}.profile-track-list article:nth-child(3){border-right:0}.capability-stage{grid-template-columns:minmax(320px,.8fr) minmax(0,1.2fr)}.capability-columns{grid-template-columns:1fr}.capability-columns>div,.capability-columns>div:nth-child(2n),.capability-columns>div:nth-child(n+3){border-right:0;border-bottom:1px solid var(--line);min-height:auto}.capability-columns>div:last-child{border-bottom:0}.stack-board{grid-template-columns:repeat(2,minmax(0,1fr))}.stack-board article{border-bottom:1px solid var(--line);min-height:auto}.stack-board article:nth-child(3n){border-right:1px solid var(--line)}.stack-board article:nth-child(2n){border-right:0}.stack-board article:last-child,.stack-board article:nth-child(odd):nth-last-child(-n+2){border-bottom:0}}@media (max-width:820px){.site-header{grid-template-columns:1fr auto;height:70px;padding-inline:1rem}.site-header nav,.brand-role{display:none}.hero{padding-top:70px}section[id],.hero{scroll-margin-top:84px}.hero-main{padding:1.5rem 1.1rem}.hero h1{font-size:clamp(2.45rem,10.5vw,3.5rem)}.hero-brief{min-height:520px;padding:1.25rem}.profile-strip{grid-template-columns:45px 1fr;padding:4.5rem 1.1rem}.profiles-section,.work-section,.practice-section,.experience-section,.capabilities-section,.stack-section,.building-section,.resume-section{padding:5rem 1.1rem}.section-intro,.section-intro.compact,.practice-heading{grid-template-columns:1fr;gap:1.3rem}.section-intro>p,.practice-heading>p{grid-column:auto}.section-intro h2,.practice-heading h2{font-size:clamp(2.4rem,9vw,4rem)}.case-study{grid-template-columns:38px 1fr 28px;gap:1rem}.case-identity{grid-column:2}.case-detail{grid-column:2/-1}.case-link{grid-area:1/3}.practice-flow{grid-template-columns:1fr}.practice-flow:after{display:none}.practice-flow article,.practice-flow article:not(:first-child){border-right:0;min-height:auto;padding:1.6rem 0}.practice-flow h3{margin:1.5rem 0 .6rem}.experience-timeline article{grid-template-columns:64px minmax(0,1fr);grid-template-areas:"axis time""axis identity""axis description";gap:.55rem 1.1rem}.experience-description{border-left:0;border-top:2px solid var(--accent);padding-top:.9rem;padding-left:0}.profile-track-list{grid-template-columns:repeat(2,1fr)}.profile-track-list article:nth-child(3){border-right:1px solid var(--line)}.profile-track-list article:nth-child(2n){border-right:0}.foundation-summary{grid-template-columns:64px minmax(0,1fr) auto;grid-template-areas:"axis label toggle""axis copy copy";gap:.55rem 1.1rem}.resume-layout,.capability-stage{grid-template-columns:1fr}.skills-visual{height:auto;min-height:0;padding:1.5rem;position:relative;top:auto}.contact-section{padding:5rem 1.1rem}.contact-links a{grid-template-columns:38px 1fr 24px;gap:.45rem 1rem;min-height:0;padding:1.35rem 0 1.35rem .75rem}.contact-index{align-self:start;padding-top:.2rem}.contact-kind,.contact-links strong,.contact-hint{grid-column:2}.contact-links svg{grid-area:1/3/span 3;align-self:start}.contact-note{grid-template-columns:1fr;gap:.55rem}.site-footer{padding:5rem 1.1rem 0}.footer-grid{grid-template-columns:1fr 1fr;padding-bottom:2.4rem}.footer-grid>div:last-child{grid-column:1/-1}}@media (max-width:560px){.location{margin-bottom:1.1rem}.hero-actions{flex-direction:column}.button{width:100%}.brief-facts{grid-template-columns:1fr}.brief-facts div{min-height:95px}.profile-strip{grid-template-columns:1fr;gap:1rem}.profile-strip p{font-size:1.5rem}.profile-track-list{grid-template-columns:1fr}.profile-track-list article,.profile-track-list article:first-child,.profile-track-list article:nth-child(3),.profile-track-list article:nth-child(2n){border-right:0;min-height:auto;padding:1.5rem 0}.profile-track-list article:hover li,.profile-track-list article:focus-within li{padding-left:0}.profile-track-list h3{min-height:0;margin:1.3rem 0 .8rem}.profile-track-list ul{margin-top:1.4rem}.stack-board{grid-template-columns:1fr}.stack-board article{border-right:0;border-bottom:1px solid var(--line);padding:1.5rem 0}.stack-board article:last-child{border-bottom:0}.stack-number{margin-bottom:1.2rem}.case-study{grid-template-columns:30px 1fr 24px}.case-detail{grid-column:1/-1;padding-top:1rem}.tag-list{gap:.35rem}.skills-visual{padding:1.25rem}.skills-visual .brief-statement{padding-block:2.2rem}.capability-columns{grid-template-columns:1fr}.capability-columns>div,.capability-columns>div:first-child{border-right:0;border-top:1px solid var(--line);min-height:auto;padding:1.5rem}.building-list a{grid-template-columns:1fr 24px;gap:.6rem 1rem}.building-type,.building-list h3,.building-list p{grid-column:1}.building-list svg{grid-area:1/2/span 3}.development dl div{grid-template-columns:1fr;gap:.35rem}.resume-item{grid-template-columns:30px 1fr;padding:.9rem 0}.resume-item a{grid-column:2;justify-self:start}.contact-links a{padding-left:.55rem}.contact-links strong{font-size:1.15rem}.footer-masthead{flex-direction:column;align-items:flex-start;gap:1.2rem}.footer-grid{grid-template-columns:1fr}.footer-grid>div:last-child{grid-column:auto}.footer-bar{flex-direction:column}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important}.hero-copy,.hero-brief>*,[data-reveal]{transform:none!important}.scroll-progress,.cursor-layer{display:none!important}.hero-headline__word,.hero-headline__word.is-accent:after,.hero-headline__sweep{filter:none!important;opacity:1!important;animation:none!important;transform:none!important}.hero-headline__sweep{display:none}.foundation-toggle svg{transition:none}.footer-pattern__glow{animation:none!important}.section-nav__list a,.section-nav__dot,.section-nav__label{transition:none!important}::view-transition-old(root){animation:none!important}::view-transition-new(root){animation:none!important}.page-enter{animation:none!important}@view-transition{navigation:none}}:root{--a11y-focus:var(--ink)}html .a11y-root[data-a11y-ui],html.dark .a11y-root[data-a11y-ui],html .a11y-root[data-a11y-theme=dark]{--a11y-primary:var(--accent);--a11y-primary-light:color-mix(in srgb, var(--accent) 32%, var(--canvas));--a11y-primary-faint:color-mix(in srgb, var(--accent) 16%, var(--canvas));--a11y-border-primary:var(--ink);--a11y-focus:var(--ink);--a11y-on-primary:var(--accent-ink);--a11y-fab-bg:var(--accent);--a11y-fab-fg:var(--accent-ink)}html .a11y-root[data-a11y-ui] :is(.a11y-chip,.a11y-filter-chip.is-active,.a11y-row.is-active .a11y-row__icon){color:var(--accent-ink)}html .a11y-root[data-a11y-ui] .a11y-fab__badge{color:var(--ink);background:var(--canvas)}.site-root{min-height:100%}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.locale-switcher{color:var(--ink-2);font-size:.78rem;font-weight:700;text-decoration:none}:is(.locale-switcher:hover,.locale-switcher:focus-visible){color:var(--ink)}.chat-launcher{z-index:60;background:var(--accent);height:3.5rem;color:var(--accent-ink);cursor:pointer;border:0;border-radius:999px;align-items:center;gap:.55rem;padding:0 1.15rem;font-size:.82rem;font-weight:700;display:inline-flex;position:fixed;inset-block-end:2rem;inset-inline-end:6.25rem;box-shadow:0 10px 25px #0000002e}body:has(.chat-panel-root) .a11y-fab{visibility:hidden}:is(.chat-launcher:hover,.chat-launcher:focus-visible){outline:2px solid var(--ink);outline-offset:2px}.chat-launcher__label{text-overflow:ellipsis;white-space:nowrap;max-width:10rem;overflow:hidden}.chat-panel-root{z-index:80;justify-content:flex-end;display:flex;position:fixed;inset:0}.chat-panel__backdrop{background:color-mix(in srgb, var(--ink) 42%, transparent);cursor:pointer;border:0;animation:.28s cubic-bezier(.2,.75,.2,1) both chat-fade-in;position:absolute;inset:0}.chat-panel{z-index:1;background:var(--canvas);width:min(100vw,28rem);min-width:0;height:100%;color:var(--ink);border-inline-start:3px solid var(--accent);box-shadow:-16px 0 48px color-mix(in srgb, var(--ink) 16%, transparent);flex-direction:column;animation:.36s cubic-bezier(.2,.75,.2,1) both chat-panel-in;display:flex;position:relative;overflow:hidden}.chat-panel-root.is-closing .chat-panel__backdrop{animation:.22s both chat-fade-out}.chat-panel-root.is-closing .chat-panel{animation:.24s cubic-bezier(.2,.75,.2,1) both chat-panel-out}[dir=rtl] .chat-panel{animation-name:chat-panel-in-rtl}[dir=rtl] .chat-panel-root.is-closing .chat-panel{animation-name:chat-panel-out-rtl}[dir=rtl] .chat-panel{box-shadow:12px 0 40px color-mix(in srgb, var(--ink) 12%, transparent)}.chat-panel__toolbar{border-block-end:1px solid var(--line);background:color-mix(in srgb, var(--accent) 8%, var(--canvas));justify-content:space-between;align-items:center;gap:.75rem;padding:.85rem 1rem;display:flex}.chat-panel__brand{align-items:center;gap:.45rem;min-width:0;display:inline-flex}.chat-panel__brand-name{letter-spacing:-.02em;white-space:nowrap;text-overflow:ellipsis;font-size:.88rem;font-weight:800;overflow:hidden}.chat-panel__toolbar-actions{flex-shrink:0;align-items:center;gap:.55rem;display:inline-flex}.chat-panel__full{color:var(--ink-2);white-space:nowrap;font-size:.74rem;font-weight:700;text-decoration:none}:is(.chat-panel__full:hover,.chat-panel__full:focus-visible){color:var(--ink)}.chat-panel__close{border:1px solid var(--line);width:2.25rem;height:2.25rem;color:var(--ink);cursor:pointer;background:0 0;border-radius:.4rem;justify-content:center;align-items:center;transition:background-color .16s,border-color .16s;display:inline-flex}.chat-panel__close:hover{border-color:var(--ink);background:color-mix(in srgb, var(--accent) 12%, transparent)}.chat-conversation{flex-direction:column;flex:1;gap:.9rem;min-width:0;min-height:0;padding:1rem 1.1rem 1.15rem;display:flex;overflow:hidden}.chat-conversation--compact{height:calc(100% - 3.25rem)}.chat-conversation__header{flex-shrink:0;justify-content:space-between;align-items:flex-start;gap:.75rem;display:flex}.chat-conversation__product{letter-spacing:-.02em;flex-wrap:wrap;align-items:center;gap:.45rem;margin:0;font-size:1.05rem;font-weight:800;display:inline-flex}.chat-beta-tag{border:1px solid var(--ink);background:var(--accent);color:var(--accent-ink);letter-spacing:.07em;text-transform:uppercase;box-shadow:0 1px 0 color-mix(in srgb, var(--ink) 12%, transparent);border-radius:.28rem;flex-shrink:0;align-items:center;padding:.14rem .42rem;font-size:.58rem;font-weight:800;line-height:1.15;display:inline-flex}.chat-conversation__identity{color:var(--ink-2);-webkit-line-clamp:3;-webkit-box-orient:vertical;margin:.4rem 0 0;font-size:.74rem;line-height:1.45;display:-webkit-box;overflow:hidden}.chat-conversation__reset{border:1px solid var(--line);color:var(--ink-2);cursor:pointer;background:0 0;border-radius:.4rem;flex-shrink:0;padding:.4rem .7rem;font-size:.72rem;font-weight:700;transition:border-color .16s,color .16s,background-color .16s}.chat-conversation__reset:hover{border-color:var(--ink);color:var(--ink);background:color-mix(in srgb, var(--accent) 10%, transparent)}.chat-conversation__mode-hint,.chat-conversation__mock,.chat-conversation__empty{color:var(--ink-2);flex-shrink:0;margin:0;font-size:.76rem;line-height:1.45}.chat-conversation__mock{border-inline-start:3px solid var(--accent);background:color-mix(in srgb, var(--accent) 14%, var(--canvas));border-radius:0 .35rem .35rem 0;padding:.55rem .7rem}.chat-conversation__messages{overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:color-mix(in srgb, var(--ink) 22%, transparent) transparent;flex-direction:column;flex:1;gap:.85rem;min-width:0;min-height:0;padding:.35rem .15rem .55rem;display:flex;overflow:hidden auto}.chat-conversation__messages::-webkit-scrollbar{width:6px}.chat-conversation__messages::-webkit-scrollbar-thumb{background:color-mix(in srgb, var(--ink) 22%, transparent);border-radius:999px}.chat-conversation__messages::-webkit-scrollbar-track{background:0 0}.mode-switcher{flex-wrap:wrap;flex-shrink:0;gap:.35rem;display:flex}.mode-switcher__btn{border:1px solid var(--line);color:var(--ink-2);cursor:pointer;background:0 0;border-radius:.4rem;padding:.38rem .7rem;font-size:.72rem;font-weight:700;transition:background-color .16s,border-color .16s,color .16s}.mode-switcher__btn:hover{border-color:color-mix(in srgb, var(--ink) 35%, var(--line));color:var(--ink)}.mode-switcher__btn.is-active{background:var(--accent);border-color:var(--ink);color:var(--accent-ink)}.chat-message{flex-direction:column;gap:.45rem;width:fit-content;min-width:0;max-width:100%;animation:.34s cubic-bezier(.2,.75,.2,1) both chat-rise;display:flex}.chat-message--user{align-self:flex-end;align-items:flex-end;max-width:88%}.chat-message--assistant{align-self:flex-start;align-items:stretch;max-width:100%}.chat-message__bubble{box-sizing:border-box;white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word;border-radius:.85rem;min-width:0;max-width:100%;padding:.75rem .95rem;font-size:.9rem;line-height:1.55;overflow-x:hidden}.chat-message__bubble--rich{white-space:normal}.chat-message__bubble--rich p{overflow-wrap:anywhere;margin:0 0 .65rem}.chat-message__bubble--rich p:last-child{margin-bottom:0}.chat-message__bubble--rich ul{margin:.35rem 0 .65rem;padding-inline-start:1.15rem}.chat-message__bubble--rich li{overflow-wrap:anywhere;margin:.25rem 0}.chat-message__bubble--rich a{color:inherit;text-underline-offset:2px;overflow-wrap:anywhere;word-break:break-word;text-decoration:underline}.chat-message__bubble--rich strong{font-weight:800}.chat-message--user .chat-message__bubble{background:var(--ink);color:var(--canvas);border-end-end-radius:.28rem}.chat-message--assistant .chat-message__bubble{background:color-mix(in srgb, var(--accent) 14%, var(--canvas));border:1px solid color-mix(in srgb, var(--accent) 28%, var(--line));border-end-start-radius:.28rem}.chat-typing{align-items:center;gap:.28rem;min-width:3.2rem;min-height:1.35rem;display:inline-flex}.chat-typing span{background:var(--ink);border-radius:999px;width:.38rem;height:.38rem;animation:.9s cubic-bezier(.2,.75,.2,1) infinite chat-dot}.chat-typing span:nth-child(2){animation-delay:.12s}.chat-typing span:nth-child(3){animation-delay:.24s}.chat-message__sources{width:100%;min-width:0;animation:.28s cubic-bezier(.2,.75,.2,1) both chat-rise}.chat-message__sources-label{text-transform:uppercase;letter-spacing:.05em;color:var(--ink-2);margin:0 0 .35rem;font-size:.66rem;font-weight:700}.chat-message__sources-list{flex-direction:column;gap:.4rem;min-width:0;display:flex}.source-card{border:1px solid var(--line);background:var(--canvas);color:inherit;border-radius:.45rem;gap:.2rem;min-width:0;max-width:100%;padding:.55rem .7rem;font-size:.75rem;text-decoration:none;transition:border-color .16s,background-color .16s;display:grid;position:relative;overflow:hidden}a.source-card:hover{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 8%, var(--canvas))}.source-card__title{overflow-wrap:anywhere;font-weight:700}.source-card__snippet{color:var(--ink-2);overflow-wrap:anywhere;-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.source-card__path{color:var(--ink-2);text-overflow:ellipsis;white-space:nowrap;font-family:ui-monospace,monospace;font-size:.66rem;overflow:hidden}.source-card__icon{position:absolute;inset-block-start:.55rem;inset-inline-end:.55rem}.suggested-prompts__label{color:var(--ink-2);margin:0 0 .4rem;font-size:.72rem;font-weight:700}.suggested-prompts__list{flex-wrap:wrap;gap:.4rem;margin:0;padding:0;list-style:none;display:flex}.suggested-prompts{animation:.32s cubic-bezier(.2,.75,.2,1) both chat-rise}.suggested-prompts__btn{border:1px solid var(--line);color:var(--ink);cursor:pointer;text-align:start;background:0 0;border-radius:.4rem;padding:.45rem .7rem;font-size:.78rem;transition:border-color .18s,background-color .18s,transform .18s}.suggested-prompts__btn:hover{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 12%, transparent);transform:translateY(-1px)}.suggested-prompts__btn:focus-visible{outline:2px solid var(--ink);outline-offset:2px}.chat-captcha__note{color:var(--muted,var(--ink));margin:.75rem 0 0;font-size:.78rem;line-height:1.4}.chat-captcha__note a{color:inherit}.grecaptcha-badge{visibility:hidden}.chat-captcha__error{color:#9b2c2c;margin:.4rem 0 0;font-size:.9rem}.chat-input{border-block-start:1px solid var(--line);flex-shrink:0;gap:.55rem;margin-block-start:auto;padding-block-start:.75rem;transition:opacity .2s;display:grid}.chat-input.is-loading .chat-input__field{border-color:color-mix(in srgb, var(--accent) 55%, var(--line));box-shadow:0 0 0 1px color-mix(in srgb, var(--accent) 28%, transparent)}.chat-input__field{resize:vertical;border:1px solid var(--line);background:var(--canvas);width:100%;min-height:3.2rem;color:var(--ink);font:inherit;border-radius:.5rem;padding:.7rem .85rem;transition:border-color .18s,box-shadow .18s}.chat-input__field:focus-visible{outline:2px solid var(--ink);outline-offset:1px;border-color:var(--ink)}.chat-input__actions{justify-content:flex-end;align-items:center;gap:.75rem;display:flex}.chat-input__status{color:var(--ink-2);align-items:center;gap:.35rem;margin:0;margin-inline-end:auto;font-size:.75rem;font-weight:600;animation:.22s both chat-fade-in;display:inline-flex}.chat-input__send{border:1px solid var(--ink);background:var(--accent);color:var(--accent-ink);cursor:pointer;border-radius:.4rem;justify-content:center;align-items:center;gap:.4rem;padding:.55rem .95rem;font-size:.8rem;font-weight:700;transition:transform .16s,opacity .16s,background-color .16s;display:inline-flex}.chat-input__send:hover:not(:disabled){transform:translateY(-1px)}.chat-input__send:disabled{opacity:.5;cursor:not-allowed}.chat-input__spinner{animation:.7s linear infinite chat-spin}.chat-message.is-pending .chat-message__bubble:not(.chat-typing){animation:1.1s ease-in-out infinite chat-pulse}.ask-ahmed-page{gap:2.5rem;display:grid}.ask-ahmed-page .chat-conversation{border:1px solid var(--line);background:color-mix(in srgb, var(--accent) 6%, var(--canvas));border-radius:.75rem;min-height:28rem}.role-assessment{border:1px solid var(--line);border-radius:.75rem;gap:.85rem;padding:1.25rem;display:grid}.role-assessment h2{margin:0;font-size:1.25rem}.role-assessment__lead{color:var(--ink-2);margin:0}.role-assessment__form{gap:.55rem;display:grid}.role-assessment__label{font-size:.78rem;font-weight:700}.role-assessment__input,.role-assessment__textarea{border:1px solid var(--line);background:var(--canvas);width:100%;color:var(--ink);font:inherit;border-radius:.4rem;padding:.65rem .8rem}.role-assessment__error{color:#a11;margin:0}.role-assessment__fit{text-transform:capitalize;align-items:baseline;gap:.75rem;display:flex}.role-assessment__result h3{margin:1rem 0 .35rem;font-size:.95rem}.role-assessment__citations{gap:.4rem;margin-block-start:.75rem;display:grid}.arch-showcase{gap:2.25rem;display:grid}.arch-section h2{margin:0 0 .55rem;font-size:1.35rem}.arch-section p{color:var(--ink-2);max-width:62ch;margin:0 0 1rem}.arch-diagram__ascii{border:1px solid var(--line);background:color-mix(in srgb, var(--ink) 4%, var(--canvas));color:var(--ink);border-radius:.5rem;margin:0 0 1rem;padding:1rem;font-size:.72rem;line-height:1.35;overflow:auto}.arch-diagram__cards{flex-wrap:wrap;align-items:stretch;gap:.75rem;display:flex}.arch-diagram__box{border:1px solid var(--line);border-inline-start:3px solid var(--accent);background:var(--canvas);border-radius:.45rem;flex:12rem;padding:.85rem 1rem}.arch-diagram__box-title{margin:0 0 .45rem;font-size:.85rem;font-weight:800}.arch-diagram__box ul{color:var(--ink-2);margin:0;padding-inline-start:1.1rem;font-size:.82rem}.arch-diagram__arrow{color:var(--ink-2);align-self:center;font-size:1.4rem}.arch-flow{counter-reset:arch-step;grid-template-columns:repeat(auto-fit,minmax(9rem,1fr));gap:.55rem;margin:0;padding:0;list-style:none;display:grid}.arch-flow li{counter-increment:arch-step;border:1px solid var(--line);border-radius:.4rem;padding:.85rem;font-size:.85rem;font-weight:700}.arch-flow li:before{content:counter(arch-step, decimal-leading-zero);color:var(--ink-2);margin-block-end:.35rem;font-size:.72rem;display:block}.arch-chips{flex-wrap:wrap;gap:.4rem;margin:0;padding:0;list-style:none;display:flex}.arch-chips li{border:1px solid var(--line);background:color-mix(in srgb, var(--accent) 10%, var(--canvas));border-radius:.35rem;padding:.35rem .7rem;font-size:.78rem;font-weight:600}.arch-docs-note{font-size:.85rem}@media (max-width:720px){.chat-launcher__label{display:none}.chat-panel{width:100vw}.site-header .locale-switcher{font-size:.72rem}}@keyframes chat-fade-in{0%{opacity:0}to{opacity:1}}@keyframes chat-fade-out{0%{opacity:1}to{opacity:0}}@keyframes chat-panel-in{0%{opacity:0;transform:translate(1.5rem)}to{opacity:1;transform:none}}@keyframes chat-panel-out{0%{opacity:1;transform:none}to{opacity:0;transform:translate(1.25rem)}}@keyframes chat-panel-in-rtl{0%{opacity:0;transform:translate(-1.5rem)}to{opacity:1;transform:none}}@keyframes chat-panel-out-rtl{0%{opacity:1;transform:none}to{opacity:0;transform:translate(-1.25rem)}}@keyframes chat-rise{0%{opacity:0;transform:translateY(.5rem)}to{opacity:1;transform:none}}@keyframes chat-dot{0%,80%,to{opacity:.35;transform:translateY(0)}40%{opacity:1;transform:translateY(-.16rem)}}@keyframes chat-spin{to{transform:rotate(360deg)}}@keyframes chat-pulse{0%,to{opacity:.88}50%{opacity:1}}@media (prefers-reduced-motion:reduce){.chat-panel,.chat-panel__backdrop,.chat-launcher,.chat-message,.chat-message__bubble,.chat-message__sources,.suggested-prompts,.chat-input__status,.chat-typing span,.chat-input__spinner,.chat-message.is-pending .chat-message__bubble:not(.chat-typing){transition:none!important;animation:none!important}}
