@import"https://fonts.googleapis.com/css2?family=Urbanist:wght@300;400;500;600;700;800&family=Sora:wght@300;400;500;600;700&display=swap";:root{--accent: #c7a885;--accent-dim: #a8895f;--accent-glow: rgba(199,168,133,.16);--green: #16a34a;--nav-height: 64px;--easing: cubic-bezier(.16, 1, .3, 1);--ease-in: cubic-bezier(.4, 0, 1, 1);--font-sans: "Sora";--font-serif: "Urbanist";--font-mono: "Sora";--weight-main: 400;--weight-secondary: 400;--space-3xs: 4px;--space-2xs: 8px;--space-xs: 12px;--space-sm: clamp(16px, 1.4vw, 20px);--space-md: clamp(24px, 2.2vw, 32px);--space-lg: clamp(32px, 3vw, 48px);--space-xl: clamp(48px, 4.5vw, 64px);--space-2xl: clamp(64px, 6vw, 96px);--space-3xl: clamp(88px, 9vw, 128px);--section-py: clamp(96px, 11vh, 152px);--section-py-tight: clamp(64px, 7.5vh, 104px);--section-py-loose: clamp(120px, 14vh, 192px);--gutter: clamp(20px, 4vw, 48px);--container-max: 1320px}[data-theme=dark]{--bg: #0C0D0F;--bg-1: #111214;--bg-2: #17191C;--bg-3: #1E2023;--surface: #252729;--border: #252729;--border-hi: #303336;--text: #F0F2F5;--text-2: #9AA3AF;--text-3: #535D6B;--nav-bg: rgba(12,13,15,.9);--card-bg: #111214;--card-hover: #17191C}[data-theme=light]{--bg: #F8F7F4;--bg-1: #F2F1EE;--bg-2: #ECEAE6;--bg-3: #E4E2DD;--surface: #DDDBD6;--border: #E4E2DD;--border-hi: #D0CEC9;--text: #141414;--text-2: #5C5855;--text-3: #9C9894;--nav-bg: rgba(248,247,244,.92);--card-bg: #F2F1EE;--card-hover: #ECEAE6}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;font-size:16px}body{background:var(--bg);color:var(--text);font-family:var(--font-sans);font-weight:400;-webkit-font-smoothing:antialiased;overflow-x:hidden;transition:background .4s var(--easing),color .4s var(--easing)}h1,h2,h3,h4,h5,h6{font-family:var(--font-sans);font-weight:400;word-break:normal;overflow-wrap:normal}.split-word{display:inline-block;white-space:nowrap}.split-char{display:inline-block}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}::selection{background:var(--accent);color:#fff}::-webkit-scrollbar{width:3px}::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{background:var(--accent)}#nav{position:fixed;top:0;left:0;right:0;z-index:200;height:64px;display:flex;align-items:center;justify-content:space-between;padding:0 var(--gutter);background:var(--nav-bg);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid var(--border);transition:background .4s,border-color .4s}.nav-logo{font-family:var(--font-sans);font-size:14px;font-weight:500;letter-spacing:-.02em;color:var(--text);display:flex;align-items:center;gap:10px;white-space:nowrap}.nav-logo-mark{width:38px;height:38px;object-fit:contain;flex:0 0 auto}.nav-logo-wordmark{display:inline-block;line-height:1}.nav-links{display:flex;gap:2px;list-style:none}.nav-link{font-size:12px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:var(--text-2);padding:6px 14px;border-radius:2px;transition:color .2s,background .2s;position:relative}.nav-link:hover{color:var(--text)}.nav-link.active{color:var(--text);background:var(--bg-2)}.nav-link.active:after{content:"";position:absolute;bottom:-1px;left:14px;right:14px;height:1px;background:var(--accent)}.nav-right{display:flex;align-items:center;gap:12px}.theme-toggle{display:flex;align-items:center;gap:6px;font-family:var(--font-sans);font-size:11px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--text-2);background:none;border:1px solid var(--border-hi);padding:6px 12px;cursor:pointer;border-radius:2px;transition:color .2s,border-color .2s,background .2s}.theme-toggle:hover{color:var(--text);border-color:var(--accent);background:var(--accent-glow)}.theme-icon{font-size:12px;line-height:1}.nav-cv{display:flex;align-items:center;gap:8px;font-family:var(--font-sans);font-size:12px;font-weight:600;letter-spacing:.04em;color:#fff;background:var(--accent);border:none;padding:8px 18px;border-radius:2px;cursor:pointer;transition:background .2s,opacity .2s;white-space:nowrap}.nav-cv:hover{background:var(--accent-dim)}.mobile-menu-btn{display:none;background:none;border:none;color:var(--text);cursor:pointer;padding:4px;font-size:20px;line-height:1}.mobile-menu{display:none;position:fixed;top:64px;left:0;right:0;background:var(--bg-1);border-bottom:1px solid var(--border);padding:16px 24px;z-index:199;flex-direction:column;gap:4px}.mobile-menu.open{display:flex}.mobile-menu .nav-link{padding:12px 8px;font-size:13px}.label{font-family:var(--font-mono);font-size:11px;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:var(--text-3)}.label-accent{font-family:var(--font-mono);font-size:11px;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:var(--accent)}.display{font-family:var(--font-sans);font-weight:var(--weight-secondary);letter-spacing:-.04em;line-height:.9;text-transform:uppercase;color:var(--text)}.serif-italic{font-family:var(--font-serif);font-style:italic;font-weight:var(--weight-secondary)}.body-text{font-family:var(--font-sans);font-size:16px;font-weight:var(--weight-main);line-height:1.75;color:var(--text-2)}.page{padding-top:var(--nav-height);min-height:100vh;width:100%;max-width:100%;overflow-x:clip}.page:has(>.hero:first-child){padding-top:0}.container{max-width:var(--container-max);margin:0 auto;padding:0 var(--gutter);min-width:0}.section-divider{height:1px;background:var(--border);margin:0}.pill{display:inline-flex;align-items:center;font-family:var(--font-mono);font-size:12px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--text-2);background:var(--bg-2);border:1px solid var(--border-hi);padding:6px 12px;border-radius:2px;transition:border-color .2s,color .2s}.pill:hover{border-color:var(--accent);color:var(--accent)}.pill.accent{background:var(--accent-glow);border-color:var(--accent);color:var(--accent)}.status-live{display:inline-flex;align-items:center;gap:7px;font-family:var(--font-mono);font-size:11px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--text-2)}.accent-bar{width:32px;height:2px;background:var(--accent);display:block}.reveal{opacity:0;transform:translateY(20px);transition:opacity .7s var(--easing),transform .7s var(--easing)}.reveal.in{opacity:1;transform:translateY(0)}.reveal-left{opacity:0;transform:translate(-20px);transition:opacity .7s var(--easing),transform .7s var(--easing)}.reveal-left.in{opacity:1;transform:translate(0)}.reveal-right{opacity:0;transform:translate(20px);transition:opacity .7s var(--easing),transform .7s var(--easing)}.reveal-right.in{opacity:1;transform:translate(0)}.d1{transition-delay:.08s}.d2{transition-delay:.16s}.d3{transition-delay:.24s}.d4{transition-delay:.32s}.d5{transition-delay:.4s}.site-footer{border-top:1px solid var(--border);padding:var(--space-lg) var(--gutter);display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px;background:var(--bg)}.footer-brand{display:flex;align-items:center;gap:12px;min-width:0}.footer-brand-mark{width:48px;height:48px;object-fit:contain;flex:0 0 auto}.footer-brand-copy{display:flex;flex-direction:column;gap:4px}.footer-brand-name{font-family:var(--font-sans);font-size:14px;font-weight:500;letter-spacing:-.02em;color:var(--text)}.footer-copy{font-family:var(--font-mono);font-size:11px;color:var(--text-3);letter-spacing:.08em}.footer-links{display:flex;gap:24px}.footer-link{display:inline-flex;align-items:center;gap:7px;font-family:var(--font-mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--text-2);transition:color .2s}.footer-link:hover{color:var(--accent)}.brand-icon{display:inline-block;width:var(--brand-icon-size, 16px);height:var(--brand-icon-size, 16px);flex-shrink:0}.brand-icon-mono,.brand-icon-mono *{fill:currentColor}.footer-ui-icon{flex-shrink:0;color:currentColor}@media (max-width: 860px){.nav-links{display:none}.mobile-menu-btn{display:flex;align-items:center}.nav-cv span{display:none}.nav-logo-mark{width:34px;height:34px}.footer-brand-mark{width:42px;height:42px}}:root{--ease-out-expo: cubic-bezier(.16, 1, .3, 1);--ease-out-quart: cubic-bezier(.25, 1, .5, 1);--ease-in-out-expo: cubic-bezier(.87, 0, .13, 1);--ease-in-out-cubic: cubic-bezier(.65, 0, .35, 1);--ease-in-expo: cubic-bezier(.7, 0, .84, 0)}:root{--font-display: "Urbanist";--bg-4: #2A2C30;--bg-5: #33363B}[data-theme=light]{--bg-4: #D6D3CD;--bg-5: #CCC8C0}.split-mask{overflow:hidden;display:block}.split-mask+.split-mask{margin-top:0}.split-word,.split-char{display:inline-block;transform:translateZ(0)}.reduced-motion *,.reduced-motion *:before,.reduced-motion *:after{animation-duration:1ms!important;animation-iteration-count:1!important;transition-duration:1ms!important}.initial-loader{position:fixed;inset:0;z-index:9999;background:var(--bg);color:var(--text);display:flex;align-items:center;justify-content:center;will-change:transform}.initial-loader-inner{width:min(720px,88vw);display:flex;flex-direction:column;gap:clamp(40px,8vh,72px)}.initial-loader-meta{display:flex;justify-content:space-between;align-items:baseline;font-family:var(--font-mono);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--text-3)}.initial-loader-counter{font-family:var(--font-mono);color:var(--accent);font-variant-numeric:tabular-nums}.initial-loader-name{font-family:var(--font-display);font-weight:400;font-size:clamp(56px,10vw,144px);line-height:.92;letter-spacing:-.045em;color:var(--text);margin:0;display:flex;flex-direction:column;gap:18px}.initial-loader-name-sub{font-family:var(--font-sans);font-size:12px;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:var(--text-3)}.initial-loader-progress-track{position:relative;height:1px;background:var(--border);overflow:hidden}.initial-loader-progress{position:absolute;top:0;left:0;bottom:0;width:0%;background:var(--accent)}.section-hero{padding:clamp(120px,16vh,240px) 0}.section-dense{padding:clamp(80px,10vh,120px) 0}.section-breather{padding:clamp(160px,22vh,320px) 0}.marquee-section{padding:clamp(48px,6vh,80px) 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border);overflow:hidden;background:var(--bg)}.marquee-track{overflow:hidden;position:relative}.marquee-content{display:flex;align-items:center;gap:0;white-space:nowrap;animation:marqueeScroll 40s linear infinite;will-change:transform;width:max-content}.marquee-item{font-family:var(--font-sans);font-size:clamp(20px,2.2vw,34px);font-weight:500;letter-spacing:-.02em;color:var(--text);padding:0 clamp(16px,1.5vw,28px);flex-shrink:0}.marquee-dot{display:inline-block;width:28px;height:1px;background:var(--accent);flex-shrink:0}@keyframes marqueeScroll{0%{transform:translate(0)}to{transform:translate(-33.333%)}}.section-border-bottom{border-bottom:1px solid var(--border)}.section-label-gap{margin-bottom:20px}.section-label-gap-sm{margin-bottom:16px}.section-top-gap{margin-top:32px}.section-top-gap-sm{margin-top:24px}.page-header-copy p,.contact-hero-copy p{font-size:16px;line-height:1.8;color:var(--text-2);max-width:400px}.page-header-copy-compact p{font-size:14px;line-height:1.65;max-width:470px}.hero{position:relative;min-height:100vh;min-height:100svh;width:100%;display:flex;flex-direction:column;overflow-x:hidden}.hero-redesign{isolation:isolate;background:var(--bg)}.hero-redesign:before{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background-image:url(/images/hero-bg-dark.png);background-size:cover;background-position:center;background-repeat:no-repeat;opacity:.72;mask-image:linear-gradient(90deg,#000 0%,#000 58%,transparent 100%),linear-gradient(0deg,#000 0%,#000 62%,transparent 100%);mask-composite:intersect;-webkit-mask-image:linear-gradient(90deg,#000 0%,#000 58%,transparent 100%),linear-gradient(0deg,#000 0%,#000 62%,transparent 100%);-webkit-mask-composite:source-in}[data-theme=light] .hero-redesign:before{background-image:url(/images/hero-bg-light.png);opacity:.82}#heroCanvas{position:absolute;inset:0;width:100%;height:100%;z-index:0}.hero-particle-field{position:absolute;inset:0;z-index:0;overflow:hidden}.hero-particle-field canvas{display:block;width:100%;height:100%}.hero-particle-overlay{position:absolute;inset:0;pointer-events:none;z-index:1;background:radial-gradient(ellipse 70% 60% at 50% 41%,transparent 26%,var(--bg) 80%),linear-gradient(180deg,transparent 0%,color-mix(in srgb,var(--bg) 42%,transparent) 60%,var(--bg) 94%),linear-gradient(0deg,var(--bg) 0%,transparent 34%)}@media (max-width: 900px){.hero-particle-overlay{background:radial-gradient(ellipse 80% 60% at 50% 40%,transparent 16%,var(--bg) 68%),linear-gradient(180deg,transparent 0%,color-mix(in srgb,var(--bg) 34%,transparent) 56%,var(--bg) 92%)}}@media (prefers-reduced-motion: reduce){.hero-particle-field canvas{opacity:.5}}.hero-inner{position:relative;z-index:10;flex:1;display:flex;flex-direction:column;justify-content:center;gap:var(--space-md);padding:calc(var(--nav-height) + var(--space-lg)) var(--gutter) var(--space-xl);max-width:var(--container-max);margin:0 auto;width:100%}.hero-content-stack{display:flex;flex-direction:column;margin-top:auto}.hero-kicker{display:flex;align-items:center;gap:12px;margin-bottom:32px}.hero-status{margin-left:8px}.hero-name{font-size:12px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--text-2)}.hero-headline{font-family:var(--font-sans);font-size:clamp(54px,7vw,112px);font-weight:300;letter-spacing:-.03em;line-height:1.08;color:var(--text);margin-bottom:var(--space-xl)}.hero-headline em{font-style:normal;color:var(--accent);display:block}.home-cta-buttons{margin-bottom:40px}.hero-bottom{display:grid;grid-template-columns:1fr 1fr 1fr;gap:0;border-top:1px solid rgba(255,255,255,.08);padding-top:32px}[data-theme=light] .hero-bottom{border-top-color:#00000014}.hero-stat{border-right:1px solid rgba(255,255,255,.08);padding-right:32px;margin-right:32px}[data-theme=light] .hero-stat{border-right-color:#00000014}.hero-stat:last-child{border-right:none;margin-right:0;padding-right:0}.hero-stat-value{font-size:40px;font-weight:400;letter-spacing:-.04em;line-height:1;color:var(--text);margin-bottom:6px}.hero-stat-label{font-family:var(--font-mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--text-3)}.scroll-hint{position:absolute;bottom:max(44px,calc(env(safe-area-inset-bottom) + 20px));right:clamp(16px,3vw,48px);z-index:10;display:flex;flex-direction:column;align-items:center;gap:8px;font-family:var(--font-mono);font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:var(--text-3);writing-mode:vertical-rl}.scroll-line{width:1px;height:48px;background:linear-gradient(to bottom,var(--accent),transparent);animation:scrollLine 2s ease-in-out infinite}@keyframes scrollLine{0%{transform:scaleY(0);transform-origin:top}50%{transform:scaleY(1);transform-origin:top}51%{transform:scaleY(1);transform-origin:bottom}to{transform:scaleY(0);transform-origin:bottom}}.about-strip{padding:var(--section-py) 0}.about-strip-inner{display:grid;grid-template-columns:5fr 7fr;gap:80px;align-items:start}.about-left h2,.skills-header h2,.values-header h2,.education-heading,.biography-heading-gap{font-family:var(--font-sans);font-size:clamp(36px,4vw,56px);font-weight:var(--weight-secondary);letter-spacing:-.025em;line-height:1.05}.biography-heading-gap{margin-bottom:48px}.education-heading{margin-bottom:40px}.about-left h2{font-size:clamp(40px,4vw,64px);margin-bottom:32px;line-height:1.05}.about-left h2 span{font-family:var(--font-serif);font-style:italic;text-transform:none;color:var(--accent);font-size:.9em;display:block;font-weight:var(--weight-secondary);letter-spacing:-.02em}.about-body{font-size:16px;line-height:1.85;color:var(--text-2);margin-bottom:32px}.about-cta{display:inline-flex;align-items:center;gap:10px;font-size:13px;font-weight:600;color:var(--text);border-bottom:1px solid var(--accent);padding-bottom:2px;transition:color .2s,gap .2s}.about-cta:hover{color:var(--accent);gap:16px}.about-cta svg{width:14px;height:14px}.about-right{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--border);border:1px solid var(--border)}.about-cell{background:var(--card-bg);padding:28px 24px;transition:background .2s}.about-cell:hover{background:var(--card-hover)}.about-cell-label{font-family:var(--font-mono);font-size:9px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--text-3);margin-bottom:14px}.about-cell-value .stack-row{display:flex;justify-content:space-between;align-items:baseline;padding:5px 0;border-bottom:1px solid var(--border);font-size:13px}.about-cell-value .stack-row:last-child{border-bottom:none}.about-cell-value .stack-row span{font-family:var(--font-mono);font-size:9px;color:var(--text-3);letter-spacing:.08em}.tech-pill-wrap,.bio-pill-wrap{display:flex;flex-wrap:wrap;gap:8px}.bio-pill-wrap{margin-top:20px}.showreel-section{position:relative;padding:var(--section-py) 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border);background:linear-gradient(135deg,var(--bg-1),var(--bg) 58%,var(--bg-2));overflow:hidden}.showreel-inner{position:relative;z-index:1;display:grid;grid-template-columns:minmax(280px,.75fr) minmax(0,1.25fr);gap:clamp(40px,6vw,88px);align-items:center}.showreel-copy{max-width:460px}.showreel-heading{font-family:var(--font-sans);font-size:clamp(40px,4.8vw,74px);font-weight:var(--weight-secondary);letter-spacing:-.035em;line-height:.98;color:var(--text);margin-bottom:28px}.showreel-heading span{font-family:var(--font-serif);font-style:italic;color:var(--accent);letter-spacing:-.02em}.showreel-body{font-size:16px;line-height:1.85;color:var(--text-2)}.showreel-meta{display:flex;flex-wrap:wrap;gap:8px;margin-top:28px}.showreel-meta span{font-family:var(--font-mono);font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:var(--text-2);border:1px solid var(--border-hi);background:color-mix(in srgb,var(--bg) 70%,transparent);padding:7px 10px}.showreel-frame{position:relative;border:1px solid var(--border-hi);background:linear-gradient(180deg,color-mix(in srgb,var(--card-bg) 88%,transparent),var(--bg-1)),var(--card-bg);box-shadow:0 28px 80px color-mix(in srgb,#000 28%,transparent);overflow:hidden}[data-theme=light] .showreel-frame{box-shadow:0 26px 64px #201d191f}.showreel-frame:before{content:"";position:absolute;inset:-1px;pointer-events:none;border:1px solid color-mix(in srgb,var(--accent) 34%,transparent);opacity:0;transition:opacity .25s var(--easing)}.showreel-frame:hover:before{opacity:1}.showreel-frame-top{display:flex;justify-content:space-between;gap:16px;padding:14px 16px;border-bottom:1px solid var(--border);font-family:var(--font-mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--text-3)}.showreel-frame-status{color:var(--accent)}.showreel-video-wrap{position:relative;aspect-ratio:16 / 9;background:var(--bg-3);overflow:hidden}.showreel-video{position:relative;z-index:1;display:block;width:100%;height:100%;object-fit:cover}.showreel-video-glow{position:absolute;inset:auto 8% -22%;height:42%;z-index:0;background:radial-gradient(ellipse at center,color-mix(in srgb,var(--accent) 38%,transparent),transparent 68%);filter:blur(22px);opacity:.8}@media (max-width: 960px){.showreel-section{padding:84px 0}.showreel-inner{grid-template-columns:1fr;gap:40px}.showreel-copy{max-width:680px}}@media (max-width: 560px){.showreel-section{padding:68px 0}.showreel-heading{font-size:clamp(34px,11vw,48px)}.showreel-frame-top{flex-direction:column;gap:6px}.showreel-meta span{width:100%;justify-content:center;text-align:center}}.work-section{padding:var(--section-py) 0}.work-header{display:flex;justify-content:space-between;align-items:flex-end;padding-bottom:48px;border-bottom:1px solid var(--border)}.work-header h2{font-family:var(--font-sans);font-size:clamp(40px,4vw,64px);font-weight:var(--weight-secondary);letter-spacing:-.025em;line-height:1.05}.work-view-all{display:inline-flex;align-items:center;gap:8px;font-size:12px;font-weight:600;color:var(--text-2);transition:color .2s,gap .2s;letter-spacing:.04em}.work-view-all:hover{color:var(--accent);gap:14px}.work-list{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--border);border-bottom:1px solid var(--border)}.work-item{background:var(--bg);padding:48px 40px;display:grid;grid-template-columns:1fr auto;gap:40px;align-items:start;cursor:pointer;transition:background .25s;position:relative;overflow:hidden;height:100%}.work-item:before{content:"";position:absolute;bottom:0;left:0;right:0;height:2px;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform .35s var(--easing)}.work-item:hover{background:var(--card-hover)}.work-item:hover:before{transform:scaleX(1)}.work-item.featured{grid-column:1 / 3;grid-template-columns:1fr 1fr}.work-list>*:last-child:nth-child(odd){grid-column:1 / -1}.work-item-top{display:flex;align-items:center;justify-content:space-between;gap:16px}.work-item-left{display:flex;flex-direction:column;gap:16px;height:100%}.work-item-copy{flex:1}.work-item-num{font-family:var(--font-mono);font-size:10px;color:var(--text-3);letter-spacing:.1em}.work-item-title{display:flex;align-items:center;gap:14px;font-size:26px;font-weight:400;letter-spacing:-.03em;line-height:1.1;color:var(--text);margin-bottom:18px}.work-item-desc{font-size:15px;line-height:1.75;color:var(--text-2);max-width:440px}.work-item-tags,.project-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.work-item-tags{margin-top:auto}.project-tags-no-margin{margin-bottom:0}.work-item-right{display:flex;flex-direction:column;align-items:flex-end;justify-content:space-between;height:100%;gap:24px}.work-item-inline-right{flex-direction:row;align-items:center;gap:16px}.work-item-year{font-family:var(--font-mono);font-size:10px;color:var(--text-3);letter-spacing:.08em}.work-arrow{width:36px;height:36px;border:1px solid var(--border-hi);border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--text-2);transition:background .2s,border-color .2s,color .2s,transform .2s;font-size:14px}.work-item:hover .work-arrow{background:var(--accent);border-color:var(--accent);color:#fff;transform:rotate(-45deg)}.work-visual{aspect-ratio:16 / 10;background:var(--bg-3);border:1px solid var(--border);overflow:hidden;position:relative}.work-visual canvas{width:100%;height:100%;display:block}.work-visual-compact{width:min(100%,420px);min-height:210px;aspect-ratio:16 / 10;align-self:stretch}.work-visual-compact .case-anim-stack{top:18px;left:18px;width:min(220px,calc(100% - 36px));gap:8px}.work-visual-compact .case-anim-stack-card{padding:10px 12px;font-size:12px}.work-visual-compact .case-anim-leadboard{inset:14px}.work-visual-compact .case-anim-pipeline{left:10%;right:10%}.quote-section{padding:var(--section-py) 0;border-top:1px solid var(--border)}.quote-inner{display:grid;grid-template-columns:1fr 3fr 1fr;gap:48px;align-items:center}.quote-number{font-family:var(--font-serif);font-size:120px;font-style:italic;line-height:1;color:var(--border-hi);user-select:none}.quote-text{font-family:var(--font-serif);font-size:clamp(24px,2.8vw,40px);font-style:italic;line-height:1.5;color:var(--text);letter-spacing:-.01em}.quote-attr{font-family:var(--font-mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--text-3)}.quote-attr-spaced{margin-top:24px}.cta-band{border-top:1px solid var(--border);background:var(--bg-1);padding:var(--section-py) 0}.cta-inner{display:flex;justify-content:space-between;align-items:center;gap:40px}.cta-text h2{font-family:var(--font-sans);font-size:clamp(32px,4vw,60px);font-weight:var(--weight-secondary);letter-spacing:-.025em;line-height:1.05;margin-bottom:12px}.cta-text p{font-size:15px;color:var(--text-2);max-width:380px;line-height:1.7}.cta-copy{margin-top:16px}.btn-primary{display:inline-flex;align-items:center;gap:10px;background:var(--accent);color:#fff;font-family:var(--font-sans);font-size:13px;font-weight:600;letter-spacing:.04em;padding:16px 32px;border:none;border-radius:2px;cursor:pointer;transition:background .2s,transform .2s;white-space:nowrap}.btn-primary:hover{background:var(--accent-dim);transform:translateY(-1px)}.btn-outline{display:inline-flex;align-items:center;gap:10px;background:transparent;color:var(--text);font-family:var(--font-sans);font-size:13px;font-weight:600;letter-spacing:.04em;padding:15px 32px;border:1px solid var(--border-hi);border-radius:2px;cursor:pointer;transition:border-color .2s,color .2s,background .2s;white-space:nowrap}.btn-outline:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-glow)}.cta-buttons{display:flex;gap:12px;flex-wrap:wrap}#heroSection .reveal{opacity:0;transform:translateY(20px)}#heroSection .reveal.in{opacity:1;transform:translateY(0);transition:opacity .8s var(--easing),transform .8s var(--easing)}#heroSection .reveal.d1.in{transition-delay:.12s}#heroSection .reveal.d2.in{transition-delay:.24s}#heroSection .reveal.d3.in{transition-delay:.36s}.page-header{padding:80px 0 64px;border-bottom:1px solid var(--border)}.page-header-inner,.page-header-grid,.contact-hero-inner{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);gap:clamp(36px,5vw,72px);align-items:end}.biography-page-header .page-header-inner{align-items:start}.page-header-grid>*,.page-header-inner>*,.contact-hero-inner>*{min-width:0}.page-header h1,.contact-hero h1{font-family:var(--font-sans);font-size:clamp(38px,5vw,76px);font-weight:var(--weight-secondary);letter-spacing:-.035em;line-height:1.05;max-width:100%;overflow-wrap:normal;word-break:normal;text-wrap:balance;hyphens:none}.contact-hero h1{font-size:clamp(40px,5.4vw,84px);letter-spacing:-.035em;line-height:1.05}.page-header h1 em,.contact-hero h1 em{font-family:var(--font-serif);font-style:italic;font-weight:var(--weight-secondary);color:var(--accent);font-size:.75em;letter-spacing:-.01em;display:block}.contact-hero h1 em{font-size:.78em}.page-header-inner p{font-size:16px;line-height:1.8;color:var(--text-2);max-width:480px}.bio-section,.values-section,.skills-section,.contact-body{padding:var(--section-py) 0}.contact-body{padding-bottom:120px}.bio-grid,.contact-body-grid{display:grid;grid-template-columns:5fr 7fr;gap:80px;align-items:start}.portrait-wrap{position:relative;aspect-ratio:3 / 4;background:var(--bg-2);overflow:hidden;border:1px solid var(--border);max-width:360px;cursor:crosshair}.portrait-wrap img{width:100%;height:100%;display:block;object-fit:cover}.portrait-bw{filter:grayscale(1) contrast(1.1) brightness(.8);opacity:.9}.portrait-color{position:absolute;top:0;left:0;z-index:1;filter:contrast(1.05) brightness(1.05);clip-path:inset(0 0 100% 0);transition:clip-path 1.1s cubic-bezier(.19,1,.22,1)!important}.portrait-wrap:hover .portrait-color{clip-path:inset(0 0 0 0)}.portrait-caption{position:absolute;bottom:0;left:0;right:0;padding:16px 20px;background:linear-gradient(transparent,#000000b3);font-family:var(--font-mono);font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:#fff9;z-index:10}[data-theme=light] .portrait-caption{background:linear-gradient(transparent,#00000080)}.bio-text-section h3{font-size:13px;font-weight:400;letter-spacing:.08em;text-transform:uppercase;color:var(--accent);margin-bottom:20px;display:flex;align-items:center;gap:10px}.bio-text-section h3:after{content:"";flex:1;height:1px;background:var(--border)}.bio-section-gap{margin-top:40px}.bio-paragraph{font-size:16px;line-height:1.9;color:var(--text-2);margin-bottom:24px}.bio-paragraph:last-child{margin-bottom:0}.inline-quote{border-left:2px solid var(--accent);padding:20px 24px;margin:40px 0;background:var(--bg-2)}.inline-quote p{font-family:var(--font-serif);font-size:20px;font-style:italic;line-height:1.5;color:var(--text)}.inline-quote cite{font-family:var(--font-mono);font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:var(--text-3);margin-top:10px;display:block}.values-header{display:flex;align-items:baseline;gap:24px;margin-bottom:16px}.values-grid,.skills-grid,.stats-row,.edu-grid,.info-grid{display:grid;gap:1px;background:var(--border);border:1px solid var(--border)}.values-grid{grid-template-columns:repeat(3,1fr)}.value-card,.edu-card,.info-cell,.skill-group{background:var(--card-bg);transition:background .25s}.value-card,.edu-card{padding:40px 32px}.value-card:hover,.edu-card:hover,.info-cell:hover{background:var(--card-hover)}.value-num,.edu-year{font-family:var(--font-mono);font-size:10px;letter-spacing:.12em;color:var(--text-3);margin-bottom:20px}.value-card-top{display:flex;align-items:center;justify-content:flex-start;margin-bottom:24px}.value-icon{width:38px;height:38px;border:1px solid var(--border-hi);display:flex;align-items:center;justify-content:center;color:var(--text-2);background:color-mix(in srgb,var(--bg) 58%,transparent);flex-shrink:0;transition:color .2s,border-color .2s,background .2s}.value-card:hover .value-icon{color:var(--accent);border-color:var(--accent);background:var(--accent-glow)}.value-card h4,.edu-title{font-size:20px;font-weight:400;letter-spacing:-.02em;margin-bottom:14px;color:var(--text)}.value-card p,.edu-sub{font-size:14px;line-height:1.75;color:var(--text-2)}.skills-header{margin-bottom:56px}.skills-grid{grid-template-columns:repeat(4,1fr)}.skill-group{padding:32px 28px}.skill-group-label{display:flex;align-items:center;gap:10px;font-family:var(--font-mono);font-size:9px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);margin-bottom:20px;padding-bottom:12px;border-bottom:1px solid var(--border)}.skill-group-label svg{color:var(--text-3);flex-shrink:0}.skill-row{display:flex;justify-content:space-between;align-items:baseline;padding:8px 0;border-bottom:1px solid var(--border);font-size:13px;color:var(--text)}.skill-row:last-child{border-bottom:none}.skill-row-meta{font-family:var(--font-mono);font-size:9px;letter-spacing:.08em;color:var(--text-3);text-transform:uppercase}.skill-bar-wrap{margin-top:6px;height:2px;background:var(--border);overflow:hidden}.skill-bar{height:100%;background:var(--accent);transform-origin:left;transform:scaleX(0);transition:transform 1.2s var(--easing)}.skill-bar.animated{transform:scaleX(1)}.stats-row{grid-template-columns:repeat(4,1fr);margin-top:80px}.stat-item{background:var(--bg-1);padding:40px 32px;text-align:left}.stat-item-value{display:flex;align-items:center;min-height:56px;font-size:56px;font-weight:400;letter-spacing:-.05em;line-height:1;color:var(--text);margin-bottom:8px}.stat-item-value-small{font-size:42px;letter-spacing:-.02em}.stat-item-label,.stat-item-sub,.project-year-badge,.filter-label,.project-num,.project-card-num,.timeline-date-item,.entry-period,.entry-company,.entry-impact-label,.log-label,.email-label,.avail-title,.social-link-meta,.form-label,.info-cell-label,.info-cell-sub{font-family:var(--font-mono)}.stat-item-label{font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--text-3)}.stat-item-sub{font-size:9px;letter-spacing:.08em;text-transform:uppercase;color:var(--accent);margin-top:6px}.filter-bar{display:flex;align-items:center;gap:8px;padding:20px 0;border-bottom:1px solid var(--border);flex-wrap:wrap}.filter-label,.project-card-num,.project-num,.email-label,.avail-title,.form-label,.log-label{font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--text-3)}.filter-btn{font-family:var(--font-mono);font-size:10px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--text-2);background:none;border:1px solid var(--border-hi);padding:5px 12px;border-radius:2px;cursor:pointer;transition:background .2s,color .2s,border-color .2s}.filter-btn:hover,.filter-btn.active{background:var(--accent);border-color:var(--accent);color:#fff}.projects-list{padding:0 0 80px}.project-featured{display:grid;grid-template-columns:1fr 1fr;border-bottom:1px solid var(--border);background:var(--bg);transition:background .25s}.project-featured:hover{background:var(--card-hover)}.project-featured-info{padding:64px 48px;display:flex;flex-direction:column;justify-content:space-between;border-right:1px solid var(--border)}.project-featured-visual{position:relative;overflow:hidden;background:var(--bg-3);min-height:360px}.project-featured-visual canvas,.log-visual canvas{width:100%;height:100%;display:block}.visual-label{position:absolute;top:20px;right:20px;font-family:var(--font-mono);font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:var(--text-3);background:var(--bg-2);padding:4px 8px;border:1px solid var(--border)}.project-title-lg{display:flex;align-items:center;gap:16px;font-size:40px;font-weight:400;letter-spacing:-.035em;line-height:1.05;color:var(--text);margin-bottom:20px}.project-desc,.log-text,.info-cell-value{font-size:15px;line-height:1.75;color:var(--text-2)}.project-desc{margin-bottom:32px;max-width:440px}.project-meta-row,.project-meta-group,.project-card-header,.project-card-footer,.avail-header,.social-link-left{display:flex;align-items:center}.project-meta-row,.project-card-header,.project-card-footer,.avail-header{justify-content:space-between}.project-meta-group{gap:12px}.project-year-badge{font-size:10px;letter-spacing:.08em;color:var(--text-3);border:1px solid var(--border-hi);padding:4px 10px}.project-link-btn{display:inline-flex;align-items:center;gap:8px;font-family:var(--font-sans);font-size:12px;font-weight:600;color:var(--text-2);border-bottom:1px solid transparent;padding-bottom:1px;transition:color .2s,border-color .2s}.project-link-btn:hover{color:var(--accent);border-color:var(--accent)}.projects-grid-row{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--border);border-bottom:1px solid var(--border)}.project-card{padding:48px 40px;position:relative;cursor:default;transition:background .25s;overflow:hidden;background:var(--bg);display:flex;flex-direction:column;min-height:100%}.project-card.is-clickable{cursor:pointer}.project-card:after{content:"";position:absolute;bottom:0;left:0;right:0;height:2px;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform .3s var(--easing)}.project-card:hover{background:var(--card-hover)}.project-card:hover:after{transform:scaleX(1)}.project-card-title{display:flex;align-items:center;gap:14px;font-size:24px;font-weight:400;letter-spacing:-.03em;line-height:1.1;color:var(--text);margin-bottom:20px}.project-card-desc{font-size:15px;line-height:1.75;color:var(--text-2);margin-bottom:24px}.project-card .project-tags{margin-bottom:auto}.project-card-footer{margin-top:28px;padding-top:20px;border-top:1px solid var(--border)}.arrow-circle{width:32px;height:32px;border:1px solid var(--border-hi);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:13px;color:var(--text-2);transition:background .2s,border-color .2s,color .2s,transform .2s;flex-shrink:0}.project-card:hover .arrow-circle{background:var(--accent);border-color:var(--accent);color:#fff;transform:rotate(-45deg)}.brand-logo{display:block;width:auto;max-width:100%;object-fit:contain}.brand-logo-inline{height:26px;max-width:120px;flex-shrink:0}.brand-logo-featured{height:34px;max-width:170px;flex-shrink:0}.brand-logo-case{height:48px;max-width:220px;flex-shrink:0}.brand-logo-case-hero{height:64px;max-width:min(72%,280px)}.badge-live,.badge-archived{display:inline-flex;align-items:center;gap:5px;font-family:var(--font-mono);font-size:9px;letter-spacing:.1em;text-transform:uppercase;padding:3px 8px;border-radius:2px}.badge-live{color:var(--green);border:1px solid rgba(22,163,74,.3)}.badge-live:before{content:"";width:5px;height:5px;background:var(--green);border-radius:50%;animation:pulse 2s ease-in-out infinite}.badge-archived{color:var(--text-3);border:1px solid var(--border-hi)}.timeline-section{padding:80px 0 120px}.timeline-layout{display:grid;grid-template-columns:clamp(148px,18vw,200px) 1px minmax(0,1fr);gap:0 clamp(24px,3vw,48px);align-items:start}.timeline-spine{background:linear-gradient(to bottom,var(--accent),var(--border));width:1px;min-height:600px;position:sticky;top:120px;align-self:start;height:calc(100% - 40px)}.timeline-dates{padding-top:8px;position:sticky;top:120px;align-self:start}.timeline-date-item{width:100%;background:none;border:0;font-size:11px;font-weight:500;letter-spacing:.08em;color:var(--text-3);padding:12px 0;cursor:pointer;transition:color .2s;text-align:right;border-bottom:1px solid var(--border);line-height:1.4}.timeline-date-item:last-child{border-bottom:none}.timeline-date-item:hover,.timeline-date-item.active{color:var(--accent)}.timeline-date-item .role-hint{display:block;font-size:9px;color:var(--text-3);margin-top:3px;font-weight:400}.timeline-date-item.active .role-hint{color:var(--accent);opacity:.6}.entry{padding:48px 0;border-bottom:1px solid var(--border);display:grid;grid-template-columns:minmax(0,1fr) auto;gap:40px;align-items:start;position:relative;opacity:0;transform:translateY(20px);transition:opacity .6s var(--easing),transform .6s var(--easing)}.entry.in{opacity:1;transform:translateY(0)}.entry:last-child{border-bottom:none}.entry-node{position:absolute;left:-57px;top:56px;width:10px;height:10px;border:2px solid var(--border-hi);border-radius:50%;background:var(--bg)}.entry:first-child .entry-node{background:var(--accent);border-color:var(--accent);box-shadow:0 0 16px var(--accent-glow)}.entry-period,.entry-company,.entry-impact-label,.log-label,.avail-sub,.social-link-meta,.info-cell-sub{text-transform:uppercase;letter-spacing:.1em}.entry-period{font-size:10px;font-weight:600;color:var(--accent);margin-bottom:10px}.entry-role{font-size:28px;font-weight:400;letter-spacing:-.03em;line-height:1.1;color:var(--text);margin-bottom:8px}.entry-company{font-size:10px;color:var(--text-3);margin-bottom:24px}.entry-impact-label{font-size:9px;letter-spacing:.14em;color:var(--text-3);margin-bottom:10px}.entry-impact{font-size:15px;line-height:1.8;color:var(--text-2);border-left:2px solid var(--accent);padding-left:20px;font-style:italic;max-width:560px}.entry-links,.entry-skills{display:flex;flex-wrap:wrap;gap:6px}.entry-links{margin-top:18px}.entry-link-pill{display:inline-flex;align-items:center;font-family:var(--font-mono);font-size:10px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--accent);background:var(--accent-glow);border:1px solid rgba(217,119,6,.35);padding:4px 10px;border-radius:2px;transition:border-color .2s,background .2s,color .2s}.entry-link-pill:hover{border-color:var(--accent);background:#d9770633;color:#fff}.entry-skills{margin-top:20px}.entry-year-badge{font-family:var(--font-mono);font-size:32px;font-weight:400;letter-spacing:-.04em;color:var(--border-hi);line-height:1;flex-shrink:0;user-select:none;padding-top:44px;text-align:right}.edu-section{padding:var(--section-py) 0;border-top:1px solid var(--border);background:var(--bg-1)}.log-block{margin-top:80px;padding:clamp(24px,3vw,40px);background:var(--bg-1);border:1px solid var(--border);display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,1fr);gap:48px;align-items:center}.log-label,.avail-sub,.social-link-meta,.info-cell-sub{font-size:10px;color:var(--text-3)}.log-visual{height:120px;background:var(--bg-2);border:1px solid var(--border);overflow:hidden;position:relative}@media (max-width: 1180px){.timeline-layout{grid-template-columns:156px 1px minmax(0,1fr)}.entry{gap:28px}.entry-role{font-size:24px}.entry-year-badge{font-size:24px;padding-top:12px}}@media (max-width: 860px){.page-header{padding:56px 0 40px}.timeline-section{padding:56px 0 88px}.timeline-layout{grid-template-columns:1fr;gap:24px}.timeline-dates{display:flex;position:static;top:auto;gap:12px;margin:0;padding:0 0 8px;width:100%;max-width:100%;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:none}.timeline-dates::-webkit-scrollbar{display:none}.timeline-date-item{width:auto;min-width:132px;padding:14px 14px 12px;border:1px solid var(--border);background:var(--bg-1);text-align:left;border-radius:12px;flex:0 0 auto}.timeline-date-item:last-child{border-bottom:1px solid var(--border)}.timeline-date-item:hover,.timeline-date-item.active{border-color:var(--accent);background:var(--accent-glow)}.timeline-spine{display:none}.timeline-entries{min-width:0}.entry{grid-template-columns:1fr;gap:18px;padding:32px 0}.entry-node{display:none}.entry-role{font-size:clamp(22px,5vw,28px)}.entry-company{margin-bottom:18px}.entry-impact{max-width:none;font-size:14px;line-height:1.7;padding-left:16px}.entry-year-badge{order:-1;padding-top:0;font-size:12px;letter-spacing:.1em;color:var(--accent);text-transform:uppercase;text-align:left}.log-block{margin-top:56px;gap:24px}.log-visual{height:104px}.page-header h1,.contact-hero h1{font-size:clamp(36px,8vw,54px);line-height:1.04;letter-spacing:-.035em;text-wrap:balance;word-break:normal;overflow-wrap:normal}.page-header-copy,.page-header-copy-compact,.page-header-copy p,.page-header-copy-compact p{min-width:0;max-width:100%}}@media (max-width: 640px){.page-header{padding:44px 0 32px}.page-header h1,.contact-hero h1{font-size:clamp(30px,8vw,40px);line-height:1.04;text-wrap:balance;word-break:normal;overflow-wrap:normal}.page-header-copy p,.page-header-copy-compact p{font-size:15px;line-height:1.7}.timeline-date-item{min-width:122px;font-size:10px;letter-spacing:.06em}.timeline-date-item .role-hint{font-size:8px}.entry-period,.entry-company,.entry-impact-label{letter-spacing:.08em}.entry-links,.entry-skills{gap:8px}.entry-link-pill,.entry-skills .pill{min-height:32px;align-items:center}.log-block{padding:20px}}.contact-hero{padding:80px 0 0}.contact-hero-inner{padding-bottom:64px}.contact-location-section{position:relative;padding:var(--section-py) 0;border-top:1px solid var(--border)}.contact-location-copy{max-width:46ch}.contact-location-copy h2{font-family:var(--font-sans);font-size:clamp(32px,3.5vw,54px);font-weight:var(--weight-secondary);letter-spacing:-.03em;line-height:1.03;color:var(--text);margin-bottom:var(--space-sm)}.contact-location-copy p{font-size:15px;line-height:1.82;color:var(--text-2)}.contact-location-meta{display:flex;flex-wrap:wrap;gap:var(--space-2xs);margin-top:var(--space-sm)}.contact-location-meta span{display:inline-flex;align-items:center;min-height:30px;border:1px solid var(--border-hi);padding:7px 10px;font-family:var(--font-mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--text-3)}.email-block{margin-bottom:48px}.email-link{display:inline-flex;align-items:center;gap:12px;font-size:clamp(18px,2.2vw,28px);font-weight:400;letter-spacing:-.02em;color:var(--text);border-bottom:1px solid var(--border);padding-bottom:8px;transition:color .2s,border-color .2s,gap .2s;line-height:1.2}.email-link:hover{color:var(--accent);border-color:var(--accent);gap:18px}.email-link svg{width:20px;height:20px;flex-shrink:0}.avail-block,.contact-form-wrap{background:var(--bg-1);border:1px solid var(--border)}.avail-block{padding:28px 32px;border-color:var(--border-hi);margin-bottom:32px}.avail-text{font-size:15px;font-weight:600;color:var(--text);letter-spacing:-.01em}.avail-sub{font-size:10px;letter-spacing:.08em;margin-top:6px}.social-links{display:flex;flex-direction:column;gap:1px;border:1px solid var(--border)}.social-link{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;background:var(--bg-1);font-size:14px;font-weight:600;color:var(--text);transition:background .2s,color .2s;gap:12px}.social-link:hover{background:var(--card-hover);color:var(--accent)}.social-link-left{gap:12px}.social-link-icon{width:32px;height:32px;border:1px solid var(--border-hi);display:flex;align-items:center;justify-content:center;flex-shrink:0}.social-link-meta{font-size:10px;margin-top:2px}.social-arrow{font-size:12px;color:var(--text-3);transition:transform .2s,color .2s}.social-link:hover .social-arrow{transform:rotate(-45deg);color:var(--accent)}.contact-form-wrap{padding:40px}.form-title{font-size:20px;font-weight:400;letter-spacing:-.02em;color:var(--text);margin-bottom:8px}.form-sub{font-size:14px;color:var(--text-2);margin-bottom:32px;line-height:1.6}.form-group{margin-bottom:20px}.form-label{font-size:10px;letter-spacing:.12em;color:var(--text-3);display:block;margin-bottom:8px}.form-input,.form-textarea{width:100%;background:var(--bg-2);border:1px solid var(--border-hi);border-radius:2px;padding:12px 16px;font-family:var(--font-sans);font-size:14px;color:var(--text);outline:none;transition:border-color .2s,background .2s;-webkit-appearance:none}.form-input:focus,.form-textarea:focus{border-color:var(--accent);background:var(--bg-3)}.form-input::placeholder,.form-textarea::placeholder{color:var(--text-3)}.form-textarea{resize:vertical;min-height:120px;line-height:1.6}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-submit{width:100%;padding:15px 24px;background:var(--accent);color:#fff;font-family:var(--font-sans);font-size:14px;font-weight:600;letter-spacing:.02em;border:none;border-radius:2px;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:10px;transition:background .2s,transform .2s;margin-top:8px}.form-submit:hover{background:var(--accent-dim);transform:translateY(-1px)}.form-success{display:none;text-align:center;padding:24px;font-size:14px;color:var(--green);font-family:var(--font-mono);letter-spacing:.08em}.form-success-visible{display:block}.info-grid{grid-template-columns:repeat(3,1fr);margin-top:80px}.info-cell{background:var(--bg-1);padding:32px 28px}.info-cell-label{font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);margin-bottom:12px}.info-cell-value{color:var(--text);font-weight:400}.info-cell-sub{font-size:9px;letter-spacing:.08em;margin-top:6px}@media (max-width: 860px){.hero-inner{padding:calc(var(--nav-height) + var(--space-md)) var(--gutter) var(--space-lg);gap:var(--space-md)}.hero-bottom,.page-header-inner,.page-header-grid,.bio-grid,.contact-body-grid,.contact-hero-inner{grid-template-columns:1fr;gap:32px}.hero-stat{border-right:none;margin-right:0;padding-right:0;border-bottom:1px solid rgba(255,255,255,.08);padding-bottom:16px}.hero-stat:last-child{border-bottom:none}.about-strip-inner,.timeline-layout{grid-template-columns:1fr;gap:0}.about-right,.values-grid,.projects-grid-row,.edu-grid,.info-grid{grid-template-columns:1fr}.skills-grid,.stats-row{grid-template-columns:1fr 1fr}.work-list{grid-template-columns:1fr}.work-item,.project-featured{grid-template-columns:1fr;min-height:0}.work-item-copy{min-height:0}.work-item-right{align-items:flex-start;height:auto}.work-visual{display:none}.quote-inner,.log-block,.form-row{grid-template-columns:1fr}.quote-number,.scroll-hint{display:none}.cta-inner,.work-header{flex-direction:column;align-items:flex-start;gap:16px}.project-featured-info{padding:40px 24px;border-right:none;border-bottom:none}.project-featured-visual{display:none}.entry{grid-template-columns:1fr;gap:8px}.entry-node{display:none}.entry-year-badge{font-size:20px;padding-top:0;color:var(--text-3)}.contact-location-section{min-height:620px}.contact-location-copy{max-width:520px;padding-top:48px}.contact-location-copy p{max-width:620px}}@media (max-height: 860px){.hero-inner{gap:20px;padding-top:calc(var(--nav-height) + 20px);padding-bottom:64px}.hero-kicker{margin-bottom:20px}.hero-headline{font-size:clamp(46px,8.5vh,88px);line-height:1.02;margin-bottom:28px}.home-cta-buttons{margin-bottom:0}.hero-meta-strip{margin-top:8px;padding-top:18px}.scroll-hint{bottom:34px}}@media (max-height: 720px){.hero-inner{gap:16px;padding-top:calc(var(--nav-height) + 16px);padding-bottom:40px}.hero-redesign .hero-headline-xl{font-size:clamp(38px,7.4vh,72px)}.hero-headline{margin-bottom:18px}.home-cta-buttons{margin-bottom:0}.hero-kicker{margin-bottom:14px}.hero-meta-strip{grid-template-columns:1fr 1fr;gap:12px 20px}.hero-meta-cell,.hero-meta-tile{border-right:none;padding:10px 0 0;border-top:1px solid rgba(255,255,255,.06)}[data-theme=light] .hero-meta-cell,[data-theme=light] .hero-meta-tile{border-top-color:#0000000f}.hero-meta-tile{padding-left:0}.scroll-hint{display:none}}@media (max-width: 560px){.skills-grid,.stats-row,.info-grid{grid-template-columns:1fr}}.hero-redesign .hero-headline-xl{font-size:clamp(40px,min(6.5vw,9.5vh),96px);line-height:1;letter-spacing:-.03em;margin-bottom:var(--space-lg);max-width:24ch;font-weight:300;text-wrap:balance;word-break:normal;overflow-wrap:normal}.hero-redesign .hero-headline-static{display:block}.hero-redesign .hero-headline-row2{display:inline-flex;flex-wrap:nowrap;align-items:baseline;column-gap:0;white-space:nowrap;transform:none}.animated-hero-text{position:relative;display:inline-block;vertical-align:baseline;overflow:visible;clip-path:inset(-.2em 0 -.4em 0);min-width:1ch;transition:width .35s var(--easing)}.animated-hero-text-sizer{display:inline-block;visibility:hidden;opacity:0;pointer-events:none;user-select:none;font:inherit;letter-spacing:inherit;line-height:inherit;text-transform:inherit;white-space:nowrap}.animated-hero-text-measure{position:absolute;visibility:hidden;pointer-events:none;inset:0 auto auto 0;font:inherit;letter-spacing:inherit;line-height:inherit;text-transform:inherit}.animated-hero-text-word{display:inline-block;white-space:nowrap}.hero-animated-word{color:var(--accent)}.hero-animated-word-inner{position:absolute;inset:0 auto auto 0;font:inherit;letter-spacing:inherit;line-height:inherit;text-transform:inherit;color:inherit;white-space:nowrap}.hero-redesign .hero-headline-xl em{font-family:var(--font-serif);font-style:italic;font-weight:400;font-size:.36em;letter-spacing:-.005em;line-height:1.35;display:block;margin-top:20px;color:var(--text-2);max-width:580px}.hero-side-index{position:absolute;top:50%;right:24px;z-index:5;transform:translateY(-50%);display:flex;flex-direction:column;align-items:center;gap:10px;font-family:var(--font-mono, monospace);font-size:11px;letter-spacing:.18em;color:var(--text-3);text-transform:uppercase}.hero-side-num{color:var(--accent);font-weight:600}.hero-side-num.muted{color:var(--text-3)}.hero-side-bar{width:1px;height:56px;background:linear-gradient(to bottom,var(--accent),transparent)}.hero-side-label{writing-mode:vertical-rl;margin-top:8px;font-size:9px}.hero-meta-strip{display:grid;grid-template-columns:1fr 1fr 1.4fr 1.2fr;gap:0;border-top:1px solid rgba(255,255,255,.08);padding-top:28px;margin-top:24px}[data-theme=light] .hero-meta-strip{border-top-color:#00000014}.hero-meta-cell,.hero-meta-tile{display:flex;flex-direction:column;gap:6px;padding-right:24px;border-right:1px solid rgba(255,255,255,.06)}[data-theme=light] .hero-meta-cell,[data-theme=light] .hero-meta-tile{border-right-color:#0000000f}.hero-meta-strip>:last-child{border-right:none;padding-right:0}.hero-meta-tile{text-decoration:none;padding-left:24px;transition:transform .25s ease,color .25s ease}.hero-meta-tile:hover{transform:translateY(-2px);color:var(--accent)}.hero-meta-label{font-family:var(--font-mono, monospace);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--text-3)}.hero-meta-value{font-size:16px;font-weight:500;color:var(--text)}.hero-meta-tile-title{font-size:18px;font-weight:600;color:var(--accent);letter-spacing:-.01em}@media (max-width: 900px){.hero-side-index{display:none}.hero-meta-strip{grid-template-columns:1fr 1fr;gap:16px}.hero-meta-cell,.hero-meta-tile{border-right:none;padding:12px 0;border-top:1px solid rgba(255,255,255,.06)}[data-theme=light] .hero-meta-cell,[data-theme=light] .hero-meta-tile{border-top-color:#0000000f}.hero-redesign .hero-headline-xl{font-size:clamp(52px,13vw,84px);max-width:9.5ch}.hero-redesign .hero-headline-row2{column-gap:.16em}.brand-logo-featured,.brand-logo-case{max-width:160px}}.project-card.is-clickable{transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease}.project-card.is-clickable:hover{transform:translateY(-3px);border-color:var(--accent)}.case-page{padding-top:0}.case-hero{padding:80px 0 60px;border-bottom:1px solid var(--border)}.case-back{font-family:var(--font-mono, monospace);font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--text-3);text-decoration:none;display:inline-block;margin-bottom:32px}.case-back:hover{color:var(--accent)}.case-hero-grid{display:grid;grid-template-columns:5fr 7fr;gap:64px;align-items:center}.case-hero-text{display:flex;flex-direction:column;gap:18px}.case-title{display:flex;flex-direction:column;gap:16px;font-size:clamp(38px,5vw,72px);font-weight:400;letter-spacing:-.03em;line-height:1.02;margin:0;color:var(--text);word-break:normal;overflow-wrap:normal;text-wrap:balance}.case-tagline{font-size:20px;line-height:1.5;color:var(--text-2);max-width:480px;margin:0}.case-meta-row{display:flex;gap:16px;align-items:center;flex-wrap:wrap;margin-top:8px}.case-tags{margin-top:4px}.case-hero-visual{position:relative;aspect-ratio:4/3;background:#0000000a;border:1px solid var(--border);border-radius:4px;overflow:hidden;display:block}[data-theme=dark] .case-hero-visual{background:#ffffff05}.case-hero-fallback{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;padding:32px;background:radial-gradient(circle at top,rgba(217,119,6,.18),transparent 42%),linear-gradient(180deg,rgba(255,255,255,.02),transparent)}.case-hero-fallback-title{font-family:var(--font-mono, monospace);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--text-3);text-align:center}.case-body{padding:80px 0 120px}.case-body-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:48px;margin-bottom:80px}.case-block{display:flex;flex-direction:column;gap:14px}.case-block-label{font-family:var(--font-mono, monospace);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--accent)}.case-block p{font-size:16px;line-height:1.7;color:var(--text-2);margin:0}.case-beats{border-top:1px solid var(--border);border-bottom:1px solid var(--border);padding:40px 0;margin-bottom:56px}.case-beats-list{list-style:none;padding:0;margin:24px 0 0;display:grid;grid-template-columns:repeat(4,1fr);gap:24px}.case-beats-list li{display:flex;flex-direction:column;gap:8px;font-size:17px;color:var(--text);line-height:1.4}.case-beat-num{font-family:var(--font-mono, monospace);font-size:11px;letter-spacing:.14em;color:var(--accent)}.case-cta{display:flex;gap:16px;flex-wrap:wrap;margin-top:clamp(56px,7vw,96px)}@media (max-width: 900px){.case-hero-grid{grid-template-columns:1fr;gap:32px}.case-body-grid{grid-template-columns:1fr;gap:32px;margin-bottom:48px}.case-beats-list{grid-template-columns:1fr 1fr}}.case-anim{position:absolute;inset:0;width:100%;height:100%;display:block;overflow:hidden}.case-anim-canvas,.case-anim-svg{position:absolute;inset:0;width:100%;height:100%}.case-anim-labels{position:absolute;inset:0}.case-anim-tag{position:absolute;display:inline-flex;align-items:center;justify-content:center;min-height:28px;font-family:var(--font-mono, monospace);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--text-2);background:#0006;padding:4px 8px;border:1px solid var(--border);border-radius:3px;pointer-events:none;white-space:nowrap;transform:translate(-50%,-50%);text-align:center}[data-theme=light] .case-anim-tag{background:#ffffffb3}.case-anim-center-label{position:absolute;top:50%;left:50%;transform:translate(-50%,calc(-50% + 28px));font-family:var(--font-mono, monospace);font-size:10px;letter-spacing:.18em;color:var(--accent);text-transform:uppercase}.case-anim-stack{position:absolute;top:30px;left:30px;width:240px;display:flex;flex-direction:column;gap:10px;z-index:2}.case-anim-stack-card{display:flex;align-items:center;gap:12px;padding:12px 14px;background:#0000000f;border:1px solid var(--border);border-radius:4px;font-size:13px;color:var(--text);backdrop-filter:blur(4px)}[data-theme=dark] .case-anim-stack-card{background:#ffffff0a}.case-anim-stack-num{font-family:var(--font-mono, monospace);font-size:10px;color:var(--accent);letter-spacing:.12em}.case-anim-leadboard{position:absolute;inset:16px;display:flex;flex-direction:column;gap:4px;font-family:var(--font-mono, monospace);font-size:11px;overflow:hidden}.case-anim-row{display:grid;grid-template-columns:2fr 1fr .6fr;gap:12px;padding:6px 10px;align-items:center;border:1px solid var(--border);border-radius:3px;background:#00000008;color:var(--text-2)}[data-theme=dark] .case-anim-row{background:#ffffff05}.case-anim-row.case-anim-head{background:transparent;border-color:transparent;color:var(--text-3);letter-spacing:.12em;text-transform:uppercase;font-size:9px}.case-anim-row.keep{border-color:var(--accent);color:var(--text)}.case-anim-type{color:var(--text-3);text-transform:uppercase;font-size:9px;letter-spacing:.1em}.case-anim-score{color:var(--accent);font-weight:600;text-align:right}.case-anim-pipeline{position:absolute;top:50%;left:8%;right:8%;transform:translateY(-50%)}.case-anim-rail{height:2px;background:var(--border);position:relative}.case-anim-token{position:absolute;top:0;width:16px;height:16px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 4px #d977062e;transform:translate(-50%,-50%);margin-top:1px}.case-anim-stage{position:absolute;top:0;transform:translate(-50%,-50%);margin-top:1px}.case-anim-stage-dot{width:12px;height:12px;border-radius:50%;background:var(--bg);border:2px solid var(--border)}.case-anim-check{position:absolute;top:-28px;left:50%;transform:translate(-50%);font-size:14px;color:var(--accent);font-weight:400}.case-anim-stage-label{position:absolute;top:22px;left:50%;transform:translate(-50%);font-family:var(--font-mono, monospace);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--text-2);white-space:nowrap}.case-anim-stage:first-child .case-anim-stage-label{left:0;transform:none}.case-anim-stage:last-child .case-anim-stage-label{left:auto;right:0;transform:none}@media (prefers-reduced-motion: reduce){.case-anim *{animation-duration:1ms!important;transition-duration:1ms!important}}.marquee-section{padding:32px 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border);overflow:hidden;position:relative}.marquee-section:before,.marquee-section:after{content:"";position:absolute;top:0;bottom:0;width:120px;z-index:2;pointer-events:none}.marquee-section:before{left:0;background:linear-gradient(to right,var(--bg),transparent)}.marquee-section:after{right:0;background:linear-gradient(to left,var(--bg),transparent)}.marquee-track{display:flex;width:max-content}.marquee-content{display:flex;align-items:center;gap:0;animation:marqueeScroll 35s linear infinite;will-change:transform}.marquee-item{font-family:var(--font-mono, monospace);font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:var(--text-2);white-space:nowrap;display:inline-flex;align-items:center;gap:0}.marquee-dot{color:var(--accent);font-size:18px;padding:0 20px;opacity:.6}@keyframes marqueeScroll{0%{transform:translate(0)}to{transform:translate(-50%)}}@media (prefers-reduced-motion: reduce){.marquee-content{animation:none}}.mindset-section{padding:var(--section-py) 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border);background:var(--bg-1);position:relative;overflow:hidden}.mindset-particle-wrapper{position:absolute;top:0;right:0;width:60vw;height:100%;opacity:.35;pointer-events:none;mask-image:radial-gradient(ellipse at top right,black 0%,transparent 70%);-webkit-mask-image:radial-gradient(ellipse at top right,black 0%,transparent 70%);z-index:0}.mindset-section .container{position:relative;z-index:1}.mindset-inner{display:flex;flex-direction:column;gap:48px}.mindset-heading{font-size:clamp(32px,3.5vw,52px);font-weight:400;letter-spacing:-.025em;line-height:1.1;color:var(--text)}.mindset-heading span{color:var(--accent)}.mindset-body{font-size:17px;line-height:1.85;color:var(--text-2);max-width:640px;margin-top:20px}.mindset-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.mindset-card{padding:32px 28px;background:var(--bg-2);border:1px solid var(--border);border-top:3px solid var(--accent);display:flex;flex-direction:column;gap:12px;transition:transform .25s ease,border-color .25s ease}.mindset-card:hover{transform:translateY(-3px);border-color:var(--accent)}.mindset-card-icon{font-size:22px;color:var(--accent);line-height:1}.mindset-card-title{font-size:16px;font-weight:400;color:var(--text);letter-spacing:-.01em}.mindset-card-text{font-size:14px;line-height:1.7;color:var(--text-2)}@media (max-width: 860px){.mindset-cards{grid-template-columns:1fr}}.cs-page{padding-top:0}.cs-hero{position:relative;padding:80px 0 64px;border-bottom:1px solid var(--border);overflow:hidden}.cs-hero-gradient{position:absolute;inset:0;background:radial-gradient(ellipse at 20% 0%,rgba(217,119,6,.1) 0%,transparent 55%),radial-gradient(ellipse at 80% 100%,rgba(217,119,6,.06) 0%,transparent 50%);pointer-events:none}.cs-hero-grid{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center;position:relative;z-index:1}.cs-hero-text{display:flex;flex-direction:column;gap:16px}.cs-hero-title{font-size:clamp(48px,6vw,88px);font-weight:400;letter-spacing:-.03em;line-height:.96;color:var(--text);display:flex;flex-direction:column;gap:12px}.cs-hero-tagline{font-size:18px;line-height:1.65;color:var(--text-2);max-width:480px}.cs-hero-meta{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:4px}.cs-hero-tags{margin-top:8px}.cs-hero-visual{position:relative;aspect-ratio:4/3;background:#0000000a;border:1px solid var(--border);border-radius:4px;overflow:hidden}[data-theme=dark] .cs-hero-visual{background:#ffffff05}.cs-section-label{margin-bottom:16px}.cs-context{padding:var(--section-py) 0;border-bottom:1px solid var(--border)}.cs-context-inner{display:grid;grid-template-columns:5fr 7fr;gap:64px;align-items:start}.cs-context-left h2{font-size:clamp(28px,3vw,40px);font-weight:400;letter-spacing:-.025em;line-height:1.15;color:var(--text);margin-top:8px}.cs-context-right p{font-size:16px;line-height:1.85;color:var(--text-2);margin-bottom:20px}.cs-context-right p:last-child{margin-bottom:0}.cs-role{padding:var(--section-py) 0;border-bottom:1px solid var(--border);background:var(--bg-1)}.cs-role-heading{font-size:clamp(28px,3vw,44px);font-weight:400;letter-spacing:-.025em;line-height:1.1;color:var(--text);margin-bottom:40px}.cs-role-card{padding:32px 28px;background:var(--bg-2);border:1px solid var(--border);display:flex;flex-direction:column;gap:12px;transition:transform .25s ease,border-color .25s ease}.cs-role-card:hover{transform:translateY(-2px);border-color:var(--accent)}.cs-role-card-num{font-family:var(--font-mono, monospace);font-size:11px;letter-spacing:.14em;color:var(--accent)}.cs-role-card h3{font-size:17px;font-weight:400;color:var(--text);letter-spacing:-.01em}.cs-role-card p{font-size:14px;line-height:1.75;color:var(--text-2);margin:0}.cs-flow{padding:var(--section-py) 0;border-bottom:1px solid var(--border)}.cs-flow-heading{font-size:clamp(28px,3vw,44px);font-weight:400;letter-spacing:-.025em;line-height:1.1;color:var(--text);margin-bottom:48px}.cs-flow-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:32px}.cs-flow-step{display:flex;flex-direction:column;gap:12px;position:relative}.cs-flow-step-num{font-family:var(--font-mono, monospace);font-size:32px;font-weight:400;letter-spacing:-.04em;color:var(--accent);line-height:1}.cs-flow-step-line{width:40px;height:2px;background:var(--accent);opacity:.4}.cs-flow-step h4{font-size:16px;font-weight:400;color:var(--text)}.cs-flow-step p{font-size:14px;line-height:1.7;color:var(--text-2);margin:0}.cs-results{padding:var(--section-py) 0;border-bottom:1px solid var(--border);background:var(--bg-1)}.cs-results-heading{font-size:clamp(28px,3vw,44px);font-weight:400;letter-spacing:-.025em;line-height:1.1;color:var(--text);margin-bottom:48px}.cs-stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;margin-bottom:48px}.cs-stat{padding:32px 24px;background:var(--bg-2);border:1px solid var(--border);border-top:3px solid var(--accent);display:flex;flex-direction:column;gap:8px;text-align:center}.cs-stat-value{font-size:clamp(36px,4vw,56px);font-weight:400;letter-spacing:-.03em;color:var(--accent);line-height:1}.cs-stat-label{font-size:14px;font-weight:600;color:var(--text)}.cs-stat-sub{font-size:12px;color:var(--text-3)}.cs-results-body{max-width:720px}.cs-results-body p{font-size:16px;line-height:1.85;color:var(--text-2);margin-bottom:20px}.cs-reflection{padding:var(--section-py) 0;border-bottom:1px solid var(--border)}.cs-reflection-inner{display:flex;gap:32px;max-width:720px;margin:0 auto}.cs-reflection-quote{font-family:var(--font-serif);font-size:96px;line-height:.8;color:var(--accent);flex-shrink:0;user-select:none;opacity:.5}.cs-reflection-text{font-family:var(--font-serif);font-size:clamp(20px,2.2vw,28px);font-style:italic;line-height:1.55;color:var(--text);margin:0}.cs-reflection-attr{font-family:var(--font-mono, monospace);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--text-3);display:block;margin-top:20px;font-style:normal}.cs-cta{padding:var(--section-py) 0}.cs-cta .case-cta{justify-content:center}@media (max-width: 900px){.cs-hero-grid{grid-template-columns:1fr;gap:32px}.cs-hero-visual{max-height:280px}.cs-context-inner{grid-template-columns:1fr;gap:32px}.cs-role-grid,.cs-flow-steps,.cs-stats-grid{grid-template-columns:1fr 1fr}}@media (max-width: 560px){.cs-role-grid,.cs-flow-steps,.cs-stats-grid{grid-template-columns:1fr}}@media (max-width: 560px){.contact-location-section{min-height:640px}.contact-location-copy h2{font-size:clamp(34px,11vw,46px)}.contact-location-meta span{width:100%}}.bio-section,.values-section{padding:var(--section-py) 0}.skills-section{padding:var(--section-py) 0 var(--section-py-loose)}.value-card-lead{grid-column:span 2}.value-card-lead h4{font-size:28px;letter-spacing:-.02em}.value-card-lead p{max-width:540px}@media (max-width: 860px){.value-card-lead{grid-column:span 1}}.bio-sentence-mask{display:inline}.bio-sentence-mask .split-word{display:inline-block}.bio-sentence-mask .split-mask{display:inline-block;overflow:hidden;vertical-align:top}.skill-bar{transform:scaleX(0);transform-origin:left}.stat-item-value{letter-spacing:-.05em}.hero{padding-top:0}.about-strip,.showreel-section,.work-section,.mindset-section,.quote-section,.cta-band{padding:var(--section-py) 0}@media (min-width: 1100px){.about-right-wrap{margin-right:clamp(-24px,-2vw,-48px)}}.mindset-cards{display:grid;grid-template-columns:1.4fr 1fr;gap:24px;align-items:stretch}.mindset-card-lead{padding:clamp(40px,5vw,64px);background:var(--bg-2);border:1px solid var(--border-hi);display:flex;flex-direction:column;justify-content:space-between;min-height:320px}.mindset-card-lead .mindset-card-title{font-size:clamp(28px,3vw,40px);letter-spacing:-.02em;line-height:1.05;margin-bottom:18px;color:var(--text);max-width:460px}.mindset-card-lead .mindset-card-text{font-size:15px;line-height:1.75;color:var(--text-2);max-width:520px}.mindset-card-stacker{display:grid;grid-template-rows:1fr 1fr;gap:24px}.mindset-card-stacker .mindset-card{background:var(--bg-1);border:1px solid var(--border);padding:clamp(32px,3vw,44px);display:flex;flex-direction:column;justify-content:space-between}@media (max-width: 860px){.mindset-cards{grid-template-columns:1fr}.mindset-card-stacker{grid-template-rows:auto}}.cta-text{position:relative}.cta-numeral{position:absolute;top:-52px;left:-8px;font-family:var(--font-mono);font-size:14px;letter-spacing:.18em;color:var(--text-3);user-select:none}.showreel-frame-wrap{will-change:transform}.hero-meta-strip>*{will-change:transform,opacity}.motion-ready .hero-kicker,.motion-ready .home-cta-buttons>*,.motion-ready .hero-meta-strip>*{opacity:0}@media (prefers-reduced-motion: reduce){.motion-ready .hero-kicker,.motion-ready .home-cta-buttons>*,.motion-ready .hero-meta-strip>*{opacity:1}}.motion-ready .work-item{opacity:0}@media (prefers-reduced-motion: reduce){.motion-ready .work-item{opacity:1}}.projects-showcase{position:relative}.projects-list{padding:var(--section-py) 0 var(--section-py-loose)}.case-hero{padding:var(--section-py-tight) 0}.cs-context,.cs-role,.cs-flow,.cs-results,.cs-reflection,.cs-cta{padding:var(--section-py) 0}.projects-showcase{position:relative;height:100vh;overflow:hidden;background:var(--bg)}.projects-showcase-pin{position:relative;height:100vh;display:flex;flex-direction:column;justify-content:center;padding:0 var(--gutter);max-width:var(--container-max);margin:0 auto}.projects-showcase-header{margin-bottom:48px}.projects-showcase-title{font-family:var(--font-display);font-size:clamp(40px,5vw,72px);font-weight:400;letter-spacing:-.03em;line-height:1;color:var(--text);max-width:800px;margin-top:16px}.projects-showcase-track{display:flex;gap:24px;will-change:transform}.showcase-card{flex:0 0 clamp(320px,30vw,460px);background:var(--bg-2);border:1px solid var(--border-hi);padding:32px 28px;display:flex;flex-direction:column;gap:18px;min-height:380px}.showcase-card-num{font-family:var(--font-mono);font-size:10px;letter-spacing:.18em;color:var(--accent);text-transform:uppercase}.showcase-card-visual{background:var(--bg-3);height:140px;display:flex;align-items:center;justify-content:center;border:1px solid var(--border)}.showcase-card-title{font-size:24px;font-weight:400;letter-spacing:-.02em;line-height:1.1;color:var(--text)}.showcase-card-desc{font-size:13px;line-height:1.7;color:var(--text-2);flex:1}.showcase-card-meta{display:flex;align-items:center;gap:10px;margin-top:auto}.projects-showcase-hint{position:absolute;bottom:32px;right:48px;font-family:var(--font-mono);font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--text-3)}@media (max-width: 860px){.projects-showcase{height:auto;padding:var(--section-py) 0}.projects-showcase-pin{height:auto;padding:0 24px}.projects-showcase-track{flex-direction:column}.showcase-card{flex:0 0 auto}}.filter-bar{position:relative}.filter-underline{position:absolute;bottom:-1px;left:0;height:1px;background:var(--accent);width:0;pointer-events:none;will-change:transform,width}.cs-role-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.cs-role-card-lead{grid-column:span 2}.cs-role-card-lead h3{font-size:28px;letter-spacing:-.02em}@media (max-width: 860px){.cs-role-grid{grid-template-columns:1fr}.cs-role-card-lead{grid-column:span 1}}.timeline-spine{position:relative}.timeline-spine-fill{position:absolute;top:0;left:0;right:0;height:100%;background:var(--accent);transform-origin:top;transform:scaleY(0)}.timeline-dates{position:relative}.timeline-dates-indicator{position:absolute;left:0;right:0;top:0;height:0;background:var(--accent-glow);border-left:1px solid var(--accent);pointer-events:none;will-change:transform,height}.edu-grid{grid-template-columns:1fr 1fr}.edu-card-lead{grid-column:span 1;padding:clamp(40px,5vw,64px)}.edu-card-lead .edu-title{font-size:24px;letter-spacing:-.02em}.nav-links{position:relative}.nav-underline{position:absolute;bottom:0;left:0;height:1px;background:var(--accent);width:0;pointer-events:none;will-change:transform,width}.nav-link.active:after{display:none}.site-footer{border-top:1px solid var(--border);padding:var(--section-py) var(--gutter) var(--space-2xl);background:var(--bg);position:relative;overflow:hidden}.site-footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:48px;max-width:1320px;margin:0 auto;position:relative;z-index:2}.site-footer-col{display:flex;flex-direction:column;gap:14px;min-width:0}.site-footer-brand{align-items:flex-start}.site-footer-num{font-family:var(--font-mono);font-size:11px;letter-spacing:.18em;color:var(--accent);margin-bottom:4px}.site-footer-label{font-family:var(--font-mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--text-3);margin-bottom:8px}.site-footer-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:10px}.site-footer-mark{margin-top:clamp(80px,10vh,120px);font-family:var(--font-display);font-size:clamp(80px,16vw,240px);font-weight:400;letter-spacing:-.04em;line-height:.85;color:var(--text-3);opacity:.18;text-align:center;user-select:none;position:relative;z-index:1;white-space:nowrap;overflow:hidden}@media (max-width: 860px){.site-footer{padding:var(--section-py-tight) var(--gutter) var(--space-xl)}.site-footer-grid{grid-template-columns:1fr 1fr;gap:32px}.site-footer-mark{font-size:clamp(48px,16vw,96px)}}.form-group{position:relative}.form-label{display:block;margin-bottom:var(--space-2xs);color:var(--text-3);transition:color .2s}.form-group:focus-within .form-label{color:var(--accent)}.form-input,.form-textarea{background:transparent;border:none;border-bottom:1px solid var(--border-hi);padding:12px 0;color:var(--text);font-family:var(--font-sans);font-size:15px;width:100%;outline:none;transition:border-color .2s}.form-input:focus,.form-textarea:focus{border-bottom-color:var(--accent)}.info-grid{grid-template-columns:2fr 1fr 1fr}.info-cell-lead{padding:clamp(40px,5vw,56px)}.info-cell-lead .info-cell-value{font-size:24px;letter-spacing:-.01em}@media (max-width: 860px){.info-grid{grid-template-columns:1fr}.info-cell-lead{grid-column:span 1}}.showreel-meta span{font-size:11px;letter-spacing:.16em;padding:8px 12px}.showreel-frame-top{font-size:11px;letter-spacing:.14em}.work-item-num,.work-item-year{font-size:12px;letter-spacing:.14em}.hero-stat-label{font-size:11px;letter-spacing:.14em}.quote-attr{font-size:12px;letter-spacing:.14em}.cta-numeral{font-size:13px;letter-spacing:.2em}.about-left h2,.showreel-heading,.work-header h2,.mindset-heading,.cta-text h2{letter-spacing:-.035em;line-height:1.02}.values-grid{grid-template-columns:repeat(2,1fr);gap:1px;background:var(--border);border:1px solid var(--border)}.values-grid .value-card{background:var(--card-bg);padding:clamp(36px,4vw,56px) clamp(28px,3vw,44px);display:flex;flex-direction:column;gap:18px;min-height:220px}.values-grid .value-card-lead{grid-row:span 2;padding:clamp(40px,5vw,72px) clamp(32px,3.5vw,56px);justify-content:space-between}.values-grid .value-card-lead h4{font-size:clamp(24px,2.5vw,36px);letter-spacing:-.02em;line-height:1.1}.values-grid .value-card-lead p{font-size:16px;line-height:1.8;max-width:460px}@media (max-width: 860px){.values-grid{grid-template-columns:1fr}.values-grid .value-card-lead{grid-row:span 1}}.value-cell-label,.value-icon-label{font-size:11px;letter-spacing:.18em}.skill-group-label{font-size:11px;letter-spacing:.18em;padding-bottom:14px}.skill-row-meta{font-size:11px;letter-spacing:.12em}.bio-text-section h3{font-size:14px;letter-spacing:.12em}.bio-paragraph{font-size:17px;line-height:1.85}.about-cell-label{font-size:11px;letter-spacing:.18em}.about-cell-value .stack-row{font-size:14px}.about-cell-value .stack-row span{font-size:11px;letter-spacing:.12em}.edu-year{font-size:12px;letter-spacing:.16em}.edu-title{font-size:22px}.edu-sub{font-size:15px;line-height:1.8}.info-cell-value{font-size:16px}.info-cell-sub{font-size:11px;letter-spacing:.12em}.stat-item-label{font-size:11px;letter-spacing:.16em}.stat-item-sub{font-size:11px;letter-spacing:.14em}.inline-quote cite{font-size:11px;letter-spacing:.16em}.stat-item{padding:clamp(36px,4vw,56px) clamp(28px,3vw,40px)}.stat-item-value{font-size:clamp(48px,6vw,80px);letter-spacing:-.05em}.stat-item-value-small{font-size:clamp(36px,4.5vw,56px)}.timeline-section{padding:var(--section-py-tight) 0 var(--section-py)}.edu-section{padding:var(--section-py) 0 var(--section-py-loose)}.timeline-date-item{font-size:13px;font-weight:500;letter-spacing:.14em;color:var(--text-2);padding:16px 0}.timeline-date-item .role-hint{font-size:12px;font-weight:400;letter-spacing:.06em;font-style:italic;color:var(--text-3);margin-top:4px}.entry{padding:clamp(40px,5vw,64px) 0}.entry-period{font-size:12px;font-weight:600;letter-spacing:.18em;color:var(--accent);margin-bottom:14px}.entry-role{font-size:clamp(28px,3vw,42px);font-weight:500;letter-spacing:-.03em;line-height:1.05;color:var(--text);margin-bottom:10px}.entry-company{font-size:12px;font-weight:500;letter-spacing:.16em;color:var(--text-3);text-transform:uppercase;margin-bottom:24px}.entry-impact-label{font-size:11px;font-weight:500;letter-spacing:.18em;color:var(--text-3);margin-bottom:12px}.entry-impact{font-size:17px;line-height:1.85;color:var(--text-2);border-left:2px solid var(--accent);padding-left:20px;font-style:italic;max-width:620px}.entry-year-badge{font-family:var(--font-display);font-size:clamp(36px,4vw,56px);font-weight:400;letter-spacing:-.04em;color:var(--border-hi);line-height:1;user-select:none;padding-top:28px;text-align:right}.entry-link-pill{font-size:11px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);background:var(--accent-glow);border:1px solid color-mix(in srgb,var(--accent) 35%,transparent);padding:6px 12px;border-radius:2px}.entry-skills{margin-top:24px}.edu-year{font-size:12px;font-weight:500;letter-spacing:.18em;color:var(--text-3);margin-bottom:24px}.edu-title{font-size:clamp(24px,2.5vw,32px);font-weight:500;letter-spacing:-.02em;line-height:1.1;color:var(--text);margin-bottom:16px}.edu-sub{font-size:15px;line-height:1.8;color:var(--text-2)}.edu-card{background:var(--card-bg);padding:clamp(36px,4vw,56px) clamp(28px,3vw,40px);transition:background .3s}.edu-card:hover{background:var(--card-hover)}.contact-hero{padding:var(--section-py-tight) 0}.contact-body{padding:var(--section-py) 0}.contact-location-section{padding:var(--section-py) 0 var(--section-py-loose)}.email-label{font-size:12px;letter-spacing:.18em}.email-link{font-size:clamp(20px,2.4vw,32px);letter-spacing:-.02em}.avail-title{font-size:12px;letter-spacing:.18em}.avail-text{font-size:18px;line-height:1.5}.avail-sub{font-size:12px;letter-spacing:.14em}.social-link{padding:clamp(20px,2vw,28px) 0}.social-link-meta{font-size:12px;letter-spacing:.12em}.social-link>div>div:first-child{font-size:18px}.form-title{font-size:clamp(24px,2.5vw,36px);letter-spacing:-.02em}.form-sub{font-size:15px;line-height:1.7}.form-label{font-size:12px;letter-spacing:.16em}.form-input,.form-textarea{font-size:16px}.form-submit{font-size:13px;letter-spacing:.14em}.info-cell{padding:clamp(32px,3vw,48px) clamp(24px,2.5vw,36px)}.info-cell-label{font-size:11px;letter-spacing:.18em}.info-cell-value{font-size:17px}.info-cell-sub{font-size:11px;letter-spacing:.14em}.contact-location-copy h2{font-family:var(--font-display);font-size:clamp(48px,6vw,96px);font-weight:400;letter-spacing:-.04em;line-height:1}.contact-location-copy h2 span{font-style:italic;color:var(--accent)}.contact-location-copy p{font-size:16px;line-height:1.7;max-width:460px}.contact-location-meta{font-size:12px;letter-spacing:.14em}.contact-location-meta span{font-size:12px}.cases-grid-section{padding:var(--section-py) 0}.cases-grid-header{margin-bottom:clamp(48px,6vh,80px)}.cases-grid-title{font-family:var(--font-display);font-size:clamp(40px,5vw,72px);font-weight:400;letter-spacing:-.035em;line-height:1;color:var(--text);max-width:800px;margin-top:16px}.cases-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--border-hi);border-top:1px solid var(--border-hi);border-bottom:1px solid var(--border-hi)}.case-tile{display:flex;flex-direction:column;background:var(--bg);padding:clamp(40px,5vw,64px) clamp(32px,3vw,48px);min-height:420px;position:relative;overflow:hidden;transition:background .3s var(--ease-out-expo);cursor:pointer}.case-tile:hover{background:var(--bg-1)}.case-tile:after{content:"";position:absolute;bottom:0;left:0;right:0;height:2px;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform .4s var(--ease-out-expo)}.case-tile:hover:after{transform:scaleX(1)}.case-tile-visual{position:relative;display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:clamp(32px,4vw,56px);min-height:60px}.case-tile-num{font-family:var(--font-sans);font-size:13px;font-weight:500;letter-spacing:.18em;color:var(--accent);text-transform:uppercase}.case-tile-logo{height:36px;max-width:160px;object-fit:contain;opacity:.9;filter:brightness(1.1)}[data-theme=light] .case-tile-logo{filter:brightness(.9)}.case-tile-body{display:flex;flex-direction:column;gap:16px;flex:1}.case-tile-title{font-family:var(--font-display);font-size:clamp(28px,2.8vw,40px);font-weight:400;letter-spacing:-.025em;line-height:1.05;color:var(--text)}.case-tile-desc{font-family:var(--font-sans);font-size:15px;line-height:1.75;color:var(--text-2);max-width:460px;flex:1}.case-tile-meta{display:flex;align-items:center;gap:12px;margin-top:auto;padding-top:16px}.case-tile-year{font-family:var(--font-sans);font-size:12px;font-weight:500;letter-spacing:.16em;color:var(--text-3);text-transform:uppercase}@media (max-width: 860px){.cases-grid{grid-template-columns:1fr}.case-tile{min-height:360px}}.project-card-num{font-size:12px;letter-spacing:.16em}.project-year-badge{font-size:12px;letter-spacing:.16em;padding:5px 12px}.project-card-title{font-size:26px;letter-spacing:-.03em}.project-card-desc{font-size:16px;line-height:1.8}.project-title-lg{font-size:clamp(36px,4vw,56px);letter-spacing:-.035em}.project-desc{font-size:16px;line-height:1.8}.project-num,.filter-label{font-size:12px;letter-spacing:.16em}.filter-btn{font-size:12px;letter-spacing:.14em;padding:6px 14px}.case-block-label{font-size:12px;letter-spacing:.18em}.case-block p{font-size:16px;line-height:1.85}.case-beats-list li{font-size:17px;line-height:1.7}.case-beat-num{font-size:13px;letter-spacing:.16em}.cs-flow-step-num{font-size:14px;letter-spacing:.16em}.cs-flow-step h4{font-size:22px;letter-spacing:-.02em}.cs-flow-step p{font-size:15px;line-height:1.75}.cs-stat-value{font-size:clamp(48px,6vw,80px);letter-spacing:-.05em}.cs-stat-label{font-size:12px;letter-spacing:.16em}.cs-stat-sub{font-size:12px;letter-spacing:.14em}.cs-section-label{font-size:12px;letter-spacing:.18em}.cs-context-left h2{font-size:clamp(32px,3.5vw,48px);letter-spacing:-.03em}.cs-context-right p{font-size:16px;line-height:1.85}.cs-role-heading{font-size:clamp(32px,3.5vw,52px)}.cs-role-card h3{font-size:22px;letter-spacing:-.02em}.cs-role-card p{font-size:15px;line-height:1.8}.cs-results-heading{font-size:clamp(32px,3.5vw,52px)}.cs-reflection-text{font-size:clamp(20px,2.2vw,30px)}.case-hero-shot{width:100%;height:100%;object-fit:cover;object-position:top center}.case-shots{margin-top:clamp(64px,8vw,104px);padding-top:clamp(32px,4vw,48px);border-top:1px solid var(--border)}.case-shot{margin:clamp(28px,3.5vw,44px) 0 0}.case-shot-frame{border:1px solid var(--border);border-radius:4px;overflow:hidden;background:var(--bg-1)}.case-shot-frame img{width:100%;height:auto;display:block}.case-shot-caption{margin-top:14px;max-width:62ch;font-family:var(--font-sans);font-size:13px;line-height:1.6;color:var(--text-3)}.case-tile-shot{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:top center;opacity:.5;transition:opacity .5s var(--easing),transform .6s var(--easing)}.case-tile:hover .case-tile-shot{opacity:.72;transform:scale(1.03)}.form-honeypot{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.form-field-error{margin-top:7px;font-family:var(--font-sans);font-size:12px;letter-spacing:.02em;color:#e2725b}.form-input[aria-invalid=true],.form-textarea[aria-invalid=true]{border-color:#e2725b}.form-alert{margin-bottom:20px;padding:14px 16px;border:1px solid var(--border-hi);border-left:2px solid #e2725b;border-radius:4px;background:var(--bg-2);font-family:var(--font-sans);font-size:13px;line-height:1.6;color:var(--text-2)}.form-alert a{color:var(--accent);text-decoration:underline;text-underline-offset:2px}.form-submit:disabled{opacity:.6;cursor:not-allowed}.case-tile-visual.has-shot{aspect-ratio:16 / 9;min-height:0;border:1px solid var(--border);border-radius:4px;overflow:hidden;padding:18px 20px}.case-tile-visual.has-shot:before{content:"";position:absolute;inset:0 0 auto;height:42%;background:linear-gradient(to bottom,rgba(0,0,0,.55),transparent);z-index:1}.case-tile-visual.has-shot .case-tile-num,.case-tile-visual.has-shot .case-tile-logo{position:relative;z-index:2}.case-tile-visual.has-shot .case-tile-num{color:#fff;text-shadow:0 1px 3px rgba(0,0,0,.5)}.cases-grid>.case-tile:last-child:nth-child(odd){grid-column:1 / -1}.cases-grid>.case-tile:last-child:nth-child(odd) .case-tile-visual.has-shot{aspect-ratio:32 / 9}@media (max-width: 900px){.cases-grid>.case-tile:last-child:nth-child(odd) .case-tile-visual.has-shot{aspect-ratio:16 / 9}}@media (max-width: 600px){.hero-meta-strip{display:flex;gap:var(--space-md);overflow-x:auto;scrollbar-width:none}.hero-meta-strip::-webkit-scrollbar{display:none}.hero-meta-cell{flex:0 0 auto;white-space:nowrap}.home-cta-buttons{gap:var(--space-2xs)}}
