:root{--font-primary:"Bricolage Grotesque", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-serif:"Instrument Serif", Georgia, serif;--font-mono:"JetBrains Mono", monospace;--bg-body:#fff;--bg-subtle:#fafafa;--bg-card:#f9f9fb;--bg-card-hover:#f3f3f6;--border-light:#ececee;--border-subtle:#f2f2f5;--text-main:#0c0d0e;--text-body:#3f3f46;--text-muted:#52525b;--text-subtle:#71717a;--text-light:#a1a1aa;--bg-dark:#09090b;--bg-dark-card:#121215;--bg-dark-hover:#1c1c21;--border-dark:#ffffff14;--border-dark-subtle:#ffffff0a;--text-dark-main:#fcfcfc;--text-dark-muted:#a1a1aa;--text-dark-subtle:#71717a;--accent-emerald:#10b981;--accent-emerald-pulse:#10b98166;--transition-fast:.2s cubic-bezier(.16, 1, .3, 1);--transition-smooth:.4s cubic-bezier(.16, 1, .3, 1);--transition-slow:.7s cubic-bezier(.16, 1, .3, 1)}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;width:100%;font-size:16px;overflow-x:hidden}body{font-family:var(--font-primary);background-color:var(--bg-body);color:var(--text-main);width:100%;line-height:1.5;position:relative;overflow-x:hidden}body.overlay-open{overflow:hidden}::selection{color:#fff;background:#18181b}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{z-index:100000;background:var(--text-main);color:#fff;transition:transform var(--transition-fast);border-radius:9999px;padding:.7rem 1rem;font-weight:700;position:fixed;top:.75rem;left:.75rem;transform:translateY(-160%)}.skip-link:focus{transform:translateY(0)}:where(a,button,input,textarea,[tabindex]):focus-visible{outline-offset:3px;outline:3px solid #2563eb}a{color:inherit;text-decoration:none}button{cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:none;font-family:inherit}img,svg{max-width:100%;height:auto;display:block}.user-select-none{user-select:none}.container-xl{width:100%;max-width:1360px;margin:0 auto;padding:0 clamp(1rem,4vw,3.5rem)}.scroll-progress-bar{z-index:1001;pointer-events:none;transform-origin:0;will-change:transform;background:linear-gradient(90deg,#09090b 0%,#71717a 50%,#09090b 100%);width:100%;height:2.5px;position:fixed;top:0;left:0;transform:scaleX(0)}.site-header{z-index:1000;-webkit-backdrop-filter:blur(16px);transition:background-color var(--transition-fast), border-color var(--transition-fast), box-shadow .3s ease;background-color:#ffffffeb;border-bottom:1px solid #0000000a;position:fixed;top:0;left:0;right:0}.site-header.scrolled{background-color:#fffffff5;box-shadow:0 4px 20px #0000000d}.header-nav{justify-content:space-between;align-items:center;padding:.85rem 0;display:flex}.brand-logo{letter-spacing:-.03em;color:var(--text-main);transition:color var(--transition-fast);white-space:nowrap;align-items:center;gap:.4rem;font-size:clamp(1rem,2.5vw,1.2rem);font-weight:800;display:inline-flex}.brand-logo:hover{color:var(--text-muted)}.desktop-nav-links{align-items:center;gap:1.5rem;display:none}@media (width>=992px){.desktop-nav-links{display:inline-flex}}.desktop-nav-link{letter-spacing:-.01em;color:var(--text-muted);transition:color var(--transition-fast);border-radius:6px;padding:.25rem .5rem;font-size:.825rem;font-weight:600;text-decoration:none;position:relative}.desktop-nav-link:hover{color:var(--text-main)}.desktop-nav-link.active{color:var(--text-main);font-weight:700}.desktop-nav-link.active:after{content:"";background-color:var(--text-main);border-radius:9999px;height:2px;position:absolute;bottom:-4px;left:.5rem;right:.5rem}.header-actions{align-items:center;gap:.75rem;display:flex}.header-clock-widget{font-family:var(--font-mono);color:var(--text-muted);align-items:center;gap:.45rem;padding-right:.25rem;font-size:.72rem;font-weight:500;display:none}@media (width>=1120px){.header-clock-widget{display:inline-flex}}.clock-icon{width:13px;height:13px;color:var(--text-subtle);flex-shrink:0}.clock-divider{color:var(--text-light);margin:0 .15rem}.btn-ask-ai{border:1px solid var(--border-light);min-height:44px;transition:all var(--transition-fast);cursor:pointer;white-space:nowrap;background:#fff;border-radius:9999px;align-items:center;gap:.35rem;padding:.4rem .9rem;display:inline-flex;box-shadow:0 1px 3px #00000005}.btn-ask-ai:hover{border-color:#000;transform:translateY(-1px);box-shadow:0 4px 12px #0000000f}.btn-ask-ai-text{letter-spacing:.12em;text-transform:uppercase;background:linear-gradient(90deg,#71717a 0%,#09090b 50%,#71717a 100%) 0 0/200%;-webkit-text-fill-color:transparent;-webkit-background-clip:text;font-size:.72rem;font-weight:700}.sparkle-icon,.btn-ask-ai-sparkle{color:#71717a;width:13px;height:13px;transition:color var(--transition-fast), transform var(--transition-fast);flex-shrink:0}.btn-ask-ai:hover .sparkle-icon,.btn-ask-ai:hover .btn-ask-ai-sparkle{color:#000;transform:rotate(15deg)scale(1.1)}.btn-menu-toggle{min-height:44px;color:var(--text-main);letter-spacing:.12em;text-transform:uppercase;cursor:pointer;transition:opacity var(--transition-fast);white-space:nowrap;border-radius:9999px;align-items:center;gap:.5rem;padding:.4rem .75rem;font-size:.72rem;font-weight:700;display:inline-flex}.btn-menu-toggle:hover{opacity:.7}.hamburger-lines{flex-direction:column;align-items:flex-end;gap:3.5px;display:flex}.line-1,.line-2{background-color:var(--text-main);height:2px;transition:all var(--transition-fast);border-radius:2px}.line-1{width:18px}.line-2{width:12px}.hero-section{background:#fff;flex-direction:column;justify-content:space-between;min-height:88svh;padding-top:clamp(140px,18vh,220px);padding-bottom:clamp(2rem,4vh,4rem);display:flex;position:relative}@media (width<=768px){.hero-section{gap:2rem;min-height:auto;padding-top:100px;padding-bottom:2.5rem}}.hero-main-statement{width:100%;padding:clamp(.5rem,1.5vh,1.25rem) 0}.hero-headline{letter-spacing:-.04em;color:var(--text-main);word-break:break-word;font-size:clamp(2.25rem,8vw,5.75rem);font-weight:800;line-height:1.12}.hero-headline-sub{color:var(--text-subtle);margin-bottom:.1em;font-weight:300;display:block}.hero-headline-name{color:var(--text-main);cursor:pointer;z-index:40;transition:color var(--transition-fast);padding:0 .05em;font-weight:800;display:inline-block;position:relative}.hero-headline-name .name-text{z-index:2;transition:border-color var(--transition-fast), color var(--transition-fast);border-bottom:2px dashed #00000059;position:relative}.hero-headline-name:hover .name-text{color:#000;border-bottom-color:#000}.name-badge-pill{color:#fff;font-size:.65rem;font-weight:700;font-family:var(--font-mono);letter-spacing:.05em;white-space:nowrap;opacity:0;visibility:hidden;pointer-events:none;z-index:50;background:#09090b;border-radius:9999px;padding:.2rem .55rem;transition:all .25s cubic-bezier(.16,1,.3,1);position:absolute;bottom:calc(100% + 4px);left:50%;transform:translate(-50%)translateY(4px);box-shadow:0 4px 12px #00000040}.hero-headline-name:hover .name-badge-pill,.hero-headline-name.active .name-badge-pill{opacity:1;visibility:visible;transform:translate(-50%)translateY(0)}.cursor-portrait-follower{aspect-ratio:3/3.7;pointer-events:none;z-index:9999;opacity:0;visibility:hidden;--cursor-x:50vw;--cursor-y:50vh;width:clamp(200px,20vw,255px);transform:translate3d(calc(var(--cursor-x) - 50%), calc(var(--cursor-y) - 50%), 0) scale(.85) rotate(-4deg);will-change:transform, opacity;transition:opacity .3s cubic-bezier(.16,1,.3,1),transform .3s cubic-bezier(.16,1,.3,1),visibility .3s;position:fixed;top:0;left:0}.cursor-portrait-follower.active{opacity:1;visibility:visible;transform:translate3d(calc(var(--cursor-x) - 50%), calc(var(--cursor-y) - 50%), 0) scale(1) rotate(3deg)}.cursor-portrait-inner{background:#18181b;border:1px solid #fff3;border-radius:24px;width:100%;height:100%;padding:4px;overflow:hidden;box-shadow:0 30px 65px -12px #00000080,0 0 0 1px #0000001a}.cursor-portrait-img{object-fit:cover;object-position:center 15%;border-radius:20px;width:100%;height:100%;display:block}.hero-headline-dynamic{flex-wrap:wrap;align-items:baseline;gap:.2em .35em;width:100%;display:flex}.font-serif-italic{font-family:var(--font-serif);color:var(--text-muted);letter-spacing:-.01em;white-space:nowrap;font-style:italic;font-weight:400}.word-rotator-wrapper{vertical-align:baseline;align-items:center;max-width:100%;display:inline-flex;position:relative;overflow:visible}.rotator-word{color:var(--text-main);white-space:nowrap;display:inline-block;transform:translateZ(0)}@keyframes wordSlide{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}.hero-bottom-bar{border-top:1px solid var(--border-subtle);flex-direction:column;gap:1.5rem;width:100%;padding-top:clamp(1.25rem,2.5vh,2rem);display:flex}@media (width>=868px){.hero-bottom-bar{flex-direction:row;justify-content:space-between;align-items:flex-end}}.hero-bio-block{width:100%;max-width:580px}.pill-tags-row{flex-wrap:wrap;gap:.4rem;margin-bottom:.75rem;display:flex}.hero-pill-tag{text-transform:uppercase;letter-spacing:.16em;color:var(--text-muted);background-color:var(--bg-subtle);border:1px solid var(--border-light);cursor:default;transition:all var(--transition-fast);border-radius:9999px;padding:.25rem .65rem;font-size:clamp(.6rem,1vw,.65rem);font-weight:700}.hero-pill-tag:hover{color:var(--text-main);border-color:#d4d4d8}.hero-bio-text{color:var(--text-body);margin-bottom:.75rem;font-size:clamp(.875rem,1.25vw,1rem);font-weight:300;line-height:1.6}.hero-bio-text strong{color:var(--text-main);font-weight:600}.location-badge{color:var(--text-main);align-items:center;gap:.2rem;font-weight:600;display:inline-flex}.location-icon{width:13px;height:13px;color:var(--text-muted);flex-shrink:0}.status-badge{color:var(--text-body);align-items:center;gap:.45rem;font-size:clamp(.75rem,1.1vw,.825rem);font-weight:500;display:inline-flex}.beacon-dot{flex-shrink:0;width:8px;height:8px;display:flex;position:relative}.beacon-dot .ping{background-color:var(--accent-emerald);opacity:.75;border-radius:9999px;width:100%;height:100%;animation:2s cubic-bezier(0,0,.2,1) infinite ping;position:absolute}.beacon-dot .dot{background-color:var(--accent-emerald);border-radius:9999px;width:8px;height:8px;position:relative}@keyframes ping{75%,to{opacity:0;transform:scale(2.5)}}.hero-actions-block{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1.25rem;display:flex}.social-icons-group{flex-wrap:wrap;align-items:center;gap:.45rem;display:flex}@media (width<=640px){.hero-actions-block{flex-direction:column;align-items:flex-start;gap:1.25rem;width:100%}.social-icons-group{gap:.5rem;width:100%}.scroll-indicator-wrap{align-self:center;margin:.5rem auto 0}}.icon-btn{background-color:var(--bg-subtle);border:1px solid var(--border-light);width:44px;height:44px;color:var(--text-body);transition:all var(--transition-fast);border-radius:9999px;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.icon-btn svg{width:15px;height:15px}.icon-btn:hover{background-color:var(--text-main);border-color:var(--text-main);color:#fff;transform:translateY(-2px)}.resume-pill-cta{background-color:var(--bg-subtle);border:1px solid var(--border-light);min-height:44px;color:var(--text-main);transition:all var(--transition-fast);white-space:nowrap;border-radius:9999px;flex-shrink:0;align-items:center;gap:.45rem;padding:0 .95rem;font-size:.8rem;font-weight:600;line-height:1;text-decoration:none;display:inline-flex}.resume-pill-cta svg{flex-shrink:0;width:14px;height:14px}.resume-pill-cta:hover{background-color:var(--text-main);border-color:var(--text-main);color:#fff;transform:translateY(-2px);box-shadow:0 4px 12px #00000014}.scroll-indicator-wrap{flex-shrink:0;justify-content:center;align-items:center;width:clamp(56px,8vw,68px);height:clamp(56px,8vw,68px);display:inline-flex;position:relative}.rotating-circle-svg{pointer-events:none;will-change:transform;width:100%;height:100%;animation:14s linear infinite rotateCircle;position:absolute;inset:0;transform:translateZ(0)}.rotating-circle-svg text{font-family:var(--font-primary);letter-spacing:.22em;text-transform:uppercase;fill:var(--text-subtle);font-size:8px;font-weight:700}@keyframes rotateCircle{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.scroll-center-btn{border:1px solid var(--border-light);width:clamp(32px,5vw,38px);height:clamp(32px,5vw,38px);color:var(--text-body);transition:all var(--transition-smooth);z-index:2;background-color:#fff;border-radius:9999px;justify-content:center;align-items:center;display:flex;box-shadow:0 2px 6px #0000000a}.scroll-center-btn svg{width:13px;height:13px;transition:transform var(--transition-fast)}.scroll-center-btn:hover{background-color:var(--text-main);border-color:var(--text-main);color:#fff}.scroll-center-btn:hover svg{transform:translateY(2px)}.section-work{border-top:1px solid var(--border-subtle);background-color:#fff;width:100%;padding:clamp(3.5rem,7vh,6.5rem) 0}.section-head-row{flex-direction:column;gap:.75rem;margin-bottom:1.75rem;display:flex}@media (width>=768px){.section-head-row{flex-direction:row;justify-content:space-between;align-items:flex-end}}.section-kicker{letter-spacing:.35em;text-transform:uppercase;color:var(--text-subtle);margin-bottom:.35rem;font-size:.65rem;font-weight:800;display:block}.section-title{letter-spacing:-.035em;color:var(--text-main);font-size:clamp(2rem,5vw,3.75rem);font-weight:800;line-height:1.05}.section-desc{color:var(--text-muted);max-width:440px;font-size:clamp(.875rem,1.2vw,.95rem);font-weight:300;line-height:1.6}.filter-tabs-row{border-bottom:1px solid var(--border-light);-webkit-overflow-scrolling:touch;scrollbar-width:none;gap:.4rem;margin-bottom:2rem;padding-bottom:.75rem;display:flex;overflow-x:auto}.filter-tabs-row::-webkit-scrollbar{display:none}.filter-btn{letter-spacing:.04em;color:var(--text-muted);min-height:44px;transition:all var(--transition-fast);white-space:nowrap;background-color:#0000;border:1px solid #0000;border-radius:9999px;flex-shrink:0;padding:.55rem .95rem;font-size:clamp(.7rem,1.1vw,.75rem);font-weight:600}.filter-btn:hover{color:var(--text-main);background-color:var(--bg-subtle)}.filter-btn.active{background-color:var(--text-main);color:#fff;border-color:var(--text-main)}.projects-grid{grid-template-columns:1fr;gap:2.25rem;width:100%;display:grid}@media (width>=768px){.projects-grid{grid-template-columns:repeat(2,1fr);gap:3rem 2.25rem}}.project-card{width:100%;transition:transform var(--transition-smooth);background:#fff;border-radius:12px;flex-direction:column;display:flex;overflow:hidden}.project-thumbnail-wrapper{aspect-ratio:16/9.5;border:1px solid var(--border-light);background:#09090b;border-radius:12px;width:100%;margin-bottom:1rem;position:relative;overflow:hidden}.project-thumbnail-img{object-fit:cover;width:100%;height:100%;transition:transform .7s cubic-bezier(.16,1,.3,1);display:block;position:absolute;inset:0}.project-card:hover .project-thumbnail-img{transform:scale(1.05)}.video-player-container{background:#09090b;position:relative;overflow:hidden}.project-showcase-video{object-fit:cover;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;pointer-events:auto;width:100%;height:100%;display:block}.video-overlay-controls{z-index:10;position:absolute;top:14px;right:14px}.btn-video-audio-toggle{-webkit-backdrop-filter:blur(10px);color:#fff;font-family:var(--font-mono);letter-spacing:.1em;cursor:pointer;transition:all var(--transition-fast);background:#09090bbf;border:1px solid #ffffff40;border-radius:9999px;align-items:center;gap:.4rem;padding:.35rem .7rem;font-size:.65rem;font-weight:700;display:inline-flex;box-shadow:0 4px 12px #0006}.btn-video-audio-toggle:hover{background:#09090bf2;border-color:#fff9;transform:translateY(-1px)scale(1.04)}.btn-video-audio-toggle.active{background:#059669;border-color:#34d399}.project-art-overlay{z-index:2;background:linear-gradient(#09090b66 0%,#09090b1a 40%,#09090bcc 100%);justify-content:space-between;align-items:flex-end;padding:clamp(.75rem,2vw,1.25rem);transition:background .3s;display:flex;position:absolute;inset:0}.project-card:hover .project-art-overlay{background:linear-gradient(#09090b40 0%,#09090b0d 40%,#09090ba6 100%)}.project-art-badge{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.12em;-webkit-backdrop-filter:blur(10px);color:#fff;background:#09090bbf;border:1px solid #fff3;border-radius:6px;align-items:center;gap:.35rem;padding:.25rem .6rem;font-size:.65rem;font-weight:700;display:inline-flex;box-shadow:0 4px 10px #0000004d}.project-art-pill{font-family:var(--font-mono);letter-spacing:.05em;-webkit-backdrop-filter:blur(10px);color:#fff;background:#fff3;border:1px solid #ffffff4d;border-radius:6px;align-items:center;padding:.22rem .55rem;font-size:.625rem;font-weight:600;display:inline-flex}.project-info-row{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:.75rem;margin-bottom:.35rem;display:flex}.project-title{letter-spacing:-.02em;color:var(--text-main);transition:color var(--transition-fast);font-size:clamp(1.15rem,2vw,1.35rem);font-weight:700}.project-card:hover .project-title{color:var(--text-muted)}.project-meta-right{text-align:right;flex-shrink:0}.meta-status{font-family:var(--font-mono);letter-spacing:.15em;text-transform:uppercase;color:var(--text-muted);margin-bottom:.1rem;font-size:.625rem;font-weight:700;display:block}.meta-year{font-family:var(--font-mono);letter-spacing:.1em;color:var(--text-subtle);font-size:.6rem;font-weight:600;display:block}.project-stack-pills{color:var(--text-muted);margin-bottom:.5rem;font-size:clamp(.75rem,1.1vw,.8rem);font-weight:500}.project-description{color:var(--text-body);margin-bottom:1rem;font-size:clamp(.825rem,1.15vw,.875rem);font-weight:300;line-height:1.55}.project-action-links{flex-wrap:wrap;align-items:center;gap:.5rem;margin-top:auto;padding-top:.4rem;display:flex}.project-action-btn{letter-spacing:.04em;background-color:var(--bg-subtle);border:1px solid var(--border-light);color:var(--text-main);transition:all var(--transition-fast);border-radius:9999px;justify-content:center;align-items:center;gap:.35rem;min-height:36px;padding:.45rem .85rem;font-size:.75rem;font-weight:600;display:inline-flex}.project-action-btn svg{flex-shrink:0;width:13px;height:13px}.project-action-btn:hover{background-color:var(--text-main);border-color:var(--text-main);color:#fff}.project-action-btn.live-btn{color:#fff;background-color:#0c0d0e;border-color:#0c0d0e}.project-action-btn.live-btn:hover{opacity:.85}.section-experience{background-color:var(--bg-dark);color:var(--text-dark-main);border-top:1px solid #ffffff0f;width:100%;padding:clamp(3.5rem,7vh,7rem) 0}.experience-grid-layout{flex-direction:column;gap:2.5rem;width:100%;display:flex}@media (width>=868px){.experience-grid-layout{flex-direction:row;gap:4rem}.exp-left-col{width:35%;height:fit-content;position:sticky;top:90px}.exp-right-col{width:65%}}.exp-kicker{letter-spacing:.4em;text-transform:uppercase;color:var(--text-dark-subtle);margin-bottom:.5rem;font-size:.65rem;font-weight:800;display:block}.exp-title{letter-spacing:-.035em;color:var(--text-dark-main);margin-bottom:.75rem;font-size:clamp(1.85rem,4vw,3.25rem);font-weight:800;line-height:1.05}.exp-subtitle{color:var(--text-dark-muted);font-size:clamp(.85rem,1.2vw,.9rem);font-weight:300;line-height:1.6}.accordion-list{border-top:1px solid var(--border-dark);flex-direction:column;width:100%;display:flex}.accordion-item{border-bottom:1px solid var(--border-dark);width:100%}.accordion-trigger{text-align:left;width:100%;color:var(--text-dark-main);transition:all var(--transition-fast);cursor:pointer;justify-content:space-between;align-items:center;padding:1.25rem .25rem;display:flex}.accordion-trigger:hover{padding-left:.5rem}.accordion-header-content{flex-direction:column;gap:.2rem;width:100%;padding-right:.75rem;display:flex}@media (width>=640px){.accordion-header-content{flex-direction:row;justify-content:space-between;align-items:baseline;padding-right:1.5rem}}.accordion-company{letter-spacing:-.01em;color:var(--text-dark-main);transition:color var(--transition-fast);font-size:clamp(1.05rem,1.8vw,1.2rem);font-weight:700}.accordion-trigger:hover .accordion-company{color:#d4d4d8}.accordion-role{color:var(--text-dark-muted);font-size:clamp(.8rem,1.1vw,.85rem);font-weight:300;display:block}.accordion-date{font-family:var(--font-mono);letter-spacing:.15em;text-transform:uppercase;color:var(--text-dark-subtle);flex-shrink:0;margin-top:.2rem;font-size:.65rem;font-weight:600}.accordion-icon{width:16px;height:16px;color:var(--text-dark-subtle);transition:transform var(--transition-smooth), color var(--transition-fast);flex-shrink:0}.accordion-item.active .accordion-icon{color:#fff;transform:rotate(180deg)}.accordion-body{max-height:0;transition:max-height .4s cubic-bezier(.16,1,.3,1),padding .4s cubic-bezier(.16,1,.3,1);overflow:hidden}.accordion-item.active .accordion-body{max-height:600px;padding-bottom:1.5rem}.accordion-content-inner{padding-top:.4rem;padding-left:.25rem}.exp-bullet-list{flex-direction:column;gap:.5rem;margin-bottom:1rem;list-style:none;display:flex}.exp-bullet-list li{color:#d4d4d8;padding-left:1.15rem;font-size:clamp(.8rem,1.15vw,.85rem);font-weight:300;line-height:1.6;position:relative}.exp-bullet-list li:before{content:"—";color:var(--text-dark-subtle);position:absolute;left:0}.exp-tag-pills{flex-wrap:wrap;gap:.35rem;display:flex}.exp-tag{font-size:.625rem;font-family:var(--font-mono);background-color:var(--bg-dark-hover);border:1px solid var(--border-dark);color:var(--text-dark-muted);border-radius:9999px;padding:.18rem .55rem;font-weight:500}.section-stack{border-top:1px solid var(--border-light);background-color:#fff;width:100%;padding:clamp(3.5rem,7vh,7rem) 0}.stack-columns-grid{grid-template-columns:1fr;gap:2.25rem;width:100%;margin-top:2.5rem;display:grid}@media (width>=640px){.stack-columns-grid{grid-template-columns:repeat(2,1fr);gap:2rem}}@media (width>=1024px){.stack-columns-grid{grid-template-columns:repeat(3,1fr);gap:2.5rem}}.stack-col{flex-direction:column;width:100%;display:flex}.stack-col-header{border-bottom:1px solid var(--border-light);align-items:center;gap:.6rem;margin-bottom:1.25rem;padding-bottom:.65rem;display:flex}.col-num{font-family:var(--font-mono);color:var(--text-subtle);font-size:.75rem;font-weight:600}.col-title{letter-spacing:.22em;text-transform:uppercase;color:var(--text-muted);font-size:clamp(.7rem,1.1vw,.75rem);font-weight:800}.stack-pill-badges{flex-wrap:wrap;gap:.4rem;display:flex}.tech-badge-pill{background-color:var(--bg-subtle);border:1px solid var(--border-light);color:var(--text-main);transition:all var(--transition-fast);cursor:default;border-radius:9999px;align-items:center;gap:.45rem;padding:.4rem .75rem;font-size:clamp(.75rem,1.1vw,.8rem);font-weight:500;display:inline-flex}.tech-badge-pill img,.tech-badge-pill svg{object-fit:contain;flex-shrink:0;width:15px;height:15px}.tech-badge-pill:hover{background-color:#fff;border-color:#0c0d0e;transform:translateY(-2px);box-shadow:0 4px 10px #0000000a}.tools-ecosystem-block{border-top:1px solid var(--border-light);width:100%;margin-top:2.5rem;padding-top:2rem}.tools-ecosystem-header{align-items:center;gap:.6rem;margin-bottom:1.5rem;display:flex}.tools-pills-wrap{flex-wrap:wrap;gap:.75rem;width:100%;display:flex}.tool-pill-card{background-color:var(--bg-subtle);color:var(--text-main);cursor:default;user-select:none;border:1px solid #0000000f;border-radius:9999px;align-items:center;gap:.65rem;padding:.55rem 1.15rem;font-size:clamp(.82rem,1.1vw,.9rem);font-weight:500;transition:all .22s cubic-bezier(.16,1,.3,1);display:inline-flex}.tool-pill-card img,.tool-pill-card svg{object-fit:contain;flex-shrink:0;width:18px;height:18px}.tool-pill-card:hover{background-color:#fff;border-color:#0003;transform:translateY(-2.5px);box-shadow:0 8px 20px -4px #00000014,0 0 0 1px #0000000a}.section-credentials{background-color:var(--bg-subtle);border-top:1px solid var(--border-light);width:100%;padding:clamp(3.5rem,7vh,6.5rem) 0}.credentials-dual-grid{grid-template-columns:1fr;gap:2.5rem;width:100%;margin-top:2rem;display:grid}@media (width>=768px){.credentials-dual-grid{grid-template-columns:repeat(2,1fr);gap:3rem}}.cred-column-title{letter-spacing:-.02em;color:var(--text-main);align-items:center;gap:.5rem;margin-bottom:1.25rem;font-size:clamp(1.15rem,2vw,1.35rem);font-weight:800;display:flex}.timeline-list{border-left:1px solid var(--border-light);flex-direction:column;gap:1.5rem;padding-left:1.25rem;display:flex;position:relative}.timeline-card{position:relative}.timeline-dot{background-color:var(--text-main);border:2px solid #fff;border-radius:9999px;width:8px;height:8px;position:absolute;top:6px;left:calc(-1.25rem - 4.5px)}.timeline-degree{color:var(--text-main);margin-bottom:.15rem;font-size:clamp(.95rem,1.5vw,1.05rem);font-weight:700}.timeline-institution{color:var(--text-body);margin-bottom:.25rem;font-size:clamp(.8rem,1.2vw,.85rem);font-weight:400}.timeline-period-badge{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);font-size:.625rem;font-weight:600}.certs-cards-list{flex-direction:column;gap:.6rem;display:flex}.cert-item-card{border:1px solid var(--border-light);transition:all var(--transition-fast);background-color:#fff;border-radius:8px;justify-content:space-between;align-items:center;gap:.5rem;padding:.75rem 1rem;display:flex}.cert-item-card:hover{border-color:#0c0d0e;transform:translate(3px)}.cert-name-label{color:var(--text-main);font-size:clamp(.8rem,1.2vw,.875rem);font-weight:600}.cert-check-icon{width:15px;height:15px;color:var(--accent-emerald);flex-shrink:0}.site-footer{border-top:1px solid var(--border-light);background-color:#fff;width:100%;padding:clamp(3.5rem,7vh,5.5rem) 0 2rem}.footer-cta-block{text-align:left;width:100%;margin-bottom:clamp(2.5rem,5vh,4rem)}.footer-cta-title{letter-spacing:-.04em;color:var(--text-main);word-break:break-word;margin-bottom:1.25rem;font-size:clamp(1.85rem,6vw,4.5rem);font-weight:800;line-height:1.06}.footer-email-row{flex-wrap:wrap;align-items:center;gap:.75rem;width:100%;display:flex}.btn-large-email{color:var(--text-main);background-color:var(--bg-subtle);border:1px solid var(--border-light);transition:all var(--transition-fast);word-break:break-all;border-radius:9999px;justify-content:center;align-items:center;gap:.6rem;max-width:100%;padding:.65rem 1.25rem;font-size:clamp(.85rem,2vw,1.2rem);font-weight:700;display:inline-flex}.btn-large-email svg{flex-shrink:0}.btn-large-email:hover{background-color:var(--text-main);border-color:var(--text-main);color:#fff}.btn-large-phone{color:var(--text-main);border:1px solid var(--border-light);transition:all var(--transition-fast);white-space:nowrap;background-color:#fff;border-radius:9999px;justify-content:center;align-items:center;gap:.5rem;padding:.65rem 1.4rem;font-size:clamp(.9rem,1.4vw,1.05rem);font-weight:700;display:inline-flex}.btn-large-phone svg{flex-shrink:0}.btn-large-phone:hover{background-color:var(--text-main);border-color:var(--text-main);color:#fff;transform:translateY(-2px);box-shadow:0 6px 16px #00000014}.btn-copy-email{border:1px solid var(--border-light);color:var(--text-body);transition:all var(--transition-fast);white-space:nowrap;background-color:#fff;border-radius:9999px;justify-content:center;align-items:center;gap:.35rem;padding:.65rem 1.1rem;font-size:.78rem;font-weight:600;display:inline-flex}.btn-copy-email:hover{color:#000;border-color:#000}.footer-bottom-bar{border-top:1px solid var(--border-light);color:var(--text-muted);flex-direction:column;gap:1.25rem;padding-top:1.75rem;font-size:.8rem;display:flex}@media (width>=768px){.footer-bottom-bar{flex-direction:row;justify-content:space-between;align-items:center}}.footer-social-links{flex-wrap:wrap;gap:1rem;font-weight:600;display:flex}.footer-social-links a:hover{color:var(--text-main)}.ai-modal-overlay{-webkit-backdrop-filter:blur(8px);z-index:9999;opacity:0;visibility:hidden;transition:opacity var(--transition-fast), visibility var(--transition-fast);background-color:#00000073;justify-content:center;align-items:center;padding:.75rem;display:flex;position:fixed;inset:0}.ai-modal-overlay.open{opacity:1;visibility:visible}.ai-modal-card{border:1px solid var(--border-light);width:100%;max-width:560px;max-height:85svh;transition:transform var(--transition-smooth);background:#fff;border-radius:16px;flex-direction:column;display:flex;overflow:hidden;transform:translateY(20px)scale(.98);box-shadow:0 25px 50px -12px #00000040}.ai-modal-overlay.open .ai-modal-card{transform:translateY(0)scale(1)}.ai-modal-header{border-bottom:1px solid var(--border-light);background:#fff;justify-content:space-between;align-items:center;padding:1rem 1.25rem;display:flex}.ai-modal-title{color:var(--text-main);align-items:center;gap:.4rem;font-size:.95rem;font-weight:700;display:flex}.btn-close-modal{width:44px;height:44px;color:var(--text-muted);transition:all var(--transition-fast);border-radius:9999px;justify-content:center;align-items:center;display:flex}.btn-close-modal:hover{background-color:var(--bg-subtle);color:var(--text-main)}.ai-chat-body{flex-direction:column;flex-grow:1;gap:.85rem;min-height:200px;padding:1.25rem;display:flex;overflow-y:auto}.chat-bubble{border-radius:12px;max-width:88%;padding:.7rem .95rem;font-size:.85rem;line-height:1.5}.chat-bubble.assistant{background-color:var(--bg-subtle);border:1px solid var(--border-light);color:var(--text-body);align-self:flex-start}.chat-bubble.user{background-color:var(--text-main);color:#fff;align-self:flex-end}.suggested-prompts-row{flex-wrap:wrap;gap:.35rem;margin-top:.4rem;display:flex}.suggested-chip{border:1px solid var(--border-light);color:var(--text-main);cursor:pointer;transition:all var(--transition-fast);background:#fff;border-radius:9999px;padding:.3rem .65rem;font-size:.72rem;font-weight:500}.suggested-chip:hover{background-color:var(--bg-subtle);border-color:#000}.ai-input-form{border-top:1px solid var(--border-light);background:#fff;align-items:center;gap:.4rem;padding:.85rem 1.25rem;display:flex}.ai-input-field{border:1px solid var(--border-light);color:var(--text-main);transition:border-color var(--transition-fast);border-radius:9999px;outline:none;flex-grow:1;padding:.55rem .9rem;font-family:inherit;font-size:.85rem}.ai-input-field:focus{border-color:#000}.ai-send-btn{background-color:var(--text-main);color:#fff;width:34px;height:34px;transition:opacity var(--transition-fast);border-radius:9999px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.ai-send-btn:hover{opacity:.85}.menu-drawer-overlay{backdrop-filter:blur(8px);z-index:9998;opacity:0;visibility:hidden;transition:opacity var(--transition-fast), visibility var(--transition-fast);background-color:#00000073;position:fixed;inset:0}.menu-drawer-overlay.open{opacity:1;visibility:visible}.menu-drawer-card{z-index:9999;width:100%;max-width:min(340px,85vw);transition:transform var(--transition-smooth);background:#fff;flex-direction:column;justify-content:space-between;padding:1.75rem;display:flex;position:fixed;top:0;bottom:0;right:0;transform:translate(100%);box-shadow:-10px 0 30px #0000001a}.menu-drawer-overlay.open .menu-drawer-card{transform:translate(0)}.drawer-header{justify-content:space-between;align-items:center;margin-bottom:2rem;display:flex}.drawer-nav-list{flex-direction:column;gap:1rem;list-style:none;display:flex}.drawer-nav-link{letter-spacing:-.02em;color:var(--text-main);transition:color var(--transition-fast);justify-content:space-between;align-items:center;font-size:clamp(1.2rem,2.5vw,1.4rem);font-weight:800;display:flex}.drawer-nav-link:hover{color:var(--text-muted)}.drawer-nav-link.active{color:var(--text-main);font-weight:800}.drawer-nav-link.active span:last-child{align-items:center;gap:.5rem;display:inline-flex;position:relative}.drawer-nav-link.active span:last-child:after{content:"";background-color:var(--accent-emerald);width:7px;height:7px;box-shadow:0 0 8px var(--accent-emerald-pulse);border-radius:50%;display:inline-block}.drawer-footer-actions{flex-direction:column;gap:.65rem;display:flex}.drawer-btn{border:1px solid var(--border-light);color:var(--text-main);transition:all var(--transition-fast);border-radius:8px;justify-content:center;align-items:center;gap:.4rem;padding:.65rem;font-size:.825rem;font-weight:600;display:flex}.drawer-btn:hover{background-color:var(--bg-subtle);border-color:#000}.toast-notice{background-color:var(--text-main);color:#fff;z-index:99999;opacity:0;transition:all var(--transition-smooth);white-space:nowrap;border-radius:9999px;align-items:center;gap:.4rem;max-width:90vw;padding:.55rem 1.15rem;font-size:.78rem;font-weight:600;display:flex;position:fixed;bottom:1.5rem;left:50%;transform:translate(-50%)translateY(100px);box-shadow:0 10px 25px #0003}.toast-notice.show{opacity:1;transform:translate(-50%)translateY(0)}[data-reveal]{opacity:0;transition:opacity .65s cubic-bezier(.16,1,.3,1),transform .65s cubic-bezier(.16,1,.3,1);transform:translateY(20px)}.section-work,.section-experience,.section-stack,.section-credentials,.footer-cta-banner,.site-footer{content-visibility:auto;contain-intrinsic-size:auto 900px}[data-reveal].is-revealed,.hero-section [data-reveal]{opacity:1;transform:translateY(0)}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}[data-reveal]{opacity:1;transform:none}}[data-delay="100"]{transition-delay:80ms}[data-delay="200"]{transition-delay:.16s}[data-delay="300"]{transition-delay:.24s}[data-delay="400"]{transition-delay:.32s}.footer-cta-banner{width:100%;padding:1.5rem 0 3.5rem}.cta-banner-card{color:#fff;background-color:#09090b;border:1px solid #ffffff14;border-radius:24px;flex-direction:column;justify-content:space-between;gap:2rem;padding:clamp(2.25rem,5vw,3.75rem) clamp(1.75rem,5vw,3.75rem);display:flex;box-shadow:0 20px 50px #00000026}@media (width>=768px){.cta-banner-card{flex-direction:row;align-items:center}}.cta-banner-text{max-width:650px}.cta-banner-kicker{font-family:var(--font-mono);letter-spacing:.25em;text-transform:uppercase;color:#a1a1aa;margin-bottom:.75rem;font-size:.68rem;font-weight:700;display:block}.cta-banner-title{letter-spacing:-.02em;color:#fff;margin-bottom:.35rem;font-size:clamp(1.8rem,3.5vw,2.75rem);font-weight:800;line-height:1.15}.cta-banner-sub{font-family:var(--font-serif);color:#71717a;letter-spacing:-.01em;font-size:clamp(1.3rem,2.6vw,1.9rem);font-style:italic;font-weight:400}.btn-get-in-touch{color:#09090b;letter-spacing:.16em;text-transform:uppercase;white-space:nowrap;background-color:#fff;border-radius:9999px;flex-shrink:0;align-items:center;gap:.5rem;padding:.85rem 1.85rem;font-size:.75rem;font-weight:800;text-decoration:none;transition:all .25s cubic-bezier(.16,1,.3,1);display:inline-flex}.btn-get-in-touch svg{transition:transform var(--transition-fast)}.btn-get-in-touch:hover{background-color:#f4f4f5;transform:translateY(-2.5px);box-shadow:0 10px 25px #fff3}.btn-get-in-touch:hover svg{transform:translate(2px,-2px)}.contact-page-body{background-color:#fff}.contact-main-content{padding-top:clamp(7rem,14vh,9rem);padding-bottom:clamp(3rem,6vh,5rem)}.contact-page-header{border-bottom:1px solid var(--border-light);flex-direction:column;gap:1.5rem;margin-bottom:clamp(2.5rem,5vw,4rem);padding-bottom:2rem;display:flex}@media (width>=868px){.contact-page-header{flex-direction:row;justify-content:space-between;align-items:flex-end}}.contact-top-kicker{font-family:var(--font-mono);letter-spacing:.22em;text-transform:uppercase;color:#9ca3af;margin-bottom:.75rem;font-size:.65rem;font-weight:700;display:block}.contact-hero-title{font-family:var(--font-primary);letter-spacing:-.04em;color:#000;margin:0;font-size:clamp(3.75rem,8.5vw,6.5rem);font-weight:700;line-height:.92}.contact-header-serif{font-family:var(--font-serif);color:#71717a;max-width:250px;margin:0;padding-bottom:.4rem;font-size:clamp(.85rem,1.2vw,1.05rem);font-style:italic;font-weight:400;line-height:1.45}.contact-header-serif em{color:#71717a;font-style:italic}.contact-layout-grid{grid-template-columns:1fr;align-items:start;gap:2.5rem;display:grid}@media (width>=868px){.contact-layout-grid{grid-template-columns:1.1fr 1.6fr;gap:3.5rem}}.contact-group-label{font-family:var(--font-mono);letter-spacing:.2em;text-transform:uppercase;color:var(--text-subtle);margin-bottom:1rem;font-size:.68rem;font-weight:700;display:block}.comm-channel-cards{flex-direction:column;gap:.75rem;display:flex}.comm-card{background-color:var(--bg-subtle);border:1px solid var(--border-light);color:inherit;border-radius:16px;align-items:center;gap:1rem;padding:1.1rem 1.35rem;text-decoration:none;transition:all .22s cubic-bezier(.16,1,.3,1);display:flex}.comm-card:hover{background-color:#fff;border-color:#000;transform:translateY(-2px);box-shadow:0 8px 20px #0000000d}.comm-card-icon{border:1px solid var(--border-light);width:38px;height:38px;color:var(--text-main);background:#fff;border-radius:9999px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.comm-card-icon svg{width:16px;height:16px}.comm-card-text{flex-direction:column;gap:.15rem;display:flex}.comm-card-kicker{font-family:var(--font-mono);letter-spacing:.18em;color:var(--text-muted);font-size:.65rem;font-weight:700}.comm-card-val{color:var(--text-main);word-break:break-all;font-size:.92rem;font-weight:700}.connect-pills-row{flex-wrap:wrap;gap:.6rem;display:flex}.connect-pill-btn{background-color:var(--bg-subtle);border:1px solid var(--border-light);color:var(--text-main);transition:all var(--transition-fast);border-radius:9999px;align-items:center;gap:.5rem;padding:.55rem 1.1rem;font-size:.82rem;font-weight:600;text-decoration:none;display:inline-flex}.connect-pill-btn svg{width:15px;height:15px}.connect-pill-btn:hover{background-color:var(--text-main);border-color:var(--text-main);color:#fff;transform:translateY(-2px);box-shadow:0 4px 12px #00000014}.contact-form-card{background-color:var(--bg-subtle);border:1px solid var(--border-light);border-radius:28px;padding:clamp(1.75rem,4vw,3rem)}.form-card-headline{letter-spacing:-.02em;color:var(--text-main);margin-bottom:.75rem;font-size:clamp(1.4rem,2.5vw,1.95rem);font-weight:800;line-height:1.25}.form-card-headline span{color:var(--text-muted)}.form-card-sub{color:var(--text-muted);margin-bottom:2rem;font-size:.9rem;line-height:1.6}.form-row-dual{grid-template-columns:1fr;gap:1.25rem;display:grid}@media (width>=600px){.form-row-dual{grid-template-columns:repeat(2,1fr)}}.form-field-group{flex-direction:column;gap:.45rem;display:flex}.form-label{font-family:var(--font-mono);letter-spacing:.16em;color:var(--text-muted);font-size:.68rem;font-weight:700}.form-input,.form-textarea{border:1px solid var(--border-light);width:100%;color:var(--text-main);transition:all var(--transition-fast);background-color:#fff;border-radius:12px;outline:none;padding:.8rem 1.1rem;font-family:inherit;font-size:.9rem}.form-input:focus,.form-textarea:focus{border-color:#000;box-shadow:0 0 0 3px #0000000d}.form-textarea{resize:vertical;min-height:130px}.btn-send-message{color:#fff;letter-spacing:.18em;cursor:pointer;background-color:#09090b;border:none;border-radius:9999px;justify-content:center;align-items:center;gap:.6rem;width:100%;padding:.95rem 2rem;font-size:.78rem;font-weight:800;transition:all .25s cubic-bezier(.16,1,.3,1);display:inline-flex}.btn-send-message:hover{background-color:#27272a;transform:translateY(-2px);box-shadow:0 8px 20px #00000026}.btn-send-message:disabled{opacity:.7;cursor:not-allowed;transform:none}.spinner-svg{width:16px;height:16px;animation:.75s linear infinite spinLoader}@keyframes spinLoader{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.form-feedback-notice{border-radius:12px;margin-top:1.25rem;padding:.9rem 1.2rem;font-size:.85rem;font-weight:600;display:none}.form-feedback-notice.success{color:#065f46;background-color:#ecfdf5;border:1px solid #a7f3d0}.form-feedback-notice.error{color:#991b1b;background-color:#fef2f2;border:1px solid #fecaca}@media print{.site-header,.btn-ask-ai,.btn-menu-toggle,.scroll-indicator-wrap,.filter-tabs-row,.project-action-links,.ai-modal-overlay,.menu-drawer-overlay,.toast-notice{display:none!important}body{color:#000!important;background:#fff!important}.section-experience{color:#000!important;background:#fff!important;border:none!important}.accordion-body{max-height:none!important;display:block!important}.accordion-company,.exp-title,.section-title,.hero-headline{color:#000!important}}