:root{--bg: #ffffff;--bg-rgb: 255, 255, 255;--ink: #000000;--ink-rgb: 0, 0, 0;--ink-2: #333333;--ink-3: #666666;--ink-4: #999999;--ink-5: #c4c4c4;--line: rgba(0, 0, 0, .1);--line-strong: rgba(0, 0, 0, .22);--surface: #fafafa;--font: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--mono: "SF Mono", ui-monospace, Menlo, Monaco, Consolas, "Courier New", monospace;--ease: cubic-bezier(.22, 1, .36, 1);--container: 1100px;--gutter: clamp(20px, 5vw, 48px);--section-y: clamp(5rem, 12vh, 8.5rem);color-scheme:light}@media(prefers-color-scheme:dark){:root{--bg: #0a0a0a;--bg-rgb: 10, 10, 10;--ink: #ffffff;--ink-rgb: 255, 255, 255;--ink-2: #d4d4d4;--ink-3: #9a9a9a;--ink-4: #6b6b6b;--ink-5: #3d3d3d;--line: rgba(255, 255, 255, .12);--line-strong: rgba(255, 255, 255, .28);--surface: #141414;color-scheme:dark}}html{scroll-behavior:smooth;scroll-padding-top:80px;-webkit-text-size-adjust:100%}body{margin:0;font-family:var(--font);background:var(--bg);color:var(--ink-2);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;font-feature-settings:"ss01","cv11"}code{font-family:var(--mono)}::selection{background:var(--ink);color:var(--bg)}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}*{margin:0;padding:0;box-sizing:border-box}body{line-height:1.6;overflow-x:hidden;counter-reset:section}img{display:block;max-width:100%}a{color:inherit}h1,h2,h3,h4,h5{color:var(--ink);font-weight:600;letter-spacing:-.015em;text-wrap:balance}.container{width:100%;max-width:var(--container);margin:0 auto;padding:0 var(--gutter)}.section-title{display:flex;align-items:baseline;justify-content:space-between;gap:1.5rem;padding-top:2rem;margin-bottom:clamp(2.5rem,6vh,4rem);border-top:1px solid var(--line);font-size:clamp(1.9rem,3.6vw,2.75rem);font-weight:600;letter-spacing:-.03em;line-height:1.05;color:var(--ink);text-align:left}.section-title:after{counter-increment:section;content:counter(section,decimal-leading-zero);font-family:var(--mono);font-size:.8rem;font-weight:400;letter-spacing:.08em;color:var(--ink-4);flex-shrink:0}.eyebrow{display:block;font-family:var(--mono);font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-4)}.meta{display:flex;flex-wrap:wrap;gap:.35rem 1.25rem;font-size:.85rem;color:var(--ink-3)}.meta span{display:inline-flex;align-items:center;gap:.45rem}.meta svg{font-size:.75em;color:var(--ink-4)}.list-clean{list-style:none;padding:0;margin:0}.list-clean li{position:relative;padding-left:1.4rem;margin-bottom:.6rem;line-height:1.65;color:var(--ink-3)}.list-clean li:before{content:"";position:absolute;left:0;top:.85em;width:.7rem;height:1px;background:var(--ink-4)}.btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:.6rem;padding:.85rem 1.6rem;border-radius:2px;border:1px solid var(--ink);font:inherit;font-size:.92rem;font-weight:500;letter-spacing:.01em;text-decoration:none;cursor:pointer;overflow:hidden;isolation:isolate;transition:color .45s var(--ease),background-color .45s var(--ease),transform .45s var(--ease)}.btn:active{transform:scale(.98)}.btn-primary{background:var(--ink);color:var(--bg)}.btn-primary:hover{background:var(--ink-2)}.btn-secondary{background:transparent;color:var(--ink)}.btn-secondary:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:var(--ink);transform:scaleY(0);transform-origin:bottom;transition:transform .45s var(--ease);z-index:-1}.btn-secondary:hover{color:var(--bg)}.btn-secondary:hover:before{transform:scaleY(1);transform-origin:top}.link-underline{position:relative;color:var(--ink);text-decoration:none;padding-bottom:2px}.link-underline:after{content:"";position:absolute;left:0;bottom:0;width:100%;height:1px;background:currentColor;transform:scaleX(1);transform-origin:right;transition:transform .5s var(--ease)}.link-underline:hover:after{transform:scaleX(0);transform-origin:right;animation:underline-return .5s var(--ease) .5s forwards}@keyframes underline-return{0%{transform:scaleX(0);transform-origin:left}to{transform:scaleX(1);transform-origin:left}}:focus-visible{outline:1.5px solid var(--ink);outline-offset:3px}@media(max-width:768px){.section-title{padding-top:1.5rem}}.section-title-words{display:inline-flex;flex-wrap:wrap;column-gap:.28em}.word-mask{display:inline-block;overflow:hidden;padding-bottom:.1em;margin-bottom:-.1em}.word{display:inline-block;will-change:transform}main{display:block}.staggered-menu-wrapper{position:relative;width:100%;height:100%;z-index:1100;pointer-events:none}.staggered-menu-wrapper.fixed-wrapper{position:fixed;top:0;left:0;width:100vw;height:100vh;z-index:1100;overflow:hidden}.staggered-menu-header{position:absolute;top:0;left:0;width:100%;display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;background:rgba(var(--bg-rgb),.85);-webkit-backdrop-filter:blur(14px) saturate(160%);backdrop-filter:blur(14px) saturate(160%);border-bottom:1px solid var(--line);pointer-events:none;z-index:20}.staggered-menu-header>*{pointer-events:auto}.sm-logo{display:flex;align-items:center;-webkit-user-select:none;user-select:none}.sm-logo-text{font-size:1rem;font-weight:600;letter-spacing:-.01em;color:var(--ink)}.sm-toggle{position:relative;display:inline-flex;align-items:center;gap:.4rem;background:transparent;border:none;cursor:pointer;color:var(--ink);font-weight:500;font-size:.85rem;line-height:1;overflow:visible}.sm-toggle:focus-visible{outline:2px solid var(--ink);outline-offset:4px;border-radius:4px}.sm-line:last-of-type{margin-top:6px}.sm-toggle-textWrap{position:relative;display:inline-block;height:1em;overflow:hidden;white-space:nowrap;width:var(--sm-toggle-width, auto);min-width:var(--sm-toggle-width, auto)}.sm-toggle-textInner{display:flex;flex-direction:column;line-height:1}.sm-toggle-line{display:block;height:1em;line-height:1}.sm-icon{position:relative;width:16px;height:16px;flex:0 0 16px;display:inline-flex;align-items:center;justify-content:center;will-change:transform}.sm-panel-itemWrap{position:relative;overflow:hidden;line-height:1}.sm-icon-line{position:absolute;left:50%;top:50%;width:100%;height:2px;background:currentColor;border-radius:2px;transform:translate(-50%,-50%);will-change:transform}.sm-line{display:none!important}.staggered-menu-panel{position:absolute;top:0;right:0;width:min(100vw,420px);height:100%;background:var(--bg);display:flex;flex-direction:column;padding:6em 2em 2em;overflow-y:auto;z-index:10;pointer-events:auto;opacity:0}[data-position=left] .staggered-menu-panel{right:auto;left:0}.sm-prelayers{position:absolute;top:0;right:0;bottom:0;width:min(100vw,420px);pointer-events:none;z-index:5;opacity:0}[data-position=left] .sm-prelayers{right:auto;left:0}.sm-prelayer{position:absolute;top:0;right:0;height:100%;width:100%;transform:translate(0);opacity:0}.sm-panel-inner{flex:1;display:flex;flex-direction:column;gap:1.25rem}.sm-socials{margin-top:auto;padding-top:2rem;display:flex;flex-direction:column;gap:.75rem}.sm-socials-title{margin:0;font-size:1rem;font-weight:500;color:var(--sm-accent, var(--ink))}.sm-socials-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:row;align-items:center;gap:1rem;flex-wrap:wrap}.sm-socials-list .sm-socials-link{opacity:1}.sm-socials-list:hover .sm-socials-link{opacity:.35}.sm-socials-list:hover .sm-socials-link:hover{opacity:1}.sm-socials-link:focus-visible{outline:2px solid var(--sm-accent, var(--ink));outline-offset:3px}.sm-socials-list:focus-within .sm-socials-link{opacity:.35}.sm-socials-list:focus-within .sm-socials-link:focus-visible{opacity:1}.sm-socials-link{font-size:1.2rem;font-weight:500;color:var(--ink);text-decoration:none;position:relative;padding:2px 0;display:inline-block;transition:color .3s ease,opacity .3s ease}.sm-socials-link:hover{color:var(--sm-accent, var(--ink))}.sm-panel-title{margin:0;font-size:1rem;font-weight:600;color:#fff;text-transform:uppercase}.sm-panel-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem}.sm-panel-item{position:relative;color:var(--ink);font-weight:600;font-size:2.75rem;cursor:pointer;line-height:1;letter-spacing:-1.5px;text-transform:uppercase;transition:background .25s,color .25s;display:inline-block;text-decoration:none;padding-right:1.4em}.staggered-menu-panel .sm-socials-list .sm-socials-link{opacity:1;transition:opacity .3s ease}.staggered-menu-panel .sm-socials-list:hover .sm-socials-link:not(:hover){opacity:.35}.staggered-menu-panel .sm-socials-list:focus-within .sm-socials-link:not(:focus-visible){opacity:.35}.staggered-menu-panel .sm-socials-list .sm-socials-link:hover,.staggered-menu-panel .sm-socials-list .sm-socials-link:focus-visible{opacity:1}.sm-panel-itemLabel{display:inline-block;will-change:transform;transform-origin:50% 100%}.sm-panel-item:hover{color:var(--sm-accent, var(--ink))}.sm-panel-list[data-numbering]{counter-reset:smItem}.sm-panel-list[data-numbering] .sm-panel-item:after{counter-increment:smItem;content:counter(smItem,decimal-leading-zero);position:absolute;top:.1em;right:2.8em;font-size:16px;font-weight:400;color:var(--sm-accent, var(--ink));letter-spacing:0;pointer-events:none;-webkit-user-select:none;user-select:none;opacity:var(--sm-num-opacity, 0)}@media(min-width:769px){.staggered-menu-mobile-only{display:none}}@media(max-width:640px){.staggered-menu-panel{width:100%;left:0;right:0}}.header{position:fixed;top:0;left:0;right:0;z-index:1000;padding:1.35rem 0;background:rgba(var(--bg-rgb),0);border-bottom:1px solid transparent;transition:padding .5s var(--ease),background-color .5s var(--ease),border-color .5s var(--ease)}.header.scrolled{padding:.85rem 0;background:rgba(var(--bg-rgb),.82);-webkit-backdrop-filter:blur(14px) saturate(160%);backdrop-filter:blur(14px) saturate(160%);border-bottom-color:var(--line)}.header .container{display:flex;justify-content:space-between;align-items:center}.logo{text-decoration:none;cursor:pointer}.logo h2{color:var(--ink);font-size:1rem;font-weight:600;letter-spacing:-.01em}.nav{display:flex;gap:1.75rem;align-items:center}.nav a{position:relative;text-decoration:none;color:var(--ink-3);font-size:.85rem;font-weight:500;letter-spacing:.01em;cursor:pointer;padding:.25rem 0;transition:color .4s var(--ease)}.nav a:hover,.nav a.active{color:var(--ink)}.nav a:after{content:"";position:absolute;bottom:0;left:0;width:100%;height:1px;background:var(--ink);transform:scaleX(0);transform-origin:right;transition:transform .5s var(--ease)}.nav a:hover:after,.nav a.active:after{transform:scaleX(1);transform-origin:left}@media(max-width:900px){.nav{gap:1.25rem}.nav a{font-size:.8rem}}@media(max-width:768px){.header{display:none}}.header-progress{position:absolute;left:0;bottom:-1px;width:100%;height:1px;background:var(--ink);transform-origin:left;pointer-events:none}.header-progress-mobile{position:fixed;top:56px;z-index:1200}@media(min-width:769px){.header-progress-mobile{display:none}}.hero{position:relative;min-height:100vh;min-height:100svh;display:flex;align-items:center;justify-content:center;background:var(--bg);padding:6rem 0 5rem;overflow:hidden}.hero-center{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;max-width:860px;margin:0 auto;padding:0 var(--gutter);text-align:center;will-change:transform,opacity}.decrypted-container{display:flex;flex-direction:column;align-items:center;gap:.9rem;margin-bottom:2rem}.hero-line{display:block;width:100%;text-align:center}.hero-name{font-size:clamp(2.6rem,9vw,5.75rem);font-weight:700;letter-spacing:-.04em;line-height:1;color:var(--ink);max-width:100%}.hero-title{font-size:clamp(.85rem,1.8vw,1.15rem);font-weight:500;color:var(--ink-3);letter-spacing:.32em;text-transform:uppercase}.decrypted-revealed{color:inherit;transition:color .25s ease}.decrypted-encrypted{color:var(--ink-5);font-weight:inherit}.hero-description{font-size:clamp(1rem,1.5vw,1.15rem);color:var(--ink-3);margin:2.5rem 0;line-height:1.75;max-width:560px}.hero-buttons{display:flex;gap:.85rem;margin-bottom:3rem;justify-content:center;flex-wrap:wrap}.social-links{display:flex;gap:2rem;justify-content:center}.social-links a{padding:.5rem;display:inline-flex;align-items:center;justify-content:center;color:var(--ink);font-size:1.25rem;opacity:.55;text-decoration:none;transition:opacity .45s var(--ease),transform .45s var(--ease)}.social-links a:hover{opacity:1;transform:translateY(-3px)}.hero-scroll-cue{position:absolute;left:50%;bottom:2rem;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:.75rem;font-family:var(--mono);font-size:.65rem;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-4);pointer-events:none}.hero-scroll-line{position:relative;display:block;width:1px;height:48px;background:var(--line);overflow:hidden}.hero-scroll-line:after{content:"";position:absolute;top:0;left:0;width:100%;height:40%;background:var(--ink);animation:scroll-cue 2.2s var(--ease) infinite}@keyframes scroll-cue{0%{transform:translateY(-100%)}60%,to{transform:translateY(260%)}}@media(max-width:768px){.hero{padding:5rem 0}.hero-title{letter-spacing:.22em}.hero-description{margin:2rem 0}.hero-buttons{flex-direction:column;gap:.75rem;width:100%;max-width:360px}.hero-buttons .btn{width:100%}.social-links{gap:1.5rem}.hero-scroll-cue{display:none}}@media(max-width:480px){.hero-title{letter-spacing:.18em}.decrypted-container{gap:.7rem;margin-bottom:1.5rem}}.about{padding:var(--section-y) 0;background:var(--bg)}.about-content{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:clamp(2.5rem,6vw,6rem);align-items:start}.about-text p{font-size:clamp(1.02rem,1.4vw,1.15rem);color:var(--ink-3);line-height:1.8;margin-bottom:1.5rem;max-width:62ch}.about-stats{display:grid;grid-template-columns:repeat(3,1fr);margin-top:3rem;border-top:1px solid var(--line)}.stat{padding:1.5rem 1.25rem 0 0;border-right:1px solid var(--line)}.stat:not(:first-child){padding-left:1.25rem}.stat:last-child{border-right:none}.stat h3{font-size:clamp(1.9rem,3vw,2.6rem);font-weight:600;letter-spacing:-.04em;line-height:1;color:var(--ink);margin-bottom:.6rem}.stat p{font-size:.82rem;color:var(--ink-4);margin:0;line-height:1.4}.about-image{display:flex;justify-content:center}.about-image-frame{width:100%;max-width:340px;aspect-ratio:3 / 4;border-radius:4px;overflow:hidden;background:var(--surface)}.about-image-inner{width:100%;height:100%;transform:scale(1.12);will-change:transform}.about-image img{width:100%;height:100%;object-fit:cover}@media(max-width:900px){.about-content{grid-template-columns:1fr;gap:3rem}.about-image{order:-1;justify-content:flex-start}.about-image-frame{max-width:280px}}@media(max-width:560px){.about-stats{grid-template-columns:1fr;border-top:none;margin-top:2rem}.stat{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;padding:1rem 0;border-right:none;border-top:1px solid var(--line)}.stat:not(:first-child){padding-left:0}.stat h3{margin-bottom:0}}.about-education{display:flex;flex-direction:column;gap:.5rem;padding-top:1.5rem;border-top:1px solid var(--line);font-size:.95rem!important;color:var(--ink-2)!important}.about-now{display:grid;grid-template-columns:minmax(0,220px) minmax(0,1fr);gap:clamp(1.5rem,4vw,4rem);margin-top:clamp(3rem,6vh,5rem);padding-top:1.75rem;border-top:1px solid var(--line)}.about-now-label{color:var(--ink);padding-top:.2rem}.about-now-list{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.5rem 2.5rem;color:var(--ink-3);font-size:.95rem}.about-now-list li{position:relative}.about-now-list li:not(:last-child):after{content:"";position:absolute;right:-1.3rem;top:50%;width:3px;height:3px;border-radius:50%;background:var(--ink-5);transform:translateY(-50%)}@media(max-width:768px){.about-now{grid-template-columns:1fr;gap:.75rem}.about-now-list{flex-direction:column;gap:.5rem}.about-now-list li:after{display:none}}.experience{padding:var(--section-y) 0;background:var(--bg)}.experience-timeline{display:flex;flex-direction:column}.timeline-item{display:grid;grid-template-columns:minmax(0,220px) minmax(0,1fr);gap:clamp(1.5rem,4vw,4rem);padding:2.5rem 0;border-top:1px solid var(--line)}.timeline-item:first-child{border-top:none;padding-top:0}.timeline-side{display:flex;flex-direction:column;gap:.75rem;position:sticky;top:6rem;align-self:start}.timeline-duration{color:var(--ink)}.experience-header{margin-bottom:1.25rem}.job-title{font-size:clamp(1.2rem,1.8vw,1.45rem);color:var(--ink);margin-bottom:.3rem;font-weight:600;letter-spacing:-.02em}.company{font-size:.98rem;color:var(--ink-3);font-weight:500}.company .team{color:var(--ink-4);font-weight:400}.responsibilities{max-width:68ch}.responsibilities li{font-size:.97rem}.technologies{display:flex;align-items:baseline;gap:1rem;margin-top:1.5rem;font-size:.88rem;color:var(--ink-3)}.technologies .eyebrow{flex-shrink:0}.previous-experience{display:grid;grid-template-columns:minmax(0,220px) minmax(0,1fr);gap:clamp(1.5rem,4vw,4rem);margin-top:2.5rem;padding-top:1.75rem;border-top:1px solid var(--line)}.previous-experience>.eyebrow{color:var(--ink);padding-top:.15rem}.previous-experience-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.previous-experience-list li{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr) minmax(0,1fr);gap:1rem;padding:.65rem 0;border-bottom:1px solid var(--line);font-size:.92rem}.previous-experience-list li:last-child{border-bottom:none}.prev-role{color:var(--ink);font-weight:500}.prev-org{color:var(--ink-3)}.prev-note{color:var(--ink-4);font-size:.85rem}@media(max-width:768px){.timeline-item{grid-template-columns:1fr;gap:1rem;padding:2rem 0}.timeline-side{position:static;flex-direction:row;flex-wrap:wrap;align-items:center;gap:.5rem 1.5rem}.technologies{flex-direction:column;gap:.4rem}.previous-experience{grid-template-columns:1fr;gap:.75rem}.previous-experience-list li{grid-template-columns:1fr;gap:.15rem}}.projects{padding:var(--section-y) 0;background:var(--bg)}.project-index{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;border-bottom:1px solid var(--line)}.project-row{border-top:1px solid var(--line);transition:opacity .5s var(--ease)}.project-index.has-active .project-row:not(.is-active){opacity:.35}.project-row-link{display:grid;grid-template-columns:3rem minmax(0,1fr) 4rem;grid-template-areas:"num main year" "num stack year";gap:.75rem 1.25rem;align-items:baseline;padding:2rem 0 1.25rem;text-decoration:none;color:inherit}.project-num{grid-area:num}.project-main{grid-area:main}.project-stack{grid-area:stack}.project-year{grid-area:year}.project-num{font-family:var(--mono);font-size:.75rem;letter-spacing:.08em;color:var(--ink-4);padding-top:.35rem}.project-main{display:flex;flex-direction:column;gap:.4rem;min-width:0}.project-title{display:inline-flex;align-items:center;gap:.6rem;font-size:clamp(1.6rem,3.2vw,2.6rem);font-weight:600;letter-spacing:-.03em;line-height:1.05;color:var(--ink);transition:transform .6s var(--ease)}.project-arrow{font-size:.45em;opacity:0;transform:translate(-8px) rotate(-45deg);transition:opacity .5s var(--ease),transform .5s var(--ease)}.project-row.is-active .project-title{transform:translate(.35rem)}.project-row.is-active .project-arrow{opacity:1;transform:translate(0) rotate(-45deg)}.project-subtitle{font-size:.95rem;color:var(--ink-3)}.project-stack{font-family:var(--mono);font-size:.72rem;letter-spacing:.04em;line-height:1.6;color:var(--ink-4);text-align:left}.project-year{font-family:var(--mono);font-size:.75rem;color:var(--ink-4);text-align:right}.project-row-detail{display:grid;grid-template-columns:3rem minmax(0,1fr);gap:.75rem 1.25rem;padding:0 0 2rem}.project-row-detail:before{content:""}.project-desc{color:var(--ink-3);font-size:.95rem;line-height:1.7;max-width:62ch;margin-bottom:1rem}.project-links{grid-column:2;display:flex;flex-wrap:wrap;gap:1.5rem}.project-link{display:inline-flex;align-items:center;gap:.45rem;font-size:.82rem;font-weight:500;color:var(--ink-3);text-decoration:none;transition:color .4s var(--ease)}.project-link svg{font-size:.85em}.project-link:hover,.project-link-case{color:var(--ink)}.project-link-case svg{transition:transform .45s var(--ease)}.project-link-case:hover svg{transform:translate(4px)}.project-row{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(1.5rem,4vw,3.5rem);align-items:start}.project-image{display:block;aspect-ratio:16 / 10;overflow:hidden;border-radius:4px;background:var(--surface);margin-top:2rem}.project-image-inner{width:100%;height:100%;transform:scale(1.08);will-change:transform}.project-image img{width:100%;height:100%;object-fit:cover;transition:transform 1s var(--ease)}.project-row.is-active .project-image img{transform:scale(1.03)}.project-body{min-width:0}@media(max-width:900px){.project-row{grid-template-columns:1fr;gap:0}.project-row-link{grid-template-columns:3rem minmax(0,1fr);grid-template-areas:"num main" "num stack" "num year";gap:.5rem 1rem;padding:1.75rem 0 1rem}.project-year{text-align:left}.project-row-detail{grid-template-columns:3rem minmax(0,1fr);gap:1rem}.project-index.has-active .project-row:not(.is-active){opacity:1}}@media(max-width:560px){.project-row-link,.project-row-detail{grid-template-columns:1fr}.project-row-link{grid-template-areas:"num" "main" "stack" "year"}.project-row-detail:before{display:none}.project-links{grid-column:1}}.case-study{padding:var(--section-y) 0;background:var(--bg)}.case-head{max-width:820px;margin-bottom:clamp(2.5rem,5vh,4rem)}.case-eyebrow{margin-bottom:1.25rem}.case-statement{font-size:clamp(1.7rem,3.6vw,3rem);font-weight:600;letter-spacing:-.035em;line-height:1.1;color:var(--ink);margin-bottom:1.5rem}.case-role{display:flex;flex-wrap:wrap;gap:.5rem 2rem;align-items:baseline;font-size:.95rem;color:var(--ink-3)}.case-role a{display:inline-flex;align-items:center;gap:.4rem;font-weight:500;font-size:.9rem}.case-role a svg{font-size:.7em}.case-hero-frame{aspect-ratio:16 / 9;overflow:hidden;border-radius:4px;background:var(--surface)}.case-hero-inner{width:100%;height:100%;transform:scale(1.1);will-change:transform}.case-hero img{width:100%;height:100%;object-fit:cover}.case-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:clamp(2.5rem,5vh,4rem);border-top:1px solid var(--line)}.case-metric{padding:1.5rem 1.25rem 0 0;border-right:1px solid var(--line)}.case-metric:not(:first-child){padding-left:1.25rem}.case-metric:last-child{border-right:none}.case-metric h4{font-size:clamp(1.9rem,3vw,2.6rem);font-weight:600;letter-spacing:-.04em;line-height:1;color:var(--ink);margin-bottom:.6rem}.case-metric p{font-size:.82rem;color:var(--ink-4);line-height:1.4}.case-columns{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(1.5rem,3vw,3rem);margin-top:clamp(3rem,6vh,5rem);padding-top:1.75rem;border-top:1px solid var(--line)}.case-column .eyebrow{color:var(--ink);margin-bottom:1rem}.case-column p{color:var(--ink-3);line-height:1.75;font-size:.95rem}.case-architecture{margin-top:clamp(3rem,6vh,5rem);padding-top:1.75rem;border-top:1px solid var(--line)}.case-architecture .eyebrow{color:var(--ink);margin-bottom:1.5rem}.case-diagram{width:100%;height:auto;color:var(--ink-3)}.case-diagram rect{stroke:var(--line-strong);fill:var(--bg)}.case-diagram line,.case-diagram path{stroke:var(--ink-4)}.case-diagram .node-title{fill:var(--ink);stroke:none;font-family:var(--font);font-size:15px;font-weight:600;letter-spacing:-.01em}.case-diagram .node-sub{fill:var(--ink-4);stroke:none;font-family:var(--mono);font-size:11px;letter-spacing:.02em}@media(max-width:768px){.case-metrics{grid-template-columns:1fr;border-top:none;margin-top:2rem}.case-metric{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;padding:1rem 0;border-right:none;border-top:1px solid var(--line)}.case-metric:not(:first-child){padding-left:0}.case-metric h4{margin-bottom:0}.case-columns{grid-template-columns:1fr;gap:2rem}.case-diagram{min-width:640px}.case-architecture{overflow-x:auto;-webkit-overflow-scrolling:touch}}.leadership{padding:var(--section-y) 0;background:var(--bg)}.leadership-grid{display:flex;flex-direction:column}.leadership-card{display:grid;grid-template-columns:minmax(0,220px) minmax(0,1fr);gap:clamp(1.5rem,4vw,4rem);padding:2.5rem 0;border-top:1px solid var(--line)}.leadership-card:first-child{border-top:none;padding-top:0}.leadership-side{display:flex;flex-direction:column;gap:.75rem;position:sticky;top:6rem;align-self:start}.leadership-duration{color:var(--ink)}.leadership-header{margin-bottom:1.25rem}.leadership-title{font-size:clamp(1.2rem,1.8vw,1.45rem);margin-bottom:.3rem;color:var(--ink);font-weight:600;letter-spacing:-.02em}.organization{font-size:.98rem;color:var(--ink-3);font-weight:500}.leadership-responsibilities{max-width:68ch}.leadership-responsibilities li{font-size:.97rem}@media(max-width:768px){.leadership-card{grid-template-columns:1fr;gap:1rem;padding:2rem 0}.leadership-side{position:static;flex-direction:row;flex-wrap:wrap;align-items:center;gap:.5rem 1.5rem}}.skills{padding:var(--section-y) 0;background:var(--bg)}.skills .section-title{margin-bottom:clamp(2rem,5vh,3rem)}.skills-marquee{width:100%;overflow:hidden;padding:2.25rem 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);-webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 12%,#000 88%,transparent 100%);mask-image:linear-gradient(90deg,transparent 0%,#000 12%,#000 88%,transparent 100%)}.skills-marquee-track{display:flex;align-items:center;width:max-content;animation:skills-scroll 38s linear infinite;will-change:transform}.skills-marquee:hover .skills-marquee-track{animation-play-state:paused}.skill-item{display:flex;align-items:center;padding:0 clamp(2rem,4vw,3.5rem);white-space:nowrap;flex-shrink:0;color:var(--ink);transition:opacity .4s var(--ease)}.skills-marquee:hover .skill-item{opacity:.4}.skills-marquee .skill-item:hover{opacity:1}.skill-icon{font-size:2.25rem;display:flex;align-items:center;color:var(--ink)}@keyframes skills-scroll{0%{transform:translate(0)}to{transform:translate(-50%)}}@media(max-width:768px){.skills-marquee{padding:1.75rem 0}.skill-icon{font-size:1.75rem}}.contact{padding:var(--section-y) 0;background:var(--bg)}.contact-content{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);gap:clamp(2.5rem,6vw,6rem);align-items:start}.contact-intro h4{font-size:clamp(1.4rem,2.4vw,1.9rem);color:var(--ink);font-weight:600;letter-spacing:-.025em;margin-bottom:1rem}.contact-intro p{color:var(--ink-3);line-height:1.7;font-size:1rem;margin-bottom:1.75rem;max-width:34ch}.contact-email{font-size:.95rem;font-weight:500}.contact-card{width:100%}.contact-form{display:flex;flex-direction:column;gap:1.75rem}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-group label{font-family:var(--mono);font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-4);transition:color .3s var(--ease)}.form-group:focus-within label{color:var(--ink)}.form-group input,.form-group textarea{font-family:inherit;font-size:1rem;padding:.7rem 0;border:none;border-bottom:1px solid var(--line-strong);border-radius:0;background:transparent;color:var(--ink);resize:vertical;transition:border-color .4s var(--ease)}.form-group input::placeholder,.form-group textarea::placeholder{color:var(--ink-5)}.form-group input:focus,.form-group textarea:focus{outline:none;border-bottom-color:var(--ink)}.cta-btn{align-self:flex-start;margin-top:.5rem}.cta-btn svg{font-size:.8em;transition:transform .45s var(--ease)}.cta-btn:hover svg{transform:translate(4px)}@media(max-width:768px){.contact-content{grid-template-columns:1fr;gap:2.5rem}.cta-btn{align-self:stretch}}.contact-submit-wrap{align-self:flex-start;margin-top:.5rem}.cta-btn:disabled{opacity:.6;cursor:progress}.contact-error{font-size:.88rem;color:var(--ink);padding:.75rem 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.contact-success{display:flex;flex-direction:column;align-items:flex-start;gap:.75rem;padding:1.5rem 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.contact-success-icon{display:inline-flex;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;border-radius:50%;border:1px solid var(--ink);color:var(--ink);font-size:.8rem;margin-bottom:.5rem}.contact-success h5{font-size:1.25rem;font-weight:600;letter-spacing:-.02em;color:var(--ink)}.contact-success p{color:var(--ink-3);font-size:.95rem}.contact-reset{background:none;border:none;font:inherit;font-size:.9rem;font-weight:500;cursor:pointer;margin-top:.5rem}@media(max-width:768px){.contact-submit-wrap{align-self:stretch;width:100%}.contact-submit-wrap .cta-btn{width:100%}}.footer{background:var(--ink);color:var(--bg);padding:0 0 2rem}.footer-ticker{overflow:hidden;border-bottom:1px solid rgba(var(--bg-rgb),.14);padding:1.1rem 0;margin-bottom:clamp(3rem,6vh,4.5rem);-webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}.footer-ticker-track{display:flex;width:max-content;animation:footer-ticker 40s linear infinite;will-change:transform}.footer-ticker:hover .footer-ticker-track{animation-play-state:paused}.footer-ticker-item{display:inline-flex;align-items:center;gap:2rem;padding-right:2rem;font-family:var(--mono);font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:rgba(var(--bg-rgb),.75);white-space:nowrap}.footer-ticker-dot{width:4px;height:4px;border-radius:50%;background:rgba(var(--bg-rgb),.4)}@keyframes footer-ticker{0%{transform:translate(0)}to{transform:translate(-50%)}}.footer-content{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:2rem;align-items:start;margin-bottom:3rem}.footer-info h3{font-size:1.15rem;font-weight:600;letter-spacing:-.01em;margin-bottom:.75rem;color:var(--bg)}.footer-info p{color:rgba(var(--bg-rgb),.55);line-height:1.6;font-size:.95rem;max-width:40ch}.footer-links{display:flex;flex-direction:column;align-items:flex-end;gap:.6rem}.footer-links a{display:inline-flex;align-items:center;gap:.6rem;color:rgba(var(--bg-rgb),.65);font-size:.9rem;text-decoration:none;transition:color .4s var(--ease),transform .4s var(--ease)}.footer-links a svg{font-size:.9em}.footer-links a:hover{color:var(--bg);transform:translate(-4px)}.footer-bottom{display:flex;justify-content:space-between;gap:1rem;border-top:1px solid rgba(var(--bg-rgb),.14);padding-top:1.5rem}.footer-time{font-variant-numeric:tabular-nums}.footer-bottom p{color:rgba(var(--bg-rgb),.45);font-family:var(--mono);font-size:.7rem;letter-spacing:.06em}@media(max-width:768px){.footer-content{grid-template-columns:1fr;gap:2rem}.footer-links{align-items:flex-start}.footer-bottom{flex-direction:column;gap:.4rem}}
