@property --orbit-radius{syntax: "<length>"; inherits: true; initial-value: 480px;}:root{color:#151b1a;background:#f4f2ec;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;--paper: #f4f2ec;--ink: #151b1a;--muted: #66706c;--hairline: rgba(21, 27, 26, .12);--mint: #70e0ba;--lime: #c8f264;--display-font: "Iowan Old Style", "Baskerville", Georgia, serif;--type-meta: clamp(.6875rem, calc(.65rem + .15vw) , .75rem);--type-body: clamp(1rem, calc(.96rem + .1vw) , 1.0625rem);--type-lead: clamp(1.18rem, calc(1.05rem + .55vw) , 1.45rem);--type-compact-title: clamp(1.9rem, calc(1.65rem + .6vw) , 2.25rem);--type-feature-title: clamp(2.7rem, 5vw, 4rem);--type-section-title: clamp(3.2rem, 7.2vw, 5.7rem);--phone-width: clamp(98px, min(8.1vw, 16svh), 118px);--orbit-radius: clamp(410px, min(35vw, 60svh), 510px)}*{box-sizing:border-box}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}html{scroll-behavior:smooth}body{margin:0;min-width:0;min-height:100vh;overflow-x:hidden;background:radial-gradient(circle at 8% 4%,rgba(112,224,186,.18),transparent 24rem),radial-gradient(circle at 90% 28%,rgba(200,242,100,.13),transparent 28rem),var(--paper)}button,a{font:inherit}button{color:inherit}button:focus-visible,a:focus-visible{outline:2px solid #047d62;outline-offset:4px}.site-header{position:fixed;z-index:50;top:16px;left:50%;width:min(calc(100% - 24px),1560px);min-height:52px;padding:8px 10px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;transform:translate(-50%);border:1px solid rgba(255,255,255,.58);border-radius:999px;background:#f6f4eeb8;box-shadow:0 14px 50px #202a2714;-webkit-backdrop-filter:blur(20px) saturate(1.15);backdrop-filter:blur(20px) saturate(1.15)}.identity{width:max-content;display:flex;align-items:center;gap:10px;color:var(--ink);font-size:var(--type-meta);font-weight:680;text-decoration:none}.identity-mark{width:34px;aspect-ratio:1;display:grid;place-items:center;border-radius:50%;color:#effdf7;background:#17211f;font-size:var(--type-meta);letter-spacing:-.04em}.site-nav{display:flex;align-items:center}.site-nav ul{margin:0;padding:0;display:flex;align-items:center;gap:24px;list-style:none}.site-nav a,.language-switch a{border:0;color:var(--muted);background:none;font-size:var(--type-meta);font-weight:650;text-decoration:none;cursor:pointer;transition:color .18s ease}.site-nav a:hover,.language-switch a:hover,.language-switch a[aria-current=page]{color:var(--ink)}.language-switch{justify-self:end;padding:0 8px;display:flex;gap:5px;align-items:center;color:#a5aba8}.hero{position:relative;min-height:1140px;height:150vh}.hero-sticky{--orbit-y: clamp(400px, 56svh, 480px);position:sticky;top:0;height:100svh;min-height:600px;padding-top:92px;overflow:hidden}.hero h1 em{margin-left:.16em;font-family:var(--display-font);font-weight:430}.project-ribbon{position:absolute;z-index:18;top:auto;right:auto;bottom:clamp(10px,2svh,18px);left:50%;width:min(calc(100% - 32px),1480px);min-height:38px;display:grid;grid-template-columns:minmax(0,1fr);align-items:center;gap:14px;padding:9px 0 0;box-sizing:border-box;transform:translate(-50%);border-top:1px solid rgba(21,27,26,.1);color:#78817e;font-size:var(--type-meta);letter-spacing:.11em;text-transform:uppercase;opacity:var(--hero-fade, 1)}.project-ribbon:before,.project-ribbon:after{display:none}.project-ribbon-label{position:relative;margin:0;padding:0;color:#45514d;background:transparent;font-size:inherit;font-weight:720;line-height:inherit;white-space:nowrap}.project-ribbon-heading{position:absolute;z-index:19;bottom:calc(clamp(10px,2svh,18px) + 9px);left:max(16px,calc((100% - 1480px)/2))}.project-ribbon-window{position:relative;min-width:0;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent);mask-image:linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent)}.project-ribbon-window:before,.project-ribbon-window:after{content:"";position:absolute;z-index:1;top:0;bottom:0;width:clamp(24px,4%,56px);display:none;pointer-events:none}.project-ribbon-window:before{left:0;background:linear-gradient(90deg,var(--paper),transparent)}.project-ribbon-window:after{right:0;background:linear-gradient(270deg,var(--paper),transparent)}.project-ribbon-track{display:flex;width:max-content;animation:none}.project-ribbon-track.is-loop-ready{animation:ribbon 78s linear infinite}.project-ribbon:hover .project-ribbon-track,.project-ribbon:focus-within .project-ribbon-track,.hero.is-motion-paused .project-ribbon-track{animation-play-state:paused}.project-ribbon-track>div{flex:0 0 auto;display:flex;align-items:center;white-space:nowrap}.project-ribbon-track>[data-ribbon-clone]{width:var(--ribbon-lap-width)}.project-ribbon-track ul{margin:0;padding:0;display:flex;align-items:center;list-style:none}.project-ribbon-track li{display:flex;align-items:center}.project-ribbon-track li:after{content:"";width:3px;height:3px;margin:0 16px;border-radius:50%;background:#90a29c}.project-ribbon-track a{color:inherit;text-decoration:none}.project-ribbon-clone-label:before{content:attr(data-label)}@keyframes ribbon{to{transform:translate(calc(-1 * var(--ribbon-lap-width)))}}@media(min-width:901px){.project-ribbon-window{-webkit-mask-image:none;mask-image:none}.project-ribbon-window:before,.project-ribbon-window:after{display:block}.project-ribbon-track.is-loop-ready{animation-name:ribbon-desktop;transform:translateZ(0);backface-visibility:hidden;will-change:transform}}@keyframes ribbon-desktop{to{transform:translate3d(calc(-1 * var(--ribbon-lap-width)),0,0)}}.orbit-stage{position:absolute;z-index:4;inset:0 0 0 50%;width:min(100%,1680px);transform:translate(-50%) translateY(var(--hero-shift, 0)) scale(var(--hero-scale, 1));transform-origin:50% var(--orbit-y);--carousel-perspective: 2200px;transform-style:flat;cursor:default;touch-action:pan-y;-webkit-user-select:none;user-select:none}.orbit-stage.is-dragging{cursor:grabbing}.orbit-stage.has-webgl.is-phone-hovered{cursor:grab}.orbit-stage.has-webgl.is-dragging{cursor:grabbing}.webgl-carousel-canvas{position:absolute;z-index:6;inset:0;width:100%;height:100%;display:none;pointer-events:none}.orbit-stage.has-webgl .webgl-carousel-canvas{display:block}.orbit-stage.has-webgl .orbit-tilt{visibility:hidden;pointer-events:none}.orbit-stage.has-webgl .profile-card{transform:translate(-50%);background:#f9f8f4}:root .orbit-stage.has-webgl .project-preview-card .project-preview-stack{margin-top:0}.orbit-stage:before{display:none}.orbit-tilt,.orbit{position:absolute;inset:0;transform-style:flat;pointer-events:none}.orbit-tilt{z-index:1;transform:none}.orbit{transform:none}.orbit.is-snapping{transition:none}.phone-slot{position:absolute;left:50%;top:var(--orbit-y);width:var(--phone-width);aspect-ratio:393 / 852;margin:calc(var(--phone-width) * -1.084) 0 0 calc(var(--phone-width) * -.5);padding:0;border:0;color:inherit;background:none;text-decoration:none;transform:none;transform-style:flat;pointer-events:auto;cursor:pointer;-webkit-user-drag:none;-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;border-radius:calc(var(--phone-width) * .21)}.phone{--phone-radius: calc(var(--phone-width) * .21);--phone-bezel: clamp(2px, calc(var(--phone-width) * .022), 3px);position:absolute;inset:0;display:block;transform-style:flat;transition:transform .24s ease}.phone-slot:hover .phone,.phone-slot:focus-visible .phone{transform:translateY(-6px) scale(1.025)}.phone-face{position:absolute;inset:0;display:block;border:1px solid rgba(255,255,255,.34);border-radius:var(--phone-radius);overflow:hidden;transition:border-color .18s ease;box-shadow:0 18px 34px #131c1924,0 5px 12px #131c191a,inset 0 0 0 1px #000000b3}.phone-slot.is-active .phone-face,.phone-slot:hover .phone-face,.phone-slot:focus-visible .phone-face{border-color:#e2fff5b8}.phone-front{padding:var(--phone-bezel);background:linear-gradient(135deg,#767c7b,#191d1d 22%,#090b0b 75%,#727978);transform:none}@media(min-width:901px){.phone-front{--phone-front-bezel: clamp(2.4px, calc(var(--phone-width) * .0264), 3.6px);inset:-10%;padding:var(--phone-front-bezel);border-width:1.2px;border-radius:calc(var(--phone-width) * .252);transform:scale(.83333333)}.phone-front .phone-screen{border-radius:calc(var(--phone-width) * .252 - var(--phone-front-bezel) - 1.2px)}.phone-front .dynamic-island{top:calc(var(--phone-width) * .0864);height:calc(var(--phone-width) * .0996)}}.phone-screen{position:relative;width:100%;height:100%;display:block;border-radius:calc(var(--phone-radius) - var(--phone-bezel) - 1px);overflow:hidden;background:#080a0a}.phone-screen img{width:100%;height:100%;display:block;object-fit:cover;object-position:center top}.dynamic-island{position:absolute;z-index:2;top:calc(var(--phone-width) * .072);left:50%;width:29%;height:calc(var(--phone-width) * .083);transform:translate(-50%);border-radius:999px;background:#030404;box-shadow:inset -2px -1px 3px #414c5459}.profile-card{--profile-card-radius: 30px;--profile-card-inset: 20px;position:absolute;z-index:3;left:50%;top:auto;bottom:calc(100% - var(--orbit-y) + 10px);width:clamp(380px,min(31vw,55svh),430px);min-height:clamp(252px,30svh,286px);transform:translate(-50%);border:1px solid rgba(255,255,255,.74);border-radius:var(--profile-card-radius);background:#f9f8f4f7;box-shadow:0 22px 52px #1a2a241a,inset 0 0 0 1px #1e322b09;overflow:hidden;pointer-events:auto;cursor:default;-webkit-user-select:text;user-select:text}.profile-card:before,.profile-card:after{display:none;pointer-events:none}.card-scroll-control{position:absolute;z-index:5;right:0;bottom:0;left:0;width:100%;height:42px;padding:0 0 10px;display:grid;place-items:end center;border:0;border-radius:0 0 var(--profile-card-radius) var(--profile-card-radius);background:linear-gradient(to bottom,#f9f8f400,#f9f8f4fa 78%);color:#326455;cursor:pointer;-webkit-tap-highlight-color:transparent}.card-scroll-control[hidden]{display:none}.card-scroll-control:before{content:"";width:8px;height:8px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg)}.card-scroll-control:focus-visible{outline:2px solid #047d62;outline-offset:-3px}.profile-card-reset{position:relative;width:100%;min-height:inherit;padding:var(--profile-card-inset) var(--profile-card-inset) 26px;display:flex;align-items:flex-start;justify-content:center;text-align:left;border:0;background:transparent;cursor:default;touch-action:pan-y pinch-zoom;-webkit-overflow-scrolling:touch;transition:opacity .18s ease,visibility .18s ease}.profile-card-reset:focus-visible{outline:2px solid #047d62;outline-offset:-2px;border-radius:var(--profile-card-radius)}.project-preview-close:disabled{cursor:default}.profile-copy{width:100%;min-width:0;display:block}.profile-photo-wrap{--profile-photo-width: clamp(94px, 7.4vw, 104px);--profile-photo-height: clamp(108px, 8.5vw, 120px);--profile-photo-tail: 20px;float:right;width:var(--profile-photo-width);height:calc(var(--profile-photo-height) + var(--profile-photo-tail));margin:0 0 0 8px;display:block;shape-outside:polygon(0 0,100% 0,100% 100%,50% 100%,50% 76%,0 76%);shape-margin:8px}.profile-photo-wrap picture{width:100%;height:var(--profile-photo-height);display:block}.profile-photo{width:100%;height:var(--profile-photo-height);padding:4px;display:block;box-sizing:border-box;border:1px solid rgba(22,37,32,.1);border-radius:calc(var(--profile-card-radius) - 6px);background:#ffffffb8;box-shadow:0 13px 30px #1426201f;object-fit:cover}.profile-heading{margin:0;font:inherit}.profile-name{padding-top:5px;display:block;color:var(--ink);font-size:var(--type-compact-title);font-weight:700;letter-spacing:-.045em;line-height:normal}.professional-title{margin-top:4px;display:block;color:#326455;font-size:var(--type-meta);font-weight:760;letter-spacing:.045em}.profile-intro{margin-top:8px;display:block;color:#59635f;font-size:var(--type-body);line-height:1.44}.project-preview{position:absolute;inset:0;min-height:inherit;padding:calc(var(--profile-card-inset) + 5px) var(--profile-card-inset) 28px;display:flex;flex-direction:column;justify-content:flex-start;overflow-y:auto;overscroll-behavior:contain;transition:opacity .18s ease,visibility 0s linear .18s}.project-preview-card{inset:auto auto calc(100% - var(--orbit-y) + 10px) 50%}@media(scripting:enabled){@media(min-width:621px)and (min-height:621px){:root .profile-card{width:min(calc(100% - 48px),560px);height:min(392px,calc(var(--orbit-y) - 90px));min-height:0}:root .profile-card-summary .professional-title{margin-top:12px}:root .profile-card-summary .profile-intro{margin-top:16px}:root .project-preview-card{overflow:hidden}}:root .project-preview{opacity:0;visibility:hidden;overflow:hidden;pointer-events:none}:root .project-articles{width:100%;min-height:0;flex:1 1 auto}:root .project-article:not([hidden]){height:100%;min-height:0;display:flex;flex-direction:column}:root .project-preview-scroll{height:100%;min-width:0;min-height:0;padding-right:6px;flex:1 1 auto;display:flex;flex-direction:column;overflow-y:auto;overscroll-behavior-y:contain;scrollbar-width:thin;touch-action:pan-y pinch-zoom;-webkit-overflow-scrolling:touch}:root .project-preview-scroll>*{flex:0 0 auto}:root .project-preview-scroll:focus-visible{outline:2px solid #047d62;outline-offset:-2px;border-radius:calc(var(--profile-card-radius) - var(--profile-card-inset))}:root .project-preview-card .project-preview-meta{margin-top:12px}:root .project-preview-card .project-preview-summary{margin:16px 0 12px;padding-right:0;overflow:visible}:root .project-preview-card .project-preview-summary p+p{margin-top:.75em}:root .project-preview-card .project-preview-stack{margin-top:auto;flex:0 0 auto}:root .project-showcase.is-project-preview>.orbit-stage>.profile-card-summary .profile-card-reset{opacity:0;visibility:hidden;pointer-events:none}:root .project-showcase.is-project-preview>.orbit-stage>.project-preview{opacity:1;visibility:visible;pointer-events:auto;transition-delay:0s}}.project-preview-close{position:absolute;z-index:2;top:var(--profile-card-inset);right:var(--profile-card-inset);width:30px;aspect-ratio:1;display:grid;place-items:center;border:1px solid rgba(22,67,55,.12);border-radius:50%;color:#587069;background:#ffffff8c;font-size:0;line-height:0;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:color .18s ease,background .18s ease,transform .18s ease}.project-preview-close:before,.project-preview-close:after{content:"";position:absolute;top:50%;left:50%;width:12px;height:1.5px;border-radius:999px;background:currentColor;transform:translate(-50%,-50%) rotate(45deg)}.project-preview-close:after{transform:translate(-50%,-50%) rotate(-45deg)}.project-preview-close:hover{color:#17211f;background:#ffffffe6;transform:rotate(8deg)}.project-preview-heading{padding-right:44px;display:flex;align-items:center;flex-wrap:wrap;gap:6px 10px}.project-preview-title{margin:0;font-family:var(--display-font);font-size:var(--type-compact-title);font-weight:480;letter-spacing:-.05em;line-height:.95}.project-preview-meta{margin:9px 0 0;color:#40504b;font-size:var(--type-meta);font-weight:680}.project-preview-summary{margin:10px 0 13px;color:#525c58;font-size:var(--type-body);line-height:1.47}.project-preview-summary p{margin:0}.project-preview-summary p+p{margin-top:.65em}.project-preview-store-links{display:inline-flex;align-items:center;gap:5px}.project-preview-store-link{width:28px;height:32px;display:inline-grid;place-items:center;color:#326455;text-decoration:none;transition:color .16s ease,transform .16s ease}.project-preview-store-link:hover,.project-preview-store-link:focus-visible{color:#174b3d;transform:translateY(-1px)}.project-preview-store-link svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.project-preview-stack{margin-top:auto}.project-preview-stack ul{margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px;list-style:none}.project-preview-stack li{padding:6px 9px;border:1px solid rgba(22,67,55,.13);border-radius:999px;color:#326455;background:#70e0ba14;font-size:var(--type-meta);font-weight:700}.site-header.is-scrolled{border-color:#ffffffc2;background:#f9f8f4e0;box-shadow:0 10px 36px #1b28231a}.content-shell{position:relative;z-index:20;width:min(calc(100% - 24px),1560px);margin:calc(-28vh + var(--content-shell-clearance, 0px)) auto 12px;border:1px solid rgba(255,255,255,.88);border-radius:52px 52px 20px 20px;background:#fbfaf6;box-shadow:0 -32px 90px #19232021;overflow:hidden}.editorial-section{padding:clamp(92px,12vw,180px) clamp(24px,7vw,112px);border-bottom:1px solid rgba(20,28,26,.1);scroll-margin-top:78px}.section-heading{display:grid;grid-template-columns:clamp(48px,7vw,104px) minmax(0,1fr);gap:clamp(18px,3vw,42px);align-items:start}.section-number{padding-top:.7em;color:#5f776f;font-size:var(--type-meta);font-weight:760;letter-spacing:.14em}.section-heading p{margin:0 0 16px;color:#32705f;font-size:var(--type-body);font-weight:800;letter-spacing:.12em;text-transform:uppercase}.feature-eyebrow,.career-route>p{margin:0 0 16px;color:#32705f;font-size:var(--type-meta);font-weight:800;letter-spacing:.16em;text-transform:uppercase}.section-heading h2,.feature-copy h3,.experiment-card h3{margin:0;font-family:var(--display-font);font-weight:430}.section-heading h2{max-width:27ch;font-size:var(--type-section-title);letter-spacing:-.055em;line-height:.94}.feature-copy h3,.experiment-card h3{max-width:22ch;font-size:var(--type-feature-title);letter-spacing:-.06em;line-height:.9}.about-layout,.skills-layout,.architecture-layout{margin-top:clamp(68px,9vw,128px);display:grid;grid-template-columns:minmax(240px,.85fr) minmax(320px,1.5fr);gap:clamp(56px,9vw,150px);align-items:start}.signal-list{margin:0;border-top:1px solid var(--hairline)}.signal-list>div{padding:18px 0 20px;display:flex;flex-direction:column;gap:8px;border-bottom:1px solid var(--hairline)}.signal-list dt{color:#5d716b;font-size:var(--type-meta);letter-spacing:.08em;text-transform:uppercase}.signal-list dd{margin:0}.signal-list strong{font-size:var(--type-lead);font-weight:610;letter-spacing:-.035em}.long-copy{max-width:760px}.long-copy p,.feature-body p{margin:0 0 1.25em;color:#4c5753;font-size:var(--type-body);line-height:1.72}.long-copy strong,.feature-body strong{color:inherit;font-weight:720}.long-copy p:first-child,.about-section .long-copy p:nth-child(2),.skills-section .long-copy p:nth-child(2){color:#232c29;font-size:var(--type-lead);line-height:1.55}.skills-section{background:radial-gradient(circle at 90% 12%,rgba(112,224,186,.15),transparent 24rem),#eef2ed}.career-route{position:sticky;top:110px}.career-route ol{--career-marker-size: 13px;--career-axis-x: calc(var(--career-marker-size) / 2);position:relative;margin:0;padding:0;list-style:none}.career-route ol:before{content:"";position:absolute;top:13px;bottom:13px;left:var(--career-axis-x);width:1px;transform:translate(-50%);background:linear-gradient(#6cddba,#566f662e)}.career-route li{position:relative;padding:0 0 28px 28px;display:flex;flex-direction:column;gap:4px}.career-route li:before{content:"";position:absolute;top:7px;left:var(--career-axis-x);box-sizing:border-box;width:var(--career-marker-size);aspect-ratio:1;transform:translate(-50%);border:2px solid #eef2ed;border-radius:50%;background:#479b80;box-shadow:0 0 0 1px #194e3d38}.career-route li span{color:#5d716b;font-size:var(--type-meta);letter-spacing:.04em}.career-route li strong{font-size:var(--type-body);font-weight:670}.architecture-section{background:radial-gradient(circle at 12% 18%,rgba(76,125,170,.12),transparent 27rem),radial-gradient(circle at 92% 82%,rgba(112,224,186,.11),transparent 29rem),#f5f5f0}.architecture-index{position:sticky;top:110px}.architecture-index>p{margin:0 0 16px;color:#42697a;font-size:var(--type-meta);font-weight:800;letter-spacing:.16em;text-transform:uppercase}.architecture-index ol{margin:0;padding:0;border-top:1px solid var(--hairline);list-style:none}.architecture-index li{padding:18px 0 20px;display:grid;grid-template-columns:38px minmax(0,1fr);gap:14px;border-bottom:1px solid var(--hairline)}.architecture-index li>span{padding-top:3px;color:#5b7d89;font-size:var(--type-meta);font-weight:760;letter-spacing:.12em}.architecture-index li div{display:flex;flex-direction:column;gap:6px}.architecture-index strong{color:#233037;font-size:var(--type-body);font-weight:700}.architecture-index small{color:#65767c;font-size:var(--type-meta);letter-spacing:.05em;text-transform:uppercase}.architecture-section .long-copy p{padding-bottom:1.65em;border-bottom:1px solid rgba(35,48,55,.1);color:#3f4d51;font-size:var(--type-body);line-height:1.72}.architecture-section .long-copy p:last-child{margin-bottom:0;padding-bottom:0;border-bottom:0}.play-section{padding-bottom:clamp(110px,14vw,210px)}.play-section .feature-body p{font-size:var(--type-body);line-height:1.68}.play-section .feature-eyebrow,.play-section .feature-metrics li,.play-section .gallery-caption,.play-section .prototype-flow-track span{font-size:var(--type-meta)}.second-brain-feature{position:relative;margin-top:clamp(70px,10vw,150px);padding:clamp(28px,5vw,72px);border-radius:clamp(30px,4vw,54px);color:#f3f7f3;background:radial-gradient(circle at 12% 6%,rgba(102,224,185,.19),transparent 30rem),radial-gradient(circle at 92% 88%,rgba(117,128,255,.15),transparent 32rem),#101917;box-shadow:0 38px 90px #141f1c33;overflow:hidden}.feature-copy{max-width:830px}.second-brain-feature .feature-eyebrow{color:#70e0ba}.feature-copy .feature-body{max-width:720px;margin-top:30px}.feature-copy .feature-body p{color:#eff6f2b3}.feature-metrics{margin:32px 0 56px;padding:0;display:flex;flex-wrap:wrap;gap:9px;list-style:none}.feature-metrics li{padding:9px 13px;border:1px solid rgba(149,223,198,.22);border-radius:999px;color:#b7dacd;background:#85dcbe0f;font-size:var(--type-meta)}.second-brain-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(10px,1.4vw,20px)}.brain-shot{position:relative;aspect-ratio:16 / 10;margin:0;border:1px solid rgba(255,255,255,.13);border-radius:clamp(13px,1.8vw,24px);background:#09100e;box-shadow:0 16px 34px #00000047;overflow:hidden;transition:transform .35s cubic-bezier(.2,.8,.2,1),border-color .35s ease}.brain-shot:hover{z-index:2;transform:translateY(-8px) scale(1.02);border-color:#70e0ba73}.brain-shot-link{width:100%;height:100%;display:block;cursor:zoom-in}.brain-shot picture{width:100%;height:100%;display:block}.brain-shot img{width:100%;height:100%;display:block;object-fit:cover}.gallery-caption{margin:16px 2px 0;color:#e8f2ed75;font-size:var(--type-meta);letter-spacing:.08em;text-transform:uppercase}.project-repository-link{color:#2f705d;font-size:.88em;font-weight:700;text-decoration-color:#2f705d59;text-underline-offset:.18em;white-space:nowrap;transition:color .18s ease,text-decoration-color .18s ease}.project-repository-link:hover{color:#1f5b49;text-decoration-color:currentColor}.project-repository-link i{font-style:normal}.second-brain-feature .project-repository-link,.filosof-card .project-repository-link{color:#70e0ba;text-decoration-color:#70e0ba61}.second-brain-feature .project-repository-link:hover,.filosof-card .project-repository-link:hover{color:#a0f0d3;text-decoration-color:currentColor}.experiments-grid{margin-top:clamp(24px,3vw,42px);display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(16px,2.2vw,30px)}.experiment-card{position:relative;min-height:560px;padding:clamp(28px,4vw,58px);border:1px solid rgba(20,30,27,.08);border-radius:clamp(28px,3.5vw,46px);overflow:hidden}.experiment-card .feature-body{position:relative;z-index:2;max-width:61ch;margin-top:30px}.filosof-card{color:#edece5;background:radial-gradient(circle at 90% 14%,rgba(208,177,112,.16),transparent 22rem),#232421}.filosof-card .feature-eyebrow{color:#d7b97c}.filosof-card .feature-body p{color:#edece5a6}.book-constellation{position:absolute;right:-2%;bottom:-8%;width:58%;height:42%;transform:rotate(-7deg)}.book-constellation span{position:absolute;bottom:0;width:16%;border:1px solid rgba(255,255,255,.15);border-radius:6px 6px 2px 2px;background:linear-gradient(90deg,#40372c,#806d51 16%,#3d352b 20%,#78684e 84%,#302a23);box-shadow:8px 8px 18px #00000038}.book-constellation span:nth-child(1){left:2%;height:74%}.book-constellation span:nth-child(2){left:18%;height:95%;background:linear-gradient(90deg,#2d4650,#5a7c83 18%,#29434c 22%,#526f75)}.book-constellation span:nth-child(3){left:36%;height:67%}.book-constellation span:nth-child(4){left:53%;height:88%;background:linear-gradient(90deg,#553b3a,#946560 18%,#4c3434 22%,#865b57)}.book-constellation span:nth-child(5){left:71%;height:58%}.voice-card{display:block;container-type:inline-size;container-name:voice-card;color:#15221f;background:radial-gradient(circle at 95% 10%,rgba(80,173,255,.24),transparent 25rem),#d9eee8}.voice-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(150px,34%);gap:24px}@container voice-card (max-width: 320px){.voice-layout{grid-template-columns:1fr}}.voice-card .feature-eyebrow{color:#23705d}.mini-phone{position:relative;align-self:center;justify-self:center;width:min(100%,220px);border:7px solid #151a19;border-radius:clamp(26px,2.4vw,32px);overflow:hidden;background:#071b25;box-shadow:0 30px 45px #1e3d353d;transform:rotate(5deg)}.mini-phone-screen{display:block;width:100%;aspect-ratio:393 / 852;background:var(--voice-screen) center / 100% 100% no-repeat,#071b25}.mini-phone:before{content:"";position:absolute;top:20px;left:50%;width:34%;height:18px;transform:translate(-50%);border-radius:999px;background:#060808}.prototypes-card{grid-column:1 / -1;background:radial-gradient(circle at 80% 50%,rgba(200,242,100,.2),transparent 25rem),#f0efe7}.prototypes-card .feature-body{max-width:none}.prototype-pairs{margin-top:34px;display:flex;flex-direction:column;gap:28px}.prototype-pair{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(340px,.92fr);gap:clamp(34px,5vw,84px);align-items:center}.prototype-pair+.prototype-pair{padding-top:28px;border-top:1px solid rgba(29,72,59,.1)}.prototype-flow{width:100%;display:grid;grid-template-columns:minmax(0,1fr);align-items:center}.prototype-flow-track{display:flex;align-items:center}.prototype-flow-track span{min-width:60px;aspect-ratio:1;display:grid;place-items:center;border:1px solid rgba(29,72,59,.16);border-radius:50%;color:#2a6051;background:#ffffff94;font-size:var(--type-meta);font-weight:720}.prototype-flow-track i{flex:1;height:1px;background:#255e4c42}.prototype-flow-tuning span{border-color:#6f569a33;color:#665184}.prototype-flow-tuning i{background:#6f569a3d}.closing-thought{max-width:22ch;margin:clamp(56px,8vw,110px) auto 0;padding:0;border:0;font-family:var(--display-font);font-size:var(--type-feature-title);letter-spacing:-.055em;line-height:.98;text-align:center}.closing-thought:before{content:"“";display:block;height:.58em;color:#62bd9f;font-size:1.8em}.contact-section{padding:clamp(86px,11vw,160px) clamp(24px,7vw,112px) 38px;color:#edf3ef;background:radial-gradient(circle at 15% 0%,rgba(112,224,186,.15),transparent 30rem),#151e1c}.contact-section .feature-eyebrow{color:#70e0ba}.contact-section h2{max-width:17ch;margin:0;font-family:var(--display-font);font-size:var(--type-section-title);font-weight:430;letter-spacing:-.06em;line-height:.9}.contact-body{max-width:54ch;margin:34px 0 50px;color:#edf3ef9e;font-size:var(--type-body);line-height:1.65}.contact-links{margin:0;padding:0;display:flex;flex-wrap:wrap;gap:9px;list-style:none}.contact-links li{display:flex}.contact-links a,.disabled-link{min-height:50px;padding:0 18px;display:inline-flex;align-items:center;gap:18px;border:1px solid rgba(255,255,255,.14);border-radius:999px;color:#edf3ef;background:#ffffff09;font-size:var(--type-meta);font-weight:680;text-decoration:none;transition:border-color .18s ease,background .18s ease,transform .18s ease}.contact-links a:hover{border-color:#70e0ba73;background:#70e0ba14;transform:translateY(-2px)}.contact-links i{color:#70e0ba;font-style:normal}.disabled-link{color:#edf3ef59}.footer-line{margin-top:clamp(90px,13vw,170px);padding-top:20px;display:flex;justify-content:space-between;gap:20px;border-top:1px solid rgba(255,255,255,.11);color:#edf3ef61;font-size:var(--type-meta)}.reveal{opacity:1;transform:none}.js .reveal{opacity:0;transform:translateY(28px);transition:opacity .75s ease,transform .85s cubic-bezier(.2,.8,.2,1)}.js .reveal.is-visible{opacity:1;transform:none}@media not all and (scripting:enabled){html:not(.js):not(.portfolio-compatible) .hero{height:auto;min-height:0}html:not(.js):not(.portfolio-compatible) .hero-sticky{position:relative;height:auto;min-height:0;padding:104px 0 42px;overflow:visible}html:not(.js):not(.portfolio-compatible) .project-ribbon{position:relative;inset:auto;width:min(calc(100% - 32px),1480px);margin:0 auto 28px;transform:none}html:not(.js):not(.portfolio-compatible) .project-ribbon-heading{position:relative;inset:auto;width:min(calc(100% - 32px),1180px);margin:0 auto 18px}html:not(.js):not(.portfolio-compatible) .project-ribbon-label{display:block}html:not(.js):not(.portfolio-compatible) .project-ribbon-window{overflow-x:auto;-webkit-mask-image:none;mask-image:none}html:not(.js):not(.portfolio-compatible) .project-ribbon-track{animation:none}html:not(.js):not(.portfolio-compatible) .orbit-stage{position:relative;inset:auto;width:100%;transform:none;perspective:none;cursor:default;touch-action:auto;-webkit-user-select:text;user-select:text}html:not(.js):not(.portfolio-compatible) .profile-card{position:relative;inset:auto;width:min(calc(100% - 32px),1180px);min-height:0;margin:0 auto;transform:none;border-color:#151b1a1a;background:#f9f8f4f7;box-shadow:0 22px 52px #1a2a2414;overflow:visible}html:not(.js):not(.portfolio-compatible) .profile-card-reset{min-height:0;cursor:default}html:not(.js):not(.portfolio-compatible) .project-preview{position:relative;inset:auto;min-height:0;padding-top:4px}html:not(.js):not(.portfolio-compatible) .project-preview-card{margin-top:0}html:not(.js):not(.portfolio-compatible) .project-preview-close{display:none}html:not(.js):not(.portfolio-compatible) .project-articles{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:14px}html:not(.js):not(.portfolio-compatible) .project-article{min-width:0;padding:18px;border:1px solid rgba(22,67,55,.11);border-radius:20px;background:#ffffff80}html:not(.js):not(.portfolio-compatible) .project-preview-heading{padding-right:0}html:not(.js):not(.portfolio-compatible) .project-preview-summary{max-height:none;overflow:visible}html:not(.js):not(.portfolio-compatible) .project-preview-stack{margin-top:18px}html:not(.js):not(.portfolio-compatible) .orbit-tilt{position:relative;inset:auto;height:calc(var(--phone-width) * 2.168 + 48px);margin-top:24px;transform:none;overflow-x:auto;overflow-y:hidden;pointer-events:auto}html:not(.js):not(.portfolio-compatible) .orbit{position:relative;inset:auto;width:max-content;height:auto;min-height:100%;padding:8px calc(50vw - var(--phone-width) / 2) 32px;display:flex;align-items:flex-start;gap:14px;transform:none}html:not(.js):not(.portfolio-compatible) .phone-slot{position:relative;inset:auto;width:var(--phone-width);height:calc(var(--phone-width) * 2.168);flex:0 0 var(--phone-width);margin:0;opacity:1;transform:none}html:not(.js):not(.portfolio-compatible) .phone{inset:0;width:auto;height:auto;opacity:1;transform:none}html:not(.js):not(.portfolio-compatible) .content-shell{margin-top:0}}[hidden]{display:none!important}@media(min-width:901px){.hero-sticky{--orbit-y: clamp(430px, calc(64.5svh - 35px) , 640px)}.profile-card{width:clamp(460px,38vw,520px);min-height:clamp(268px,calc(30.5svh + 48px),400px);box-shadow:none}}@media(max-width:900px){:root{--phone-width: clamp(82px, 10vw, 92px);--orbit-radius: clamp(300px, 42vw, 390px)}.site-header{width:calc(100% - 16px);grid-template-columns:max-content minmax(0,1fr) max-content;column-gap:clamp(6px,1vw,12px)}.site-nav{min-width:0;justify-self:center}.site-nav ul{gap:clamp(8px,1.6vw,24px);white-space:nowrap}.project-ribbon{top:auto}.orbit-stage{top:0;bottom:0}.content-shell{width:calc(100% - 16px);border-radius:38px 38px 16px 16px}.about-layout,.skills-layout,.architecture-layout{grid-template-columns:1fr;gap:52px}.signal-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.signal-list>div{padding:16px;border-right:1px solid var(--hairline)}.signal-list>div:last-child{border-right:0}.career-route,.architecture-index{position:relative;top:auto}.career-route ol{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 30px}.career-route ol:before{display:none}.career-route li{min-width:0;padding:0 0 0 24px}.career-route li strong{overflow-wrap:normal;font-size:var(--type-body)}.career-route li:before{top:7px}.second-brain-gallery{grid-template-columns:repeat(3,minmax(70vw,1fr));margin-inline:calc(clamp(28px,5vw,72px)*-1);padding-inline:clamp(28px,5vw,72px);overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}.second-brain-gallery::-webkit-scrollbar{display:none}.brain-shot{scroll-snap-align:center}.experiments-grid{grid-template-columns:1fr}.experiment-card.filosof-card{padding-bottom:180px}.filosof-card .book-constellation{bottom:-20px;height:160px}.prototypes-card{grid-column:auto}.prototype-pair{grid-template-columns:1fr;gap:18px}.prototype-flow{width:min(100%,540px);justify-self:end}}@media(max-width:598px){.site-header{grid-template-columns:1fr auto;column-gap:0}.site-nav{display:none}}@media(min-width:621px)and (max-height:720px){.hero-sticky{padding-top:80px}}@media(min-width:901px)and (max-height:840px){:root{--phone-width: min( clamp(98px, min(8.1vw, 16svh), 118px), clamp(78px, calc(17.8svh - 32.5px) , 118px) )}.hero-sticky{--orbit-y: max( clamp(430px, calc(64.5svh - 35px) , 640px), calc(27.4svh + min(15vw, 177px) + 96px) )}}@media(min-width:901px)and (max-height:720px){.project-ribbon,.project-ribbon-heading{display:none}}@media(scripting:enabled)and (orientation:landscape)and (min-width:961px)and (max-height:620px){:root .project-preview-card{width:min(calc(100% - 48px),55vw,560px);height:min(392px,calc(var(--orbit-y) - 90px));min-height:0;padding-top:20px;padding-bottom:16px;overflow:hidden}:root .project-preview-card .project-preview-stack{margin-top:0}}@media(scripting:enabled)and (orientation:landscape)and (min-width:621px)and (max-height:621px){.orbit-stage.has-webgl .phone-slot{top:calc(var(--orbit-y) - 24px)}}@media(scripting:enabled)and (min-width:621px)and (hover:hover)and (pointer:fine),(scripting:enabled)and (orientation:landscape)and (min-width:961px),(scripting:enabled)and (orientation:landscape)and (min-height:621px){.orbit-stage.is-flat .orbit-tilt{z-index:13;inset:auto 0;top:calc(var(--orbit-y) + 4px);height:calc(var(--phone-width) * 2.168 + 40px);transform:none;overflow:hidden;pointer-events:auto;touch-action:pan-x pan-y;cursor:grab}.orbit-stage.is-flat .orbit-tilt.is-dragging{cursor:grabbing}.orbit-stage.is-flat .orbit{position:relative;inset:auto;box-sizing:border-box;width:100%;height:100%;padding:10px 0 30px;display:flex;align-items:flex-start;gap:clamp(12px,1.5vw,20px);transform:none}.orbit-stage.is-flat .phone-slot{position:absolute;top:10px;left:calc(50% - var(--phone-width) / 2 + var(--flat-phone-shift, 0px));width:var(--phone-width);height:calc(var(--phone-width) * 2.168);margin:0;opacity:1;transform:none}.orbit-stage.is-flat .phone{inset:0;width:auto;height:auto;opacity:.42;transform:scale(.92);transform-origin:50% 46%;transition:opacity .38s ease,transform .48s cubic-bezier(.25,.1,.25,1)}.orbit-stage.is-flat .phone-slot.is-active .phone{opacity:1;transform:scale(1)}}@media(max-width:620px),(orientation:portrait)and (pointer:coarse)and (hover:none),(orientation:landscape)and (max-width:960px)and (max-height:620px){@media(scripting:enabled){:root .orbit-tilt{touch-action:pan-y pinch-zoom;overflow-x:hidden;-webkit-overflow-scrolling:auto}:root .profile-card-reset{height:100%;min-height:0;justify-content:flex-start;overflow-y:auto;overscroll-behavior-y:contain;scrollbar-width:thin}:root .project-preview-stack li{flex:0 0 auto;white-space:nowrap;line-height:1.5}}.orbit-stage{perspective:none;cursor:default;touch-action:pan-x pan-y}.orbit-stage:before{display:none}.orbit-tilt{z-index:13;inset:auto 0;top:calc(var(--orbit-y) + 102px);height:calc(var(--phone-width) * 2.168 + 58px);transform:none;overflow-x:auto;overflow-y:hidden;pointer-events:auto;scroll-snap-type:none;scrollbar-width:none;overscroll-behavior-x:contain;touch-action:pan-x pan-y;-webkit-overflow-scrolling:touch;cursor:grab;-webkit-user-select:none;user-select:none}.orbit-tilt{overflow-anchor:none}.orbit.is-flat-loop{box-sizing:border-box;width:100%;padding-inline:0}.orbit.is-flat-loop .phone-slot{position:absolute;top:10px;left:calc(50% - var(--phone-width) / 2 + var(--flat-phone-shift, 0px));transform:none!important}.orbit-tilt.is-dragging,.orbit-tilt.is-autoplaying{scroll-snap-type:none}.orbit-tilt.is-dragging{cursor:grabbing}.orbit-tilt::-webkit-scrollbar{display:none}.orbit{position:relative;inset:auto;width:max-content;height:auto;min-height:100%;padding:10px calc(50vw - var(--phone-width) / 2) 40px;display:flex;align-items:flex-start;gap:clamp(10px,3vw,18px);transform:none!important}.phone-slot{position:relative;top:auto;left:auto;width:var(--phone-width);height:calc(var(--phone-width) * 2.168);flex:0 0 var(--phone-width);aspect-ratio:auto;margin:0;opacity:1;transform:none!important;scroll-snap-align:center}.phone{inset:0;width:auto;height:auto;transform-style:flat;will-change:transform;opacity:.42;transform:scale(.92);transform-origin:50% 46%;transition:opacity .38s ease,transform .48s cubic-bezier(.25,.1,.25,1)}.phone-slot.is-active .phone{opacity:1;transform:scale(1)}}@media(hover:none){.orbit.is-flat-loop .phone-slot:not(.is-active):hover .phone,.orbit.is-flat-loop .phone-slot:not(.is-active):focus .phone,.orbit.is-flat-loop .phone-slot:not(.is-active):focus-visible .phone{opacity:.42;transform:scale(.92)}.orbit.is-flat-loop .phone-slot:not(.is-active):hover .phone-face,.orbit.is-flat-loop .phone-slot:not(.is-active):focus .phone-face,.orbit.is-flat-loop .phone-slot:not(.is-active):focus-visible .phone-face{border-color:#ffffff57}}@media(max-width:620px){:root{--mobile-content-inset: 28px;--phone-width: clamp(98px, min(26vw, 17svh), 128px);--orbit-radius: 320px}.site-header{top:10px;width:calc(100% - 20px);min-height:48px}.identity-mark{width:30px}.hero-sticky{--orbit-y: clamp(342px, 44svh, 382px);--mobile-card-top: 68px;--mobile-carousel-top: clamp(434px, 56.5svh, 484px);--mobile-card-gap: clamp(12px, 1.8svh, 16px);height:100dvh;min-height:0;padding-top:82px}@media(orientation:portrait){.hero-sticky{--mobile-carousel-footer: calc(62px + max(8px, env(safe-area-inset-bottom))) ;--phone-width: clamp(98px, min(26vw, 17svh, calc((100dvh - var(--mobile-carousel-top) - var(--mobile-carousel-footer)) / 2.168)), 128px);min-height:calc(var(--mobile-carousel-top) + var(--phone-width) * 2.168 + var(--mobile-carousel-footer))}}.project-ribbon{top:auto;bottom:max(8px,env(safe-area-inset-bottom));width:calc(100% - 20px);min-height:28px;grid-template-columns:minmax(0,1fr);gap:8px;padding:0;text-align:left;font-size:var(--type-meta)}.project-ribbon-label{display:none}.project-ribbon-window{display:block}.orbit-stage{inset:0 auto 0 50%;width:100%;height:auto;min-height:0}.profile-card{--profile-card-radius: 26px;z-index:12;left:50%;top:var(--mobile-card-top);bottom:auto;width:min(calc(100vw - 28px),365px);height:calc(var(--mobile-carousel-top) - var(--mobile-card-top) - var(--mobile-card-gap));min-height:0;transform:translate(-50%);border-radius:var(--profile-card-radius)}.profile-card-reset{height:100%;min-height:0;padding:clamp(17px,2.35svh,20px) var(--mobile-content-inset) clamp(20px,3svh,26px);flex-direction:column;align-items:center;text-align:center}.profile-photo-wrap{--profile-photo-width: clamp(76px, 9.6svh, 86px);--profile-photo-height: calc(var(--profile-photo-width) * 1.15);--profile-photo-tail: 0px;float:none;margin:0 auto 8px;shape-outside:none}.profile-copy{width:100%}.profile-card-reset strong{padding-top:0}.profile-intro{max-width:none;margin-top:9px;line-height:1.42}.project-preview{padding:clamp(22px,3.1svh,26px) var(--mobile-content-inset) clamp(22px,3.3svh,28px)}.project-preview-summary{margin-top:18px;line-height:1.45}.orbit-tilt{top:var(--mobile-carousel-top)}.project-ribbon-track i{margin-inline:10px}.content-shell{width:calc(100% - 20px);margin-top:calc(-20vh + clamp(32px,5svh,52px));border-radius:30px 30px 12px 12px}.editorial-section{padding:82px var(--mobile-content-inset)}.section-heading{grid-template-columns:1fr;gap:10px}.section-number{padding-top:0}.about-layout,.skills-layout,.architecture-layout{margin-top:54px;gap:42px}.signal-list{grid-template-columns:1fr}.signal-list>div{padding:16px 0;border-right:0}.career-route ol{grid-template-columns:1fr;gap:0}.career-route ol:before{display:block;top:13px;right:auto;bottom:13px;left:var(--career-axis-x);width:1px;height:auto}.career-route li{padding:0 0 25px 28px}.career-route li strong{overflow-wrap:normal;font-size:var(--type-body)}.career-route li:before{top:7px}.second-brain-feature{margin-inline:-10px;padding:34px var(--mobile-content-inset);border-radius:30px}.second-brain-gallery{grid-template-columns:repeat(3,minmax(82vw,1fr));margin-inline:calc(var(--mobile-content-inset) * -1);padding-inline:var(--mobile-content-inset)}.experiment-card{min-height:500px;padding:30px var(--mobile-content-inset);border-radius:30px}.voice-layout{grid-template-columns:1fr}.mini-phone{width:145px;margin-top:14px}.prototype-pairs{margin-top:28px;gap:26px}.prototype-flow{width:100%;grid-template-columns:minmax(0,1fr)}.prototype-flow-track span{min-width:58px}.closing-thought{margin-top:56px}.contact-section{padding:84px var(--mobile-content-inset) 28px}.contact-links{flex-direction:column;align-items:stretch}.contact-links li,.contact-links a{width:100%}.contact-links a,.disabled-link{justify-content:space-between}.footer-line{align-items:flex-start;flex-direction:column}}@media(scripting:enabled){@media(orientation:portrait)and (min-width:621px)and (max-width:900px){html:root .profile-card{width:clamp(380px,min(31vw,55svh),430px)}}@media(orientation:portrait)and (max-width:620px),(orientation:portrait)and (max-width:900px)and (pointer:coarse)and (hover:none){html:root .profile-card{width:min(calc(100vw - 28px),max(365px,80vw))}@media(max-width:620px){html:root .profile-card{width:calc(100% - 20px)}}html:root .profile-card-reset{padding:var(--profile-card-inset) var(--profile-card-inset) 26px;flex-direction:row;align-items:flex-start;text-align:left}html:root .profile-photo-wrap{float:right;margin:0 0 8px 12px;shape-outside:inset(0 round 18px);shape-margin:10px}html:root .profile-card-summary .professional-title{margin-top:12px}html:root .profile-card-summary .profile-intro{margin-top:16px}}}@media(orientation:landscape)and (max-width:960px)and (max-height:620px){.hero{--mobile-visible-height: min(100dvh, var(--mobile-viewport-height, 100dvh));--compact-scene-height: min(100svh, var(--compact-layout-height-cap, 100svh));--compact-scene-offset: max( 0px, calc((var(--mobile-visible-height) - var(--compact-scene-height)) / 2) );--compact-layout-top: 80px;--compact-layout-bottom: 20px;--compact-layout-height: calc( var(--compact-scene-height) - var(--compact-layout-top) - var(--compact-layout-bottom) );--compact-phone-box-fit: calc(var(--compact-layout-height) / 2.168);--compact-phone-shadow-space: 16px;--compact-phone-shadow-fit: calc( (var(--compact-layout-height) - var(--compact-phone-shadow-space)) / 2.168 );--compact-phone-shadow-bleed: 34px;--phone-width: clamp( max(64px, min(98px, var(--compact-phone-box-fit))), min(18vw, var(--compact-phone-shadow-fit)), 176px );height:120lvh;min-height:0}.site-header{top:8px;width:calc(100% - 20px);min-height:44px}html:root .hero-sticky{--orbit-y: 0px;height:var(--mobile-visible-height);min-height:0;padding-top:0}html:root .profile-card{z-index:16;top:var(--compact-layout-top);right:10px;bottom:auto;left:auto;width:min(42vw,430px);height:var(--compact-layout-height);min-height:0;transform:none}html:root .profile-card-reset{height:100%;min-height:0;padding:18px 20px;overflow-y:auto;overscroll-behavior-y:contain}html:root .profile-photo-wrap{--profile-photo-width: clamp(72px, 8vw, 92px);--profile-photo-height: calc(var(--profile-photo-width) * 1.15);--profile-photo-tail: 0px;height:var(--profile-photo-height);margin-left:12px;shape-outside:inset(0 round 18px);shape-margin:10px}.profile-intro{margin-top:8px;display:block;overflow:visible;line-height:1.45;-webkit-line-clamp:unset}html:root .project-preview{min-height:0;padding:20px 46px 20px 20px;overflow:hidden}.project-preview-summary{margin:12px 0 13px;line-height:1.46}.project-preview-stack{margin-top:auto}.project-preview-stack li{padding:5px 9px}.project-preview-close{top:14px;right:14px}html:root .orbit-stage.is-flat .orbit-tilt{top:var(--compact-layout-top);right:auto;left:0;width:58%;height:calc(var(--compact-layout-height) + var(--compact-phone-shadow-bleed));-webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 4%,#000 90%,transparent 100%);mask-image:linear-gradient(90deg,transparent 0%,#000 4%,#000 90%,transparent 100%)}html:root .orbit-stage.is-flat .orbit{width:100%;height:100%;min-height:0;padding:0;align-items:center;gap:clamp(7px,1.4vw,10px)}html:root .orbit-stage.is-flat .phone-slot{top:calc((var(--compact-layout-height) - var(--phone-width) * 2.168) / 2)}.project-ribbon,.project-ribbon-label{display:none}html:root .orbit-stage{inset:0;width:100%;transform:translateY(calc(var(--compact-scene-offset) + var(--hero-shift, 0px))) scale(var(--hero-scale, 1));opacity:var(--hero-fade, 1);transition:opacity 80ms linear}.content-shell{width:calc(100% - 20px);margin-top:-20lvh;border-radius:30px 30px 12px 12px;box-shadow:none}.content-shell>.editorial-section:first-child{padding-top:40px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.project-ribbon-track{animation-play-state:paused}.phone{transition:none}.js .reveal{opacity:1;transform:none;transition:none}}@media(scripting:enabled)and (orientation:portrait)and (max-width:620px),(scripting:enabled)and (orientation:portrait)and (pointer:coarse)and (hover:none){@media(max-width:620px){@supports (overflow: clip){html:not(.portfolio-fallback) body{overflow-x:clip}html:not(.portfolio-fallback) .site-header{position:sticky;top:calc(10px + var(--portrait-viewport-inset, 0px));left:auto;transform:none;margin-inline:auto;margin-top:10px;margin-bottom:-58px}}}html:root .hero-sticky{--mobile-visible-height: var(--portrait-scene-height, min(100svh, var(--mobile-viewport-height, 100svh)));--mobile-footer: var(--portrait-scene-footer, calc(32px + max(8px, env(safe-area-inset-bottom))) );height:var(--mobile-visible-height);min-height:0;top:var(--portrait-viewport-inset, 0px)}@media(max-width:620px){html:root .hero{height:var(--portrait-scroll-height, 150vh)}html:root .content-shell{margin-top:var(--portrait-content-overlap, calc(-20vh + clamp(32px, 5svh, 52px)) )}html:root .profile-photo-wrap{--profile-photo-width: clamp(76px, calc(var(--portrait-small-viewport-height, 100svh) * .096), 86px)}html:root .project-preview-card{padding-top:var(--portrait-project-padding-top, clamp(22px, 3.1svh, 26px));padding-bottom:var(--portrait-project-padding-bottom, clamp(22px, 3.3svh, 28px))}html:root .project-ribbon{bottom:var(--portrait-ribbon-bottom, max(8px, env(safe-area-inset-bottom)))}}html:root .orbit-stage{display:grid;grid-template-rows:minmax(0,max-content) minmax(207.456px,1fr);grid-template-columns:minmax(0,1fr);row-gap:4px;padding:64px 0 var(--mobile-footer);height:100%}html:root .profile-card-summary{grid-area:1 / 1;position:relative;inset:auto;margin-inline:auto;height:auto;max-height:calc(var(--mobile-visible-height) - 64px - var(--mobile-footer) - 4px - 207.456px);transform:none}html:root .profile-card-reset{height:auto;max-height:inherit;padding-bottom:16px}html:root .project-preview-card{grid-area:1 / 1 / 2 / 2;position:absolute;inset:0;width:calc(100% - 20px);height:auto;max-height:none;margin-inline:auto;transform:none}html:root .project-showcase.is-project-preview>.orbit-stage>.profile-card-summary{visibility:hidden;pointer-events:none}html:root .orbit-tilt{grid-area:2 / 1;position:relative;inset:auto;--phone-shadow-bleed: 64px;height:calc(100% + var(--phone-shadow-bleed));margin-bottom:calc(-1 * var(--phone-shadow-bleed));width:117%;justify-self:center;container-type:size}html:root .orbit{--phone-row-height: calc(100cqh - var(--phone-shadow-bleed));--phone-width: clamp(92px, min(32vw, calc((var(--phone-row-height) - 8px) / 2.168)), 142px);padding-block:calc((var(--phone-row-height) - var(--phone-width) * 2.168) / 2)}html:root .phone-slot{top:0}html:root .orbit.is-flat-loop .phone-slot{top:calc((var(--phone-row-height) - var(--phone-width) * 2.168) / 2)}}@media(scripting:enabled)and (orientation:portrait)and (min-width:560px)and (pointer:coarse)and (hover:none){html:root .hero-sticky{--mobile-visible-height: var(--portrait-scene-height, min(100svh, var(--mobile-viewport-height, 100svh)));--mobile-footer: var(--portrait-scene-footer, calc(42px + max(10px, env(safe-area-inset-bottom))) );height:var(--mobile-visible-height);min-height:0;padding-top:0}html:root .orbit-stage{grid-template-rows:minmax(0,max-content) minmax(300px,1fr);row-gap:8px;padding:76px 0 var(--mobile-footer)}html:root .profile-card-summary{width:min(calc(100vw - 20px),680px);height:min(340px,calc(var(--mobile-visible-height) - 76px - var(--mobile-footer) - 308px));max-height:none}html:root .profile-card-reset{align-items:center}html:root .project-preview-card{width:min(calc(100vw - 20px),680px)}html:root .orbit-tilt{--phone-shadow-bleed: 52px;width:110%}html:root .orbit{--phone-row-height: calc(100cqh - var(--phone-shadow-bleed));--phone-width: clamp( 142px, min(23vw, calc((var(--phone-row-height) - 24px) / 2.168)), 176px )}}@media(scripting:enabled)and (orientation:landscape)and (min-width:961px)and (pointer:coarse)and (hover:none),(scripting:enabled)and (orientation:landscape)and (min-height:621px)and (pointer:coarse)and (hover:none){:root{--phone-width: clamp(98px, min(8.1vw, 16svh), 118px)}}@media(max-width:420px){:root{--type-feature-title: clamp(2.45rem, 12.5vw, 2.7rem);--type-section-title: clamp(2.65rem, 13.5vw, 3.2rem)}.section-heading h2,.feature-copy h3,.experiment-card h3,.contact-section h2{overflow-wrap:anywhere}}html.portfolio-fallback{--phone-width: 118px;--orbit-radius: 410px;--profile-photo-width: 104px;--profile-photo-height: 120px}html.portfolio-fallback .site-header{left:50%;width:calc(100% - 24px);max-width:1560px;display:flex;align-items:center;justify-content:space-between;transform:translate(-50%)}html.portfolio-fallback .identity{width:auto}html.portfolio-fallback .identity-mark{height:34px;margin-right:10px}html.portfolio-fallback .site-nav{margin-right:auto;margin-left:auto}html.portfolio-fallback .site-nav ul,html.portfolio-fallback .language-switch{gap:0}html.portfolio-fallback .site-nav li+li{margin-left:24px}html.portfolio-fallback .language-switch a+span,html.portfolio-fallback .language-switch span+a{margin-left:5px}html.portfolio-fallback .hero{height:auto;min-height:0}html.portfolio-fallback .hero-sticky{--phone-width: 118px;position:relative;inset:auto;height:auto;min-height:0;padding:104px 0 42px;overflow:visible}html.portfolio-fallback .project-ribbon,html.portfolio-fallback .project-ribbon-heading{position:relative;inset:auto;width:calc(100% - 32px);max-width:1180px;transform:none}html.portfolio-fallback .project-ribbon{margin:0 auto 28px}html.portfolio-fallback .project-ribbon-heading{margin:0 auto 18px}html.portfolio-fallback .project-ribbon-label{display:block}html.portfolio-fallback .project-ribbon-window{overflow-x:auto;-webkit-mask-image:none;mask-image:none}html.portfolio-fallback .project-ribbon-track{width:auto;animation:none}html.portfolio-fallback .orbit-stage{position:relative;inset:auto;width:100%;height:auto;padding:0;transform:none;perspective:none;cursor:default;touch-action:auto;-webkit-user-select:text;user-select:text}html.portfolio-fallback .profile-card{position:relative;inset:auto;width:calc(100% - 32px);max-width:1180px;height:auto;min-height:0;max-height:none;margin:0 auto;transform:none;border-color:#151b1a1a;background:#f9f8f4f7;box-shadow:0 22px 52px #1a2a2414;overflow:visible;opacity:1;visibility:visible;pointer-events:auto}html.portfolio-fallback .profile-card-reset{height:auto;min-height:0;padding:20px 20px 26px;display:block;text-align:left;cursor:default;opacity:1;visibility:visible;pointer-events:auto}html.portfolio-fallback .profile-photo-wrap{--profile-photo-width: 104px;--profile-photo-height: 120px;--profile-photo-tail: 20px;float:right;width:104px;height:140px;margin:0 0 0 8px}html.portfolio-fallback .profile-photo{width:104px;height:120px}html.portfolio-fallback .project-preview{position:relative;inset:auto;width:calc(100% - 32px);max-width:1180px;height:auto;min-height:0;max-height:none;margin-top:0;padding:4px 0 0;overflow:visible;opacity:1;visibility:visible;pointer-events:auto}html.portfolio-fallback .project-preview-close{display:none}html.portfolio-fallback .project-articles{width:auto;min-height:0;margin:-7px;display:flex;flex-wrap:wrap}html.portfolio-fallback .project-article,html.portfolio-fallback .project-article:not([hidden]){width:calc(33.333% - 14px);height:auto;min-width:0;min-height:0;margin:7px;padding:18px;display:block;border:1px solid rgba(22,67,55,.11);border-radius:20px;background:#ffffff80}html.portfolio-fallback .project-preview-heading{padding-right:0}html.portfolio-fallback .project-preview-summary{max-height:none;overflow:visible}html.portfolio-fallback .project-preview-stack{margin-top:18px}html.portfolio-fallback .orbit-tilt{position:relative;inset:auto;width:100%;height:304px;margin-top:24px;transform:none;overflow-x:auto;overflow-y:hidden;pointer-events:auto;-webkit-mask-image:none;mask-image:none}html.portfolio-fallback .orbit{position:relative;inset:auto;width:auto;min-width:100%;height:auto;min-height:100%;padding:8px calc(50vw - 59px) 32px;display:flex;align-items:flex-start;transform:none}html.portfolio-fallback .phone-slot{position:relative;inset:auto;width:118px;height:256px;min-width:118px;margin:0 7px;opacity:1;transform:none}html.portfolio-fallback .phone{position:absolute;inset:0;width:auto;height:auto;opacity:1;transform:none}html.portfolio-fallback .content-shell{width:calc(100% - 24px);max-width:1560px;margin-top:0}html.portfolio-fallback .editorial-section{padding:92px 7%}html.portfolio-fallback .section-heading{grid-template-columns:104px minmax(0,1fr);grid-column-gap:42px}@media(max-width:900px){html.portfolio-fallback .site-nav li+li{margin-left:8px}html.portfolio-fallback .project-article,html.portfolio-fallback .project-article:not([hidden]){width:calc(50% - 14px)}html.portfolio-fallback .section-heading{grid-template-columns:1fr;grid-row-gap:10px}}@media(max-width:598px){html.portfolio-fallback .site-nav{display:none}}@media(max-width:620px){html.portfolio-fallback .project-article,html.portfolio-fallback .project-article:not([hidden]){width:calc(100% - 14px)}html.portfolio-fallback .profile-card-reset{padding:20px}html.portfolio-fallback .editorial-section{padding:82px 28px}}
