@font-face{font-family:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/be-vietnam-pro-vietnamese-400-normal.CRcqvyg1.woff2)format("woff2"),url(/_astro/be-vietnam-pro-vietnamese-400-normal.BuGn0gnm.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/be-vietnam-pro-latin-ext-400-normal.CiZNW1ec.woff2)format("woff2"),url(/_astro/be-vietnam-pro-latin-ext-400-normal.DYBYyMQr.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/be-vietnam-pro-latin-400-normal.PpnXBOrz.woff2)format("woff2"),url(/_astro/be-vietnam-pro-latin-400-normal.bXgqVju9.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/be-vietnam-pro-vietnamese-500-normal.DREgrEoJ.woff2)format("woff2"),url(/_astro/be-vietnam-pro-vietnamese-500-normal.CfdwVo8-.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/be-vietnam-pro-latin-ext-500-normal.h0Fp6aX0.woff2)format("woff2"),url(/_astro/be-vietnam-pro-latin-ext-500-normal.CK0UkkKf.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/be-vietnam-pro-latin-500-normal.B6LVzGNe.woff2)format("woff2"),url(/_astro/be-vietnam-pro-latin-500-normal.BJkVuMHw.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/be-vietnam-pro-vietnamese-600-normal.nyU-ZL2p.woff2)format("woff2"),url(/_astro/be-vietnam-pro-vietnamese-600-normal.DkpCIyan.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/be-vietnam-pro-latin-ext-600-normal.BNd8euf0.woff2)format("woff2"),url(/_astro/be-vietnam-pro-latin-ext-600-normal.BeUwKxhG.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/be-vietnam-pro-latin-600-normal.BZDkUTrt.woff2)format("woff2"),url(/_astro/be-vietnam-pro-latin-600-normal.5IO4e7bK.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:700;src:url(/_astro/be-vietnam-pro-vietnamese-700-normal.Csr0PCuG.woff2)format("woff2"),url(/_astro/be-vietnam-pro-vietnamese-700-normal.By_5yT39.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:700;src:url(/_astro/be-vietnam-pro-latin-ext-700-normal.C8_gqRu2.woff2)format("woff2"),url(/_astro/be-vietnam-pro-latin-ext-700-normal.4Hjo2OtD.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:700;src:url(/_astro/be-vietnam-pro-latin-700-normal.DlW1Zbsh.woff2)format("woff2"),url(/_astro/be-vietnam-pro-latin-700-normal.C2EtzaOi.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{color-scheme:light;--canvas:#f8f7f4;--surface:#fff;--ink:#080d1c;--muted:#46516a;--subtle:#626b7d;--line:#d9dde4;--line-strong:#c8ced8;--blue:#074fd7;--blue-dark:#043dae;--blue-soft:#edf3ff;--focus:#f0bd2b;--on-accent:#fff;--inverse-surface:#080d1c;--inverse-ink:#fff;--inverse-muted:#aebbd0;--surface-translucent:#ffffff73;--page-pad:clamp(1.25rem, 5.1vw, 5.25rem);--measure-prose:70ch;--measure-intro:54ch;font-synthesis:none;color:var(--ink);background:var(--canvas);text-rendering:optimizelegibility;font-family:Be Vietnam Pro,Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--canvas)}body{background:var(--canvas);margin:0;transition:color .18s,background-color .18s;overflow-x:clip}:is(h1,h2,h3){text-wrap:balance}:is(p,li,dd,blockquote){text-wrap:pretty}button,input,textarea,select{font:inherit}a{color:inherit;text-underline-offset:.2em;text-decoration-thickness:.08em}img,svg{max-width:100%;display:block}:focus-visible{outline:3px solid var(--focus);outline-offset:3px}::selection{color:var(--surface);background:var(--blue)}.skip-link{z-index:100;color:var(--surface);background:var(--ink);border-radius:.4rem;padding:.65rem .9rem;position:fixed;top:.75rem;left:.75rem;transform:translateY(-160%)}.skip-link:focus{transform:translateY(0)}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}:root{--motion-quick:.14s;--motion-routine:.22s;--motion-compose:.52s;--motion-ease-out:cubic-bezier(.16, 1, .3, 1)}.page-brand,.page-header nav>a,.page-footer a,.content-button,.back-link,.text-link,.contact-secondary,.resume-secondary{transition:color var(--motion-quick) ease, background-color var(--motion-quick) ease, border-color var(--motion-quick) ease, transform var(--motion-quick) ease}.page-brand:hover,.page-header nav>a:not(.page-header__cta):hover,.page-footer a:hover{color:var(--blue)}.page-header__cta:hover,.content-button:hover{background:var(--blue-dark)}.page-header__cta:active,.content-button:active,.button:active{transform:scale(.985)}.content-button>span[aria-hidden=true],.button svg,.text-action svg,.view-all svg{transition:transform var(--motion-routine) var(--motion-ease-out)}.content-button:hover>span[aria-hidden=true],.button:hover svg,.text-action:hover svg,.view-all:hover svg{transform:translate(.22rem)}.mobile-nav summary{transition:color var(--motion-quick) ease, background-color var(--motion-quick) ease, border-color var(--motion-quick) ease}.work-card__cover,.media-placeholder,.mini-card{transition:border-color var(--motion-routine) ease, background-color var(--motion-routine) ease}.work-card__cover img,.forums-cover img,.mini-icon{transition:transform .36s var(--motion-ease-out)}@media (hover:hover) and (pointer:fine){.work-card:hover .work-card__cover,.work-card:focus-visible .work-card__cover,.mini-card:hover,.mini-card:focus-visible{border-color:var(--blue)}.work-card:hover .work-card__cover img,.work-card:focus-visible .work-card__cover img{transform:scale(1.018)}.mini-card:hover .mini-icon,.mini-card:focus-visible .mini-icon{transform:translateY(-.18rem)}}@media (prefers-reduced-motion:no-preference){.home .r-hero-role{animation:casebook-band-in .46s 40ms var(--motion-ease-out) both}.home .hero-name{animation:casebook-title-in .62s 90ms var(--motion-ease-out) both}.home .hero-copy{animation:casebook-band-in .52s .19s var(--motion-ease-out) both}.home .r-hero-contact{animation:casebook-action-in .42s .28s var(--motion-ease-out) both}.home .r-hero-resume{animation:casebook-action-in .42s .33s var(--motion-ease-out) both}.home .r-hero-linkedin{animation:casebook-action-in .42s .38s var(--motion-ease-out) both}.home .forums-cover{animation:casebook-artifact-in .76s .18s var(--motion-ease-out) both}.home .forums-cover img{animation:artifact-settle .9s .18s var(--motion-ease-out) both}:not(.home) :is(.page-hero h1,.case-hero h1){animation:casebook-title-in var(--motion-compose) 40ms var(--motion-ease-out) both}.mobile-nav[open] .mobile-nav__panel{animation:menu-unfold .18s var(--motion-ease-out) both;transform-origin:100% 0}.process-list details[open] p{animation:disclosure-in .22s var(--motion-ease-out) both}@keyframes casebook-title-in{0%{opacity:.72;filter:blur(1.5px);transform:translate(-.45rem)}to{opacity:1;filter:blur();transform:translate(0)}}@keyframes casebook-band-in{0%{opacity:.72;transform:translateY(.45rem)}to{opacity:1;transform:translateY(0)}}@keyframes casebook-action-in{0%{opacity:.75;transform:translateY(.35rem)}to{opacity:1;transform:translateY(0)}}@keyframes casebook-artifact-in{0%{opacity:.82;filter:blur(1.5px);transform:translate(.55rem)}to{opacity:1;filter:blur();transform:translate(0)}}@keyframes artifact-settle{0%{transform:scale(1.025)}to{transform:scale(1)}}@keyframes menu-unfold{0%{clip-path:inset(0 0 100% 45% round .65rem);transform:translateY(-.3rem)}to{clip-path:inset(0 round .65rem);transform:translateY(0)}}@keyframes disclosure-in{0%{clip-path:inset(0 0 100%);transform:translateY(-.25rem)}to{clip-path:inset(0);transform:translateY(0)}}}@media (prefers-reduced-motion:reduce){.page-brand,.page-header nav>a,.page-footer a,.content-button,.back-link,.text-link,.contact-secondary,.resume-secondary,.mobile-nav summary{transition:color .12s linear,background-color .12s linear,border-color .12s linear}.content-button>span[aria-hidden=true],.button svg,.text-action svg,.view-all svg,.work-card__cover img,.forums-cover img,.mini-icon{transition:none}:is(.content-button,.button,.text-action,.view-all,.work-card,.mini-card) *{transform:none!important}}@media (width<=760px) and (prefers-reduced-motion:no-preference){.home .forums-cover,.home .forums-cover img{animation:none}}body.image-viewer-open{overflow:hidden}.image-viewer{color:#f7f8fa;opacity:0;overscroll-behavior:contain;background:#07090df0;border:0;width:100dvw;max-width:none;height:100dvh;max-height:none;margin:0;padding:0;transition:opacity .18s;position:fixed;inset:0}.image-viewer[open]{display:block}.image-viewer::backdrop{background:#07090dc2}.image-viewer.is-visible{opacity:1}.image-viewer__shell{width:100%;height:100%;position:relative;overflow:hidden}.image-viewer__controls{z-index:3;top:max(.75rem, env(safe-area-inset-top));right:max(.75rem, env(safe-area-inset-right));background:#0f1218d1;border:1px solid #ffffff24;border-radius:.55rem;align-items:center;gap:.15rem;padding:.2rem;display:flex;position:absolute;box-shadow:0 .6rem 1.5rem #0000003d}.image-viewer__controls button{width:2.75rem;height:2.75rem;color:inherit;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;background:0 0;border:0;border-radius:.38rem;place-items:center;padding:0;transition:background-color .14s,opacity .14s,transform .14s;display:grid}@media (hover:hover) and (pointer:fine){.image-viewer__controls button:hover{background:#ffffff1c}}.image-viewer__controls button:active{transform:scale(.94)}.image-viewer__controls button:disabled{opacity:.28;cursor:default}.image-viewer__controls button:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.image-viewer__controls svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.6px;width:1.15rem;height:1.15rem}.image-viewer__stage{min-width:0;min-height:0;padding:max(4rem, env(safe-area-inset-top)) max(1rem, env(safe-area-inset-right)) max(4.5rem, env(safe-area-inset-bottom)) max(1rem, env(safe-area-inset-left));touch-action:none;place-items:center;display:grid;position:absolute;inset:0;overflow:hidden}.image-viewer__nav{z-index:3;width:3rem;height:3rem;color:inherit;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;background:#0f1218c2;border:1px solid #ffffff24;border-radius:50%;place-items:center;padding:0;transition:background-color .14s,transform .14s,opacity .14s;display:grid;position:absolute;top:50%;transform:translateY(-50%);box-shadow:0 .5rem 1.25rem #00000038}.image-viewer__nav--previous{left:max(1rem, env(safe-area-inset-left))}.image-viewer__nav--next{right:max(1rem, env(safe-area-inset-right))}.image-viewer__nav svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.7px;width:1.25rem;height:1.25rem}.image-viewer__nav:active{transform:translateY(-50%)scale(.94)}.image-viewer__nav:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.image-viewer__caption-wrap{z-index:3;right:max(4.75rem, calc(env(safe-area-inset-right) + 4rem));bottom:max(1rem, env(safe-area-inset-bottom));left:max(4.75rem, calc(env(safe-area-inset-left) + 4rem));pointer-events:none;flex-direction:column;justify-content:center;align-items:center;gap:.2rem;display:flex;position:absolute}.image-viewer__caption-wrap p{color:#f7f8fa;text-align:center;text-wrap:balance;text-shadow:0 1px .75rem #000000e0;max-width:min(72ch,72vw);margin:0 auto;font-size:clamp(.82rem,.76rem + .2vw,.95rem);font-weight:500;line-height:1.45}.image-viewer__caption-wrap span{color:#aeb7c5;font-variant-numeric:tabular-nums;letter-spacing:.04em;flex:none;font-size:.72rem}@media (hover:hover) and (pointer:fine){.image-viewer__nav:hover{background:#ffffff1f}}.image-viewer__stage img{object-fit:contain;user-select:none;cursor:zoom-in;transform-origin:50%;place-self:center;width:auto;min-width:0;max-width:100%;height:auto;min-height:0;max-height:100%;display:block}.image-viewer__stage img.is-animating{transition:transform .26s cubic-bezier(.16,1,.3,1)}.image-viewer__stage.is-manipulating img{cursor:grabbing;will-change:transform}.image-viewer__stage img.is-zoomed{cursor:zoom-out}.image-viewer__message{color:#c3cad5;opacity:0;pointer-events:none;margin:0;font-size:.875rem;position:absolute}.image-viewer.is-loading .image-viewer__message,.image-viewer.is-error .image-viewer__message{opacity:1}.image-viewer.is-loading .image-viewer__stage img,.image-viewer.is-error .image-viewer__stage img{opacity:0}@media (width<=760px){.image-viewer__controls{top:max(.5rem, env(safe-area-inset-top));right:max(.5rem, env(safe-area-inset-right))}.image-viewer__controls button{width:2.65rem;height:2.65rem}.image-viewer__stage{padding:max(3.75rem, env(safe-area-inset-top)) max(.65rem, env(safe-area-inset-right)) max(4.75rem, env(safe-area-inset-bottom)) max(.65rem, env(safe-area-inset-left))}.image-viewer__nav{top:auto;bottom:max(.75rem, env(safe-area-inset-bottom));width:2.75rem;height:2.75rem;transform:none}.image-viewer__nav--previous{left:max(.65rem, env(safe-area-inset-left))}.image-viewer__nav--next{right:max(.65rem, env(safe-area-inset-right))}.image-viewer__nav:active{transform:scale(.94)}.image-viewer__caption-wrap{right:max(4.25rem, calc(env(safe-area-inset-right) + 3.5rem));bottom:max(.85rem, env(safe-area-inset-bottom));left:max(4.25rem, calc(env(safe-area-inset-left) + 3.5rem));gap:.15rem}.image-viewer__caption-wrap p{max-width:none;font-size:.78rem;line-height:1.3}}@media (prefers-reduced-motion:reduce){.image-viewer,.image-viewer__controls button,.image-viewer__nav,.image-viewer__stage img.is-animating{transition-duration:.01ms}}.theme-toggle{border:1px solid var(--line-strong);border-radius:var(--radius-control,.42rem);width:2.75rem;height:2.75rem;color:var(--muted);cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;background:0 0;place-items:center;padding:0;transition:color .14s,border-color .14s,background-color .14s,transform .14s;display:inline-grid}.theme-toggle svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.5px;grid-area:1/1;width:1.05rem;height:1.05rem;transition:opacity .16s,transform .22s cubic-bezier(.16,1,.3,1)}.theme-toggle span{display:none}.theme-toggle__sun{opacity:0;transform:rotate(-22deg)scale(.72)}.theme-toggle__moon,[data-theme=dark] .theme-toggle__sun{opacity:1;transform:rotate(0)scale(1)}[data-theme=dark] .theme-toggle__moon{opacity:0;transform:rotate(22deg)scale(.72)}@media (hover:hover) and (pointer:fine){.theme-toggle:hover{border-color:var(--blue);color:var(--blue);background:var(--blue-soft)}}.theme-toggle:active{transform:scale(.96)}.theme-toggle--menu{display:none}:root[data-theme=dark]{color-scheme:dark;--canvas:#0f1218;--surface:#171b24;--ink:#f3f5f8;--muted:#b7c0cf;--subtle:#929dad;--line:#2a303b;--line-strong:#3b4452;--blue:#78a7ff;--blue-dark:#9bbcff;--blue-soft:#18243a;--focus:#f5c95c;--on-accent:#07111f;--inverse-surface:#080b11;--inverse-ink:#f7f8fa;--inverse-muted:#adb8c8;--surface-translucent:#171b24b8}[data-theme=dark] .comp-frame{background:var(--canvas)}[data-theme=dark] :is(.mini-card,.media-placeholder){border-color:var(--line-strong);background:var(--surface)}[data-theme=dark] :is(.mini-placeholder,.mini-placeholder--academy){border-color:var(--line-strong);background:#121722}[data-theme=dark] :is(.mini-window,.mini-lesson){border-color:var(--line-strong);background:#202633}[data-theme=dark] :is(.mini-chip,.mini-shape,.mini-portrait){background:#303a4c}[data-theme=dark] .media-placeholder__rail{border-color:var(--line);background:#ffffff08}[data-theme=dark] .media-placeholder__block{background:#2a3342}[data-theme=dark] .media-placeholder__chrome span{background:#596475}[data-theme=dark] .media-placeholder__caption{border-color:var(--line-strong);color:var(--ink);background:#171b24f0}[data-theme=dark] .case-note{color:var(--muted);border-color:#31466d}[data-theme=dark] .forums-case{background:var(--canvas)}[data-theme=dark] .forums-case .section-afterword{color:var(--ink)}[data-theme=dark] .forums-case :is(.story-index,.scope-line span,.decision-number,.decision strong,.launch-readiness span,.caia-flow span,.caia-principle strong,.recirculation-loop span,.launch-results strong){color:var(--blue)!important}[data-theme=dark] .forums-case .story-copy--lead p:first-child:first-letter{color:var(--blue)}[data-theme=dark] .forums-case :is(.caia-principle,.launch-readiness>div:first-child,.launch-results){border-color:var(--blue)}[data-theme=dark] .case-chapters.is-stuck{box-shadow:0 .75rem 1.75rem -1.5rem #000c}@media (width<=760px){.theme-toggle--header{display:none}.theme-toggle--menu{border:0;border-radius:.35rem;justify-content:flex-start;gap:.75rem;width:100%;height:auto;min-height:2.75rem;padding:0 .8rem;font-size:.9rem;font-weight:600;display:flex}.theme-toggle--menu span{display:block}}@media (prefers-reduced-motion:reduce){body,.theme-toggle,.theme-toggle svg{transition-duration:.01ms}}.page-header{z-index:30;min-height:4.5rem;padding-left:max(var(--page-pad), env(safe-area-inset-left));padding-right:max(var(--page-pad), env(safe-area-inset-right));border-bottom:1px solid var(--line);background:var(--canvas);justify-content:space-between;align-items:center;display:flex;position:relative}.page-brand{letter-spacing:-.04em;align-items:center;min-height:2.75rem;font-size:1.15rem;font-weight:700;text-decoration:none;display:flex}.page-header nav,.page-footer nav{align-items:center;gap:clamp(1rem,2.5vw,2rem);display:flex}.mobile-nav{display:none;position:relative}.mobile-nav summary{border:1px solid var(--line-strong);min-height:2.75rem;color:var(--ink);background:var(--surface);cursor:pointer;border-radius:.42rem;align-items:center;padding:0 .85rem;font-size:.82rem;font-weight:650;list-style:none;display:flex}.mobile-nav summary::-webkit-details-marker{display:none}.mobile-nav[open] summary{color:var(--blue);background:var(--blue-soft);border-color:#a9c2f2}.mobile-nav__panel{z-index:20;border:1px solid var(--line-strong);background:var(--surface);border-radius:.65rem;width:12rem;padding:.45rem;display:grid;position:absolute;top:calc(100% + .65rem);right:0;box-shadow:0 16px 40px #171f311f}.mobile-nav:not([open]) .mobile-nav__panel{display:none}.mobile-nav__panel a{border-radius:.35rem;align-items:center;min-height:2.75rem;padding:0 .8rem;font-size:.9rem;font-weight:600;text-decoration:none;display:flex}.mobile-nav__panel a:hover,.mobile-nav__panel a[aria-current=page]{color:var(--blue);background:var(--blue-soft)}.page-header nav a,.page-footer a{color:var(--ink);font-size:.88rem;font-weight:500;text-decoration:none}.page-header nav>a:not(.page-header__cta){align-items:center;min-height:2.75rem;display:flex}.page-header nav a[aria-current=page]{color:var(--blue)}.page-header .page-header__cta{color:var(--on-accent);background:var(--blue);border-radius:.42rem;padding:.72rem 1.05rem;font-weight:600}.page-header .page-header__cta[aria-current=page]{color:var(--on-accent);background:var(--blue-dark)}.content-shell{width:min(100% - 2.5rem,76rem);margin-inline:auto}.narrow-shell{width:min(100% - 2.5rem,48rem);margin-inline:auto}.section-label{color:var(--subtle);letter-spacing:.2em;text-transform:uppercase;margin:0 0 1rem;font-size:.7rem;font-weight:700}.content-button{min-height:3.25rem;color:var(--on-accent);background:var(--blue);border-radius:.42rem;align-items:center;gap:1.2rem;padding:0 1.4rem;font-size:.95rem;font-weight:600;text-decoration:none;display:inline-flex}.text-link{min-height:2.75rem;color:var(--blue);align-items:center;font-weight:600;display:inline-flex}.page-hero{padding:clamp(5rem,10vw,9rem) 0 clamp(4rem,8vw,7rem)}.page-hero h1,.case-hero h1{letter-spacing:-.04em;overflow-wrap:break-word;max-width:15ch;margin:0;font-size:clamp(3.25rem,7vw,6rem);line-height:.96}.page-hero__intro{max-width:var(--measure-intro);color:var(--muted);margin:2rem 0 0;font-size:clamp(1.15rem,2vw,1.45rem);line-height:1.55}.about-hero{grid-template-columns:minmax(0,1.45fr) minmax(15rem,.55fr);align-items:center;gap:clamp(3rem,8vw,8rem);display:grid}.about-portrait{margin:0}.about-portrait__frame{aspect-ratio:1;border-radius:.8rem;overflow:hidden}.about-portrait__image{object-fit:cover;object-position:50% 38%;width:100%;height:100%;display:block}.about-portrait figcaption{color:var(--subtle);margin-top:.75rem;font-size:.72rem;line-height:1.5}.contact-hero{min-height:calc(100svh - 8rem);padding-bottom:clamp(5rem,10vw,9rem)}.contact-hero__action{flex-wrap:wrap;align-items:center;gap:1rem 1.25rem;margin-top:2rem;display:flex}.contact-secondary,.resume-secondary{min-height:2.75rem;color:var(--blue);align-items:center;gap:.4rem;font-weight:650;text-decoration:none;display:inline-flex}.contact-secondary:hover,.resume-secondary:hover{text-decoration:underline}.contact-availability{max-width:42rem;color:var(--subtle);margin:2.5rem 0 0;font-size:.78rem;line-height:1.6}.resume-actions{flex-wrap:wrap;align-items:center;gap:1rem 1.5rem;margin-top:2rem;display:flex}.resume-format{color:var(--subtle);margin:1rem 0 0;font-size:.78rem}.resume-snapshot>h2{max-width:18ch}.resume-experience{border-top:1px solid var(--line-strong);margin-top:clamp(3rem,6vw,5rem)}.resume-role{border-bottom:1px solid var(--line);grid-template-columns:minmax(12rem,.65fr) minmax(0,1.35fr);gap:clamp(2rem,6vw,6rem);padding:clamp(2rem,4vw,3.5rem) 0;display:grid}.resume-role__meta p{margin:0;font-weight:700}.resume-role__meta span{color:var(--subtle);margin-top:.5rem;font-size:.78rem;line-height:1.5;display:block}.resume-role__body h3{letter-spacing:-.03em;margin:0;font-size:clamp(1.45rem,2.5vw,2rem);line-height:1.12}.resume-role__body>p,.resume-role__body li{color:var(--muted);line-height:1.7}.resume-role__body>p{margin:1rem 0 0}.resume-role__body ul{gap:.7rem;margin:1.25rem 0 0;padding-left:1.15rem;display:grid}.media-placeholder{aspect-ratio:var(--media-ratio);border:1px solid var(--line-strong);background:#f8fafc;border-radius:.8rem;display:grid;position:relative;overflow:hidden;box-shadow:0 24px 70px #171f3112}.media-placeholder--blue{background:#eff6ff}.media-placeholder--lavender{background:#f4f1ff}.media-placeholder__chrome{border-bottom:1px solid var(--line);align-items:center;gap:.35rem;height:2.5rem;padding:0 1rem;display:flex}.media-placeholder__chrome span{background:#c8d0dc;border-radius:50%;width:.45rem;height:.45rem}.media-placeholder__canvas{min-height:0;position:relative}.media-placeholder__rail{background:#ffffff73;border-right:1px solid #dce2eb;width:18%;position:absolute;inset:0 auto 0 0}.media-placeholder__block{background:#dce4f0;border-radius:.45rem;height:14%;position:absolute;left:24%;right:8%}.media-placeholder__block--a{width:38%;top:13%}.media-placeholder__block--b{top:36%}.media-placeholder__block--c{top:58%}.media-placeholder__caption{background:#ffffffeb;border:1px solid #cbd5e4;border-radius:.5rem;flex-direction:column;gap:.15rem;max-width:18rem;padding:.7rem .85rem;font-size:.72rem;display:flex;position:absolute;bottom:1rem;right:1rem}.media-placeholder__caption span{color:var(--muted)}.page-section{border-top:1px solid var(--line);padding:clamp(4rem,8vw,7rem) 0}.page-section h2,.case-body h2,.case-next h2{letter-spacing:-.04em;max-width:17ch;margin:0;font-size:clamp(2.2rem,5vw,4.25rem);line-height:1.02}.page-section__lead{max-width:44rem;color:var(--muted);margin:1.5rem 0 0;font-size:1.08rem;line-height:1.65}.evidence-grid,.work-grid,.principles-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-top:3rem;display:grid}.evidence-card,.principle-card{border:1px solid var(--line);background:var(--surface-translucent);border-radius:.65rem;padding:1.5rem}.evidence-card strong{color:var(--blue);letter-spacing:-.04em;font-size:2.5rem;line-height:1;display:block}.evidence-card span,.principle-card p{color:var(--muted);line-height:1.55}.principle-card h3{margin:0 0 .7rem;font-size:1.1rem}.work-card{border:1px solid var(--line);min-width:0;color:inherit;background:var(--surface);transition:border-color var(--motion-routine) var(--motion-ease-out), transform var(--motion-routine) var(--motion-ease-out);border-radius:.8rem;grid-template-columns:minmax(0,1.45fr) minmax(20rem,.75fr);text-decoration:none;display:grid;overflow:hidden}.work-card h2{letter-spacing:-.04em;max-width:14ch;margin:.75rem 0 0;font-size:clamp(2rem,3.2vw,3.25rem);line-height:1.02}.work-card__meta{color:var(--subtle);letter-spacing:.14em;text-transform:uppercase;margin:0;font-size:.72rem;font-weight:700}.work-card .work-card__description{max-width:33rem;color:var(--muted);margin:1.25rem 0 0;font-size:clamp(.95rem,1.15vw,1.08rem);line-height:1.55}.work-card__copy{border-left:1px solid var(--line);background:var(--surface);flex-direction:column;justify-content:center;align-items:flex-start;min-width:0;padding:clamp(2rem,4vw,4.5rem);display:flex}.work-card__facts{border-top:1px solid var(--line);color:var(--subtle);flex-wrap:wrap;gap:.55rem 1.25rem;margin:1.75rem 0 0;padding:1.25rem 0 0;font-size:.76rem;font-weight:600;list-style:none;display:flex}.work-card__action{min-height:2.75rem;color:var(--blue);align-items:center;gap:.8rem;margin-top:clamp(2.5rem,5vw,5rem);font-size:.86rem;font-weight:700;display:inline-flex}.work-card__action svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8px;width:1.1rem;height:1.1rem;transition:transform var(--motion-quick) var(--motion-ease-out)}.work-card__action--muted{color:var(--subtle);letter-spacing:.14em;text-transform:uppercase;font-size:.72rem}.work-hero{padding-block:clamp(2.75rem,4.5vw,4.5rem)}.work-hero h1{max-width:15ch;font-size:clamp(3.1rem,5.2vw,4.8rem)}.contact-hero h1{overflow-wrap:normal;text-wrap:balance}.work-section{padding:clamp(3.5rem,6vw,6rem) 0 clamp(6rem,10vw,10rem)}.work-section .work-grid{grid-template-columns:1fr;gap:clamp(1.5rem,3vw,2.5rem);width:min(100% - clamp(2.5rem,10vw,10rem),96rem);margin-top:0}.work-card__cover{background:var(--canvas);border:0;border-radius:0;align-items:center;min-width:0;display:flex;overflow:hidden}.work-card__cover img{object-fit:contain;object-position:center;width:100%;height:auto;padding:0;display:block}.work-card__evidence{min-height:clamp(22rem,32vw,34rem);color:var(--inverse-ink);background:var(--inverse-surface);grid-template-columns:repeat(3,minmax(0,1fr));align-content:center;padding:clamp(2rem,5vw,5rem);display:grid}.work-card__evidence>div{border-left:1px solid #fff3;min-width:0;padding:1.5rem}.work-card__evidence>div:first-child{border-left:0;padding-left:0}.work-card__evidence strong,.work-card__evidence span{display:block}.work-card__evidence strong{color:#78a6ff;letter-spacing:-.04em;font-size:clamp(2.25rem,4vw,4.5rem);line-height:1}.work-card__evidence span{color:var(--inverse-muted);margin-top:.65rem;font-size:.78rem;line-height:1.45}@media (hover:hover) and (pointer:fine){.work-card:hover{border-color:var(--blue);transform:translateY(-3px)}.work-card:hover .work-card__action svg{transform:translate(.22rem)}}@media (width<=900px){.work-card{grid-template-columns:1fr}.work-card__copy{border-top:1px solid var(--line);border-left:0;min-height:21rem}.work-card__evidence{min-height:22rem}}.case-hero{padding:clamp(4rem,9vw,8rem) 0 3rem}.back-link{min-height:2.75rem;color:var(--blue);align-items:center;margin-bottom:4rem;font-size:.88rem;font-weight:600;text-decoration:none;display:inline-flex}.case-hero__summary{max-width:47rem;color:var(--muted);margin:2rem 0 0;font-size:clamp(1.15rem,2vw,1.5rem);line-height:1.55}.case-meta{border-top:1px solid var(--line);grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin:4rem 0 0;padding-top:1.5rem;display:grid}.case-meta dt{color:var(--subtle);letter-spacing:.15em;text-transform:uppercase;font-size:.7rem;font-weight:700}.case-meta dd{margin:.5rem 0 0;line-height:1.45}.case-lead-media{margin-bottom:clamp(4rem,8vw,7rem)}.case-body{grid-template-columns:minmax(13rem,.75fr) minmax(0,1.75fr);gap:clamp(3rem,8vw,8rem);display:grid}.case-body>section{grid-column:2;padding:0 0 clamp(4rem,8vw,7rem)}.case-body>section:before{background:var(--blue);content:"";width:3rem;height:2px;margin-bottom:1.5rem;display:block}.case-body h2{font-size:clamp(2rem,4vw,3.5rem)}.case-body h3{margin:2.5rem 0 .75rem;font-size:1.2rem}.case-body p,.case-body li{color:var(--muted);font-size:1.03rem;line-height:1.72}.case-body ul{padding-left:1.25rem}.case-body .media-placeholder{margin-top:2.5rem}.case-results{grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:2rem;display:grid}.case-results div{border-top:1px solid var(--line);padding-top:1rem}.case-results strong{color:var(--blue);letter-spacing:-.04em;font-size:2.4rem;display:block}.case-results span{color:var(--muted);font-size:.85rem}.case-note{background:var(--blue-soft);color:#34425d;border:1px solid #cfdbf1;border-radius:.4rem;padding:1rem 1.2rem;font-size:.9rem;line-height:1.6}.case-next{border-top:1px solid var(--line);margin-top:1rem;padding-block:clamp(4rem,8vw,7rem)}.case-next .content-button{margin-top:2rem}.page-footer{padding-top:3rem;padding-right:max(var(--page-pad), env(safe-area-inset-right));padding-bottom:max(3rem, env(safe-area-inset-bottom));padding-left:max(var(--page-pad), env(safe-area-inset-left));border-top:1px solid var(--line);grid-template-columns:1.2fr auto;gap:2rem;display:grid}.page-footer p{color:var(--muted);margin:0;font-size:.85rem}.page-footer a{align-items:center;min-height:2.75rem;display:inline-flex}.page-footer__note{grid-column:1/-1}@media (width<=760px){.page-header{min-height:4rem;padding-left:max(1.15rem, env(safe-area-inset-left));padding-right:max(1.15rem, env(safe-area-inset-right))}.page-brand,.page-header__cta{white-space:nowrap}.page-brand{font-size:1rem}.page-header nav>a:not(.page-header__cta){display:none}.page-header nav{gap:.65rem}.mobile-nav{display:block}.content-shell,.narrow-shell{width:min(100% - 2.3rem,76rem)}.page-hero h1,.case-hero h1{font-size:clamp(2.75rem,13.5vw,4.2rem)}.about-hero{grid-template-columns:1fr;gap:3rem}.about-portrait{max-width:24rem}.resume-role{grid-template-columns:1fr;gap:1.5rem}.evidence-grid,.work-grid,.principles-grid,.case-meta,.case-results{grid-template-columns:1fr}.work-card__copy{min-height:0;padding:2rem 1.4rem 2.5rem}.work-card__facts{gap:.5rem 1rem}.work-card__action{margin-top:2rem}.work-card__evidence{grid-template-columns:1fr;min-height:0;padding:2.5rem 1.4rem}.work-card__evidence>div,.work-card__evidence>div:first-child{border-top:1px solid #fff3;border-left:0;padding:1.25rem 0}.work-card__evidence>div:first-child{border-top:0;padding-top:0}.case-body{display:block}.media-placeholder__caption{max-width:none;bottom:.6rem;left:.6rem;right:.6rem}.page-footer{padding-left:max(1.15rem, env(safe-area-inset-left));padding-right:max(1.15rem, env(safe-area-inset-right));grid-template-columns:1fr}.page-footer nav{flex-wrap:wrap}.page-footer__note{grid-column:1}}@media (width<=340px){.page-header{padding-left:max(.75rem, env(safe-area-inset-left));padding-right:max(.75rem, env(safe-area-inset-right))}.page-header nav{gap:.4rem}.mobile-nav summary{padding-inline:.65rem}.page-header .page-header__cta{padding-inline:.8rem}}
