:root{--background: #fff;--foreground: #10100f;--muted: #10100fad;--line: #10100f24;--accent: #8f6200;--ink: #0b0b0a;--ui-gutter-x: clamp(14px, 2.6vw, 44px);--ui-gutter-y: clamp(18px, 2.8vw, 40px);--ui-edge-x: var(--ui-gutter-x);--font-body: "Inter", "Helvetica Neue", Helvetica, Arial, sans-serif;--font-display: "Inter Tight", "Inter", "Helvetica Neue", Helvetica, Arial, sans-serif;--ease-out: cubic-bezier(.2, .8, .2, 1)}*{box-sizing:border-box}html{background:var(--background);width:100%;height:100%;overflow:hidden}body{background:var(--background);width:100%;height:100%;color:var(--foreground);margin:0;font-family:var(--font-body);font-feature-settings:"cv11","ss01","ss03";-webkit-font-smoothing:antialiased;overflow:hidden}button,input,textarea,select{font:inherit}h1,h2{font-family:var(--font-display)}.webgl-background{z-index:0;overscroll-behavior:none;touch-action:none;background:#fff;position:fixed;top:0;right:0;bottom:0;left:0}.webgl-background canvas{touch-action:none;display:block;width:100%!important;height:100%!important}.preloader{z-index:200;color:#ffffffeb;transform-origin:bottom;background:0 0;place-items:center;padding:clamp(20px,4vw,45px);display:grid;position:fixed;top:0;right:0;bottom:0;left:0}.preloader__wave{z-index:0;width:100%;height:100%;display:block;position:absolute;top:0;right:0;bottom:0;left:0}.preloader__inner{z-index:1;place-items:center;gap:22px;min-height:1.4em;display:grid;position:relative}.preloader__signal{display:flex;gap:9px;padding:7px 10px;border:1px solid #ffffff24;border-radius:999px}.preloader__signal i{width:12px;height:12px;border-radius:50%;background:#ffffff1a;transition:background .25s,box-shadow .25s}.preloader__signal[data-signal=green] i:nth-child(1){background:#0fa878;box-shadow:0 0 14px 2px #0fa87899}.preloader__signal[data-signal=amber] i:nth-child(2){background:#ffa600;box-shadow:0 0 14px 2px #ffa60099}.preloader__signal[data-signal=red] i:nth-child(3){background:#ff2f22;box-shadow:0 0 14px 2px #ff2f2299}.preloader__text{color:#ffffffeb;letter-spacing:.14em;text-transform:uppercase;white-space:nowrap;font-size:clamp(12px,1.35vw,15px);font-weight:500;line-height:1;display:inline-block}.persistent-experience{z-index:0;position:relative}.persistent-experience[data-transitioning=true] .site-nav{pointer-events:none}.experience-page{z-index:3;opacity:0;visibility:hidden;pointer-events:none;position:fixed;top:0;right:0;bottom:0;left:0}.experience-page[data-active=true],.experience-page[data-entering=true],.experience-page[data-leaving=true]{visibility:visible}.experience-page[data-active=true]{opacity:1}.experience-page--projects{overscroll-behavior:contain;background:#f7f5ef;overflow:hidden}.experience-page--projects[data-active=true],.experience-page--about[data-active=true],.experience-page--contact[data-active=true]{pointer-events:auto}.experience-page--about,.experience-page--contact{color:var(--ink);background:#fff}.experience-page--home{color:var(--ink);background:0 0}[data-text-reveal],[data-text-reveal-heading],[data-text-reveal-kicker],.split-heading__line{will-change:opacity,transform}.site-nav{top:var(--ui-gutter-y);right:var(--ui-edge-x);z-index:80;pointer-events:auto;flex-direction:column;align-items:flex-end;gap:clamp(10px,1.3vh,15px);display:flex;position:fixed}.site-nav a,.site-nav button{-webkit-appearance:none;-moz-appearance:none;appearance:none;color:#0b0b0a80;cursor:pointer;letter-spacing:.055em;text-align:right;text-transform:uppercase;background:0 0;border:0;min-width:84px;padding:3px 0;font-family:var(--font-body);font-size:clamp(14.5px,1.15vw,18px);font-weight:600;line-height:1.1;text-decoration:none;transition:color .18s,opacity .18s,transform .2s cubic-bezier(.16,1,.3,1)}.site-nav a:hover,.site-nav button:hover{color:var(--ink);transform:translate(-4px)}.site-nav a[aria-current=page]{color:var(--ink);font-weight:700}.back-circle-control{-webkit-appearance:none;-moz-appearance:none;appearance:none;color:#fff;cursor:pointer;pointer-events:auto;transform-origin:50%;background:var(--ink);border:0;border-radius:999px;place-items:center;width:clamp(38px,3.1vw,46px);height:clamp(38px,3.1vw,46px);padding:0;text-decoration:none;transition:background .18s,transform .26s var(--ease-out);display:inline-grid;position:relative}.back-circle-control svg{fill:none;stroke:currentColor;stroke-linecap:butt;stroke-linejoin:miter;stroke-width:2.4px;width:58%;height:58%;display:block}.back-circle-control:hover{background:#000;transform:scale(.94)}.back-circle-control:focus-visible{outline-offset:4px;outline:2px solid var(--ink)}.mouse-stalker{z-index:160;color:var(--ink);pointer-events:none;transform-origin:50%;will-change:transform,width,height,opacity;width:18px;height:18px;position:fixed;top:0;left:0;opacity:0}.mouse-stalker__svg{width:100%;height:100%;display:block;overflow:visible}.mouse-stalker__shape{fill:var(--ink);stroke:var(--ink);stroke-width:1px;vector-effect:non-scaling-stroke}.mouse-stalker__label{fill:#fff;letter-spacing:.035em;text-transform:uppercase;font-size:max(10px,min(.667vw,6.5px + .23345vw));font-weight:700;opacity:0}.mouse-stalker__arrow{fill:none;stroke:#fff;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.4px;vector-effect:non-scaling-stroke;opacity:0}.sticker-cursor-preview{z-index:155;pointer-events:none;transform-origin:50% 80%;will-change:transform,opacity;width:102px;height:102px;position:fixed;top:0;left:0;opacity:0}.sticker-cursor-preview__image{object-fit:contain;opacity:.5;filter:drop-shadow(0 5px 8px #0000001f);-webkit-user-select:none;user-select:none;width:100%;height:100%;display:block}@media(pointer:coarse){.mouse-stalker,.sticker-cursor-preview{display:none}}@media(pointer:fine){body[data-custom-cursor=true],body[data-custom-cursor=true] a,body[data-custom-cursor=true] button{cursor:none}}.page-shell{height:100svh;padding:var(--ui-gutter-y) var(--ui-edge-x);grid-template-rows:auto minmax(0,1fr);display:grid;overflow:hidden}.page-shell__header{color:#0b0b0a94;letter-spacing:.035em;text-transform:uppercase;grid-template-columns:auto auto minmax(0,1fr);align-items:center;gap:24px;padding-right:clamp(120px,18vw,260px);font-size:max(13px,min(1vw,9.75px + .35vw));font-weight:500;line-height:.95;display:grid}.page-shell__header span:last-child{justify-self:end}.page-shell__intro{align-self:start;width:min(max(460px,299px + 10.7333vw),100%);margin-top:clamp(46px,8vh,82px)}.page-shell__intro p{color:#0b0b0a7a;letter-spacing:.045em;text-transform:uppercase;margin:0 0 12px;font-size:max(12px,min(.8vw,7.8px + .28vw));line-height:1}.page-shell__intro h1{color:var(--ink);letter-spacing:0;margin:0;font-size:max(22px,min(2.4vw,23.4px + .84vw));font-weight:500;line-height:1.08}.hero-section{align-items:start}.home-profile{color:var(--ink);align-self:start;width:min(max(380px,32vw),100vw - clamp(28px,5.2vw,88px));z-index:2;position:relative}.home-profile p{color:#0b0b0a8a;letter-spacing:.08em;text-transform:uppercase;margin:0 0 10px;font-size:clamp(12px,.85vw,14px);font-weight:600;line-height:1}.home-profile h1{font-family:"Syne","Space Grotesk",var(--font-display);letter-spacing:-.02em;margin:0;font-size:clamp(38px,5vw,68px);font-weight:800;line-height:.94;text-transform:uppercase;color:var(--ink)}.home-profile h1 .split-text__word{display:block}.home-profile h1 .split-text__space{display:none}.home-meta{color:var(--ink);grid-template-columns:repeat(3,minmax(0,1fr));align-self:end;gap:clamp(12px,2vw,28px);width:min(720px,100vw - clamp(28px,5.2vw,88px));margin:0;padding:0;display:grid}.home-meta div{border-top:1px solid #0b0b0a29;padding-top:10px}.home-meta dt,.home-meta dd{letter-spacing:.018em;text-transform:uppercase;margin:0;font-size:max(12px,min(.8vw,7.8px + .28vw));line-height:1.25}.home-meta dt{color:#0b0b0a6b}.home-meta dd{color:var(--ink);margin-top:7px}.home-station{position:fixed;right:var(--ui-edge-x);bottom:var(--ui-gutter-y);display:flex;align-items:baseline;gap:10px;color:var(--ink);letter-spacing:.06em;text-transform:uppercase;font-size:clamp(13px,.95vw,15.5px);line-height:1;pointer-events:none;opacity:0}.home-station__index{color:#0b0b0a75;font-variant-numeric:tabular-nums;font-weight:700;font-size:clamp(14px,1.05vw,17px)}.home-station__label{font-weight:600;display:inline-block;min-width:6em}.home-hint{position:fixed;right:var(--ui-edge-x);bottom:calc(var(--ui-gutter-y) + 48px);display:flex;flex-direction:column;align-items:flex-end;gap:8px;color:#0b0b0a75;letter-spacing:.14em;text-transform:uppercase;font-size:11px;font-weight:600;line-height:1;pointer-events:none;opacity:0}.home-hint i{display:block;width:1px;height:26px;background:linear-gradient(to bottom,#0b0b0a00,#0b0b0a80);animation:homeHintLine 1.8s var(--ease-out) infinite}@keyframes homeHintLine{0%{transform:scaleY(0);transform-origin:top}55%{transform:scaleY(1);transform-origin:top}56%{transform-origin:bottom}to{transform:scaleY(0);transform-origin:bottom}}.split-text{perspective:900px}.split-text p,.split-text h1{overflow:hidden}.split-text__word{white-space:nowrap;display:inline-block}.split-text__char,.split-text__eyebrow-char{will-change:transform,opacity;display:inline-block}.split-text__space{display:inline}.split-heading__line{display:block}.projects-page{color:var(--ink);overscroll-behavior:none;background:#f7f5ef;height:100svh;position:relative;overflow:hidden}.projects-gridzoom{--projects-grid-padding-x: var(--ui-edge-x);height:100svh;padding:var(--ui-gutter-y) var(--projects-grid-padding-x) var(--ui-gutter-y);grid-template-rows:auto auto minmax(0,1fr) auto;gap:clamp(14px,2.2vw,30px);display:grid;overflow:hidden}.projects-gridzoom__header{color:#0b0b0a94;letter-spacing:.035em;text-transform:uppercase;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:24px;padding-right:clamp(120px,18vw,260px);font-size:max(13px,min(1vw,9.75px + .35vw));font-weight:500;line-height:.95;display:grid}.projects-gridzoom__intro{z-index:1;width:min(max(460px,299px + 10.7333vw),100%);margin:clamp(46px,8vh,82px) 0 0;position:relative}.projects-gridzoom__intro p{color:#0b0b0a7a;letter-spacing:.045em;text-transform:uppercase;margin:0 0 12px;font-size:max(12px,min(.8vw,7.8px + .28vw));line-height:1}.projects-gridzoom__intro h1{color:var(--ink);letter-spacing:0;margin:0;font-size:max(21.5px,min(2.3vw,22.1px + .805vw));font-weight:500;line-height:1.08}.projects-gridzoom__intro h1>span{display:block}.projects-github-line{margin-top:clamp(14px,2vh,22px);display:flex;align-items:center}.projects-github-badge{display:inline-flex;align-items:center;gap:8px;background:#10100f0d;border:1px solid rgba(16,16,15,.16);border-radius:999px;padding:6px 15px;font-family:var(--font-body);font-size:clamp(12px,.85vw,13.5px);font-weight:600;color:var(--ink);text-decoration:none;box-shadow:0 1px 3px #10100f0a;transition:background .18s,color .18s,border-color .18s,transform .16s,box-shadow .18s}.projects-github-badge:hover{background:#10100f;color:#ffe14d;border-color:#10100f;transform:translateY(-2px);box-shadow:0 6px 18px #10100f26}.projects-github-icon{flex-shrink:0;transition:transform .18s ease}.projects-github-badge:hover .projects-github-icon{transform:scale(1.08)}.projects-github-arrow{flex-shrink:0;transition:transform .18s ease}.projects-github-badge:hover .projects-github-arrow{transform:translate(2px,-2px)}.projects-gl-gallery{z-index:0;width:100vw;height:100%;min-height:0;margin:0 0 0 calc(var(--projects-grid-padding-x) * -1);touch-action:none;position:relative;overflow:visible}.projects-marquee{contain:layout;position:absolute;inset:0 calc(-1*clamp(18px,4vw,72px));overflow:visible;cursor:grab}.projects-marquee:active{cursor:grabbing}.projects-marquee__track{will-change:transform;align-items:center;width:max-content;display:flex;position:absolute;top:50%;left:0;transform:translateY(-50%)}.projects-marquee__set{--gallery-gap: clamp(14px, 2.1vw, 32px);align-items:center;gap:var(--gallery-gap);padding-right:var(--gallery-gap);display:flex}.projects-marquee__item{-webkit-appearance:none;-moz-appearance:none;appearance:none;height:clamp(160px,23vh,245px);width:calc(clamp(160px,23vh,245px)*1.6);aspect-ratio:16 / 10;color:inherit;cursor:pointer;opacity:.88;background:0 0;border:0;flex:none;padding:0;border-radius:16px;overflow:hidden;box-shadow:0 6px 22px #10100f17;transition:opacity .25s,transform .36s cubic-bezier(.16,1,.3,1),box-shadow .3s;transform:translate(0)}.projects-marquee__item:hover{opacity:1;transform:translateY(-8px) scale(1.02);box-shadow:0 20px 44px -8px #10100f38}.projects-marquee__figure{background:#0b0b0a;width:100%;height:100%;margin:0;overflow:hidden;border-radius:inherit;border:1px solid rgba(16,16,15,.14)}.projects-marquee__figure img{object-fit:contain;width:100%;height:100%;transition:transform .5s cubic-bezier(.16,1,.3,1);display:block}.projects-marquee__card{width:100%;height:100%;display:block;transition:opacity .7s var(--ease-out),transform .9s var(--ease-out)}.projects-marquee[data-enter-pending=true] .projects-marquee__card{opacity:0;transform-origin:50% 100%;transform:translateY(84px) scale(.985)}.projects-marquee__item:hover .projects-marquee__figure img{transform:scale(1.03)}.projects-gridzoom__footer{display:flex;align-items:center;justify-content:space-between;min-height:44px;margin-top:0;z-index:2;position:relative}.projects-gl-caption{opacity:0;pointer-events:none;min-height:44px;margin-top:0;transition:opacity .18s,transform .36s var(--ease-out);transform:translateY(8px)}.projects-gl-caption span{color:#0b0b0a85;letter-spacing:.045em;text-transform:uppercase;margin-bottom:7px;font-size:max(11px,min(.733vw,7.15px + .25655vw));line-height:1;display:block}.projects-gl-caption strong{color:var(--ink);letter-spacing:0;font-size:max(14px,min(.933vw,9.1px + .32655vw));font-weight:500;line-height:1;display:block}.projects-gl-caption[data-visible=true]{opacity:1;transform:translateY(0)}.projects-page[data-preview-open=true] .projects-gridzoom{pointer-events:none}.projects-page[data-preview-open=true] .projects-marquee__item{opacity:.18}.projects-zoom{z-index:70;padding:var(--ui-gutter-y) var(--ui-edge-x);color:var(--ink);background:#fff;grid-template-columns:minmax(280px,max(420px,273px + 11.4333vw)) minmax(0,980px);justify-content:center;align-items:center;gap:clamp(18px,4vw,72px);display:grid;position:fixed;top:0;right:0;bottom:0;left:0;overflow:hidden}.projects-zoom[hidden]{display:none}.projects-zoom__header{top:var(--ui-gutter-y);left:var(--ui-edge-x);z-index:2;grid-template-columns:auto auto;align-items:center;gap:24px;display:inline-grid;position:absolute}.projects-zoom__back{position:relative}.projects-zoom__image{aspect-ratio:16 / 10;background:#e9e6df;grid-area:1 / 2;justify-self:end;width:min(100%,62vw,980px,160svh - 153.6px);max-height:calc(100svh - 96px);overflow:hidden}.projects-zoom__image img{object-fit:cover;width:100%;height:100%;display:block}.projects-zoom__content{grid-area:1 / 1;align-self:center;max-width:max(420px,273px + 11.4333vw)}.projects-zoom__content>span{color:#0b0b0a75;letter-spacing:.045em;text-transform:uppercase;margin-bottom:18px;font-size:max(12px,min(.8vw,7.8px + .28vw));line-height:1;display:block}.projects-zoom__content h2{letter-spacing:0;text-wrap:balance;max-width:max(420px,273px + 9.1875vw);margin:0;font-size:max(30px,min(4.2vw,40px + 1.2vw));font-weight:500;line-height:.92}.projects-zoom__content p{color:#0b0b0aad;margin:clamp(18px,3vw,34px) 0 0;font-size:max(14px,min(1.15vw,11px + .35vw));line-height:1.55}.projects-zoom__content dl{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:clamp(22px,4vw,42px) 0 0;display:grid}.projects-zoom__content dl>div{border-top:1px solid #0b0b0a2e;padding-top:10px}.projects-zoom__content dt,.projects-zoom__content dd{letter-spacing:.018em;text-transform:uppercase;margin:0;font-size:max(12px,min(.8vw,7.8px + .28vw));line-height:1.2}.projects-zoom__content dt{color:#0b0b0a70}.projects-zoom__content dd{color:var(--ink);margin-top:8px}.projects-zoom__actions{display:flex;flex-wrap:wrap;gap:10px}.projects-zoom__link{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:0 0;cursor:pointer;color:var(--ink);letter-spacing:.045em;text-transform:uppercase;border:1px solid #0b0b0a3d;border-radius:999px;justify-content:center;align-items:center;min-height:40px;margin-top:clamp(18px,3vw,32px);padding:0 18px;font-size:max(12px,min(.8vw,7.8px + .28vw));font-weight:500;line-height:1;text-decoration:none;transition:background .18s,border-color .18s,color .18s,transform .18s;display:inline-flex}.projects-zoom__link:hover{color:#fff;background:var(--ink);border-color:var(--ink);transform:translateY(-1px)}.projects-zoom__link:focus-visible{outline-offset:4px;outline:2px solid var(--ink)}.projects-zoom__map{right:var(--ui-edge-x);bottom:var(--ui-gutter-y);grid-auto-flow:column;gap:6px;margin:0;padding:0;list-style:none;display:grid;position:absolute}.projects-zoom__map li{opacity:.28;width:38px;height:28px;transition:opacity .18s,transform .18s;overflow:hidden}.projects-zoom__map li.is-active{opacity:1}.projects-zoom__map li:has(button:hover),.projects-zoom__map li:has(button:focus-visible){opacity:1;transform:translateY(-2px)}.projects-zoom__map button{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;height:100%;color:inherit;cursor:pointer;background:0 0;border:0;padding:0;display:block}.projects-zoom__map button[aria-current=true]{cursor:default}.projects-zoom__map button:focus-visible{outline-offset:3px;outline:2px solid var(--ink)}.projects-zoom__map img{object-fit:cover;width:100%;height:100%;display:block}.about-page,.contact-page{color:inherit}.about-page__scroll,.contact-page__scroll{min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:none;margin:0 calc(var(--ui-edge-x) * -1);padding:20px var(--ui-edge-x) 0;-webkit-mask-image:linear-gradient(to bottom,transparent 0,#000 20px);mask-image:linear-gradient(to bottom,transparent 0,#000 20px)}.about-page__scroll::-webkit-scrollbar,.contact-page__scroll::-webkit-scrollbar{display:none}.about-page__content{width:min(max(960px,640px + 22vw),100%);margin:clamp(10px,2.5vh,28px) auto 0;padding-bottom:clamp(64px,10vh,120px)}.about-hero-stage{display:grid;grid-template-columns:minmax(330px,390px) minmax(0,1fr);gap:clamp(32px,4.2vw,64px);align-items:start;margin-top:clamp(8px,1.8vh,20px)}.about-badge-column{position:sticky;top:0;display:flex;flex-direction:column;align-items:center}.about-badge-viewport{width:100%;height:clamp(450px,52vh,550px);position:relative;border-radius:24px;background:radial-gradient(circle at 50% 35%,rgba(255,225,77,.14) 0%,rgba(16,16,15,.03) 65%,transparent 85%);border:1px solid rgba(16,16,15,.12);box-shadow:inset 0 1px #ffffffe6,0 16px 40px -12px #10100f14;touch-action:none;overflow:hidden;display:flex;align-items:center;justify-content:center}.about-badge-viewport canvas{width:100%!important;height:100%!important;display:block}.about-badge-controls{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:14px;width:100%;flex-wrap:wrap}.about-control-btn{display:inline-flex;align-items:center;gap:6px;background:#fff;border:1px solid rgba(16,16,15,.16);border-radius:999px;padding:7px 14px;font-size:11px;font-weight:600;font-family:var(--font-body);letter-spacing:.04em;text-transform:uppercase;color:var(--ink);cursor:pointer;box-shadow:0 1px 3px #10100f0a;transition:background .18s,border-color .18s,transform .14s,box-shadow .18s}.about-control-btn:hover{background:#10100f;color:#ffe14d;border-color:#10100f;box-shadow:0 4px 12px #10100f1f;transform:translateY(-1px)}.about-control-btn:active{transform:translateY(1px) scale(.97)}.about-control-btn--sticker{background:#ffe14d38;border-color:#ffc61a99;color:#8f6200}.about-control-btn--sticker:hover{background:#ffe14d;border-color:#ffc61a;color:#10100f}.about-badge-hint{font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:#10100f73;font-family:var(--font-body);margin-top:8px;text-align:center}.about-dossier-column{display:flex;flex-direction:column}.about-status-banner{display:inline-flex;align-items:center;gap:8px;padding:6px 14px;border-radius:999px;background:#10100f0a;border:1px solid rgba(16,16,15,.12);font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;margin-bottom:clamp(14px,2vh,22px);width:fit-content}.status-indicator-dot,.pulse-dot{width:8px;height:8px;border-radius:999px;background:#0fa878;box-shadow:0 0 0 3px #0fa87840;animation:beaconPulse 2.2s infinite ease-in-out;flex-shrink:0}@keyframes beaconPulse{0%,to{box-shadow:0 0 0 3px #0fa87840}50%{box-shadow:0 0 0 7px #0fa87814}}.status-indicator-text{color:#10100f}.status-indicator-serial{color:#10100f73;margin-left:4px;border-left:1px solid rgba(16,16,15,.16);padding-left:8px}.about-dossier-column .page-shell__intro p#about-eyebrow{margin-bottom:12px;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--accent);font-weight:600}.about-dossier-column .page-shell__intro h1{font-size:max(32px,min(4.2vw,42px + 1.2vw));line-height:1.04;margin:0;color:var(--ink);letter-spacing:-.02em}.about-page__body{border-top:1px solid rgba(16,16,15,.12);margin-top:clamp(20px,3vh,32px);padding-top:clamp(16px,2.2vh,26px)}.about-page__body>p{color:#10100fc2;margin:0;font-size:max(15px,min(1.15vw,13px + .35vw));line-height:1.68}.about-page__meta{grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(12px,1.8vw,20px);margin:clamp(20px,3.2vh,36px) 0 0;display:grid}.about-page__meta div{border-top:1px solid rgba(16,16,15,.12);padding-top:10px}.about-page__meta dt{letter-spacing:.045em;text-transform:uppercase;margin:0;font-size:11px;font-weight:500;color:#10100f80;line-height:1.3}.about-page__meta dd{letter-spacing:.01em;margin:6px 0 0;font-size:13px;font-weight:600;color:var(--ink);line-height:1.3}.about-page__contact-links{display:flex;flex-wrap:wrap;gap:12px;margin-top:6px}.about-page__meta a{color:inherit;align-items:center;gap:.4em;text-decoration:none;font-size:13px;font-weight:600;transition:color .18s,transform .16s;display:inline-flex}.about-page__meta a:hover{color:var(--accent);transform:translate(2px)}.about-hero-actions{display:flex;align-items:center;gap:14px;margin-top:clamp(24px,3.5vh,36px);flex-wrap:wrap}.about-contact-btn{display:inline-flex;align-items:center;gap:8px;padding:10px 20px;border-radius:999px;background:#10100f0d;border:1px solid rgba(16,16,15,.16);font-size:13px;font-weight:600;color:var(--ink);text-decoration:none;transition:background .18s,border-color .18s,transform .16s}.about-contact-btn:hover{background:#10100f;color:#fff;border-color:#10100f;transform:translateY(-1px)}.about-exp-list{display:flex;flex-direction:column;gap:clamp(28px,4vh,44px);margin-top:clamp(8px,1.5vh,16px)}.about-exp-item{display:flex;flex-direction:column;border-bottom:1px solid rgba(16,16,15,.09);padding-bottom:clamp(22px,3.2vh,34px);transition:transform .24s cubic-bezier(.16,1,.3,1)}.about-exp-item:last-child{border-bottom:none;padding-bottom:0}.about-exp-item:hover{transform:translate(6px)}.about-exp-item__period{font-family:var(--font-body);font-size:clamp(12.5px,.95vw,14.5px);font-weight:600;color:#10100f85;letter-spacing:.02em;line-height:1.3}.about-exp-item__title{font-family:var(--font-display);font-size:clamp(22px,2.4vw,32px);font-weight:500;color:var(--ink);letter-spacing:-.015em;line-height:1.25;margin:6px 0 0;transition:color .2s ease}.about-exp-item:hover .about-exp-item__title{color:var(--accent)}.about-page__sections{width:100%;margin:clamp(48px,7vh,80px) auto 0;display:grid;gap:clamp(48px,7.5vh,84px)}.about-section{border-top:1px solid rgba(16,16,15,.14);padding-top:clamp(16px,2.2vh,24px)}.about-section__header{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:clamp(18px,2.8vh,32px)}.about-section__title{font-family:var(--font-display);font-size:clamp(24px,2.6vw,36px);font-weight:500;letter-spacing:-.02em;color:var(--ink);margin:0;line-height:1.15}.station-serial{font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:#10100f66}.about-cards-list{display:grid;gap:clamp(20px,2.8vh,32px)}.about-card--3d{background:#fff;border:1px solid rgba(16,16,15,.12);border-radius:20px;padding:clamp(20px,2.6vw,32px);position:relative;overflow:hidden;transform-style:preserve-3d;box-shadow:0 4px 18px #10100f0a;transition:border-color .24s,box-shadow .24s;cursor:default}.about-card--3d:hover{border-color:#10100f47;box-shadow:0 16px 36px -8px #10100f17}.card-sheen{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;opacity:0;transition:opacity .25s ease-out;border-radius:inherit;z-index:10}.about-card__header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px}.about-card__meta-tag{display:inline-flex;align-items:center;gap:10px}.tag-signal{background:#ffe14d;color:#10100f;font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:4px 8px;border-radius:6px}.tag-company{font-family:var(--font-display);font-weight:700;font-size:max(18px,min(1.4vw,15px + .4vw));color:var(--ink);letter-spacing:-.01em}.about-card__period{color:#10100f80;font-size:11px;font-weight:600;letter-spacing:.05em;text-transform:uppercase}.about-card__role-title{color:#10100fa6;font-size:12px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;margin-top:6px}.about-card__chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.impact-chip{display:inline-flex;align-items:center;background:#10100f0a;border:1px solid rgba(16,16,15,.12);color:var(--ink);border-radius:999px;padding:4px 12px;font-size:11px;font-weight:600;letter-spacing:.02em}.impact-chip--accent{background:#ffe14d4d;border-color:#ffc61a99;color:#8f6200}.about-card__bullets{margin:16px 0 0;padding:0 0 0 1.2em;color:#10100fd1;font-size:max(13px,min(1.05vw,11px + .32vw));line-height:1.68}.about-card__bullets li+li{margin-top:8px}.about-card__stack{display:flex;flex-wrap:wrap;gap:7px;margin-top:18px;padding-top:14px;border-top:1px solid rgba(16,16,15,.08)}.stack-pill{font-size:11px;font-weight:500;background:#f7f5ef;color:#10100fcc;padding:3px 10px;border-radius:6px;border:1px solid rgba(16,16,15,.08)}.patent-cards-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(16px,2vw,24px)}.patent-card{background:#fff;border:1px solid rgba(16,16,15,.12);border-radius:18px;padding:clamp(18px,2.2vw,26px);display:flex;flex-direction:column;position:relative;overflow:hidden;transform-style:preserve-3d;box-shadow:0 3px 14px #10100f08;transition:border-color .24s,box-shadow .24s}.patent-card:hover{border-color:#10100f4d;box-shadow:0 12px 28px -6px #10100f14}.patent-card__tag{font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#8f6200;background:#ffe14d40;padding:3px 8px;border-radius:6px;width:fit-content;margin-bottom:12px}.patent-card__title{font-family:var(--font-display);font-weight:700;font-size:max(16px,min(1.2vw,13px + .35vw));color:var(--ink);line-height:1.25;margin:0}.patent-card__summary{font-size:12.5px;line-height:1.6;color:#10100fbf;margin:10px 0 16px;flex-grow:1}.patent-card__footer{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;padding-top:12px;border-top:1px solid rgba(16,16,15,.08)}.patent-card__stack{display:flex;flex-wrap:wrap;gap:6px}.patent-card__link{font-size:12px;font-weight:600;color:#1f48ff;text-decoration:none;transition:transform .16s;display:inline-flex;align-items:center}.patent-card__link:hover{transform:translate(3px);text-decoration:underline}.patent-card__status{font-size:10.5px;font-weight:600;letter-spacing:.05em;color:#10100f73}.sticker-dock-card{background:#10100f;color:#fff;border-radius:20px;padding:clamp(20px,2.5vw,28px);margin-bottom:clamp(24px,3.5vh,36px);box-shadow:0 8px 30px #10100f26}.sticker-dock-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;margin-bottom:16px}.sticker-dock-title{display:inline-flex;align-items:center;gap:8px;font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#ffe14d}.sticker-dock-hint{font-size:11px;color:#fff9;letter-spacing:.04em}.sticker-dock-tray{display:flex;flex-wrap:wrap;gap:10px}.sticker-chip{display:inline-flex;align-items:center;gap:8px;background:#ffffff1a;border:1px solid rgba(255,255,255,.18);border-radius:999px;padding:6px 14px;color:#fff;font-size:12px;font-weight:600;cursor:pointer;transition:background .18s,border-color .18s,transform .15s,box-shadow .18s}.sticker-chip__disc{width:8px;height:8px;border-radius:999px;background:#ffe14d;flex-shrink:0}.sticker-chip:nth-child(2) .sticker-chip__disc{background:#1f48ff}.sticker-chip:nth-child(3) .sticker-chip__disc{background:#ff4d3a}.sticker-chip:nth-child(4) .sticker-chip__disc{background:#19c9a5}.sticker-chip:nth-child(5) .sticker-chip__disc{background:#ff9f1c}.sticker-chip:nth-child(6) .sticker-chip__disc{background:#8f6200}.sticker-chip:hover{background:#ffe14d;color:#10100f;border-color:#ffe14d;transform:translateY(-2px);box-shadow:0 4px 12px #ffe14d4d}.sticker-chip:active{transform:scale(.94)}.skills-matrix{display:grid;gap:14px}.skills-matrix__row{display:grid;grid-template-columns:minmax(140px,.3fr) minmax(0,1fr);gap:18px;border-top:1px solid rgba(16,16,15,.1);padding-top:14px;align-items:center}.skills-matrix__label{font-size:11px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:#10100f80}.skills-matrix__pills{margin:0;display:flex;flex-wrap:wrap;gap:8px}.skill-pill{font-size:12px;font-weight:500;background:#fff;color:var(--ink);padding:5px 12px;border-radius:8px;border:1px solid rgba(16,16,15,.12);transition:border-color .16s,transform .14s,background .16s;cursor:default}.skill-pill:hover{border-color:#10100f;background:#fdfdfd;transform:translateY(-1px)}.education-card{background:#fff}.education-highlights{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.resume-terminal-card{background:#10100f;color:#fff;border-radius:20px;padding:clamp(24px,3.5vw,40px);display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:20px;box-shadow:0 12px 36px #10100f2e;border:1px solid rgba(255,225,77,.25);position:relative;overflow:hidden}.resume-terminal__tag{display:inline-block;font-size:10.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#ffe14d;margin-bottom:8px}.resume-terminal__title{font-family:var(--font-display);font-size:clamp(20px,2.2vw,26px);font-weight:700;margin:0 0 6px;color:#fff}.resume-terminal__sub{margin:0;font-size:13px;color:#ffffffb3;max-width:520px;line-height:1.5}.resume-terminal__actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.about-terminal-copy{display:inline-flex;align-items:center;min-height:40px;background:transparent;border:1px solid rgba(255,255,255,.3);color:#fff;border-radius:999px;padding:0 18px;font-size:max(12px,min(.8vw,7.8px + .28vw));font-weight:600;letter-spacing:.045em;line-height:1;text-transform:uppercase;cursor:pointer;transition:background .18s,border-color .18s}.about-terminal-copy:hover{background:#ffffff1f;border-color:#fff}.resume-terminal__actions .projects-zoom__link{margin-top:0;background:#ffe14d;color:#10100f;border:1px solid #ffc61a;font-weight:700;box-shadow:0 4px 14px #ffe14d59}.resume-terminal__actions .projects-zoom__link:hover{background:#ffc61a;transform:translateY(-2px);box-shadow:0 6px 20px #ffe14d80}.sticker-toast{position:fixed;bottom:28px;left:50%;transform:translate(-50%);background:#10100f;color:#fff;padding:10px 20px;border-radius:999px;border:1px solid rgba(255,225,77,.4);font-size:12px;font-weight:600;display:flex;align-items:center;gap:8px;z-index:1000;box-shadow:0 8px 24px #10100f40;pointer-events:none}.sticker-toast__dot{width:7px;height:7px;border-radius:999px;background:#ffe14d}.contact-page__content{width:min(max(960px,640px + 22vw),100%);margin:clamp(10px,2.5vh,28px) auto 0;padding-bottom:clamp(64px,10vh,120px);display:grid;grid-template-columns:minmax(0,1fr) minmax(0,560px);gap:clamp(32px,5vw,80px);align-items:start}.contact-page__content .page-shell__intro{text-align:left;width:100%;margin:0}.page-shell__intro .contact-page__lede{max-width:420px;margin:16px 0 0;color:#10100fb3;letter-spacing:0;text-transform:none;font-size:15px;line-height:1.6}.contact-console-simple{width:100%;margin-top:0}.contact-simple-card{background:#fff;border:1px solid rgba(16,16,15,.12);border-radius:20px;padding:clamp(22px,3vw,36px);box-shadow:0 4px 24px #10100f0a}.contact-field{display:flex;flex-direction:column;gap:8px;margin-bottom:20px}.contact-field__label{font-size:11.5px;font-weight:600;letter-spacing:.045em;text-transform:uppercase;color:#10100fb3}.contact-field input,.contact-field textarea{width:100%;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:#fbfbfa;border:1px solid rgba(16,16,15,.14);border-radius:12px;padding:13px 16px;font-family:var(--font-body);font-size:14.5px;color:var(--ink);line-height:1.5;transition:border-color .18s,background .18s,box-shadow .18s;box-sizing:border-box}.contact-field textarea{resize:vertical;min-height:130px}.contact-field input:focus,.contact-field textarea:focus{outline:none;background:#fff;border-color:#10100f;box-shadow:0 0 0 3px #10100f14}.contact-actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-top:24px;padding-top:20px;border-top:1px solid rgba(16,16,15,.08)}.contact-send-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 24px;border-radius:999px;font-family:var(--font-body);font-size:13.5px;font-weight:600;cursor:pointer;background:#ffe14d;color:#10100f;border:1px solid #ffe14d;box-shadow:0 2px 10px #ffe14d66;transition:transform .16s,background .18s,border-color .18s,box-shadow .18s}.contact-send-btn:hover{background:#ffd61f;border-color:#ffd61f;transform:translateY(-2px);box-shadow:0 6px 18px #ffd61f80}.contact-mailto-btn{display:inline-flex;align-items:center;justify-content:center;padding:12px 20px;border-radius:999px;font-family:var(--font-body);font-size:13px;font-weight:600;cursor:pointer;background:#f7f5ef;color:var(--ink);border:1px solid rgba(16,16,15,.14);transition:all .18s ease}.contact-mailto-btn:hover{background:#10100f;color:#fff;border-color:#10100f;transform:translateY(-1px)}.contact-page__content .contact-page__links{margin-top:clamp(24px,3.5vh,36px)}.contact-channels-section{margin-top:clamp(48px,6vh,72px);border-top:1px solid rgba(16,16,15,.12);padding-top:clamp(20px,2.8vh,32px)}.contact-channels__header{margin-bottom:clamp(14px,2vh,20px)}.contact-channels__label{font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--accent)}.contact-page__links{display:flex;flex-wrap:wrap;align-items:center;gap:clamp(12px,2vw,24px)}.contact-page__links a{color:var(--ink);letter-spacing:0;pointer-events:auto;overflow-wrap:anywhere;font-family:var(--font-display);font-size:max(16px,min(1.4vw,14.5px + .4vw));font-weight:500;line-height:1;text-decoration:none;transition:color .18s;display:inline-flex;align-items:center;gap:6px;padding:8px 16px;background:#10100f08;border:1px solid rgba(16,16,15,.1);border-radius:999px}.contact-page__links a:hover{background:#10100f;color:#ffe14d;border-color:#10100f}.contact-page__links .inline-link-arrow{width:14px;height:14px}.page-transition{z-index:50;pointer-events:none;visibility:hidden;opacity:0;position:fixed;top:0;right:0;bottom:0;left:0;overflow:hidden}.page-transition[data-active=true]{visibility:visible;opacity:1;pointer-events:auto}.page-transition__clip-defs{pointer-events:none;width:0;height:0;position:absolute;overflow:visible}.page-transition__wave{width:100%;height:100%;display:block;position:absolute;top:0;right:0;bottom:0;left:0}.experience-page[data-entering=true]{clip-path:url(#route-clip);-webkit-clip-path:url(#route-clip);z-index:4;opacity:1}.experience-page[data-leaving=true]{--transition-content-brightness: 1;filter:brightness(var(--transition-content-brightness));opacity:1;pointer-events:none}@media(max-width:960px){.projects-gridzoom{gap:clamp(12px,2vh,22px)}.projects-zoom{padding-bottom:var(--ui-gutter-y);grid-template-rows:minmax(0,54svh) auto;grid-template-columns:1fr;align-items:end;gap:18px}.projects-zoom__image,.projects-zoom__content{grid-area:auto / 1}.projects-zoom__image{justify-self:center;width:min(100%,86.4svh);max-height:54svh;margin-top:44px}.projects-zoom__content{max-width:640px}.contact-page__content{grid-template-columns:minmax(0,560px)}.projects-zoom__link{min-height:38px;margin-top:18px}}@media(max-width:620px){.site-nav{flex-direction:row;align-items:center;gap:14px;height:38px}.site-nav a{min-width:0;font-size:12px}.site-nav a:hover{transform:none}.page-shell__header span{display:none}.home-profile{margin-top:52px}.page-shell__header,.projects-gridzoom__header{padding-right:0}.page-shell__header span:last-child,.projects-gridzoom__header span:last-child{display:none}.projects-gridzoom{--projects-grid-padding-x: 18px;padding:18px}.home-meta{grid-template-columns:1fr;gap:10px;width:min(280px,100%)}.home-meta div{border-top:0;padding-top:0}.home-meta dt{font-size:max(10px,min(2.94vw,6.5px + 1.029vw));line-height:1}.home-meta dd{margin-top:5px;font-size:max(11px,min(3.235vw,7.15px + 1.13225vw));line-height:1.25}.home-hint{display:none}.home-station{right:auto;left:var(--ui-edge-x);bottom:calc(var(--ui-gutter-y) + 120px)}.about-hero-stage{grid-template-columns:1fr;gap:28px}.about-badge-column{position:static}.about-badge-viewport{height:380px;max-width:340px;margin:0 auto}.about-page__content{margin-top:0}.about-page__body,.contact-page__body{margin-top:clamp(18px,3.4vh,26px)}.about-page__meta,.patent-cards-grid{grid-template-columns:1fr}.skills-matrix__row{grid-template-columns:1fr;gap:8px}.contact-page__content{margin-top:0}.contact-page__links{grid-template-columns:1fr;gap:10px;padding-top:clamp(14px,4vw,20px)}.contact-page__links a{min-height:30px;font-size:16px;line-height:1.08}.projects-gridzoom__intro{width:min(max(360px,234px + 29.6471vw),100%);margin-top:clamp(56px,9vh,76px)}.projects-gridzoom__intro h1{font-size:max(21px,6.2vw)}.projects-gl-caption{min-height:36px}.projects-zoom{-webkit-overflow-scrolling:touch;padding:18px;display:block;overflow:hidden auto}.projects-zoom__header{top:18px;left:18px}.projects-zoom__image{aspect-ratio:4 / 3;width:100%;max-height:none;margin:64px 0 0}.projects-zoom__content{max-width:none;margin:18px 0 0;padding-bottom:28px}.projects-zoom__content>span{margin-bottom:12px}.projects-zoom__content h2{font-size:max(30px,min(9vw,31.2px + 3.36vw));line-height:.96}.projects-zoom__content p{margin-top:16px;font-size:max(14px,min(4.118vw,9.1px + 1.4413vw));line-height:1.48}.projects-zoom__content dl{grid-template-columns:1fr;gap:10px;margin-top:18px}.projects-zoom__link{min-height:38px;margin-top:18px}.projects-zoom__map{display:none}}@media(max-width:620px)and (max-height:720px){.projects-zoom__image{aspect-ratio:16 / 10}}@media(prefers-reduced-motion:reduce){.home-hint i{animation:none}}
