:root{--background:#f6f6f2;--foreground:#111111;--muted:#666666;--border:#dddddd;--surface:#ffffff;--accent:#111111;--max-width:1160px;--font-display:"Helvetica Neue","Avenir Next","Segoe UI",Helvetica,Arial,sans-serif;--font-body:"Inter","Avenir Next","Segoe UI",Helvetica,Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scrollbar-gutter:stable}body{margin:0;min-height:100vh;color:var(--foreground);background:var(--background);font-family:var(--font-body),sans-serif;text-rendering:optimizeLegibility}a{color:inherit;text-decoration:none}:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.site-shell{width:min(calc(100% - 2rem),var(--max-width));margin:0 auto}.site-nav{display:flex;justify-content:space-between;align-items:center;gap:1.5rem;padding:1rem 0 0}.site-mark{position:relative;font-size:.95rem;font-weight:600;letter-spacing:-.01em}.nav-links{display:flex;flex-wrap:wrap;gap:1.2rem;font-size:.92rem;color:var(--muted)}.contact-email,.contact-links a,.hero-link,.nav-links a,.project-link,.site-mark{position:relative;width:-moz-fit-content;width:fit-content;transition:color .26s ease,transform .26s ease,opacity .26s ease}.contact-email:after,.contact-links a:after,.hero-link:after,.nav-links a:after,.project-link:after,.site-mark:after{content:"";position:absolute;left:0;bottom:-.12rem;width:100%;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left center;transition:transform .28s ease;opacity:.7}.contact-email:hover,.contact-links a:hover,.hero-link:hover,.nav-links a:hover,.project-link:hover,.site-mark:hover{transform:translateY(-1px)}.contact-email:focus-visible:after,.contact-email:hover:after,.contact-links a:focus-visible:after,.contact-links a:hover:after,.hero-link:focus-visible:after,.hero-link:hover:after,.nav-links a:focus-visible:after,.nav-links a:hover:after,.project-link:focus-visible:after,.project-link:hover:after,.site-mark:focus-visible:after,.site-mark:hover:after{transform:scaleX(1)}.section{padding:2.8rem 0;border-top:1px solid var(--border)}.section-bleed{width:min(calc(100% - 1rem),1400px)}.section-bleed,.section-bleed-work{margin-left:50%;transform:translateX(-50%)}.section-bleed-work{width:min(90vw,1800px)}.hero{min-height:calc(100svh - 5.5rem);padding:4rem 0 4.8rem;border-top:0;display:flex;align-items:flex-end;position:relative;overflow:visible;--hero-ball-entry:clamp(9rem,28vh,17rem);--hero-ball-bounce-1:clamp(1.5rem,4vh,3.2rem);--hero-ball-bounce-2:clamp(0.75rem,2.2vh,1.45rem);--hero-ball-rest-x:0.045em;--hero-ball-rest-y:0.085em}.eyebrow{margin:0;color:var(--muted);font-size:.78rem;letter-spacing:.08em;text-transform:uppercase}.contact-layout h2,.hero h1,.project-card h3,.section-heading h2{font-family:var(--font-display),serif;font-weight:600;line-height:.94;letter-spacing:-.05em;margin:0}.hero h1{max-width:10ch;font-size:clamp(4.6rem,11vw,9.5rem)}.hero-copy{position:relative;z-index:1}.hero-name-final{display:inline-block;opacity:0;transition:opacity .26s ease}.hero-name-text{display:inline}.hero-content-visible .hero-name-final,.hero-intro-complete .hero-name-final{opacity:1}.hero-content{opacity:0;transform:translateY(20px);transition:opacity .36s ease,transform .36s ease}.hero-content.is-visible{opacity:1;transform:translateY(0)}.hero-period-anchor{position:relative;display:inline-block;width:.22em;height:.24em;margin-left:.03em;vertical-align:baseline}.hero-period-placeholder{visibility:hidden;display:inline-block}.hero-ball-period{position:absolute;left:0;top:0;width:100%;height:100%;opacity:0;transform:translate3d(0,calc(-1 * var(--hero-ball-entry)),0) scale(2.05) rotate(-70deg);transform-origin:center center;will-change:transform,opacity}.hero-ball-period img{display:block;width:100%;height:100%}.hero-ball-period.is-bouncing{opacity:1;animation:hero-ball-bounce 1.45s linear both}.hero-ball-period.is-resting{opacity:1;transform:translate3d(var(--hero-ball-rest-x),var(--hero-ball-rest-y),0) scale(1) rotate(335deg)}.hero-intro-cover{position:fixed;inset:0;z-index:45;background:var(--background);pointer-events:none;opacity:1;transition:opacity .24s ease,visibility .24s ease}.hero-intro-cover.is-done,.hero-intro-cover.is-faded{opacity:0;visibility:hidden}.hero-intro-name{position:fixed;top:50%;left:50%;display:inline-block;align-items:flex-end;margin:0;font-family:var(--font-display),serif;font-size:clamp(4.6rem,11vw,9.5rem);font-weight:600;line-height:.94;letter-spacing:-.05em;color:var(--foreground);transform:translate(-50%,-50%) scale(1.24);transform-origin:center center;max-width:10ch;white-space:normal}.hero-intro-cover.is-measured .hero-intro-name{top:var(--hero-intro-target-top);left:var(--hero-intro-target-left);transform:translate(var(--hero-intro-dx),var(--hero-intro-dy)) scale(var(--hero-intro-scale));transform-origin:left top}.hero-intro-cover.is-measured.is-settled .hero-intro-name{transition:transform .86s cubic-bezier(.22,1,.36,1);transform:translate(0) scale(1)}.hero-tagline{max-width:20ch;margin:.7rem 0 0;color:var(--foreground);font-size:clamp(1.6rem,3vw,2.4rem);line-height:1.08}.contact-lead,.experience-summary,.hero-intro,.mini-case-study p,.project-summary,.section-heading p{max-width:56ch;color:var(--muted);font-size:1rem;line-height:1.65}.hero-actions{display:flex;flex-wrap:wrap;gap:1.4rem;margin-top:1.35rem}.hero-link{color:var(--foreground);font-size:.96rem;font-weight:500}.hero-link-muted{color:var(--muted)}.section-heading{display:grid;grid-gap:.6rem;gap:.6rem;margin-bottom:1.45rem}.section-heading h2{max-width:16ch;font-size:clamp(2.5rem,4.5vw,4.8rem)}.section-heading p{max-width:44rem;margin:0}.work-section{padding-top:clamp(5rem,8vh,7.5rem)}.work-list{display:grid;grid-gap:1.35rem;gap:1.35rem}.work-stack{position:relative;min-height:clamp(235svh,285svh,320svh)}.work-stack-viewport{position:-webkit-sticky;position:sticky;top:clamp(1rem,5svh,3rem);height:clamp(31rem,41vw,43rem);display:flex;align-items:stretch}.work-stack-scrollspace{height:calc(100% - clamp(31rem, 41vw, 43rem))}.work-stack-layers{position:relative;width:100%;height:100%}.work-stack-card{position:absolute;inset:0;box-shadow:0 28px 88px rgba(17,17,17,.09);transition:transform .26s linear,opacity .26s linear,box-shadow .26s linear,filter .26s linear;will-change:transform,opacity,filter}.work-stack-card .project-main{box-shadow:0 28px 92px rgba(17,17,17,.14)}.work-stack-card+.work-stack-card .project-main{box-shadow:0 34px 108px rgba(17,17,17,.18)}.work-stack-card-static{position:relative}.work-stack-card-inner{width:100%;height:100%}.work-stack-fallback{display:grid;grid-gap:1.35rem;gap:1.35rem;min-height:auto}.project-card{width:100%;padding:0}.project-main{display:grid;grid-template-columns:minmax(300px,.95fr) minmax(0,2.05fr);grid-gap:0;gap:0;min-height:clamp(31rem,41vw,43rem);border:1px solid var(--border);border-radius:2.2rem;overflow:hidden;background:#f9f7f0;transform-origin:center top;transition:transform .4s ease,box-shadow .4s ease,filter .4s ease}.project-copy-pane{display:grid;align-content:space-between;grid-gap:1.25rem;gap:1.25rem;padding:clamp(1.6rem,2.2vw,2.25rem);background:linear-gradient(180deg,rgba(16,25,18,.92),rgba(4,10,7,.98)),radial-gradient(circle at top left,rgba(255,255,255,.06),transparent 30%);color:#eef0e8}.project-heading{display:grid;grid-gap:.7rem;gap:.7rem}.project-stage{opacity:.28;transform:translateY(26px) scale(.985)}.project-card h3{color:#f3f1eb;font-size:clamp(3.2rem,5.4vw,5.4rem)}.project-role,.project-summary{margin:0}.project-summary{color:rgba(243,241,235,.88);max-width:20ch;font-size:clamp(.98rem,1.05vw,1.08rem);line-height:1.34}.project-details{display:grid;grid-gap:.75rem;gap:.75rem;align-content:start}.project-role{color:rgba(243,241,235,.62);max-width:24ch;font-size:.92rem;line-height:1.36;letter-spacing:-.01em;text-transform:none}.project-footer{display:flex;justify-content:flex-start;align-items:center;gap:1rem;padding-top:0}.project-link{font-size:.98rem;font-weight:500;color:#f3f1eb}.project-visual{position:relative;min-height:100%;display:flex;align-items:stretch;padding:clamp(.8rem,.95vw,1rem)}.project-theme-easystate .project-main{background:linear-gradient(135deg,#c7e3ff,#9dcafc 42%,#79b4ff)}.project-theme-easystate .project-copy-pane{background:radial-gradient(circle at top left,rgba(255,255,255,.3),transparent 34%),linear-gradient(180deg,rgba(10,36,74,.88),rgba(3,18,44,.96))}.project-theme-easystate .project-visual{background:radial-gradient(circle at 20% 15%,rgba(255,255,255,.42),transparent 28%),linear-gradient(135deg,#d5ebff,#aed4ff 40%,#7ab4ff)}.project-theme-fineants .project-main{background:linear-gradient(135deg,#7a0e2e,#9f183f 38%,#c52657)}.project-theme-fineants .project-copy-pane{background:radial-gradient(circle at top left,rgba(255,197,210,.14),transparent 32%),linear-gradient(180deg,rgba(61,4,24,.9),rgba(31,2,12,.97))}.project-theme-fineants .project-visual{background:radial-gradient(circle at 82% 18%,rgba(255,183,210,.28),transparent 24%),linear-gradient(135deg,#7f1234,#a61b47 40%,#d62d64)}.project-theme-recallr .project-main{background:linear-gradient(135deg,#04111a,#082030 42%,#0c3044)}.project-theme-recallr .project-copy-pane{background:radial-gradient(circle at top left,rgba(34,211,238,.12),transparent 34%),linear-gradient(180deg,rgba(3,12,20,.92),rgba(1,6,10,.98))}.project-theme-recallr .project-visual{background:radial-gradient(circle at 18% 18%,rgba(34,211,238,.18),transparent 24%),linear-gradient(135deg,#04111a,#082030 44%,#0c3044)}.project-theme-promptimizer h3{font-size:clamp(2.4rem,4.2vw,4.4rem)}.project-theme-promptimizer .project-main{background:linear-gradient(135deg,#0e0814,#1a0f2e 42%,#2a1a4a)}.project-theme-promptimizer .project-copy-pane{background:radial-gradient(circle at top left,rgba(168,85,247,.14),transparent 34%),linear-gradient(180deg,rgba(10,5,18,.92),rgba(5,2,10,.98))}.project-theme-promptimizer .project-visual{background:radial-gradient(circle at 22% 18%,rgba(168,85,247,.18),transparent 28%),linear-gradient(135deg,#0e0814,#1a0f2e 42%,#2a1a4a)}.project-visual-link{display:block;width:100%;height:100%}.project-visual-link:after{display:none}.project-visual-frame{position:relative;width:100%;height:100%;min-height:100%;overflow:hidden;border-radius:1.6rem;background:transparent}.project-visual-image-frame{display:flex;align-items:center;justify-content:center;width:100%;height:100%;padding:clamp(.5rem,.8vw,.85rem);background:transparent}.project-visual-image{display:block;width:calc(100% - clamp(.2rem, .35vw, .35rem));height:calc(100% - clamp(.2rem, .35vw, .35rem));object-fit:contain;object-position:center center;border-radius:1.6rem;box-shadow:none;transition:transform .7s ease,box-shadow .7s ease}.project-visual-image-frame .project-visual-image{max-width:100%;max-height:100%}.project-visual-band{position:absolute;left:8%;right:8%;height:23%;border-radius:1.6rem;opacity:.9;transition:transform .5s ease,opacity .5s ease}.project-band-top{top:13%}.project-band-mid{top:40%}.project-band-bottom{top:68%}.project-visual-card{position:absolute;top:31%;left:31%;width:44%;min-width:14rem;background:rgba(255,255,255,.92);border:1px solid rgba(17,17,17,.08);border-radius:1.35rem;box-shadow:0 28px 80px rgba(17,17,17,.12);overflow:hidden;transition:transform .6s ease,box-shadow .6s ease}.project-visual-easystate .project-visual-card{top:18%;left:12%;width:74%;min-width:0;border-radius:1.15rem}.project-es-bottom,.project-es-columns,.project-es-header,.project-fa-assistant,.project-fa-phone,.project-rc-shell,.project-rc-sidecard{position:absolute}.project-es-header{top:1.15rem;left:1rem;right:1rem;display:grid;grid-gap:.65rem;gap:.65rem}.project-es-title{height:1rem;width:42%;border-radius:999px;background:rgba(17,17,17,.1)}.project-es-meta{display:flex;gap:.45rem}.project-es-chip-row span,.project-es-meta span{height:.75rem;border-radius:999px;background:rgba(17,17,17,.08)}.project-es-meta span:first-child{width:4.6rem}.project-es-meta span:last-child{width:3.3rem}.project-es-columns{top:4.8rem;left:1rem;right:1rem;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:.8rem;gap:.8rem}.project-es-column{display:grid;grid-gap:.55rem;gap:.55rem;padding:.8rem;border-radius:1rem;background:rgba(17,17,17,.035)}.project-es-column p{margin:0;color:rgba(17,17,17,.45);font-size:.7rem;letter-spacing:.08em;text-transform:uppercase}.project-es-column span{height:2.55rem;border-radius:.85rem;border:1px solid rgba(17,17,17,.05);background:rgba(255,255,255,.68)}.project-es-bottom{left:1rem;right:1rem;bottom:1rem;display:grid;grid-gap:.85rem;gap:.85rem}.project-es-progress{height:1rem;border-radius:999px;background:linear-gradient(90deg,#ef77aa,#cc5690)}.project-es-chip-row{display:flex;gap:.5rem}.project-es-chip-row span:first-child{width:4.2rem}.project-es-chip-row span:nth-child(2){width:5.2rem}.project-es-chip-row span:nth-child(3){width:3.7rem}.project-visual-fineants{background:radial-gradient(circle at 70% 18%,rgba(255,192,218,.42),transparent 24%),linear-gradient(180deg,#f5ede6,#faf7f1)}.project-fa-phone{top:12%;left:18%;width:38%;min-width:13rem;display:grid;grid-gap:.9rem;gap:.9rem;padding:1rem;border:1px solid rgba(17,17,17,.08);border-radius:1.8rem;background:rgba(255,255,255,.92);box-shadow:0 22px 60px rgba(17,17,17,.11);transition:transform .6s ease,box-shadow .6s ease}.project-fa-phone-top{display:flex;justify-content:space-between}.project-fa-phone-top span{width:1.8rem;height:.34rem;border-radius:999px;background:rgba(17,17,17,.12)}.project-fa-balance{display:grid;grid-gap:.55rem;gap:.55rem}.project-fa-balance-label{width:40%;height:.65rem;border-radius:999px;background:rgba(17,17,17,.08)}.project-fa-balance-value{width:72%;height:1.55rem;border-radius:999px;background:linear-gradient(90deg,#101010,#4d4d4d)}.project-fa-chart{display:grid;grid-template-columns:repeat(5,1fr);align-items:end;grid-gap:.45rem;gap:.45rem;height:7rem}.project-fa-chart span{border-radius:999px 999px .8rem .8rem;background:linear-gradient(180deg,#f38abd,#ef6ea8)}.project-fa-chart span:first-child{height:34%}.project-fa-chart span:nth-child(2){height:55%}.project-fa-chart span:nth-child(3){height:74%}.project-fa-chart span:nth-child(4){height:62%}.project-fa-chart span:nth-child(5){height:88%}.project-fa-modules{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:.45rem;gap:.45rem}.project-fa-modules div{aspect-ratio:1/1;border-radius:.95rem;background:rgba(245,110,166,.12);border:1px solid rgba(243,138,189,.2)}.project-fa-assistant{right:10%;bottom:12%;width:35%;display:grid;grid-gap:.65rem;gap:.65rem;transition:transform .6s ease}.project-fa-bubble{height:4rem;border-radius:1.3rem;background:rgba(255,255,255,.86);border:1px solid rgba(17,17,17,.06);box-shadow:0 16px 40px rgba(17,17,17,.08)}.project-fa-bubble-user{width:70%;justify-self:end;background:linear-gradient(135deg,#1a1a1a,#474747)}.project-fa-bubble-ai{width:100%}.project-fa-bubble-short{width:62%}.project-visual-recallr{background:radial-gradient(circle at 25% 25%,rgba(89,120,109,.22),transparent 24%),linear-gradient(180deg,#eef2ef,#f7faf7)}.project-rc-shell{inset:0}.project-rc-node{width:1.45rem;height:1.45rem;border-radius:999px;background:linear-gradient(180deg,#395648,#759783);box-shadow:0 10px 24px rgba(47,73,62,.16);transition:transform .6s ease,box-shadow .6s ease}.project-rc-node-core{top:40%;left:42%;width:4.8rem;height:4.8rem;border-radius:1.4rem;background:linear-gradient(180deg,#20352c,#4d7160)}.project-rc-node-a{top:23%;left:22%}.project-rc-node-b{top:22%;right:26%}.project-rc-node-c{bottom:24%;left:24%}.project-rc-node-d{bottom:20%;right:22%}.project-rc-link{position:absolute;height:2px;background:linear-gradient(90deg,rgba(64,95,81,.18),rgba(64,95,81,.48));transform-origin:left center}.project-rc-link-a{top:31%;left:25%;width:21%;transform:rotate(26deg)}.project-rc-link-b{top:33%;right:29%;width:18%;transform:rotate(-28deg)}.project-rc-link-c{bottom:30%;left:30%;width:34%;transform:rotate(-2deg)}.project-rc-sidecard{top:18%;right:10%;width:26%;padding:.9rem;border-radius:1.2rem;border:1px solid rgba(17,17,17,.08);background:rgba(255,255,255,.88);box-shadow:0 22px 56px rgba(17,17,17,.08);transition:transform .6s ease,box-shadow .6s ease}.project-rc-sidecard-top{display:flex;gap:.35rem}.project-rc-sidecard-top span{width:.45rem;height:.45rem;border-radius:999px;background:rgba(17,17,17,.14)}.project-rc-lines{display:grid;grid-gap:.55rem;gap:.55rem;margin-top:.9rem}.project-rc-lines span{display:block;height:.72rem;border-radius:999px;background:rgba(17,17,17,.08)}.project-rc-lines span:first-child{width:78%}.project-rc-lines span:nth-child(2){width:100%}.project-rc-lines span:nth-child(3){width:66%}.project-rc-lines span:nth-child(4){width:86%}.project-visual-card-top{display:flex;gap:.45rem;padding:.8rem 1rem 0}.project-visual-card-top span{width:.55rem;height:.55rem;border-radius:999px;background:rgba(17,17,17,.14)}.project-visual-card-body{display:grid;grid-template-columns:92px 1fr;grid-gap:1rem;gap:1rem;padding:1rem;align-items:start}.project-visual-avatar{width:92px;height:120px;border-radius:999px 999px .95rem .95rem}.project-visual-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:.55rem;gap:.55rem}.project-visual-grid span{display:block;aspect-ratio:1/1;border-radius:.7rem;border:1px solid rgba(17,17,17,.08)}.project-visual-cta{height:1.25rem;margin:0 1rem 1rem;border-radius:999px}.project-tone-1 .project-visual-band{background:linear-gradient(135deg,#f4efe3,#f8f4ea)}.project-tone-1 .project-band-mid{background:linear-gradient(135deg,#f6d8dd,#f2e1e6)}.project-tone-1 .project-band-bottom,.project-tone-1 .project-visual-cta{background:linear-gradient(135deg,#f484b4,#e16cad)}.project-tone-1 .project-visual-avatar{background:linear-gradient(180deg,#495de8,#6584ff)}.project-tone-1 .project-visual-grid span{background:rgba(165,245,237,.45)}.project-tone-2 .project-visual-band{background:linear-gradient(135deg,#e6ebef,#f2f3f5)}.project-tone-2 .project-band-mid{background:linear-gradient(135deg,#dde4ea,#f1f4f7)}.project-tone-2 .project-band-bottom,.project-tone-2 .project-visual-cta{background:linear-gradient(135deg,#101010,#3a3a3a)}.project-tone-2 .project-visual-avatar{background:linear-gradient(180deg,#111111,#616161)}.project-tone-2 .project-visual-grid span{background:rgba(17,17,17,.06)}.project-tone-3 .project-visual-band{background:linear-gradient(135deg,#e8ece9,#f1f4f2)}.project-tone-3 .project-band-mid{background:linear-gradient(135deg,#d8e7e1,#edf4f1)}.project-tone-3 .project-band-bottom,.project-tone-3 .project-visual-cta{background:linear-gradient(135deg,#718b7d,#2f493e)}.project-tone-3 .project-visual-avatar{background:linear-gradient(180deg,#445c52,#7fa38f)}.project-tone-3 .project-visual-grid span{background:rgba(107,152,129,.14)}.project-card:hover .project-stage,.project-card:hover .project-visual-card{opacity:1;transform:translateY(0) scale(1)}.project-card:hover .project-main{transform:translateY(-2px);box-shadow:0 22px 54px rgba(17,17,17,.12)}.project-card:hover .project-visual-image{transform:scale(1.012);box-shadow:none}.project-card:hover .project-band-top{transform:translateY(-.5rem)}.project-card:hover .project-band-bottom{transform:translateY(.5rem)}.project-card:hover .project-fa-phone{transform:translateY(-4px)}.project-card:hover .project-fa-assistant{transform:translateY(4px)}.project-card:hover .project-rc-sidecard{transform:translateY(-4px)}.project-card:hover .project-rc-node-core{transform:scale(1.03)}.experience-reel-section{position:relative;padding-top:2rem;padding-bottom:2.2rem}.experience-reel-section .section-heading{margin-bottom:1.25rem}.experience-reel-section .section-heading h2{max-width:15ch}.experience-reel{position:relative}.experience-reel-scroll{overflow-x:auto;overflow-y:hidden;scrollbar-width:none;cursor:ew-resize;-webkit-overflow-scrolling:touch}.experience-reel-scroll::-webkit-scrollbar{display:none}.experience-reel-track{display:flex;gap:1rem;width:max-content;will-change:transform}.experience-reel-sequence{display:flex;flex-shrink:0;gap:1rem;width:max-content}.experience-reel-scroll:focus-within .experience-reel-track,.experience-reel-scroll:hover .experience-reel-track{animation-play-state:paused}.experience-reel-card{flex:0 0 clamp(22rem,24vw,27rem);display:grid;grid-gap:.75rem;gap:.75rem;padding:1.35rem;border:1px solid var(--border);border-radius:1.35rem;background:rgba(255,255,255,.86);min-height:21.5rem;box-shadow:0 18px 42px rgba(17,17,17,.04)}.experience-reel-card-consulting{background:linear-gradient(180deg,rgba(255,255,255,.92),rgba(255,255,255,.74)),radial-gradient(circle at top right,rgba(17,17,17,.05),transparent 35%)}.experience-reel-card-experience{background:linear-gradient(180deg,rgba(244,244,239,.96),rgba(239,239,232,.82)),radial-gradient(circle at top right,rgba(17,17,17,.03),transparent 34%)}.experience-reel-card-github{border-color:rgba(54,87,72,.2);background:radial-gradient(circle at top right,rgba(129,188,158,.16),transparent 34%),linear-gradient(180deg,rgba(244,248,245,.98),rgba(235,241,237,.95))}.experience-reel-card-github .experience-reel-kind,.experience-reel-card-github .experience-reel-meta,.experience-reel-card-github .experience-reel-summary{color:rgba(63,82,72,.72)}.experience-reel-card-github .experience-reel-org,.experience-reel-card-github h3{color:#17241d}.experience-reel-card-jnj{border-color:rgba(188,97,108,.2);background:radial-gradient(circle at top right,rgba(226,122,136,.16),transparent 34%),linear-gradient(180deg,rgba(251,242,243,.98),rgba(246,233,236,.95))}.experience-reel-card-jnj .experience-reel-kind,.experience-reel-card-jnj .experience-reel-meta,.experience-reel-card-jnj .experience-reel-summary{color:rgba(120,59,69,.72)}.experience-reel-card-jnj .experience-reel-org,.experience-reel-card-jnj h3{color:#3f171f}.experience-reel-card-tesla{border-color:rgba(193,91,91,.2);background:radial-gradient(circle at top right,rgba(226,104,104,.15),transparent 34%),linear-gradient(180deg,rgba(251,243,243,.98),rgba(245,232,232,.95))}.experience-reel-card-tesla .experience-reel-kind,.experience-reel-card-tesla .experience-reel-meta,.experience-reel-card-tesla .experience-reel-summary{color:rgba(118,56,56,.72)}.experience-reel-card-tesla .experience-reel-org,.experience-reel-card-tesla h3{color:#391717}.experience-reel-card-evgo{border-color:rgba(82,126,193,.2);background:radial-gradient(circle at top right,rgba(126,175,255,.12),transparent 34%),linear-gradient(180deg,rgba(241,246,255,.98),rgba(228,237,252,.95))}.experience-reel-card-evgo .experience-reel-kind,.experience-reel-card-evgo .experience-reel-meta,.experience-reel-card-evgo .experience-reel-summary{color:rgba(53,84,132,.74)}.experience-reel-card-evgo .experience-reel-org,.experience-reel-card-evgo h3{color:#183256}.experience-reel-card-kaiser{border-color:rgba(112,167,226,.22);background:radial-gradient(circle at top right,rgba(191,228,255,.14),transparent 34%),linear-gradient(180deg,rgba(243,249,255,.98),rgba(231,242,252,.95))}.experience-reel-card-kaiser .experience-reel-kind,.experience-reel-card-kaiser .experience-reel-meta,.experience-reel-card-kaiser .experience-reel-summary{color:rgba(37,70,105,.76)}.experience-reel-card-kaiser .experience-reel-org,.experience-reel-card-kaiser h3{color:#173659}.experience-reel-kind,.experience-reel-meta{margin:0;color:var(--muted);font-size:.78rem;letter-spacing:.08em;text-transform:uppercase}.experience-reel-org,.experience-reel-summary{margin:0}.experience-reel-org{color:var(--foreground);font-size:.95rem;font-weight:600;letter-spacing:-.01em}.experience-reel-orgmark{display:flex;align-items:center;width:10.5rem;height:3rem;max-width:100%}.experience-reel-orgmark img{width:100%;height:100%;object-fit:contain;object-position:left center}.experience-reel-orgmark-standard img{transform:scale(1);transform-origin:left center}.experience-reel-orgmark-wide img{transform:scale(.9);transform-origin:left center}.experience-reel-orgmark-compact img{transform:scale(1.08);transform-origin:left center}.experience-reel-card h3{margin:0;font-family:var(--font-display),serif;font-size:clamp(1.85rem,2.2vw,2.5rem);line-height:.98;letter-spacing:-.04em}.experience-reel-summary{max-width:32ch;color:var(--muted);font-size:.95rem;line-height:1.45}.contact-section{padding-bottom:3rem}.contact-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,.9fr);grid-gap:1.2rem;gap:1.2rem;align-items:start}.contact-layout h2{max-width:10ch;font-size:clamp(2.3rem,4vw,4rem)}.contact-content{display:grid;grid-gap:.7rem;gap:.7rem}.contact-email{display:inline-block;width:-moz-fit-content;width:fit-content;font-family:var(--font-display),serif;font-size:clamp(1.55rem,3vw,2.4rem);line-height:1}.contact-links{flex-wrap:wrap}.contact-links,.site-footer{display:flex;gap:1rem;color:var(--muted)}.site-footer{justify-content:space-between;padding:.8rem 0 1.4rem;font-size:.95rem;border-top:1px solid var(--border)}.reveal{animation:fade-up .7s ease both}.reveal-delay{animation-delay:.12s}@keyframes fade-up{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@keyframes hero-ball-bounce{0%{opacity:0;transform:translate3d(0,calc(-1 * var(--hero-ball-entry)),0) scale(2.05) rotate(-70deg)}8%{opacity:1}42%{opacity:1;transform:translate3d(.01em,.03em,0) scale(1.05) rotate(185deg)}58%{transform:translate3d(.025em,calc(-1 * var(--hero-ball-bounce-1)),0) scale(1.01) rotate(245deg)}74%{transform:translate3d(.035em,.055em,0) scale(1) rotate(292deg)}86%{transform:translate3d(.04em,calc(-1 * var(--hero-ball-bounce-2)),0) scale(1) rotate(320deg)}94%{transform:translate3d(.043em,.078em,0) scale(1) rotate(330deg)}to{opacity:1;transform:translate3d(var(--hero-ball-rest-x),var(--hero-ball-rest-y),0) scale(1) rotate(335deg)}}@media (max-width:960px){.contact-layout,.project-main{grid-template-columns:1fr}.work-stack{min-height:clamp(265svh,335svh,380svh)}.work-stack-viewport{top:1rem;height:auto;min-height:clamp(36rem,94svh,49rem)}.work-stack-scrollspace{height:calc(100% - clamp(36rem, 94svh, 49rem))}.project-visual{min-height:28rem}.project-main{min-height:auto}.project-visual-frame{min-height:28rem}.section-bleed,.section-bleed-work{width:100%;margin-left:0;transform:none}.experience-reel-section .section-heading{margin-bottom:1rem}.hero{--hero-ball-entry:clamp(8rem,24vh,13rem);--hero-ball-bounce-1:clamp(1.25rem,3vh,2.2rem);--hero-ball-bounce-2:clamp(0.6rem,1.8vh,1.1rem);--hero-ball-rest-x:0.04em;--hero-ball-rest-y:0.075em}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:after,:before{animation-duration:1ms!important;animation-iteration-count:1!important;transition-duration:1ms!important}.project-stage{opacity:1;transform:none}.work-stack{min-height:auto}.work-stack-viewport{position:static;min-height:auto;height:auto}.work-stack-layers{display:grid;grid-gap:1.35rem;gap:1.35rem;height:auto}.contact-email,.contact-links a,.hero-link,.nav-links a,.project-link,.project-main,.project-visual-image,.site-mark,.work-stack-card{transition-duration:1ms!important}.experience-reel-track{animation:none}.hero-intro-cover{display:none}.hero-ball-period,.hero-content,.hero-name-final{opacity:1;transform:none}.hero-ball-period{animation:none!important}}@media (max-width:720px){.site-shell{width:min(calc(100% - 1.25rem),var(--max-width))}.project-footer,.site-footer,.site-nav{flex-direction:column;align-items:flex-start}.section{padding:2.2rem 0}.hero{min-height:calc(92svh - 4.5rem);padding-top:3.2rem;padding-bottom:3.6rem;--hero-ball-entry:clamp(6rem,20vh,9rem);--hero-ball-bounce-1:clamp(0.95rem,2.6vh,1.6rem);--hero-ball-bounce-2:clamp(0.45rem,1.4vh,0.8rem);--hero-ball-rest-x:0.035em;--hero-ball-rest-y:0.07em}.hero h1{max-width:8ch}.contact-links,.hero-actions{gap:.85rem}.experience-reel-card{flex-basis:18.5rem}.work-stack{min-height:clamp(245svh,315svh,350svh)}.project-copy-pane{padding:1.55rem 1.2rem 1.2rem}.project-visual{padding:.55rem}.project-visual,.project-visual-frame{min-height:16.5rem}.project-visual-image-frame{padding:.55rem}.project-visual-image{border-radius:.8rem}}@supports (animation-timeline:view()){.work-stack-card .project-stage{animation-name:chapter-stage-in;animation-duration:1ms;animation-fill-mode:both;animation-timeline:auto}.project-stage-one{animation-range:entry 12% cover 36%}.project-stage-two{animation-range:entry 28% cover 54%}.project-stage-three{animation-range:entry 42% cover 72%}.work-stack-card .project-band-top{animation:band-rise 1ms both;animation-timeline:auto;animation-range:entry 18% cover 65%}.work-stack-card .project-band-bottom{animation:band-drop 1ms both;animation-timeline:auto;animation-range:entry 24% cover 78%}.work-stack-card .project-visual-card{animation:card-settle 1ms both;animation-timeline:auto;animation-range:entry 34% cover 82%}}@keyframes chapter-stage-in{0%{opacity:.28;transform:translateY(26px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes band-rise{0%{transform:translateY(0);opacity:.74}to{transform:translateY(-.65rem);opacity:1}}@keyframes band-drop{0%{transform:translateY(0);opacity:.74}to{transform:translateY(.8rem);opacity:1}}@keyframes card-settle{0%{transform:translateY(22px) scale(.97);box-shadow:0 20px 48px rgba(17,17,17,.08)}to{transform:translateY(0) scale(1);box-shadow:0 30px 88px rgba(17,17,17,.15)}}.ask-drew-section{padding-top:clamp(2rem,3vh,3.2rem);padding-bottom:clamp(2rem,3vh,3.2rem)}.ask-drew-inner{display:grid;grid-gap:1.1rem;gap:1.1rem;max-width:48rem}.ask-drew-lead{margin:0;color:var(--muted);font-size:1rem;line-height:1.5}.ask-drew-form{display:grid;grid-gap:.75rem;gap:.75rem}.ask-drew-field{display:flex;gap:.75rem;align-items:stretch}.ask-drew-input{flex:1 1;padding:.6rem .85rem;border:1px solid var(--border);border-radius:.6rem;background:var(--surface);color:var(--foreground);font-family:var(--font-body);font-size:.95rem;outline:none;transition:border-color .2s ease}.ask-drew-input:focus{border-color:var(--foreground)}.ask-drew-input::placeholder{color:var(--muted)}.ask-drew-input:disabled{opacity:.6;cursor:not-allowed}.ask-drew-submit{padding:.6rem 1.1rem;border:1px solid var(--foreground);border-radius:.6rem;background:var(--foreground);color:var(--background);font-family:var(--font-body);font-size:.9rem;font-weight:500;cursor:pointer;transition:opacity .2s ease;white-space:nowrap}.ask-drew-submit:hover:not(:disabled){opacity:.82}.ask-drew-submit:disabled{opacity:.45;cursor:not-allowed}.ask-drew-response{padding:.9rem 1.1rem;border:1px solid var(--border);border-radius:.75rem;background:var(--surface);animation:fade-up .32s ease both}.ask-drew-response-text{margin:0;color:var(--foreground);font-size:.97rem;line-height:1.62}.ask-drew-error{margin:0;color:var(--muted);font-size:.88rem}.ask-drew-note{margin:0;color:var(--muted);font-size:.8rem;letter-spacing:.01em}@media (max-width:480px){.ask-drew-field{flex-direction:column}.ask-drew-submit{align-self:flex-start;padding:.6rem 1.4rem}}