:root{--color-void-black: #000000;--color-graphite-rail: #292d30;--color-smoke: #464a4d;--color-ash: #6c6c6c;--color-steel: #6e727a;--color-fog: #a1a4a5;--color-mist: #abafb4;--color-frost: #f0f0f0;--color-pure-white: #ffffff;--color-electric-blue: #3b9eff;--color-resend-violet: #9281f7;--gradient-resend-violet: linear-gradient(to right bottom in oklab, rgb(146, 129, 247) 0%, rgb(154, 84, 220) 100%);--color-surface-lift: #1b1b1b;--gradient-surface-lift: linear-gradient(rgb(27, 27, 27), rgb(3, 3, 3));--color-delivered-green: #3ad389;--color-bounced-red: #ff9592;--color-complained-yellow: #ffca16;--color-opened-blue: #70b8ff;--color-clicked-lavender: #baa7ff;--font-inter: "Inter", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-domaine: "Domaine", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-abcfavorit: "ABCFavorit", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-commitmono: "CommitMono", ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;--font-helvetica: "Helvetica", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-apple-system: "-apple-system", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--text-caption: 12px;--leading-caption: 1.33;--text-body-sm: 14px;--leading-body-sm: 1.43;--text-body: 16px;--leading-body: 1.5;--text-subheading: 18px;--leading-subheading: 1.6;--text-heading-sm: 20px;--leading-heading-sm: 1.3;--text-heading: 24px;--leading-heading: 1.33;--text-heading-lg: 56px;--leading-heading-lg: 1;--tracking-heading-lg: -2.8px;--text-display: 96px;--leading-display: 1;--tracking-display: -.96px;--font-weight-regular: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--spacing-unit: 4px;--spacing-4: 4px;--spacing-8: 8px;--spacing-12: 12px;--spacing-16: 16px;--spacing-20: 20px;--spacing-24: 24px;--spacing-28: 28px;--spacing-32: 32px;--spacing-40: 40px;--spacing-48: 48px;--spacing-64: 64px;--spacing-80: 80px;--spacing-96: 96px;--spacing-104: 104px;--spacing-144: 144px;--page-max-width: 1200px;--section-gap: 80-120px;--card-padding: 32px;--element-gap: 16px;--radius-md: 6px;--radius-lg: 10px;--radius-2xl: 16px;--radius-3xl: 24px;--radius-tags: 10px;--radius-cards: 16px;--radius-large: 24px;--radius-badges: 6px;--radius-modals: 16px;--radius-buttons: 6px;--shadow-subtle: rgba(176, 199, 217, .145) 0px 0px 0px 1px;--shadow-subtle-2: rgb(0, 0, 0) 0px 0px 0px 8px;--shadow-subtle-3: rgba(0, 0, 0, .1) 0px 1px 3px 0px, rgba(0, 0, 0, .1) 0px 1px 2px -1px;--surface-canvas: #000000;--surface-card-surface: #0b0e14;--surface-ui-rail: #292d30;--surface-overlay: #1b1b1b;--header-bg: rgba(0, 0, 0, .85);--header-bg-scrolled: rgba(0, 0, 0, .95);--mobile-menu-bg: rgba(0, 0, 0, .97);--nav-ghost-color: rgba(240, 240, 240, .71);--ripple-cell-bg: #000000;--ripple-cell-border: rgba(255, 255, 255, .09);--card-glass-bg: rgba(0, 0, 0, .55);--card-glass-bg-hover: rgba(27, 27, 27, .85);--modal-bg: rgba(12, 12, 12, .98);--overlay-scrim: rgba(0, 0, 0, .55);--vortex-vignette-y: rgba(0, 0, 0, .35);--vortex-vignette-x: rgba(0, 0, 0, .25);--btn-ghost-color: rgba(252, 253, 255, .94);--shadow-card: rgba(0, 0, 0, .45);--shadow-modal: rgba(0, 0, 0, .55);color-scheme:dark}[data-theme=light]{--color-void-black: #ffffff;--color-graphite-rail: #dce1e8;--color-smoke: #b8bec8;--color-ash: #7a818c;--color-steel: #6e727a;--color-fog: #4f5660;--color-mist: #3f4650;--color-frost: #14181f;--color-pure-white: #0a0d12;--color-surface-lift: #f3f5f8;--gradient-surface-lift: linear-gradient(rgb(243, 245, 248), rgb(232, 235, 240));--surface-canvas: #f6f8fb;--surface-card-surface: #ffffff;--surface-ui-rail: #dce1e8;--surface-overlay: #ffffff;--header-bg: rgba(255, 255, 255, .88);--header-bg-scrolled: rgba(255, 255, 255, .96);--mobile-menu-bg: rgba(255, 255, 255, .98);--nav-ghost-color: rgba(20, 24, 31, .72);--ripple-cell-bg: #f4f6f9;--ripple-cell-border: rgba(0, 0, 0, .08);--card-glass-bg: rgba(255, 255, 255, .82);--card-glass-bg-hover: rgba(255, 255, 255, .96);--modal-bg: rgba(255, 255, 255, .98);--overlay-scrim: rgba(15, 23, 42, .35);--vortex-vignette-y: rgba(255, 255, 255, .45);--vortex-vignette-x: rgba(255, 255, 255, .35);--btn-ghost-color: rgba(20, 24, 31, .88);--shadow-card: rgba(15, 23, 42, .12);--shadow-modal: rgba(15, 23, 42, .18);color-scheme:light}:root{--font-domaine: "DM Serif Display", Georgia, serif;--font-abcfavorit: "Bricolage Grotesque", ui-sans-serif, system-ui, sans-serif;--font-commitmono: "JetBrains Mono", ui-monospace, monospace}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}html,body{width:100%;min-height:100%}body{background:var(--surface-canvas);color:var(--color-frost);font-family:var(--font-inter);font-size:var(--text-body);line-height:var(--leading-body);overflow-x:hidden;-webkit-font-smoothing:antialiased;position:relative;transition:background-color .35s ease,color .35s ease}main{position:relative;z-index:1}.site-ripple{position:absolute;top:0;left:0;right:0;width:100%;z-index:0;pointer-events:none;--ripple-base: .22;--ripple-peak: .72;--ripple-hover: .62}.ripple-grid{display:grid;grid-template-columns:repeat(var(--ripple-cols),var(--ripple-cell-size));grid-template-rows:repeat(var(--ripple-rows),var(--ripple-cell-size));width:100%;min-height:100%;margin-inline:auto;contain:strict}.ripple-cell{border:.5px solid var(--ripple-cell-border);background:var(--ripple-cell-bg);opacity:var(--ripple-base);transition:opacity .1s ease,background-color .35s ease,border-color .35s ease;pointer-events:none;contain:strict;will-change:auto}.ripple-cell--hover{opacity:var(--ripple-hover);background:#ffffff1a;border-color:#ffffff47}.ripple-cell--animate{will-change:opacity;animation:cell-ripple var(--duration, .2s) ease-out var(--delay, 0ms) 1 forwards}@keyframes cell-ripple{0%{opacity:var(--ripple-base)}50%{opacity:var(--ripple-peak)}to{opacity:var(--ripple-base)}}a{color:inherit}.container{max-width:var(--page-max-width);margin:0 auto;padding-left:max(clamp(1.25rem,5vw,2rem),env(safe-area-inset-left,0px));padding-right:max(clamp(1.25rem,5vw,2rem),env(safe-area-inset-right,0px));width:100%}.btn-primary-outline{display:inline-flex;align-items:center;justify-content:center;padding:var(--spacing-8) var(--spacing-16);background:transparent;border:1px solid var(--color-electric-blue);border-radius:var(--radius-buttons);color:var(--color-pure-white);font-family:var(--font-inter);font-size:var(--text-body-sm);font-weight:var(--font-weight-medium);text-decoration:none;cursor:pointer;transition:border-color .15s ease,color .15s ease,background-color .15s ease}.btn-primary-outline:hover{background:#3b9eff14}.btn-ghost-text{background:none;border:none;color:var(--btn-ghost-color);font-family:var(--font-inter);font-size:var(--text-body-sm);font-weight:var(--font-weight-regular);text-decoration:none;cursor:pointer;transition:color .15s ease}.btn-ghost-text:hover{color:var(--color-pure-white)}.site-header{position:fixed;top:0;left:0;right:0;z-index:1000;height:59px;padding-top:env(safe-area-inset-top,0px);background:var(--header-bg);backdrop-filter:blur(25px);-webkit-backdrop-filter:blur(25px);border-bottom:1px solid var(--color-graphite-rail);transition:transform .2s ease,opacity .2s ease,background-color .35s ease,border-color .35s ease;--nav-toggle-width: 40px;--nav-toggle-gap: 16px}.site-header.scrolled{background:var(--header-bg-scrolled)}.nav-bar{display:grid;grid-template-columns:auto 1fr auto;align-items:center;height:59px;gap:var(--spacing-16);padding-right:calc(var(--nav-toggle-width) + var(--nav-toggle-gap) + clamp(1.25rem,5vw,2rem))}.nav-wordmark{font-family:var(--font-inter);font-size:var(--text-body);font-weight:var(--font-weight-medium);color:var(--color-pure-white);text-decoration:none;justify-self:start}.nav-links{display:flex;align-items:center;gap:var(--spacing-24);list-style:none;justify-self:center;grid-column:2}.nav-ghost{color:var(--nav-ghost-color);font-size:var(--text-body-sm);font-weight:var(--font-weight-regular);text-decoration:none;padding:var(--spacing-4) 0;transition:color .15s ease}.nav-ghost:hover{color:var(--color-frost)}.nav-muted{color:var(--color-fog);font-size:var(--text-body-sm);font-weight:var(--font-weight-regular);text-decoration:none;padding:var(--spacing-4) 0;transition:color .15s ease}.nav-muted:hover{color:var(--color-mist)}.nav-actions{display:flex;align-items:center;gap:var(--spacing-20);justify-self:end;grid-column:3}.mobile-menu-btn{display:none;flex-direction:column;justify-content:space-between;width:22px;height:16px;background:transparent;border:none;cursor:pointer;padding:0}.mobile-menu-btn span{display:block;width:100%;height:2px;background:var(--color-frost);transition:transform .15s ease,opacity .15s ease}.mobile-menu-btn.active span:nth-child(1){transform:translateY(7px) rotate(45deg)}.mobile-menu-btn.active span:nth-child(2){opacity:0}.mobile-menu-btn.active span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.hero{position:relative;min-height:100vh;min-height:100dvh;padding-top:calc(59px + env(safe-area-inset-top,0px));display:flex;align-items:center;background:transparent;overflow-x:hidden;overflow-y:visible}.hero-spotlight{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;overflow:hidden;z-index:0}.spotlight-root{position:absolute;inset:0;width:100%;height:100%;filter:brightness(1.06)}.spotlight-root[data-theme=light]{filter:brightness(1) saturate(1.15)}.spotlight-side{position:absolute;top:0;width:100%;height:100%;pointer-events:none}.spotlight-side--left{left:0}.spotlight-side--right{right:0}.spotlight-beam{position:absolute;top:0;pointer-events:none;mix-blend-mode:screen}.spotlight-root[data-theme=light] .spotlight-beam{mix-blend-mode:soft-light}.spotlight-beam--left{left:0}.spotlight-beam--right{right:0}.hero-inner{position:relative;z-index:1;width:100%;display:grid;grid-template-columns:1fr;align-items:center;justify-items:center;gap:var(--spacing-56);padding:var(--spacing-64) 0 var(--spacing-80);min-width:0}.hero-copy{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-24);max-width:min(680px,100%);width:100%;min-width:0;text-align:center}.hero-name{display:flex;flex-direction:column;align-items:center;gap:.06em;margin:0;width:fit-content;max-width:100%;font-family:var(--font-abcfavorit);font-size:clamp(3rem,calc(2rem + 7vw),9.375rem);font-weight:800;line-height:1.05;letter-spacing:-.03em;color:var(--color-pure-white);text-align:center}.hero-name-line{width:100%;text-align:center}.hero-name .kinetic-text{flex-wrap:nowrap;white-space:nowrap}.hero-name .kinetic-text__letter{font-weight:800}.announcement-pill{display:inline-flex;align-items:center;gap:var(--spacing-8);padding:var(--spacing-8) var(--spacing-16);border:1px solid var(--color-graphite-rail);border-radius:var(--radius-2xl);color:var(--color-frost);font-size:var(--text-body-sm);font-weight:var(--font-weight-regular);text-decoration:none;transition:border-color .15s ease}.announcement-pill:hover{border-color:var(--color-smoke)}.pill-arrow{color:var(--color-fog)}.hero-subtext{font-family:var(--font-abcfavorit);font-size:clamp(1rem,2.2vw,var(--text-subheading));line-height:1.65;letter-spacing:.08em;word-spacing:.14em;color:var(--color-fog);max-width:min(520px,100%);margin-inline:auto}.hero-actions{display:flex;align-items:center;justify-content:center;gap:var(--spacing-24);flex-wrap:wrap}.hero-visual{display:flex;justify-content:center;align-items:center;width:100%;max-width:920px;min-height:min(52vh,520px);overflow:visible}.hero-cube-wrap{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-8);width:100%}.cube-action-wrap{position:relative;z-index:3;margin-top:-88px;padding:3px;border-radius:9999px;opacity:1}.noise-background{position:absolute;inset:0;border-radius:9999px;overflow:hidden;pointer-events:none}.noise-background__blobs{position:absolute;inset:-40%;filter:blur(28px)}.noise-background__blob{position:absolute;width:55%;height:55%;border-radius:50%;opacity:.95}.noise-background__blob--1{top:10%;left:5%;background:#ff6496;animation:cube-noise-blob-1 9s ease-in-out infinite}.noise-background__blob--2{top:20%;right:0;background:#6496ff;animation:cube-noise-blob-2 11s ease-in-out infinite}.noise-background__blob--3{bottom:0;left:30%;background:#ffc864;animation:cube-noise-blob-3 10s ease-in-out infinite}.noise-background__grain{position:absolute;inset:0;opacity:.22;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");mix-blend-mode:overlay}.cube-action-btn{position:relative;z-index:1;display:block;font-family:var(--font-inter);font-size:var(--text-body-sm);font-weight:var(--font-weight-medium);line-height:1;color:var(--color-pure-white);background:linear-gradient(to right,#0a0a0a,#0a0a0a,#171717);border:none;border-radius:9999px;padding:11px 22px;cursor:pointer;box-shadow:0 1px #262626 inset,0 .5px 1px #73737373;transition:transform .1s ease,box-shadow .15s ease,color .15s ease}.cube-action-btn:hover:not(:disabled){color:var(--color-frost);box-shadow:0 1px #404040 inset,0 .5px 1px #a3a3a380}.cube-action-btn:active:not(:disabled){transform:scale(.98)}.cube-action-btn:disabled{cursor:not-allowed;opacity:.55}@keyframes cube-noise-blob-1{0%,to{transform:translate(0) scale(1)}50%{transform:translate(18%,12%) scale(1.08)}}@keyframes cube-noise-blob-2{0%,to{transform:translate(0) scale(1)}50%{transform:translate(-16%,14%) scale(1.12)}}@keyframes cube-noise-blob-3{0%,to{transform:translate(0) scale(1)}50%{transform:translate(10%,-18%) scale(1.06)}}.cube-stage{width:100%;height:min(78vh,920px);max-width:920px;position:relative;cursor:grab;touch-action:none;overflow:visible}.cube-stage.is-dragging{cursor:grabbing}.cube-stage canvas{display:block;width:100%!important;height:100%!important}.section{padding:var(--spacing-96) 0;background:transparent}.section-header{margin-bottom:var(--spacing-64);max-width:640px}.section-eyebrow{font-family:var(--font-commitmono);font-size:var(--text-caption);color:var(--color-fog);text-transform:lowercase;margin-bottom:var(--spacing-12)}.section-heading{font-family:var(--font-abcfavorit);font-size:clamp(32px,4vw,40px);font-weight:var(--font-weight-regular);line-height:1.1;letter-spacing:-.03em;color:var(--color-pure-white);text-wrap:balance}.section-heading.display-close{font-family:var(--font-domaine);font-size:clamp(40px,6vw,64px);letter-spacing:-.01em;line-height:1}.section-desc{margin-top:var(--spacing-16);font-size:var(--text-subheading);line-height:var(--leading-subheading);color:var(--color-fog)}[data-theme=light] .expandable-project-read-btn{background:#0000000f}[data-theme=light] .expandable-project-card:hover .expandable-project-read-btn{color:var(--color-void-black)}.feature-card{background:var(--color-void-black);border:1px solid var(--color-graphite-rail);border-radius:var(--radius-cards);padding:var(--card-padding);transition:background-color .35s ease,border-color .15s ease}.feature-card:hover{border-color:var(--color-smoke)}.timeline-item .magic-card,.about-image img{transition:background-color .35s ease,border-color .35s ease}.about-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:var(--spacing-64);align-items:center}.about-image img{width:100%;border-radius:var(--radius-cards);border:1px solid var(--color-graphite-rail);display:block}.about-lead{font-family:var(--font-abcfavorit);font-size:var(--text-heading-sm);line-height:1.4;color:var(--color-pure-white);margin-bottom:var(--spacing-24)}.about-body{font-size:var(--text-body);line-height:var(--leading-body);color:var(--color-fog)}.stack-cards-wrap{position:relative;width:100%}.stack-cards-stage{position:relative;width:100%;min-height:min(720px,78vh);margin-top:var(--spacing-48);overflow:visible;touch-action:none;user-select:none}.stack-cards-label{position:absolute;left:50%;top:44%;transform:translate(-50%,-50%);z-index:0;margin:0;font-family:var(--font-abcfavorit);font-size:clamp(2rem,5vw,3.5rem);font-weight:var(--font-weight-regular);line-height:1;color:var(--color-graphite-rail);text-align:center;pointer-events:none;white-space:nowrap;opacity:.06;transition:opacity .35s ease,color .35s ease}.stack-cards-label.is-revealed{color:var(--color-smoke);opacity:1}.stack-card-slot{position:absolute;inset:0;z-index:2;pointer-events:none}.stack-card-slot__frame{position:absolute;top:0;left:0;border:3px dashed rgba(180,186,192,.82);border-radius:12px;background:#ffffff0a;opacity:0;transition:border-color .2s ease,box-shadow .2s ease,background .2s ease}.stack-card-slot.is-target .stack-card-slot__frame{border-color:#f0f0f0f2;background:#ffffff12;box-shadow:0 0 0 1px #ffffff1f,0 0 28px #ffffff0f}.stack-card-slot__detail{position:absolute;top:var(--slot-y, 0);left:var(--slot-x, 0);width:var(--slot-detail-w, var(--slot-w, 200px));max-width:calc(100% - var(--slot-x, 0) - 16px);pointer-events:none}.stack-card-slot__name{margin:0 0 var(--spacing-12);font-family:var(--font-abcfavorit);font-size:clamp(1.75rem,3.2vw,2.5rem);font-weight:var(--font-weight-medium);line-height:1.15;letter-spacing:-.02em;color:var(--color-pure-white)}.stack-card-slot__desc{margin:0;font-family:var(--font-inter);font-size:clamp(1.125rem,2vw,1.5rem);font-weight:var(--font-weight-regular);line-height:1.5;color:var(--color-frost)}.stack-cards-actions{position:absolute;top:var(--spacing-48);left:50%;transform:translate(-50%,calc(-100% - var(--spacing-12)));z-index:200;display:flex;align-items:center;justify-content:center;width:max-content;gap:var(--spacing-12);pointer-events:none}.stack-cards-actions .return-stack-cards.is-visible{pointer-events:auto}.return-stack-cards{font-family:var(--font-inter);font-size:var(--text-body-sm);font-weight:var(--font-weight-medium);color:var(--color-frost);background:var(--color-void-black);border:1px solid var(--color-graphite-rail);border-radius:var(--radius-2xl);padding:var(--spacing-8) var(--spacing-20);cursor:pointer;opacity:0;pointer-events:none;transition:border-color .15s ease,color .15s ease,opacity .3s ease}.return-stack-cards.is-visible{opacity:1;pointer-events:auto}.return-stack-cards:hover{border-color:var(--color-smoke);color:var(--color-pure-white)}.stack-card{position:absolute;top:0;left:0;width:200px;height:292px;z-index:3;cursor:grab;touch-action:none;will-change:transform}.stack-card.is-docked{z-index:4}.stack-card.is-dragging{cursor:grabbing;z-index:999!important}.stack-card__inner{display:flex;flex-direction:column;align-items:stretch;justify-content:space-between;width:100%;height:100%;padding:var(--spacing-20) var(--spacing-20) var(--spacing-24);background:var(--color-void-black);border:1px solid var(--color-graphite-rail);border-radius:12px;box-shadow:0 16px 36px #00000061;transition:border-color .15s ease,box-shadow .15s ease}.stack-card.is-dragging .stack-card__inner{border-color:var(--color-smoke);box-shadow:0 22px 44px #00000085}.stack-card__media{flex:1;display:flex;align-items:center;justify-content:center;min-height:0;padding:var(--spacing-8) 0}.stack-card__icon{width:96px;height:96px;object-fit:contain;pointer-events:none}.stack-card__title{margin:0;font-family:var(--font-inter);font-size:clamp(1rem,1.4vw,1.25rem);font-weight:var(--font-weight-medium);line-height:1.35;color:var(--color-frost);text-align:center;pointer-events:none}.expandable-projects{max-width:672px;margin:0 auto;width:100%}.expandable-projects-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--spacing-16)}.expandable-project-item{opacity:0;transform:translateY(24px)}.expandable-project-card{width:100%;display:flex;flex-direction:column;align-items:stretch;justify-content:space-between;gap:var(--spacing-16);padding:var(--spacing-16);border:1px solid var(--color-graphite-rail);border-radius:12px;background:var(--card-glass-bg);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);cursor:pointer;text-align:left;color:inherit;transition:background-color .15s ease,border-color .15s ease}.expandable-project-card:hover{background:var(--card-glass-bg-hover);border-color:#3ad38959}.expandable-project-row{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-16);width:100%}.expandable-project-media{flex-shrink:0}.expandable-project-media img{display:block;width:160px;height:160px;border-radius:8px;object-fit:cover;object-position:top center}.expandable-project-info{flex:1;min-width:0;text-align:center}.expandable-project-title{font-family:var(--font-inter);font-size:var(--text-body);font-weight:var(--font-weight-medium);color:var(--color-pure-white);margin:0 0 var(--spacing-4)}.expandable-project-desc{font-size:var(--text-body-sm);line-height:var(--leading-body-sm);color:var(--color-fog);margin:0}.expandable-project-read-btn{align-self:center;padding:8px 16px;font-family:var(--font-inter);font-size:var(--text-body-sm);font-weight:var(--font-weight-bold);color:var(--color-pure-white);background:#ffffff14;border-radius:999px;transition:background-color .15s ease,color .15s ease;pointer-events:none}.expandable-project-card:hover .expandable-project-read-btn{background:var(--color-delivered-green);color:var(--color-void-black)}.expandable-project-overlay{position:fixed;inset:0;z-index:80;background:var(--overlay-scrim);overscroll-behavior:none;touch-action:none}.expandable-project-overlay[hidden]{display:none}.expandable-project-zoom-img{position:fixed;top:0;left:0;z-index:120;margin:0;padding:0;object-fit:cover;object-position:top center;pointer-events:none;box-shadow:0 20px 60px var(--shadow-card);will-change:top,left,width,height}.expandable-project-zoom-img[hidden]{display:none}.expandable-project-expanded.is-measuring{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);visibility:hidden;pointer-events:none}.expandable-project-expanded{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);z-index:100;display:flex;flex-direction:column;width:min(560px,calc(100vw - 32px));max-height:min(90vh,720px);background:var(--modal-bg);border:1px solid var(--color-graphite-rail);border-radius:24px;overflow:hidden;box-shadow:0 24px 80px var(--shadow-modal);transition:background-color .35s ease,border-color .35s ease}.expandable-project-expanded[hidden]{display:none}.expandable-project-close svg{width:16px;height:16px}.expandable-project-close{display:flex;position:absolute;top:12px;right:12px;z-index:3;align-items:center;justify-content:center;width:32px;height:32px;border:none;border-radius:999px;background:var(--overlay-scrim);color:var(--color-pure-white);cursor:pointer;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.expandable-project-expanded-media{flex-shrink:0}.expandable-project-expanded-img{display:block;width:100%;height:min(42vh,320px);object-fit:cover;object-position:top center}.expandable-project-expanded-content{display:flex;flex-direction:column;gap:var(--spacing-16);padding:var(--spacing-24)}.expandable-project-expanded-title{font-family:var(--font-inter);font-size:var(--text-heading-sm);font-weight:var(--font-weight-bold);color:var(--color-pure-white);margin:0}.expandable-project-expanded-body{margin:0;font-size:var(--text-body);line-height:var(--leading-body);color:var(--color-fog)}.expandable-project-cta{align-self:flex-start;padding:12px 20px;font-family:var(--font-inter);font-size:var(--text-body-sm);font-weight:var(--font-weight-bold);color:var(--color-void-black);background:var(--color-delivered-green);border-radius:999px;text-decoration:none;white-space:nowrap;transition:filter .15s ease}.expandable-project-cta:hover{filter:brightness(1.08)}@media (min-width: 768px){.expandable-project-card{flex-direction:row;align-items:center}.expandable-project-row{flex-direction:row;align-items:center;flex:1}.expandable-project-media img{width:56px;height:56px}.expandable-project-info{text-align:left}.expandable-project-read-btn{align-self:center;margin-top:0}}.project-card.wobble-card,.timeline-item.wobble-card{background:transparent;border:none;padding:0;backdrop-filter:none;-webkit-backdrop-filter:none}.wobble-card-shell{height:100%;width:100%;overflow:hidden;transition:transform .1s ease-out;will-change:transform}.project-card.wobble-card .wobble-card-shell.feature-card{padding:0}.wobble-card-inner{position:relative;height:100%;width:100%;transition:transform .1s ease-out;will-change:transform}.wobble-noise{position:absolute;inset:-15%;z-index:1;pointer-events:none;opacity:.1;scale:1.2;background-image:radial-gradient(rgba(255,255,255,.35) .6px,transparent .6px);background-size:4px 4px;mask-image:radial-gradient(circle,#fff,transparent 75%);-webkit-mask-image:radial-gradient(circle,#fff,transparent 75%)}.project-card.wobble-card .wobble-card-inner>:not(.wobble-noise){position:relative;z-index:2}.timeline-item.wobble-card .wobble-card-inner{display:flex;gap:var(--spacing-24);align-items:flex-start}.timeline-item.wobble-card .wobble-card-inner>:not(.wobble-noise){position:relative;z-index:2}.timeline{display:flex;flex-direction:column;gap:var(--spacing-24);max-width:800px}.timeline-item{align-items:stretch}.timeline-logo{width:56px;height:56px;flex-shrink:0;border:1px solid var(--color-graphite-rail);border-radius:var(--radius-badges);display:flex;align-items:center;justify-content:center;background:var(--color-void-black)}.logo-placeholder{font-family:var(--font-commitmono);font-size:var(--text-caption);color:var(--color-fog)}.timeline-content{flex:1}.timeline-header{display:flex;justify-content:space-between;align-items:baseline;gap:var(--spacing-16);margin-bottom:var(--spacing-8);flex-wrap:wrap}.timeline-header h3{font-family:var(--font-inter);font-size:var(--text-body);font-weight:var(--font-weight-semibold);color:var(--color-pure-white)}.timeline-date{font-family:var(--font-commitmono);font-size:var(--text-caption);color:var(--color-ash);white-space:nowrap}.company-name{font-size:var(--text-body-sm);font-weight:var(--font-weight-medium);color:var(--color-resend-violet);margin-bottom:var(--spacing-12)}.timeline-desc{font-size:var(--text-body-sm);line-height:var(--leading-body-sm);color:var(--color-fog)}.projects-vortex-section{position:relative;overflow:hidden}.vortex-bg{position:absolute;inset:0;z-index:0;pointer-events:none}.vortex-canvas{display:block;width:100%;height:100%}.vortex-vignette{position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(to bottom,var(--vortex-vignette-y) 0%,transparent 14%,transparent 86%,var(--vortex-vignette-y) 100%),linear-gradient(to right,var(--vortex-vignette-x) 0%,transparent 10%,transparent 90%,var(--vortex-vignette-x) 100%);transition:background .35s ease}.projects-content{position:relative;z-index:2}.experience-section .company-name{color:#3ad389}.experience-section .logo-placeholder{color:#3ad389}.contact-section.section{padding:clamp(11rem,20vw,16rem) 0 0;text-align:left}.contact-grid{display:grid;grid-template-columns:1fr;gap:var(--spacing-48);align-items:end}.contact-left{display:flex;flex-direction:column}.contact-copyright{margin:var(--spacing-32) 0 0;font-size:var(--text-caption);color:var(--color-ash)}.contact-copy .section-header{margin-bottom:var(--spacing-32)}.contact-actions{display:flex;flex-direction:column;align-items:flex-start;gap:var(--spacing-32)}.contact-action-row{display:flex;align-items:center;gap:var(--spacing-24);flex-wrap:wrap}@media (min-width: 900px){.contact-grid{grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);gap:var(--spacing-64);align-items:stretch}.contact-left{min-height:100%}.contact-copy{padding-top:clamp(3.5rem,20vh,9rem)}.contact-copyright{margin-top:auto;padding-top:var(--spacing-24)}.contact-aside{align-self:end;height:fit-content;margin-bottom:0}}@media (max-width: 899px){.contact-left{display:contents}.contact-copy{order:1}.contact-aside{order:2}.contact-copyright{order:3;margin-top:var(--spacing-16)}}.reveal{opacity:1;transform:none}html.js-ready .reveal{opacity:0;transform:translateY(20px)}@media (min-width: 1024px){.hero-inner{grid-template-columns:minmax(0,1fr) minmax(0,1fr);justify-items:stretch;gap:var(--spacing-64);padding:var(--spacing-80) 0 var(--spacing-96)}.hero-copy{justify-self:start;align-self:center;align-items:flex-start;text-align:left;max-width:none;padding-left:clamp(1.5rem,4vw,3.5rem);padding-right:clamp(2rem,5vw,4rem)}.hero-name{align-items:flex-start;text-align:left}.hero-name-line{text-align:left}.hero-name .kinetic-text{justify-content:flex-start}.hero-subtext{margin-inline:0}.hero-actions{justify-content:flex-start}.hero-visual{order:0;justify-content:center;min-height:min(78vh,920px);max-width:none}.cube-stage{height:min(78vh,920px)}}@media (max-width: 1023px){.hero-visual{order:-1;margin-bottom:var(--spacing-16)}.hero-name{font-size:clamp(3rem,calc(1.75rem + 8vw),6.5rem)}.cube-stage{width:100%;height:min(52vh,520px);max-width:none}}@media (max-width: 768px){.nav-bar{grid-template-columns:1fr auto;padding-right:calc(var(--nav-toggle-width) + var(--nav-toggle-gap) + clamp(1.25rem,5vw,2rem) + 28px)}.nav-wordmark{font-size:var(--text-body-sm);max-width:calc(100vw - 10rem);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nav-links,.nav-actions{display:none}.mobile-menu-btn{display:flex;justify-self:end;grid-column:2;grid-row:1;margin-right:calc(var(--nav-toggle-width) + var(--nav-toggle-gap))}.nav-bar.menu-open .nav-links{display:flex;flex-direction:column;position:fixed;top:calc(59px + env(safe-area-inset-top,0px));left:0;right:0;background:var(--mobile-menu-bg);backdrop-filter:blur(25px);border-bottom:1px solid var(--color-graphite-rail);padding:var(--spacing-24) clamp(1.25rem,5vw,2rem);gap:var(--spacing-16);justify-self:stretch;grid-column:1 / -1}.nav-bar.menu-open .nav-actions{display:flex;position:fixed;top:calc(279px + env(safe-area-inset-top,0px));left:clamp(1.25rem,5vw,2rem);right:clamp(1.25rem,5vw,2rem);justify-content:flex-start}.hero{min-height:auto;align-items:flex-start}.hero-inner{padding:var(--spacing-40) 0 var(--spacing-56);gap:var(--spacing-32)}.hero-visual{min-height:min(44vh,400px)}.cube-stage{height:min(44vh,400px)}.hero-name{font-size:clamp(2.75rem,13vw,5rem);letter-spacing:-.025em}.hero-subtext{font-size:1rem;letter-spacing:.05em;word-spacing:.08em;max-width:100%}.hero-actions{width:100%;gap:var(--spacing-16)}.about-grid{grid-template-columns:1fr;gap:var(--spacing-40)}.section{padding:var(--spacing-64) 0}.contact-section.section{padding-top:clamp(7rem,14vw,10rem)}.section-header{margin-bottom:var(--spacing-40)}.section-heading.display-close{font-size:clamp(2rem,7.5vw,2.75rem)}.stack-cards-stage{min-height:min(440px,60vh)}.stack-cards-label{font-size:clamp(1.25rem,4.5vw,1.75rem)}.stack-card{width:118px;height:172px}.stack-card__inner{padding:10px 10px 12px;border-radius:10px}.stack-card__icon{width:54px;height:54px}.stack-card__title{font-size:.6875rem;line-height:1.25}.stack-card-slot__frame{border-width:2px;border-radius:10px}.stack-card-slot__name{margin-bottom:var(--spacing-8);font-size:1.0625rem}.stack-card-slot__desc{font-size:.8125rem;line-height:1.4}.cube-action-wrap{margin-top:-36px}.expandable-projects{max-width:100%}.expandable-project-expanded{width:calc(100vw - (2*clamp(1.25rem,5vw,2rem)));max-height:calc(100dvh - 2rem)}.timeline-header{flex-direction:column;align-items:flex-start;gap:var(--spacing-4)}.contact-actions{width:100%}}@media (max-width: 480px){.stack-cards-stage{min-height:min(400px,56vh)}.stack-card{width:102px;height:148px}.stack-card__inner{padding:8px 8px 10px}.stack-card__icon{width:46px;height:46px}.stack-card__title{font-size:.625rem}.stack-card-slot__name{font-size:.9375rem}.stack-card-slot__desc{font-size:.75rem}.cube-action-wrap{margin-top:-18px}.hero-inner{padding:var(--spacing-32) 0 var(--spacing-48)}.hero-name{font-size:clamp(2.5rem,14vw,4.25rem)}.hero-subtext{font-size:.9375rem;letter-spacing:.04em;word-spacing:.06em}.announcement-pill{font-size:var(--text-caption);padding:var(--spacing-8) var(--spacing-12);text-align:center}.section-heading{font-size:clamp(1.75rem,7vw,2rem)}.expandable-project-media img{width:120px;height:120px}.expandable-project-expanded-img{height:min(36vh,240px)}.expandable-project-expanded-content{padding:var(--spacing-16)}}::view-transition-old(root),::view-transition-new(root){animation:none;mix-blend-mode:normal}html[data-magicui-theme-vt=active]::view-transition-group(root){animation-duration:var(--magicui-theme-toggle-vt-duration);animation-timing-function:var( --magicui-theme-toggle-vt-easing, cubic-bezier(.16, 1, .3, 1) )}html[data-magicui-theme-vt=active]::view-transition-new(root){clip-path:var(--magicui-theme-vt-clip-from);will-change:clip-path}.animated-theme-toggler{display:inline-flex;align-items:center;justify-content:center;width:auto;height:auto;padding:4px;border:none;border-radius:0;background:transparent;color:var(--color-frost);cursor:pointer;transition:color .35s cubic-bezier(.16,1,.3,1),transform .35s cubic-bezier(.16,1,.3,1)}.animated-theme-toggler svg{display:block;transition:opacity .35s cubic-bezier(.16,1,.3,1),transform .35s cubic-bezier(.16,1,.3,1)}.animated-theme-toggler:hover{cursor:pointer;color:var(--color-pure-white);transform:scale(1.08)}.animated-theme-toggler:active{transform:scale(.96)}.animated-theme-toggler:focus-visible{outline:none}.nav-theme-toggle{position:absolute;top:calc(env(safe-area-inset-top,0px) + 50%);right:max(clamp(1.25rem,5vw,2rem),env(safe-area-inset-right,0px));transform:translateY(-50%);z-index:2;display:flex;align-items:center;flex-shrink:0}@media (prefers-reduced-motion: reduce){html[data-magicui-theme-vt=active]::view-transition-group(root){animation-duration:1ms}.animated-theme-toggler,.animated-theme-toggler svg{transition:none}}.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}.kinetic-text{--hover-padding: calc(1em / 12);--text-stroke-width: calc(1em * 125 / 6000);position:relative;display:flex;flex-wrap:wrap;justify-content:center;font-optical-sizing:auto}.kinetic-text__letter{will-change:font-weight,-webkit-text-stroke-width,padding;-webkit-text-stroke-color:transparent;-webkit-text-stroke-width:var(--text-stroke-width);transition:font-weight .4s ease,-webkit-text-stroke-color .4s ease,-webkit-text-stroke-width .4s ease,padding .4s ease}.kinetic-text__letter:hover{padding-inline:var(--hover-padding);font-weight:900;-webkit-text-stroke-color:currentColor;-webkit-text-stroke-width:calc(var(--text-stroke-width) * 2)}.kinetic-text__letter:has(+.kinetic-text__letter:hover){font-weight:600;padding-inline:var(--hover-padding)}.kinetic-text__letter:hover+.kinetic-text__letter{font-weight:600;padding-inline:var(--hover-padding)}.kinetic-text__letter:has(+.kinetic-text__letter+.kinetic-text__letter:hover){font-weight:400}.kinetic-text__letter:hover+.kinetic-text__letter+.kinetic-text__letter{font-weight:400}.contact-social-icons{display:flex;align-items:center;gap:var(--spacing-12);flex-wrap:wrap}.icons-social-media{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;padding:0;border-radius:50%;color:var(--color-fog);text-decoration:none;cursor:pointer;transition:.3s all ease-in-out;position:relative;overflow:hidden}.icons-social-media:hover{translate:0 -10px}.icons-social-media svg{width:19px;height:19px;display:block;flex-shrink:0;transition:.3s all ease-in-out}#linkedin svg{width:17px;height:17px}#linkedin:hover{background-color:#89b1db;color:#fff}#github:hover{background-color:#b4b4b4;color:#24292f}#instagram:hover{background-color:#dd9dbd;color:#fff}#medium:hover{background-color:#8fdcba;color:#1a1a1a}.icons-social-media:focus-visible{outline:2px solid var(--color-pure-white);outline-offset:3px;border-radius:50%}[data-theme=light] #github:hover{background-color:#3c3c3c;color:#fff}.magic-card{--magic-x: -200px;--magic-y: -200px;--magic-gradient-size: 200px;--magic-gradient-from: #9e7aff;--magic-gradient-to: #fe8bbb;--magic-gradient-color: #262626;--magic-bg: var(--color-void-black);--magic-border: var(--color-graphite-rail);position:relative;isolation:isolate;overflow:hidden;border-radius:var(--radius-cards);border:1px solid transparent;background:linear-gradient(var(--magic-bg) 0 0) padding-box,radial-gradient(var(--magic-gradient-size) circle at var(--magic-x) var(--magic-y),var(--magic-gradient-from),var(--magic-gradient-to),var(--magic-border) 100%) border-box}.magic-card__bg{position:absolute;inset:1px;z-index:1;border-radius:calc(var(--radius-cards) - 1px);background:var(--magic-bg);pointer-events:none}.magic-card__glow{position:absolute;inset:1px;z-index:2;border-radius:calc(var(--radius-cards) - 1px);pointer-events:none;opacity:0;transition:opacity .3s ease;background:radial-gradient(var(--magic-gradient-size) circle at var(--magic-x) var(--magic-y),var(--magic-gradient-color),transparent 100%)}.magic-card:hover .magic-card__glow,.magic-card:focus-within .magic-card__glow{opacity:.8}.magic-card__content{position:relative;z-index:3}.experience-card__header{display:flex;align-items:center;gap:var(--spacing-16);padding:var(--spacing-20);border-bottom:1px solid var(--color-graphite-rail)}.experience-card__header-text{min-width:0}.experience-card__title{font-family:var(--font-inter);font-size:var(--text-body);font-weight:var(--font-weight-semibold);color:var(--color-pure-white);margin:0}.experience-card__company{margin:var(--spacing-4) 0 0;font-size:var(--text-body-sm);line-height:var(--leading-body-sm);color:var(--color-fog)}.experience-card__body{padding:var(--spacing-20)}.experience-card__footer{padding:var(--spacing-16) var(--spacing-20);border-top:1px solid var(--color-graphite-rail)}.experience-section .timeline-logo{background:var(--magic-bg)}.experience-section .company-name{color:var(--color-resend-violet)}[data-theme=light] .magic-card{--magic-gradient-color: rgba(217, 217, 217, .33)}.contact-aside{width:100%;height:fit-content}.contact-spline-host{width:100%}.spline-scene{position:relative;width:100%;height:var(--spline-scene-height, 680px);overflow:hidden;background:transparent}.spline-scene__canvas{display:block;width:100%;height:100%;touch-action:none}.spline-scene__loader{position:absolute;inset:0;z-index:1;display:grid;place-items:center;color:var(--color-fog);font-family:var(--font-commitmono);font-size:var(--text-caption);background:color-mix(in srgb,var(--color-void-black) 72%,transparent);transition:opacity .35s ease,visibility .35s ease}.spline-scene__loader.is-hidden{opacity:0;visibility:hidden;pointer-events:none}.spline-scene__loader-dot{width:28px;height:28px;border-radius:50%;border:2px solid var(--color-graphite-rail);border-top-color:var(--color-pure-white);animation:spline-loader-spin .8s linear infinite}@keyframes spline-loader-spin{to{rotate:360deg}}
