.scroll-world{position:fixed;inset:0;z-index:0;overflow:hidden;pointer-events:none;background:radial-gradient(ellipse 80% 84% at 50% 48%,#1a1a1a 0%,#0d0d0d 52%,transparent 85%),#050505}.scroll-world:before,.scroll-world:after{content:"";position:absolute;inset:0;pointer-events:none}.scroll-world:before{z-index:1;background:radial-gradient(ellipse 95% 88% at 50% 48%,transparent 38%,#00000080 100%)}.scroll-world:after{z-index:2;background:radial-gradient(ellipse 80% 28% at 50% 105%,#a8a8a81a,transparent 72%)}.scroll-world canvas{display:block}@media(max-width:760px){.scroll-world:before{background:linear-gradient(180deg,#05050580,#05050512 45%,#050505ba)}}@media(prefers-reduced-motion:reduce){.scroll-world canvas{opacity:.65}}.spotlight-media .spotlight-media-window .spotlight-recording{position:absolute;inset:0;width:100%;height:100%;opacity:0}.spotlight-media .spotlight-media-window .spotlight-recording.is-ready{opacity:1}.spotlight-play-recording{position:absolute;right:1rem;bottom:1rem;display:inline-flex;align-items:center;gap:.5rem;min-height:40px;padding:.6rem .8rem;border:1px solid #fff8;border-radius:3px;color:#fff;background:#080808e8;font:600 .76rem/1.2 var(--body-font);cursor:pointer}.spotlight-play-recording:hover{background:#222}.spotlight-play-recording:focus-visible{outline:2px solid #fff;outline-offset:3px}.contact-dialog,.resume-page{--utility-ink: #10161a;--utility-paper: #f0ede6;--utility-orange: #f3663e;--utility-rule: #c9c5bb;font-family:var(--body-font, "IBM Plex Sans", Arial, sans-serif)}.utility-kicker{margin:0;font:600 .67rem/1.5 IBM Plex Mono,ui-monospace,monospace;letter-spacing:.14em;text-transform:uppercase}.contact-dialog{width:min(92vw,690px);max-height:min(90vh,920px);padding:clamp(1.3rem,4vw,2.8rem);color:var(--utility-ink);background:var(--utility-paper);border:1px solid var(--utility-ink);border-radius:4px;box-shadow:0 2rem 6rem #0008;overflow-y:auto}.contact-dialog:modal{animation:contact-enter .22s ease-out both}.contact-dialog::backdrop{background:#081014bd;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.contact-heading{display:flex;justify-content:space-between;align-items:start;gap:2rem}.contact-heading .utility-kicker{padding-top:.35rem}.contact-close{width:2.4rem;height:2.4rem;border:1px solid var(--utility-rule);background:transparent;color:var(--utility-ink);cursor:pointer;font-size:1.65rem;line-height:1}.contact-close:hover{background:var(--utility-ink);color:var(--utility-paper)}.contact-dialog h2{max-width:12ch;margin:1.5rem 0 .8rem;font-size:clamp(2.25rem,5vw,4.1rem);font-weight:750;line-height:.98;letter-spacing:-.065em}.contact-description{max-width:45ch;margin-bottom:1.7rem;color:#4d5758;font-size:1rem;line-height:1.6}.contact-fields{display:grid;gap:1rem}.contact-fields label{display:grid;gap:.42rem;font:600 .7rem/1.5 IBM Plex Mono,ui-monospace,monospace;letter-spacing:.04em;text-transform:uppercase}.contact-fields input,.contact-fields textarea{width:100%;min-height:3rem;padding:.75rem .85rem;border:1px solid #909894;border-radius:2px;background:#fffdf8;color:var(--utility-ink);font:400 1rem/1.5 var(--body-font, "IBM Plex Sans", Arial, sans-serif);letter-spacing:0;text-transform:none}.contact-fields textarea{min-height:9rem;resize:vertical}.contact-fields :is(input,textarea):focus-visible,.contact-dialog :is(a,button):focus-visible,.resume-page :is(a,button):focus-visible{outline:2px solid var(--utility-orange);outline-offset:3px}.contact-submit{display:inline-flex;justify-content:space-between;align-items:center;gap:2rem;min-height:3.25rem;margin-top:1.25rem;padding:.75rem 1.15rem;border:1px solid var(--utility-ink);background:var(--utility-orange);color:var(--utility-ink);cursor:pointer;font-weight:750}.contact-submit:hover{background:#ff8967}.contact-submit:disabled{opacity:.6;cursor:wait}.contact-form-note,.contact-direct{font-size:.78rem;line-height:1.6;color:#4d5758}.contact-form-note{margin:.8rem 0 0}.contact-direct{margin:1.75rem 0 0;padding-top:1rem;border-top:1px solid var(--utility-rule)}.contact-direct a{color:var(--utility-ink);text-decoration:underline;text-underline-offset:.2em;overflow-wrap:anywhere}.contact-error{margin:1rem 0 0;padding:.8rem;border:1px solid #b52d28;background:#f6e3df;color:#66231e;font-size:.84rem}.contact-error p{margin-bottom:0}.contact-success{padding:1.4rem;border:1px solid #206a56;background:#e1ebe4;font-size:1rem;line-height:1.6}.resume-page{min-height:100vh;padding-top:76px;background:var(--utility-paper);color:var(--utility-ink)}.resume-skip{position:fixed;z-index:100;top:-5rem;left:1rem;padding:.7rem 1rem;background:var(--utility-orange)}.resume-skip:focus{top:1rem}.utility-header{display:flex;justify-content:space-between;align-items:center;gap:2rem;min-height:76px;padding:1rem clamp(1.25rem,4vw,3.5rem);border-bottom:1px solid var(--utility-rule)}.utility-brand{display:inline-flex;align-items:center;gap:.7rem;font-size:1.6rem;font-weight:800;letter-spacing:-.08em}.utility-brand>span:first-child{color:var(--utility-orange)}.utility-brand>span:last-child{font:800 .72rem/1.3 var(--body-font, "IBM Plex Sans", Arial, sans-serif);letter-spacing:.12em}.utility-header nav{display:flex;gap:clamp(.8rem,2vw,2.5rem);font-size:.78rem;font-weight:700}.utility-header nav a[aria-current]{color:#b34328;text-decoration:underline;text-underline-offset:.4em}.resume-main{width:min(calc(100% - clamp(2rem,8vw,7rem)),1160px);margin-inline:auto;padding:clamp(1rem,2vw,1.75rem) 0 4rem}.resume-intro{display:flex;justify-content:space-between;align-items:center;gap:2rem;padding-bottom:.75rem;border-bottom:1px solid var(--utility-rule)}.resume-intro h1{margin:0;font-size:clamp(2.4rem,3.5vw,3.4rem);line-height:1;letter-spacing:-.055em}.resume-download{display:inline-flex;justify-content:space-between;align-items:center;gap:2rem;padding:.85rem 1rem;background:var(--utility-orange);border:1px solid var(--utility-ink);font-size:.85rem;font-weight:750;white-space:nowrap}.resume-layout{width:min(100%,1000px);margin:1rem auto 0}.resume-viewer{border:1px solid var(--utility-rule);background:#fff}.resume-viewer-toolbar{display:flex;justify-content:space-between;align-items:center;gap:1rem;min-height:3rem;padding:.35rem .7rem;border-bottom:1px solid var(--utility-rule);font-size:.73rem;font-weight:650}.resume-viewer-toolbar>div{display:flex;align-items:center;gap:.3rem}.resume-viewer-toolbar button{display:grid;place-items:center;width:2rem;height:2rem;border:1px solid var(--utility-rule);background:transparent;color:inherit;cursor:pointer}.resume-viewer-toolbar button:disabled{opacity:.35;cursor:default}.resume-viewer-toolbar output{min-width:3.2rem;text-align:center;font-variant-numeric:tabular-nums}.resume-viewer-viewport{position:relative;overflow-x:auto;background:#fff}.resume-viewer-viewport img{display:block;width:100%;height:auto}.resume-page-surface{position:absolute;top:0;left:0;visibility:hidden}.resume-page-surface.is-ready{position:relative;visibility:visible}.resume-page-surface canvas{display:block;max-width:none}.resume-text-layer{position:absolute;inset:0;overflow:clip;line-height:1;letter-spacing:normal;word-spacing:normal;text-align:initial;-webkit-text-size-adjust:none;text-size-adjust:none;--min-font-size: 1;--min-font-size-inv: 1;--text-scale-factor: calc(var(--total-scale-factor) * var(--min-font-size))}.resume-text-layer :is(span,br){position:absolute;color:transparent;white-space:pre;transform-origin:0 0;-webkit-user-select:text;user-select:text;cursor:text}.resume-text-layer>:not(.markedContent),.resume-text-layer .markedContent span:not(.markedContent){--font-height: 0;--scale-x: 1;--rotate: 0deg;font-size:calc(var(--text-scale-factor) * var(--font-height));transform:rotate(var(--rotate)) scaleX(var(--scale-x)) scale(var(--min-font-size-inv))}.resume-text-layer .markedContent{display:contents}.resume-text-layer ::selection{background:#3264b44d;color:transparent}.resume-viewer>p{margin:0;padding:.65rem .75rem;border-top:1px solid var(--utility-rule);font-size:.76rem}@keyframes contact-enter{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@media(max-width:620px){.resume-main{padding-top:1rem}.resume-intro{gap:.75rem}.resume-intro h1{font-size:2rem}.resume-download{gap:.5rem;padding:.6rem .7rem;font-size:.72rem}.contact-dialog{width:min(100vw - 1rem,690px);padding:1rem}.contact-dialog h2{max-width:17ch;margin:.8rem 0 .45rem;font-size:clamp(1.75rem,9vw,2.4rem);line-height:1.02}.contact-description{margin-bottom:.8rem;font-size:.84rem}.contact-fields{gap:.55rem}.contact-fields input{min-height:2.6rem;padding:.5rem .65rem}.contact-fields textarea{min-height:5.5rem;padding:.5rem .65rem}.contact-submit{min-height:2.7rem;margin-top:.75rem}.contact-direct{margin-top:.8rem;padding-top:.6rem}}@media(prefers-reduced-motion:reduce){.contact-dialog:modal{animation:none}}@media print{.utility-header,.resume-intro,.resume-viewer-toolbar{display:none}.resume-main{width:auto;padding:0}.resume-layout{width:100%;margin:0}.resume-viewer{border:0}}.case-study .breadcrumb{padding:1.7rem 0 2.2rem;font:500 .78rem/1.4 var(--body-font, "IBM Plex Sans", Arial, sans-serif);text-transform:none;color:#515b5d}.case-study .breadcrumb a{color:var(--ink)}.case-study .case-hero{grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr);align-items:start;gap:clamp(2rem,5vw,5rem);padding-bottom:clamp(3rem,6vw,6rem)}.case-study .case-category{margin:0 0 1.1rem;color:#9b442f;font-size:.88rem;font-weight:650}.case-study .case-hero h1{max-width:12ch;font:600 clamp(3.4rem,5.5vw,6rem)/.9 var(--display-font, "Barlow Condensed", Arial, sans-serif);letter-spacing:-.035em;text-transform:uppercase}.case-study .case-lead{max-width:38ch;margin:1.35rem 0 0;font-size:clamp(1rem,1.4vw,1.18rem);line-height:1.5}.case-study .case-role{max-width:54ch;margin:2rem 0 0;padding-top:1rem;border-top:1px solid var(--rule);color:#384346;font-size:.86rem;line-height:1.55}.case-study .case-role strong{display:block;margin-bottom:.35rem;color:var(--ink);font-size:.82rem}.case-study .case-actions{gap:.65rem 1.5rem;margin-top:1.5rem;font:650 .88rem/1.5 var(--body-font, "IBM Plex Sans", Arial, sans-serif)}.case-study .case-actions a{text-decoration:underline;text-underline-offset:.3em;text-decoration-thickness:1px;border:0}.case-study .case-actions a:hover,.case-study .case-close a:hover,.case-study .case-footer a:hover{color:#b34328}.case-study .case-hero-preview{min-width:0;margin:0;padding:0;border:0;background:transparent}.case-study .case-hero-preview img{display:block;width:100%;max-height:min(57vw,530px);object-fit:contain;background:#10212a}.case-study .case-hero-preview figcaption{padding:.7rem 0 0;color:#515b5d;font:.7rem/1.5 var(--body-font, "IBM Plex Sans", Arial, sans-serif)}.case-study .case-evidence{padding:2.4rem 0 4.5rem}.case-study .case-evidence>h2{margin:0 0 1.4rem;font:600 clamp(2.2rem,3.4vw,3.6rem)/.95 var(--display-font, "Barlow Condensed", Arial, sans-serif);letter-spacing:-.02em;text-transform:uppercase}.case-study .case-evidence-grid{grid-template-columns:minmax(0,1fr) minmax(16rem,.36fr);align-items:start;gap:2rem}.case-study .case-evidence-grid .rag-trace{min-height:400px}.case-study .case-evidence-grid .evidence-caption{max-width:32ch;margin:0;padding:1rem 0;color:#384346;font:.9rem/1.55 var(--body-font, "IBM Plex Sans", Arial, sans-serif)}.case-study .case-gallery{grid-template-columns:1fr}.case-study .case-gallery.has-video{grid-template-columns:1fr 1fr}.case-study .case-gallery figure:first-child,.case-study .case-video{grid-column:auto}.case-study .case-gallery figure img{width:100%;max-height:540px;object-fit:contain;background:#10212a}.case-study .case-gallery figure:nth-child(2) img{max-height:540px}.case-study .case-gallery video{display:block;width:100%;max-height:540px}.case-study .case-evidence figcaption{padding:.65rem 0 0;color:#515b5d;font:.72rem/1.5 var(--body-font, "IBM Plex Sans", Arial, sans-serif)}.case-study .case-image-tabs{gap:.25rem;padding:.45rem}.case-study .case-image-tabs button{min-height:2.5rem;padding:.5rem .8rem;font:600 .8rem/1.3 var(--body-font, "IBM Plex Sans", Arial, sans-serif);cursor:pointer}.case-study .case-ethmoid figure{margin:0}.case-study .case-ethmoid figcaption{color:#d1e0e2}.case-study .case-detail-grid{gap:3rem 4rem;padding:3rem 0 4.5rem}.case-study .case-detail-grid section{padding-top:1rem;border-top:1px solid var(--rule)}.case-study .case-detail-grid h2{margin:0 0 .9rem;font:600 clamp(1.7rem,2.5vw,2.45rem)/1 var(--display-font, "Barlow Condensed", Arial, sans-serif);letter-spacing:-.02em;text-transform:uppercase}.case-study .case-detail-grid p,.case-study .case-detail-grid li{max-width:68ch;font-size:.92rem;line-height:1.6}.case-study .case-detail-grid li{margin-bottom:.5rem}.case-study .case-limit{margin-top:1rem;padding-top:.9rem}.case-study .case-stack{display:grid;grid-template-columns:12rem 1fr;align-items:start;gap:1rem;padding:2rem 0 3rem}.case-study .case-stack h2{margin:0;font:600 2rem/1 var(--display-font, "Barlow Condensed", Arial, sans-serif);letter-spacing:-.02em;text-transform:uppercase}.case-study .case-stack ul{gap:.4rem 1rem}.case-study .case-stack li{padding:.15rem 0;border:0;border-bottom:1px solid var(--rule);font:600 .78rem/1.5 var(--body-font, "IBM Plex Sans", Arial, sans-serif)}.case-study .case-close{align-items:center;padding:2.5rem 0 5rem}.case-study .case-close>div{display:grid;gap:.35rem}.case-study .case-close span{color:#515b5d;font-size:.76rem}.case-study .case-close a{font:600 clamp(1.8rem,2.8vw,3rem)/1 var(--display-font, "Barlow Condensed", Arial, sans-serif);letter-spacing:-.02em;text-transform:uppercase}.case-study .case-close button{min-height:2.8rem;padding:.7rem 1rem;font:600 .84rem var(--body-font, "IBM Plex Sans", Arial, sans-serif);cursor:pointer}.case-study :is(a,button):focus-visible{outline:2px solid #ba4c2e;outline-offset:4px}.case-study .case-footer{font:500 .78rem/1.5 var(--body-font, "IBM Plex Sans", Arial, sans-serif)}.case-not-found{color:var(--ink)}@media(max-width:900px){.case-study .case-hero{grid-template-columns:1fr;gap:2rem}.case-study .case-hero h1{max-width:16ch}.case-study .case-hero-preview img{max-height:460px}.case-study .case-evidence-grid{grid-template-columns:1fr;gap:.4rem}.case-study .case-evidence-grid .evidence-caption{max-width:64ch}}@media(max-width:760px){.case-study .breadcrumb{padding:1.25rem 0 1.75rem}.case-study .case-hero h1{font-size:clamp(3.1rem,11vw,5rem)}.case-study .case-hero-preview img{max-height:350px}.case-study .case-gallery.has-video,.case-study .case-detail-grid,.case-study .case-stack{grid-template-columns:1fr}.case-study .case-evidence{padding-bottom:3rem}.case-study .case-detail-grid{gap:1.8rem;padding:2.5rem 0 3rem}.case-study .case-stack{gap:.7rem}.case-study .case-close{align-items:start;gap:1.5rem}}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-latin-400-normal-DMJ8VG8y.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-400-normal-CvHOgSBP.woff) format("woff")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-latin-500-normal-DSY6xOcd.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-500-normal-CB9ihrfo.woff) format("woff")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-mono-latin-600-normal-BgSNZQsw.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-600-normal-DWFSQ4vo.woff) format("woff")}:root{font-family:IBM Plex Sans,sans-serif;color:#10161a;background:#10161a;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;--ink: #10161a;--paper: #f0ede6;--orange: #f3663e;--blue: #b8dfe8;--deep-blue: #17323d;--rule: #c9c5bb;--mono: "IBM Plex Mono", ui-monospace, monospace}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px}button,input,textarea{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}a:hover,button:hover{text-decoration-color:currentColor}:is(a,button,input,textarea,video):focus-visible{outline:2px solid var(--orange);outline-offset:4px}img,video{display:block;max-width:100%}img{height:auto}figure,dl,dd,h1,h2,h3,p{margin:0}p{line-height:1.65}section[id],footer[id]{scroll-margin-top:78px}::selection{background:var(--orange);color:var(--ink)}.page-wrap{width:min(calc(100% - 112px),1320px);margin-inline:auto}.skip-link{position:fixed;z-index:200;top:-5rem;left:1rem;padding:.8rem 1rem;color:var(--ink);background:var(--orange);font-weight:800}.skip-link:focus{top:.8rem}.eyebrow{font:600 .69rem/1.5 var(--mono);letter-spacing:.09em;text-transform:uppercase}.eyebrow-square{display:inline-block;width:.48rem;height:.48rem;margin-right:.4rem;background:var(--orange);vertical-align:middle}.button{display:inline-flex;justify-content:space-between;align-items:center;gap:1.5rem;min-height:3rem;padding:.78rem 1rem;border:1px solid currentColor;border-radius:0;font-size:.8rem;font-weight:800;transition:background-color .18s ease,color .18s ease,transform .18s ease}.button:active{transform:scale(.98)}.button-orange{color:var(--ink);border-color:var(--orange);background:var(--orange)}.button-orange:hover{background:#ff8868}.button-outline-light{color:var(--paper);background:transparent;border-color:#919a9c}.button-outline-light:hover{background:var(--paper);color:var(--ink)}.button-dark{color:var(--paper);background:var(--ink);border-color:var(--ink)}.button-dark:hover{background:#2b363a}.site-header{position:fixed;z-index:70;inset:0 0 auto;display:flex;align-items:center;justify-content:space-between;height:76px;padding-inline:max(20px,calc((100vw - 1320px)/2));color:var(--paper);background:#10161af5;border-bottom:1px solid #ffffff2c;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.brand{font-size:1.05rem;font-weight:800;letter-spacing:-.055em;white-space:nowrap}.brand-dot{margin-left:.16rem;color:var(--orange);font-size:.65rem;vertical-align:middle}.primary-nav{display:flex;align-items:center;gap:clamp(1.2rem,2.6vw,2.4rem);font-size:.78rem;font-weight:700}.primary-nav a:hover{text-decoration:underline;text-underline-offset:.5rem}.primary-nav a[aria-current]{color:var(--orange)}.nav-contact{padding:.7rem 1rem;color:inherit;background:none;border:1px solid #ffffff9c;font-size:inherit;font-weight:700}.nav-contact:hover{color:var(--ink);background:var(--paper)}.menu-toggle{display:none;color:var(--paper);background:transparent;border:0;font:600 .7rem var(--mono);text-transform:uppercase}.home-hero{position:relative;min-height:900px;padding:76px 0 34px;overflow:hidden;color:var(--paper);background:var(--ink)}.hero-grid{position:absolute;inset:76px 0 20% 55%;opacity:.28;background-image:linear-gradient(#82909740 1px,transparent 1px),linear-gradient(90deg,#82909740 1px,transparent 1px);background-size:38px 38px}.signal-svg{position:absolute;pointer-events:none;fill:none;stroke:var(--orange);stroke-width:3px;stroke-linejoin:round;stroke-linecap:round}.hero-signal{z-index:1;top:76px;left:0;width:100%;height:830px}.hero-main{position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);align-items:center;min-height:630px;gap:2rem}.hero-copy{padding:3.5rem 0 2rem}.hero-copy .eyebrow{margin-bottom:2rem;color:#fbf2e8}.hero-copy h1{max-width:9ch;font-size:clamp(4.2rem,7.6vw,7.5rem);line-height:.93;letter-spacing:-.09em;font-weight:800}.hero-copy h1 span{display:block;color:var(--orange)}.hero-intro{max-width:58ch;margin-top:2rem;color:#dfdfda;font-size:clamp(1rem,1.45vw,1.18rem);line-height:1.55}.hero-actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:2.1rem}.hero-visual{position:relative;min-height:540px;display:flex;align-items:center;justify-content:flex-end}.hero-portrait{position:relative;z-index:2;width:min(66%,370px);padding:.5rem;border:1px solid #a7b0ae;background:#273136}.hero-portrait img{width:100%;aspect-ratio:.92;object-fit:cover;object-position:50% 31%}.hero-portrait figcaption{padding:.8rem 0 0;color:#d0d8d5;text-align:right;font:.58rem/1.4 var(--mono);letter-spacing:.06em}.hero-object{position:absolute;z-index:1;width:82%;height:76%;left:-29%;top:13%}.hero-object canvas{width:100%;height:100%}.hero-object-fallback{position:relative;width:100%;height:100%}.hero-object-fallback span{position:absolute;display:block;width:40%;aspect-ratio:1;border:1px solid #9fb0b777;transform:rotate(30deg) skew(-13deg)}.hero-object-fallback span:nth-child(1){top:22%;left:10%}.hero-object-fallback span:nth-child(2){top:37%;left:31%}.hero-object-fallback span:nth-child(3){top:52%;left:11%;width:19%;background:var(--orange);border:0}.hero-shortcuts{position:relative;z-index:2;border-top:1px solid #ffffff55;padding-top:1rem}.hero-shortcuts>p{margin-bottom:.6rem;color:var(--orange);font:600 .65rem var(--mono);letter-spacing:.08em}.hero-shortcuts>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.hero-shortcuts a{position:relative;display:grid;gap:.4rem;min-height:4.2rem;padding:.7rem 1.5rem .7rem 0;border-right:1px solid #ffffff4d;font-size:.8rem;font-weight:750}.hero-shortcuts a+a{padding-left:1.5rem}.hero-shortcuts a:last-child{border:0}.hero-shortcuts a span{color:#b4c2c0;font:.59rem var(--mono);letter-spacing:.06em}.hero-shortcuts a b{position:absolute;right:1.5rem;bottom:.8rem;color:var(--orange)}.hero-shortcuts a:hover{color:var(--orange)}.selected-work{position:relative;padding:7rem 0 5rem;background:var(--paper)}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:2rem;margin-bottom:2.5rem}.section-heading .eyebrow{margin-bottom:1rem;color:#b84225}.section-heading h2{max-width:15ch;font-size:clamp(3.2rem,5.3vw,5.7rem);line-height:.98;letter-spacing:-.08em;font-weight:800}.section-heading>p{max-width:33ch;padding-bottom:.25rem;font-size:1rem}.proof-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.proof-panel{position:relative;min-width:0;border:1px solid #a5a9a8;background:#f7f4ed}.proof-panel-ethmoid-complexity{color:#f0f5f2;background:var(--deep-blue);border-color:#456773}.panel-top{display:flex;justify-content:space-between;gap:1rem;padding:1rem 1.25rem;border-bottom:1px solid currentColor;font:600 .59rem/1.4 var(--mono);letter-spacing:.07em;text-transform:uppercase}.proof-media{min-height:360px;padding:1.25rem}.proof-panel .rag-trace{min-height:330px}.proof-copy{padding:0 1.3rem 1.8rem}.proof-copy .eyebrow{margin:.25rem 0 .8rem;color:#b84225}.proof-panel-ethmoid-complexity .eyebrow{color:var(--blue)}.proof-copy h3{margin-bottom:.5rem;font-size:clamp(1.75rem,2.8vw,2.6rem);line-height:1.03;letter-spacing:-.065em}.proof-copy h3 a:hover,.work-card h3 a:hover{color:var(--orange)}.proof-copy .project-description{max-width:60ch;margin-bottom:1.1rem;font-size:.94rem}.project-facts{border-top:1px solid #858d8a77}.project-facts div{display:grid;grid-template-columns:7.7rem minmax(0,1fr);gap:.8rem;padding:.65rem 0;border-bottom:1px solid #858d8a77}.project-facts dt{font:600 .61rem/1.5 var(--mono);text-transform:uppercase;letter-spacing:.04em}.project-facts dd{font-size:.75rem;line-height:1.5}.stack-tags{display:flex;flex-wrap:wrap;gap:.4rem;margin:1.2rem 0;padding:0;list-style:none}.stack-tags li{padding:.3rem .48rem;border:1px solid currentColor;font:500 .59rem/1.3 var(--mono);white-space:nowrap}.project-links{display:flex;flex-wrap:wrap;gap:1rem;font:600 .65rem var(--mono);text-transform:uppercase}.project-links a{border-bottom:1px solid transparent}.project-links a:hover{border-bottom-color:currentColor}.proof-panel-ethmoid-complexity .project-links a{color:var(--blue)}.work-signal{z-index:1;width:100%;height:240px;left:0;bottom:-107px}.ethmoid-preview{background:#08141c}.ethmoid-switch{display:flex;gap:.3rem;padding:.45rem;background:#0e2835}.ethmoid-switch button,.case-image-tabs button{padding:.45rem .6rem;color:#b9d6dd;background:transparent;border:1px solid transparent;font:600 .59rem var(--mono)}.ethmoid-switch button[aria-pressed=true],.case-image-tabs button[aria-pressed=true]{color:#09151c;background:var(--blue)}.ethmoid-preview img{width:100%;max-height:305px;object-fit:contain;background:#07121b}.ethmoid-preview p{padding:.5rem .6rem;color:#c0d4d9;font:.57rem/1.4 var(--mono)}.rag-trace{display:flex;flex-direction:column;min-width:0;padding:.9rem;color:#dfeceb;background:#0d1b21;border:1px solid #294550;font-family:var(--mono)}.trace-top,.trace-foot{display:flex;justify-content:space-between;gap:1rem;color:#80d9e5;font-size:.53rem;line-height:1.4;letter-spacing:.06em;text-transform:uppercase}.trace-top{padding-bottom:.5rem;border-bottom:1px solid #507079}.trace-query{margin:.9rem 0 .75rem;font-size:.75rem;font-weight:600;line-height:1.5}.trace-toggle{display:flex;gap:.35rem}.trace-toggle button{padding:.45rem .55rem;color:#d5e8eb;background:transparent;border:1px solid #557985;font:.57rem var(--mono)}.trace-toggle button[aria-pressed=true]{color:#12191d;background:var(--orange);border-color:var(--orange)}.trace-stat{margin:.75rem 0 .6rem;color:#c1d7d9;font-size:.53rem;line-height:1.5}.trace-stat span{color:var(--orange)}.trace-list{margin:0;padding:0;list-style:none}.trace-list,.ethmoid-preview img,.case-ethmoid img{animation:evidence-arrive .28s ease-out both}@keyframes evidence-arrive{0%{opacity:.62;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}.trace-list li{display:grid;grid-template-columns:1.4rem minmax(0,1fr) 3.9rem;gap:.4rem;align-items:start;padding:.44rem 0;border-top:1px solid #44636c77;font-size:.55rem;line-height:1.4}.trace-rank{color:var(--orange)}.trace-title{overflow-wrap:anywhere}.trace-relevant{color:#98f5d5;text-align:right}.trace-unmarked{color:#6a8b93;text-align:right}.trace-foot{margin-top:auto;padding-top:.75rem;color:#8faeb5;text-transform:none}.trace-loading{display:grid;place-items:center;flex:1;min-height:9rem;font-size:.7rem}.systems-work{padding:7rem 0 8rem;color:var(--paper);background:var(--ink)}.systems-work .section-heading .eyebrow{color:var(--orange)}.systems-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.work-card{display:grid;grid-template-columns:minmax(0,.45fr) minmax(0,.55fr);min-height:500px;border:1px solid #566369;background:#19282d}.work-card figure{display:flex;flex-direction:column;justify-content:flex-start;align-self:start;min-width:0;background:#d6d7d2}.work-card figure img{width:100%;height:auto;max-height:385px;object-fit:contain}.work-card figcaption{padding:.6rem;color:#1f292c;font:.54rem/1.5 var(--mono)}.work-card-copy{display:flex;flex-direction:column;min-width:0;padding:1.3rem}.work-card .eyebrow{margin-bottom:1rem;color:var(--blue)}.work-card h3{margin-bottom:.7rem;font-size:clamp(1.6rem,2.2vw,2.3rem);line-height:1.04;letter-spacing:-.07em}.work-card .project-description{margin-bottom:1rem;font-size:.82rem;line-height:1.5}.work-card .project-facts div{grid-template-columns:5.5rem minmax(0,1fr);gap:.5rem;padding:.5rem 0}.work-card .project-facts dt{font-size:.54rem}.work-card .project-facts dd{font-size:.69rem}.work-card .stack-tags{margin-top:auto;padding-top:1.1rem}.work-card .stack-tags li{font-size:.53rem}.work-card .project-links{color:var(--orange)}.skills-section{padding:7rem 0;background:var(--paper)}.skills-grid{display:grid;grid-template-columns:1fr 1fr;column-gap:3rem;border-top:1px solid var(--rule)}.skill-row{display:grid;grid-template-columns:minmax(0,.4fr) minmax(0,.6fr);gap:1rem;padding:.8rem 0;border-bottom:1px solid var(--rule)}.skill-row h3{font-size:.9rem;letter-spacing:-.02em}.skill-row>div{display:flex;flex-wrap:wrap;gap:.3rem .8rem}.skill-row a{color:#864028;font:.61rem/1.4 var(--mono);text-decoration:underline;text-underline-offset:.2em}.experience-section{padding:7rem 0;color:var(--paper);background:var(--deep-blue)}.experience-section .section-heading .eyebrow{color:var(--blue)}.experience-list{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#65818a;border:1px solid #65818a}.experience-list article{min-height:260px;padding:1.5rem;background:var(--deep-blue)}.experience-list article>span{color:var(--blue);font:.62rem var(--mono)}.experience-list h3{margin:2rem 0 .8rem;font-size:1.6rem;line-height:1.1;letter-spacing:-.05em}.experience-list p{color:#c5d6d7;font-size:.86rem}.experience-list p a{border-bottom:1px solid currentColor}.archive-section{padding:7rem 0;background:var(--paper)}.archive-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.archive-grid article{border:1px solid var(--rule);background:#f8f6f0}.archive-grid img{width:100%;aspect-ratio:16/10;object-fit:contain;background:#e3e4df}.archive-grid article>div{padding:1.2rem}.archive-grid span{font:.58rem/1.4 var(--mono);color:#a34429}.archive-grid h3{margin:.65rem 0;font-size:1.45rem;letter-spacing:-.05em}.archive-grid p{min-height:5.5rem;font-size:.8rem}.archive-grid a{font:600 .64rem var(--mono);text-transform:uppercase;border-bottom:1px solid}.site-footer{padding:7rem 0 0;color:var(--paper);background:var(--ink)}.footer-main{padding-bottom:7rem}.footer-main .eyebrow{margin-bottom:1rem;color:var(--orange)}.footer-main h2{max-width:17ch;font-size:clamp(3.1rem,5.5vw,6.2rem);line-height:1;letter-spacing:-.075em}.footer-main>p:not(.eyebrow){max-width:57ch;margin-top:1.8rem;color:#cbd4d2}.footer-bottom{display:flex;justify-content:space-between;gap:1rem;padding:1.4rem 0;border-top:1px solid #697779;font:.61rem var(--mono)}.footer-bottom>div{display:flex;gap:1.3rem}.footer-bottom a:hover{color:var(--orange)}.site-controls{display:flex;align-items:center;gap:.25rem;padding-left:.8rem;color:var(--paper);border-left:1px solid #8da0a266;font:.57rem var(--mono)}.site-controls button{min-height:2rem;padding:.35rem .45rem;color:inherit;background:transparent;border:1px solid #8da0a266;font:inherit;white-space:nowrap}.site-controls button[aria-pressed=true]{color:var(--ink);background:var(--orange);border-color:var(--orange)}.site-controls label{display:flex;align-items:center;gap:.4rem;padding:.2rem .4rem}.site-controls input{width:5rem;accent-color:var(--orange)}.case-page{min-height:100vh;padding-top:76px;background:var(--paper)}.breadcrumb{display:flex;gap:.7rem;padding:2.7rem 0 2rem;color:#8b432e;font:600 .64rem var(--mono);text-transform:uppercase}.breadcrumb a{text-decoration:underline;text-underline-offset:.25em}.case-hero{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:center;padding-bottom:3rem}.case-hero .eyebrow{margin-bottom:1rem;color:#b84225}.case-hero h1{max-width:14ch;font-size:clamp(3.4rem,6.6vw,7rem);line-height:.94;letter-spacing:-.085em}.case-lead{max-width:52ch;margin-top:1.35rem;font-size:clamp(1rem,1.5vw,1.25rem)}.case-actions{display:flex;flex-wrap:wrap;gap:.65rem 1.3rem;margin-top:1.7rem;font:600 .67rem/1.5 var(--mono)}.case-actions a{border-bottom:1px solid}.case-actions span{color:#596568}.case-hero-preview{min-width:0;padding:.7rem;background:#e1e4e1;border:1px solid var(--rule)}.case-hero-preview img{width:100%;max-height:330px;object-fit:contain}.case-hero-preview figcaption{padding-top:.6rem;color:#566366;font:.58rem/1.5 var(--mono)}.case-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;margin-bottom:4rem;border-top:1px solid var(--rule)}.case-summary div{padding:.85rem 0;border-bottom:1px solid var(--rule)}.case-summary dt{margin-bottom:.25rem;color:#9a452d;font:600 .62rem var(--mono);text-transform:uppercase}.case-summary dd{font-size:.84rem;line-height:1.5}.case-evidence{padding:2rem 0 4rem;border-top:1px solid var(--ink)}.case-section-heading{margin-bottom:1.5rem}.case-section-heading .eyebrow{margin-bottom:.5rem;color:#b84225}.case-section-heading h2{font-size:clamp(2.7rem,4.5vw,4.7rem);line-height:1;letter-spacing:-.07em}.case-evidence-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:20px}.case-evidence-grid .rag-trace{min-height:440px}.case-evidence-grid figure{display:flex;flex-direction:column;justify-content:center;padding:1rem;background:#10212a}.case-evidence-grid figure img{width:100%;height:auto}.case-evidence figcaption,.evidence-caption{padding-top:.6rem;color:#566366;font:.62rem/1.5 var(--mono)}.case-evidence-grid figure figcaption{color:#b8d3d8}.case-image-tabs{display:flex;flex-wrap:wrap;gap:.4rem;padding:.5rem;background:#0d2934}.case-image-tabs button{font-size:.7rem}.case-ethmoid figure{padding:.8rem;background:#091a23}.case-ethmoid img{width:100%;max-height:740px;object-fit:contain}.case-ethmoid figcaption{color:#c7dcdf}.case-gallery{display:grid;grid-template-columns:1fr 1fr;gap:20px}.case-gallery figure{min-width:0;padding:1rem;border:1px solid var(--rule);background:#f8f6f0}.case-gallery figure:first-child{grid-column:1 / -1}.case-gallery img{width:100%;max-height:620px;object-fit:contain}.case-gallery figure:nth-child(2) img{max-height:430px}.case-gallery video{width:100%;max-height:430px;background:#0d1b21}.case-video{grid-column:1 / -1}.case-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:4rem 6rem;padding:5rem 0;border-top:1px solid var(--rule)}.case-detail-grid .eyebrow{margin-bottom:.8rem;color:#b84225}.case-detail-grid h2{margin-bottom:1rem;font-size:clamp(2.1rem,3.2vw,3.6rem);line-height:1;letter-spacing:-.07em}.case-detail-grid p,.case-detail-grid li{max-width:57ch;font-size:.95rem}.case-detail-grid ol{margin:0;padding-left:1.3rem}.case-detail-grid li{margin-bottom:.7rem;padding-left:.35rem}.case-limit{margin-top:1.2rem;padding-top:1rem;border-top:1px solid var(--rule);color:#596469}.case-stack{padding:2rem 0 5rem;border-top:1px solid var(--rule)}.case-stack .eyebrow{color:#b84225}.case-stack h2{margin:.7rem 0 1.5rem;font-size:2.6rem;letter-spacing:-.07em}.case-stack ul{display:flex;flex-wrap:wrap;gap:.5rem;margin:0;padding:0;list-style:none}.case-stack li{padding:.6rem .75rem;border:1px solid #747e7c;font:.72rem var(--mono)}.case-close{display:flex;justify-content:space-between;align-items:end;gap:2rem;padding:2rem 0 6rem;border-top:1px solid var(--ink)}.case-close .eyebrow{margin-bottom:.8rem;color:#b84225}.case-close a{font-size:clamp(1.8rem,3vw,3.3rem);line-height:1.1;letter-spacing:-.055em}.case-close button{padding:.75rem 1rem;color:var(--paper);background:var(--ink);border:1px solid var(--ink);white-space:nowrap}.case-footer{padding:1.4rem 0;color:var(--paper);background:var(--ink);font:.64rem var(--mono)}.case-footer .page-wrap{display:flex;justify-content:space-between;gap:1rem}.case-footer .page-wrap>div{display:flex;gap:1.2rem}.not-found{min-height:70vh;padding-top:12rem;color:var(--paper)}.not-found h1{margin:1rem 0;font-size:clamp(3rem,7vw,6rem)}.not-found p{margin-bottom:1rem}@media(max-width:1100px){.page-wrap{width:min(calc(100% - 64px),1320px)}.hero-copy h1{font-size:clamp(3.8rem,7.2vw,6rem)}.work-card{grid-template-columns:1fr}.work-card figure img{max-height:250px}.work-card-copy{min-height:460px}.experience-list{grid-template-columns:1fr}.experience-list article{min-height:0}.experience-list h3{margin-top:1rem}}@media(max-width:760px){html{scroll-behavior:auto}.page-wrap{width:calc(100% - 40px)}.site-header{height:62px}.menu-toggle{display:block}.primary-nav{position:absolute;top:62px;left:0;right:0;display:none;flex-direction:column;align-items:stretch;gap:0;padding:.5rem 20px 1rem;background:var(--ink);border-bottom:1px solid #ffffff55}.primary-nav.is-open{display:flex}.primary-nav a,.primary-nav button{display:block;width:100%;padding:.9rem 0;text-align:left;border:0;border-bottom:1px solid #ffffff3d}.home-hero{min-height:0;padding-top:62px}.hero-grid{inset:62px 0 18%}.hero-signal{display:none}.hero-main{display:flex;flex-direction:column;align-items:stretch;gap:0;min-height:0}.hero-copy{padding:4rem 0 0}.hero-copy .eyebrow{margin-bottom:1.3rem;font-size:.59rem}.hero-copy h1{max-width:12ch;font-size:clamp(3.2rem,12vw,4.5rem);line-height:.95}.hero-intro{margin-top:1.1rem;font-size:.98rem}.hero-actions{gap:.45rem;margin-top:1.6rem}.hero-actions .button{min-height:2.7rem;padding:.6rem .7rem;gap:.5rem;font-size:.71rem}.hero-visual{min-height:300px;margin:1rem 0 0;justify-content:flex-end}.hero-portrait{width:min(53%,230px)}.hero-portrait img{aspect-ratio:.86}.hero-object{left:-8%;top:12%;width:72%;height:76%}.hero-shortcuts{padding-top:.7rem}.hero-shortcuts>div{display:flex;flex-direction:column}.hero-shortcuts a,.hero-shortcuts a+a{display:block;min-height:0;padding:.6rem 1.5rem .6rem 0;border-right:0;border-bottom:1px solid #ffffff35;font-size:.78rem}.hero-shortcuts a span{display:block;margin-bottom:.2rem}.hero-shortcuts a b{right:.3rem;bottom:.6rem}.selected-work,.systems-work,.skills-section,.experience-section,.archive-section,.site-footer{padding-top:5rem}.section-heading{display:block;margin-bottom:1.7rem}.section-heading h2{font-size:clamp(2.7rem,9vw,4rem)}.section-heading>p{max-width:58ch;margin-top:1rem;font-size:.9rem}.proof-grid,.systems-grid,.skills-grid,.archive-grid{grid-template-columns:1fr}.proof-media{min-height:0;padding:.8rem}.proof-panel .rag-trace{min-height:310px}.rag-trace{padding:.75rem}.trace-top,.trace-foot{font-size:.61rem}.trace-query{font-size:.8rem}.trace-toggle button{font-size:.68rem}.trace-stat{font-size:.63rem}.trace-list li{font-size:.7rem;grid-template-columns:1.5rem minmax(0,1fr) 4.7rem}.proof-copy{padding:.5rem 1rem 1.4rem}.proof-copy h3{font-size:2rem}.work-signal{display:none}.work-card{min-height:0}.work-card-copy{min-height:0;padding:1rem}.work-card figure img{max-height:300px}.work-card .stack-tags{margin-top:1rem}.skills-grid{gap:0}.experience-list{grid-template-columns:1fr}.archive-grid{gap:1rem}.archive-grid p{min-height:0;margin-bottom:1rem}.footer-bottom{flex-wrap:wrap}.site-controls{flex-wrap:wrap;width:100%;margin-top:.6rem;padding:.6rem 0 0;border-left:0;border-top:1px solid #ffffff3d}.primary-nav .site-controls button{display:inline-flex;width:auto;min-height:2rem;padding:.4rem .6rem;border:1px solid #8da0a266;text-align:center}.site-controls label{font-size:.6rem}.site-controls input{width:4rem}.case-page{padding-top:62px}.case-hero,.case-evidence-grid,.case-detail-grid,.case-gallery,.case-summary{grid-template-columns:1fr}.case-hero{gap:2rem;padding-bottom:2rem}.case-hero-preview img{max-height:330px}.case-hero h1{font-size:clamp(3.2rem,11vw,5rem)}.case-evidence-grid .rag-trace{min-height:410px}.case-gallery figure:first-child,.case-video{grid-column:auto}.case-detail-grid{gap:3rem;padding:4rem 0}.case-summary{gap:0}.case-close{align-items:start;flex-direction:column}.case-footer .page-wrap{flex-direction:column}}@media(max-width:390px){.hero-copy h1{font-size:3rem}.hero-actions .button{flex:1;justify-content:center}.trace-list li{grid-template-columns:1.2rem minmax(0,1fr) 4.2rem;font-size:.68rem}.project-facts div,.work-card .project-facts div{grid-template-columns:1fr;gap:.15rem}.skill-row{grid-template-columns:1fr;gap:.25rem}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition-duration:.01ms!important}.signal-svg{display:none}}@media print{.site-header,.site-controls,.skip-link,.case-footer{display:none}.case-page{padding-top:0}}:root{--ink: #080808;--paper: #f3f3f0;--orange: #f1f1ee;--blue: #d9d9d5;--deep-blue: #111111;--rule: #d5d5d2;--body-font: -apple-system, BlinkMacSystemFont, "Segoe UI Variable", "Segoe UI", Arial, sans-serif;--display-font: var(--body-font);--mono: "IBM Plex Mono", ui-monospace, monospace;color:#f5f5f2;background:#080808;font-family:var(--body-font)}html{scrollbar-color:#727272 #101010}body,button,input,textarea{font-family:var(--body-font)}::selection{color:#090909;background:#ededeb}:is(a,button,input,textarea,video):focus-visible{outline:2px solid #fff;outline-offset:5px}.is-utility :is(a,button,input,textarea):focus-visible{outline-color:#1a1a1a}.page-wrap{width:min(calc(100% - clamp(42px,8vw,180px)),1900px);margin-inline:auto}.site-shell{overflow:clip}:where(.site-shell a){transition:color .18s ease,background-color .18s ease,border-color .18s ease,opacity .18s ease}@media(hover:hover){:where(.site-shell a:hover){opacity:.78}}.cinematic-home{position:relative;isolation:isolate;overflow:clip;color:#f5f5f2;background:#080808}.cinematic-home>section,.cinematic-home>footer{position:relative;z-index:1}.site-header{position:fixed;z-index:80;inset:0 0 auto;height:84px;display:flex;align-items:center;justify-content:space-between;padding-inline:clamp(22px,4.1vw,100px);color:#f6f6f3;background:transparent;border:0;-webkit-backdrop-filter:none;backdrop-filter:none;pointer-events:none}.site-header>*{pointer-events:auto}.site-header .brand{color:inherit;font-size:.95rem;font-weight:650;letter-spacing:-.035em}.brand-period{color:#aaa}.header-status{color:#c5c5c1;font-size:.7rem;font-weight:520;letter-spacing:.005em}.header-status span{padding-inline:.5rem;color:#868686}.is-utility .site-header{color:#141414}.is-utility .header-status{color:#555}.primary-nav{position:fixed;z-index:85;inset:auto auto 24px clamp(18px,4.1vw,100px);display:inline-flex;flex-direction:row;align-items:center;gap:0;width:max-content;min-height:53px;padding:5px 7px;color:#171717;background:#f1f1ed;border:1px solid #ffffffa8;border-radius:14px;box-shadow:0 12px 35px #0006;-webkit-backdrop-filter:none;backdrop-filter:none;font-size:.76rem;font-weight:600}.primary-nav>a:not(.nav-social),.primary-nav>button{display:inline-flex;align-items:center;justify-content:center;gap:.36rem;min-height:40px;padding:.55rem .85rem;border:0;border-radius:9px;color:#242424;background:transparent;white-space:nowrap}.primary-nav>a:not(.nav-social):hover,.primary-nav>button:hover,.primary-nav>a[aria-current=page]{color:#050505;background:#d9d9d5;text-decoration:none}.primary-nav .nav-contact{font-size:inherit}.nav-divider{width:1px;height:20px;margin-inline:.35rem .45rem;background:#b5b5b2}.primary-nav .nav-social{display:grid;place-items:center;width:38px;height:38px;color:#3a3a3a;border-radius:9px}.primary-nav .nav-social:hover{color:#050505;background:#d9d9d5}.site-controls{position:fixed;z-index:85;inset:auto clamp(18px,4.1vw,100px) 24px auto;display:flex;flex-wrap:nowrap;align-items:center;gap:3px;width:auto;margin:0;padding:5px;color:#f4f4f1;background:#171717e6;border:1px solid #b8b8b85c;border-radius:13px;box-shadow:0 10px 30px #0005;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.site-controls button{display:grid;place-items:center;width:40px;height:40px;min-height:0;padding:0;border:0;border-radius:9px;color:#eee;background:transparent}.site-controls button:hover,.site-controls button[aria-pressed=true]{background:#ffffff2c;color:#fff}.site-controls label{position:absolute;right:0;bottom:calc(100% + 8px);display:flex;align-items:center;gap:.6rem;padding:.72rem .85rem;color:#eee;background:#171717f2;border:1px solid #ffffff46;border-radius:10px;font-size:.66rem;white-space:nowrap;opacity:0;pointer-events:none;transform:translateY(5px);transition:opacity .18s cubic-bezier(.23,1,.32,1),transform .18s cubic-bezier(.23,1,.32,1)}.site-controls:hover label,.site-controls:focus-within label{opacity:1;pointer-events:auto;transform:none}.site-controls input{width:105px;accent-color:#f1f1ef}.journey{height:700svh;background:transparent}.journey-start,.journey-work-anchor{position:absolute;left:0;width:1px;height:1px}.journey-start{top:0}.journey-work-anchor{top:100svh}.journey-stage{position:sticky;top:0;height:100svh;min-height:650px;overflow:hidden;background:transparent}.journey-stage:after{content:"";position:absolute;z-index:1;inset:0;pointer-events:none;background:linear-gradient(90deg,#050505ba 0%,#05050578 31%,#05050518 65%,transparent 100%)}.journey-grain{display:none}.intro{position:relative;z-index:3;display:grid;grid-template-columns:minmax(0,1fr) clamp(230px,19vw,355px);align-items:center;gap:clamp(2rem,5vw,7rem);height:100%;min-height:650px;padding-block:95px 100px;animation:content-reveal .36s cubic-bezier(.23,1,.32,1) both}.intro-copy{max-width:1120px}.intro-kicker{display:flex;align-items:center;gap:.8rem;margin-bottom:clamp(2rem,4vh,4rem);color:#d4d4d0;font-size:clamp(.7rem,.85vw,.85rem);font-weight:570}.intro-kicker span{width:30px;height:1px;background:#a5a5a2}.intro h1{font-size:clamp(6.6rem,11.5vw,13rem);font-weight:610;line-height:.78;letter-spacing:-.075em;text-transform:none}.intro h1>span:first-child{color:transparent;-webkit-text-stroke:1.4px #eee}.intro h1 .intro-final-dot{color:#eee;font-weight:610}.intro-availability{max-width:36ch;margin-top:clamp(2.2rem,5vh,4rem);color:#f1f1ed;font-size:clamp(1.15rem,1.55vw,1.65rem);font-weight:500;line-height:1.35;letter-spacing:-.02em}.intro-actions{display:flex;flex-wrap:wrap;align-items:center;gap:1.5rem;margin-top:2rem}.action-primary,.action-secondary,.resume-teaser-actions a{display:inline-flex;align-items:center;justify-content:space-between;gap:.6rem;min-height:42px;padding:0;border:0;border-bottom:1px solid currentColor;border-radius:0;color:#f3f3ef;background:transparent;font-size:.85rem;font-weight:620;text-decoration:none;transition:color .18s cubic-bezier(.23,1,.32,1),border-color .18s cubic-bezier(.23,1,.32,1)}.action-primary:hover,.action-secondary:hover,.resume-teaser-actions a:hover{color:#aaa}.intro-portrait{justify-self:end;width:100%}.intro-portrait img{display:block;width:100%;aspect-ratio:.76;object-fit:cover;object-position:50% 28%;border:0;border-radius:2px;filter:grayscale(1) contrast(1.12);box-shadow:22px 28px 70px #000a}.intro-scroll{position:absolute;left:50%;bottom:38px;transform:translate(-50%);display:flex;align-items:center;gap:1rem;color:#bbb;font:450 .65rem var(--mono)}.intro-scroll-line{width:68px;height:1px;background:#bbb}.spotlight-shell{position:absolute;z-index:3;inset:80px 0 0;outline:none}.spotlight{display:grid;grid-template-rows:auto minmax(0,1fr) auto;height:100%;padding-block:27px 96px;animation:content-reveal .36s cubic-bezier(.23,1,.32,1) both}.spotlight-top,.spotlight-bottom{display:flex;align-items:center;justify-content:space-between;gap:1rem}.spotlight-top{color:#c3c3c0;font-size:.74rem;font-weight:580}.spotlight-top>span:first-child{display:inline-flex;align-items:center;gap:.7rem}.spotlight-top-rule{width:25px;height:1px;background:#aaa}.spotlight-top>span:last-child{font:500 .72rem var(--mono)}.spotlight-mobile-nav{display:none}.spotlight-layout{display:grid;grid-template-columns:minmax(0,.4fr) minmax(0,.6fr);align-items:center;gap:clamp(2rem,4.8vw,6rem);min-height:0;padding-block:1rem}.spotlight-copy{max-width:690px;min-width:0}.spotlight-count{display:none}.spotlight h2{max-width:11ch;font-size:clamp(3.7rem,5.4vw,7rem);font-weight:590;line-height:.92;letter-spacing:-.055em;text-wrap:balance;text-transform:none}.spotlight-lead{max-width:37ch;margin-top:clamp(1.3rem,2.5vh,2.2rem);font-size:clamp(1.1rem,1.33vw,1.46rem);line-height:1.4;letter-spacing:-.02em}.spotlight-proof{max-width:57ch;margin-top:.9rem;color:#c5c5c1;font-size:clamp(.87rem,.98vw,1.06rem);line-height:1.49}.spotlight-stack{display:flex;flex-wrap:wrap;gap:.28rem .75rem;max-width:690px;margin:1.4rem 0 0;padding:0;list-style:none}.spotlight-stack li{padding:0;color:#bcbcb8;background:none;border:0;border-radius:0;font:450 .7rem/1.5 var(--mono)}.spotlight-stack li:not(:last-child):after{content:" /";color:#777}.spotlight-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.8rem 1.75rem;margin-top:1.75rem}.spotlight-actions a{display:inline-flex;align-items:center;gap:.45rem;padding-bottom:.35rem;border-bottom:1px solid #bbb;color:#f1f1ed;font-size:.82rem;font-weight:630}.spotlight-actions a:hover{color:#bbb}.spotlight-actions .spotlight-primary-link{min-height:0;padding:0 0 .35rem;border:0;border-bottom:1px solid #fff;border-radius:0;color:#fff;background:none}.spotlight-actions .spotlight-primary-link:hover{color:#bbb;background:none}.spotlight-media{justify-self:stretch;min-width:0;margin:0;padding:0;border:0;border-radius:0;background:none;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}.spotlight-media-window{position:relative;display:grid;place-items:center;height:min(47vw,57svh,610px);min-height:280px;overflow:hidden;border:1px solid #ffffff61;border-radius:4px;background:#101010;box-shadow:18px 24px 70px #0008}.spotlight-media-window img,.spotlight-media-window video{width:100%;height:100%;object-fit:contain}.spotlight-media-window .spotlight-video-poster{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;pointer-events:none}.spotlight-media-warby-fun .spotlight-media-window,.spotlight-media-adaptive-inference-gateway .spotlight-media-window{background:#161616}.spotlight-media figcaption{min-height:1.6rem;padding:.6rem 0 0;color:#bababa;font:400 .63rem/1.4 var(--mono)}.spotlight-progress{display:flex;gap:6px;width:min(30vw,350px)}.spotlight-progress span{flex:1;height:1px;background:#ffffff5c}.spotlight-progress .is-current{height:2px;background:#fff;box-shadow:none}.spotlight-arrows{display:flex;gap:.45rem}.spotlight-arrows button{display:grid;place-items:center;width:43px;height:43px;border:1px solid #ffffff76;border-radius:50%;color:#fff;background:#0505056b}.spotlight-arrows button:hover:not(:disabled){color:#080808;background:#f3f3f1}.spotlight-arrows button:disabled{opacity:.3;cursor:default}@keyframes content-reveal{0%{opacity:.2;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.section-label{display:none}.after-work,.skills-section,.experience-section,.archive-section,.resume-teaser,.site-footer{color:#f4f4f1}.after-work{min-height:92svh;padding:clamp(8rem,11vw,13rem) 0;background:linear-gradient(90deg,#080808f0,#080808d4 56%,#08080885);overflow:hidden}.after-work-grid{display:grid;grid-template-columns:minmax(0,.68fr) minmax(0,.32fr);gap:clamp(2rem,7vw,8rem)}.after-work h2{max-width:15ch;font-size:clamp(4.3rem,6.4vw,8.6rem);font-weight:560;line-height:.95;letter-spacing:-.055em;text-transform:none}.after-work-aside{position:relative;min-height:440px;padding-top:clamp(6rem,9vw,11rem)}.after-work-aside p{position:relative;z-index:2;max-width:37ch;color:#d0d0cc;font-size:clamp(1.03rem,1.15vw,1.24rem);line-height:1.55}.after-work-aside a{position:relative;z-index:2;display:inline-flex;align-items:center;gap:.5rem;margin-top:1.4rem;padding-bottom:.35rem;border-bottom:1px solid #ccc;color:#f2f2ef;font-size:.84rem;font-weight:600}.after-work-aside img{position:absolute;right:-2rem;bottom:-12rem;width:clamp(210px,22vw,380px);filter:grayscale(1) contrast(1.18);opacity:.9}.skills-section,.experience-section,.archive-section,.resume-teaser{padding:clamp(7rem,9vw,11rem) 0}.section-heading{display:block;margin-bottom:clamp(2.5rem,5vw,5rem)}.section-heading h2{max-width:24ch;font-size:clamp(3.3rem,5vw,6.5rem);font-weight:570;line-height:.98;letter-spacing:-.05em;text-transform:none}.skills-section{background:#080808bb}.skills-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 clamp(1rem,3vw,4rem);border-top:1px solid #ffffff82}.skill-row{display:grid;grid-template-columns:minmax(0,.38fr) minmax(0,.62fr);gap:.8rem;min-width:0;padding:1.1rem 0;border-bottom:1px solid #ffffff42}.skill-row strong{font-size:.95rem;font-weight:610}.skill-row span{color:#c0c0bc;font-size:.8rem;line-height:1.5}.skill-row a{color:inherit}.skill-row a:hover{color:#fff;text-decoration:underline;text-underline-offset:.25em}.experience-section{background:#060606b8;overflow:hidden}.experience-section>.page-wrap{position:relative;z-index:1}.experience-section .section-heading{text-align:center}.experience-section .section-heading h2{margin-inline:auto}.experience-list{display:block;border:0;border-top:1px solid #ffffff8c;background:transparent}.experience-list article{display:grid;grid-template-columns:minmax(9rem,.18fr) minmax(15rem,.28fr) minmax(0,.54fr);align-items:center;gap:clamp(1.5rem,3vw,4rem);min-height:9rem;padding:2rem 0;border:0;border-bottom:1px solid #ffffff4a;background:transparent}.experience-list article>span{color:#aaa;font:450 .75rem/1.4 var(--mono)}.experience-list h3{margin:0;font-size:clamp(1.45rem,1.8vw,2.15rem);font-weight:600;letter-spacing:-.04em;line-height:1.1;text-transform:none}.experience-list p{max-width:55ch;margin:0;color:#c5c5c1;font-size:clamp(1rem,1.08vw,1.17rem);line-height:1.55}.experience-detail{min-width:0}.experience-list a{display:inline-flex;align-items:center;gap:.3rem;margin-top:.8rem;padding-bottom:.25rem;border-bottom:1px solid #aaa;color:#f1f1ef;font-size:.78rem;white-space:nowrap}.archive-section{background:#0d0d0dc7}.archive-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(1.5rem,3vw,4rem)}.archive-grid article{min-width:0;border:0;background:none}.archive-grid img{display:block;width:100%;aspect-ratio:1.55;object-fit:contain;border:0;border-radius:2px;background:#e8e8e4}.archive-grid article>div{padding:1.2rem 0 0}.archive-grid span{color:#aaa;font:450 .67rem var(--mono)}.archive-grid h3{margin:.5rem 0 .7rem;font-size:clamp(1.45rem,1.9vw,2.1rem);font-weight:600;letter-spacing:-.035em;text-transform:none}.archive-grid p{max-width:38ch;min-height:3.4rem;margin:0 0 1rem;color:#c9c9c5;font-size:.92rem;line-height:1.52}.archive-actions{display:flex;flex-wrap:wrap;gap:.8rem 1.4rem}.archive-grid a{display:inline-flex;align-items:center;gap:.3rem;padding-bottom:.3rem;border-bottom:1px solid #bbb;color:#eee;font:600 .8rem var(--body-font);text-transform:none}.resume-teaser{background:#090909e3}.resume-teaser-grid{display:grid;grid-template-columns:minmax(0,.43fr) minmax(0,.57fr);align-items:center;gap:clamp(3rem,7vw,9rem)}.resume-teaser h2{max-width:12ch;font-size:clamp(4rem,6.5vw,8rem);font-weight:570;line-height:.95;letter-spacing:-.055em;text-transform:none}.resume-teaser-actions{display:flex;flex-wrap:wrap;gap:1.5rem;margin-top:2rem}.resume-teaser-actions a{color:#f1f1ed}.resume-teaser-preview{display:block;width:100%;overflow:hidden;background:#f3f3f0;border:1px solid #ffffff66;box-shadow:18px 25px 60px #0008;transition:border-color .18s ease,transform .18s cubic-bezier(.23,1,.32,1)}@media(hover:hover){.resume-teaser-preview:hover{opacity:1;border-color:#fff;transform:translateY(-4px)}}.resume-teaser-preview img{display:block;width:100%;max-height:640px;object-fit:cover;object-position:top}.site-footer{min-height:75svh;padding:clamp(9rem,11vw,14rem) 0 100px;background:linear-gradient(90deg,#050505f2,#050505b0)}.footer-main{display:grid;grid-template-columns:minmax(0,.73fr) minmax(0,.27fr);align-items:end;gap:clamp(2rem,6vw,8rem);padding-bottom:clamp(5rem,8vw,9rem)}.footer-main h2{max-width:17ch;font-size:clamp(4rem,6.3vw,8rem);font-weight:560;line-height:.97;letter-spacing:-.055em;text-transform:none}.footer-contact p{max-width:25ch;color:#c6c6c2;font-size:clamp(1rem,1.15vw,1.22rem)}.footer-contact .action-primary{margin-top:1.7rem}.footer-bottom{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;padding:1.5rem 0;border-top:1px solid #ffffff73;color:#aaa;font-size:.77rem}.footer-bottom>div{display:flex;flex-wrap:wrap;gap:1.5rem}.footer-bottom a{display:inline-flex;align-items:center;gap:.3rem;color:#ddd}.footer-bottom a:hover{color:#fff}.is-utility{background:#080808;color:#f4f4f1}.is-utility .site-header,.is-utility .header-status{color:#f4f4f1}.is-utility :is(a,button,input,textarea):focus-visible{outline-color:#f4f4f1}.case-page,.resume-page{background:#080808;color:#f4f4f1}.case-page{position:relative}.case-page:before{content:"";position:absolute;inset:0 0 auto;height:1px;background:#ffffff38}.case-study .breadcrumb{padding:2rem 0 clamp(3.5rem,6vw,7rem);color:#92928f}.case-study .breadcrumb a{color:#f4f4f1;text-decoration:none}.case-study .breadcrumb a:hover{text-decoration:underline}.case-study .case-hero{grid-template-columns:minmax(0,.84fr) minmax(0,1.16fr);gap:clamp(2.5rem,6vw,8rem);align-items:end;padding-bottom:clamp(5rem,9vw,10rem)}.case-study .case-category{margin-bottom:1rem;color:#aeaeaa;font:500 .75rem/1.5 var(--mono);letter-spacing:.035em}.case-page h1,.case-page h2,.resume-page h1,.contact-dialog h2{font-family:var(--body-font);font-weight:560;letter-spacing:-.045em;text-transform:none}.case-study .case-hero h1{max-width:11ch;font-size:clamp(4rem,6.3vw,7.6rem);line-height:.92;overflow-wrap:anywhere;text-transform:none}.case-study .case-lead{max-width:40ch;margin-top:2rem;color:#e0e0dc;font-size:clamp(1.1rem,1.45vw,1.4rem);line-height:1.45}.case-study .case-role{max-width:56ch;margin-top:2.5rem;padding-top:1.2rem;border-top:1px solid #ffffff49;color:#bdbdba;font-size:.94rem;line-height:1.6}.case-study .case-role strong{margin-bottom:.5rem;color:#f4f4f1;font:500 .7rem/1.5 var(--mono);text-transform:uppercase;letter-spacing:.04em}.case-study .case-actions{display:flex;flex-wrap:wrap;gap:.7rem 1.6rem;margin-top:2rem;font-size:.9rem}.case-study .case-actions a{display:inline-flex;align-items:center;gap:.4rem;border:0;color:#f4f4f1;text-decoration:underline;text-underline-offset:.35em}.case-study .case-actions a:hover,.case-study .case-close a:hover,.case-study .case-footer a:hover{color:#aaa}.case-study .case-actions span{color:#a9a9a5}.case-study .case-hero-preview{margin:0;padding:0;border:0;background:transparent}.case-study .case-hero-preview img{display:block;width:100%;max-height:min(60vw,660px);object-fit:contain;background:#181818}.case-study .case-hero-preview figcaption,.case-study .case-evidence figcaption{padding-top:.8rem;color:#a6a6a2;font:.71rem/1.5 var(--mono)}.case-study .case-evidence{padding:clamp(3rem,5vw,6rem) 0 clamp(5rem,8vw,9rem);border-top:1px solid #ffffff55}.case-study .case-evidence>h2{margin:0 0 2rem;font-size:clamp(2.6rem,4vw,4.5rem);line-height:1;text-transform:none}.case-study .case-evidence-grid{grid-template-columns:minmax(0,1fr) minmax(15rem,.32fr);gap:2.5rem}.case-study .case-evidence-grid .evidence-caption{color:#bdbdba;font-size:.9rem;line-height:1.6}.case-study .case-gallery{gap:2rem}.case-study .case-gallery figure{padding:0;border:0;background:transparent}.case-study .case-gallery figure img{width:100%;max-height:620px;object-fit:contain;background:#181818}.case-study .case-gallery video{width:100%;max-height:620px;background:#181818}.case-study .case-image-tabs{gap:0;padding:0;border-bottom:1px solid #ffffff50;background:transparent}.case-study .case-image-tabs button{min-height:3rem;padding:.7rem 1rem;border:0;border-bottom:2px solid transparent;color:#aaa;background:transparent;font:500 .78rem var(--body-font)}.case-study .case-image-tabs button[aria-pressed=true]{border-color:#f4f4f1;color:#f4f4f1;background:transparent}.case-study .case-ethmoid figure{margin:0;padding:1rem 0 0;background:transparent}.case-study .case-ethmoid img{display:block;max-height:760px;margin-inline:auto}.case-study .case-detail-grid{gap:3rem 5rem;padding:clamp(3rem,5vw,5rem) 0;border-top:1px solid #ffffff55}.case-study .case-detail-grid section{padding-top:1.2rem;border-top:1px solid #ffffff35}.case-study .case-detail-grid h2{margin-bottom:1.1rem;font-size:clamp(1.65rem,2.2vw,2.5rem);line-height:1.1;text-transform:none}.case-study .case-detail-grid p,.case-study .case-detail-grid li{max-width:65ch;color:#c4c4c0;font-size:1rem;line-height:1.65}.case-study .case-limit{border-color:#ffffff38;color:#aaa}.case-study .case-stack{display:grid;grid-template-columns:10rem 1fr;gap:2rem;padding:2rem 0 5rem;border-top:1px solid #ffffff55}.case-study .case-stack h2{margin:0;font-size:1.5rem;text-transform:none}.case-study .case-stack ul{gap:.4rem 1.3rem}.case-study .case-stack li{padding:.15rem 0;border:0;color:#dededb;font:500 .82rem/1.5 var(--mono)}.case-study .case-stack li:not(:last-child):after{content:" /";color:#777}.case-study .case-close{padding:3rem 0 7rem;border-color:#fff5}.case-study .case-close span{color:#a5a5a2}.case-study .case-close a{display:inline-flex;align-items:center;gap:1rem;font-size:clamp(2rem,3.2vw,3.8rem);line-height:1.05;text-transform:none}.case-study .case-close button{border:1px solid #aaa;color:#f4f4f1;background:transparent}.case-study .case-close button:hover{color:#080808;background:#f4f4f1}.case-study .case-footer{border-top:1px solid #ffffff55;color:#a5a5a2;background:#080808}.case-study .case-footer a{color:#e8e8e5}.case-not-found{color:#f4f4f1}.resume-page{min-height:100vh;padding-top:84px}.resume-main{width:min(calc(100% - clamp(42px,8vw,180px)),1160px);padding:clamp(2rem,4vw,4rem) 0 7rem}.resume-intro{padding-bottom:1.5rem;border-color:#fff5}.resume-intro h1{font-size:clamp(3.8rem,7vw,7rem);line-height:.95}.resume-download{display:inline-flex;gap:.7rem;padding:.5rem 0;border:0;border-bottom:1px solid #eee;border-radius:0;color:#f4f4f1;background:transparent;font-weight:500}.resume-download:hover{color:#aaa;background:transparent}.resume-layout{width:min(100%,920px);margin-top:clamp(2rem,4vw,4rem)}.resume-viewer{border:1px solid #ffffff50;background:#f4f4f1}.resume-viewer-toolbar{min-height:3.3rem;padding:.45rem .85rem;border-color:#ffffff4d;color:#dededb;background:#171717;font:500 .7rem/1.5 var(--mono)}.resume-viewer-toolbar button{border-color:#ffffff5c;color:#f4f4f1}.resume-viewer-toolbar button:hover:not(:disabled){background:#333}.resume-viewer>p{color:#171717}.contact-dialog{--utility-ink: #f4f4f1;--utility-paper: #101010;--utility-orange: #f4f4f1;--utility-rule: #ffffff55;max-height:calc(100dvh - 2rem);padding:clamp(1rem,2.5vw,2rem);border:1px solid #8f8f8d;border-radius:10px;color:#f4f4f1;background:#101010;font-family:var(--body-font)}.contact-dialog::backdrop{background:#050505d9;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.contact-description,.contact-form-note,.contact-direct{color:#bdbdba}.contact-dialog h2{max-width:13ch;font-size:clamp(2.8rem,5vw,4.5rem);line-height:1}.contact-description{margin-bottom:1.2rem}.contact-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.contact-fields label:last-child{grid-column:1 / -1}.contact-close{border-color:#fff5;border-radius:7px;color:#f4f4f1;transition:color .18s ease,background-color .18s ease}.contact-close:hover{color:#101010;background:#f4f4f1}.contact-fields input,.contact-fields textarea{border-color:#ffffff80;color:#f4f4f1;background:#1c1c1c;transition:border-color .18s ease,background-color .18s ease}.contact-fields textarea{min-height:7rem}.contact-fields :is(input,textarea):hover{border-color:#fff}.contact-fields :is(input,textarea):focus{border-color:#fff;background:#242424}.contact-fields :is(input,textarea):focus-visible,.contact-dialog :is(a,button):focus-visible{outline-color:#f4f4f1}.contact-submit{border-color:#f4f4f1;border-radius:7px;color:#101010;background:#f4f4f1;transition:background-color .18s ease,transform .18s cubic-bezier(.23,1,.32,1)}.contact-submit:hover{color:#101010;background:#d0d0cc}@media(hover:hover){.contact-submit:hover:not(:disabled){transform:translateY(-2px)}}.contact-submit:active:not(:disabled){transform:translateY(0) scale(.98)}.contact-direct{margin-top:.5rem;padding-top:.75rem}.contact-direct a{color:#f4f4f1}.contact-success{border-color:#aaa;color:#f4f4f1;background:#222}.contact-error{border-color:#c8c8c3;color:#f4f4f1;background:#292929}@media(max-width:1200px){.intro{grid-template-columns:minmax(0,1fr) 220px;gap:2rem}.intro h1{font-size:clamp(6rem,11vw,9rem)}.spotlight-layout{grid-template-columns:minmax(0,.43fr) minmax(0,.57fr);gap:2rem}.spotlight h2{font-size:clamp(3.5rem,5.5vw,5.5rem)}.spotlight-media-window{height:min(47vw,57svh,490px)}.experience-list article{grid-template-columns:minmax(7rem,.18fr) minmax(12rem,.28fr) minmax(0,.54fr)}}@media(max-width:760px),(prefers-reduced-motion:reduce){.journey,.journey.is-simple{height:auto}.journey-work-anchor{top:min(100svh,760px)}.journey-stage{position:relative;height:auto;min-height:0;overflow:hidden}.journey-stage:after{background:linear-gradient(90deg,#050505d8,#050505a8 61%,#05050562)}.intro{min-height:min(100svh,760px);height:auto}.spotlight-shell{position:relative;inset:auto}.spotlight{min-height:650px}}@media(max-width:760px){.page-wrap{width:calc(100% - 38px)}.site-header{height:61px;padding-inline:19px}.header-status{display:none}.primary-nav{position:fixed;display:inline-flex;flex-direction:row;align-items:center;inset:auto auto 12px 12px;width:max-content;max-width:calc(100vw - 24px);min-height:46px;padding:3px 4px;border-radius:12px;font-size:.66rem}.primary-nav>a:not(.nav-social),.primary-nav>button{min-height:38px;padding:.4rem .52rem;border-radius:8px}.nav-divider{margin-inline:.16rem .24rem;height:18px}.primary-nav .nav-social{width:31px;height:37px}.site-controls{position:fixed;display:flex;flex-wrap:nowrap;top:12px;right:12px;bottom:auto;width:auto;margin:0;padding:3px;border:1px solid #b8b8b85c;border-radius:10px}.site-controls button{width:35px;height:35px}.intro{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;min-height:740px;padding-block:112px 105px}.intro-kicker{margin-bottom:2.3rem}.intro h1{font-size:clamp(5.25rem,16.2vw,8.2rem);letter-spacing:-.07em}.intro-availability{font-size:clamp(1.05rem,4vw,1.4rem)}.intro-actions{gap:1.2rem;margin-top:1.4rem}.intro-actions :is(a,button){font-size:.78rem}.intro-portrait{display:none}.intro-scroll{left:19px;bottom:87px;transform:none;font-size:.61rem}.spotlight{display:block;min-height:0;height:auto;padding-block:1.4rem 94px}.spotlight-mobile-nav{display:flex;align-items:center;justify-content:space-between;gap:1.2rem;margin-top:.85rem}.spotlight-bottom{display:none}.spotlight-layout{grid-template-columns:1fr;gap:1.3rem;padding-block:1rem}.spotlight h2{max-width:15ch;font-size:clamp(3.3rem,11vw,5rem)}.spotlight-lead{margin-top:1rem;font-size:1.1rem}.spotlight-proof{font-size:.88rem}.spotlight-stack{margin-top:1rem}.spotlight-actions{margin-top:1.3rem}.spotlight-media-window{height:min(72vw,430px);min-height:215px}.spotlight-bottom{padding-top:.65rem}.spotlight-progress{width:48vw}.after-work-grid,.resume-teaser-grid,.footer-main{grid-template-columns:1fr}.after-work{min-height:0;padding-block:7rem 1rem}.after-work h2{font-size:clamp(3.6rem,11vw,5.5rem)}.after-work-aside{min-height:315px;padding-top:1.5rem;padding-right:125px}.after-work-aside img{width:180px;right:-20px;bottom:-65px}.skills-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.experience-list article{grid-template-columns:minmax(0,1fr);gap:.55rem;min-height:0;padding:1.5rem 0}.archive-grid{grid-template-columns:1fr;gap:2.5rem}.archive-grid img{aspect-ratio:1.8}.archive-grid p{min-height:0}.resume-teaser-preview img{max-height:70svh}.footer-main{gap:2rem}.footer-bottom{flex-direction:column;align-items:flex-start;gap:1.1rem;padding-bottom:4rem}}@media(max-width:620px){.contact-fields{grid-template-columns:1fr}}@media(max-width:620px)and (max-height:650px){.contact-dialog h2{margin:.35rem 0 .2rem;font-size:1.8rem}.contact-description{position:absolute;width:1px;height:1px;margin:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.contact-fields{gap:.35rem}.contact-fields label{gap:.2rem}.contact-fields textarea{min-height:3.5rem}.contact-submit{margin-top:.4rem}.contact-direct{margin-top:.35rem;padding-top:.35rem}}@media(max-width:500px){.journey-work-anchor{top:100svh}.intro{min-height:100svh}.intro h1{font-size:clamp(5rem,16vw,6.1rem)}.intro-actions{gap:.65rem}.intro-actions :is(a,button){font-size:.69rem}.spotlight h2{font-size:clamp(3rem,10vw,4rem)}.spotlight-top-label,.spotlight-top-rule{display:none}.spotlight-top>span:last-child{white-space:nowrap}.spotlight-progress{width:40vw}.spotlight-media-window{height:260px}.spotlight-media figcaption{font-size:.57rem}.skills-grid{grid-template-columns:1fr}.after-work-aside{padding-right:80px}.after-work-aside img{width:145px;right:-23px;bottom:-28px}}@media(max-width:350px){.spotlight-media-window{height:215px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.intro,.spotlight{animation:none}.action-primary,.action-secondary,.resume-teaser-actions a{transition:none}:where(.site-shell a),.resume-teaser-preview,.contact-close,.contact-submit,.contact-fields :is(input,textarea){transition:none}.resume-teaser-preview:hover,.contact-submit:hover:not(:disabled),.contact-submit:active:not(:disabled){transform:none}.case-page .trace-list,.case-page .case-ethmoid img{animation:none}}@media(max-width:900px){.case-study .case-hero{grid-template-columns:1fr;gap:2rem}.case-study .case-hero h1{max-width:15ch}.case-study .case-hero-preview img{max-height:500px}.case-study .case-evidence-grid{grid-template-columns:1fr;gap:1rem}}@media(max-width:760px){.case-study .breadcrumb{padding:1.4rem 0 3rem}.case-study .case-hero{padding-bottom:5rem}.case-study .case-hero h1{font-size:clamp(3.6rem,12vw,5.5rem)}.case-study .case-lead{margin-top:1.4rem}.case-study .case-hero-preview img{max-height:430px}.case-study .case-gallery.has-video,.case-study .case-detail-grid,.case-study .case-stack{grid-template-columns:1fr}.case-study .case-detail-grid{gap:2.5rem}.case-study .case-close{align-items:start;flex-direction:column;gap:2rem}.case-study .case-footer .page-wrap{flex-direction:column}.resume-page{padding-top:74px}.resume-main{padding-top:2rem}.resume-intro{align-items:end}.resume-intro h1{font-size:clamp(3rem,12vw,5rem)}}
