@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;450;500;550;600;650;700;750&display=swap";*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;font-weight:inherit;line-height:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]{display:none}*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }.container{width:100%}@media (min-width: 640px){.container{max-width:640px}}@media (min-width: 768px){.container{max-width:768px}}@media (min-width: 1024px){.container{max-width:1024px}}@media (min-width: 1280px){.container{max-width:1280px}}@media (min-width: 1536px){.container{max-width:1536px}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.visible{visibility:visible}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.top-0{top:0px}.left-0{left:0px}.bottom-0{bottom:0px}.top-10{top:2.5rem}.right-10{right:2.5rem}.right-0{right:0px}.top-16{top:4rem}.left-16{left:4rem}.z-10{z-index:10}.z-50{z-index:50}.z-40{z-index:40}.my-7{margin-top:1.75rem;margin-bottom:1.75rem}.my-1{margin-top:.25rem;margin-bottom:.25rem}.my-auto{margin-top:auto;margin-bottom:auto}.mx-auto{margin-left:auto;margin-right:auto}.my-2{margin-top:.5rem;margin-bottom:.5rem}.my-20{margin-top:5rem;margin-bottom:5rem}.mx-5{margin-left:1.25rem;margin-right:1.25rem}.my-12{margin-top:3rem;margin-bottom:3rem}.mt-4{margin-top:1rem}.mt-8{margin-top:2rem}.mt-24{margin-top:6rem}.ml-32{margin-left:8rem}.mt-12{margin-top:3rem}.mt-10{margin-top:2.5rem}.mt-3{margin-top:.75rem}.mt-16{margin-top:4rem}.block{display:block}.flex{display:flex}.hidden{display:none}.h-16{height:4rem}.h-\[60vh\]{height:60vh}.h-full{height:100%}.h-\[50\%\]{height:50%}.h-24{height:6rem}.h-1{height:.25rem}.h-0{height:0px}.max-h-\[800px\]{max-height:800px}.w-\[87\%\]{width:87%}.w-\[30\%\]{width:30%}.w-full{width:100%}.w-24{width:6rem}.w-max{width:-moz-max-content;width:max-content}.w-10{width:2.5rem}.w-0{width:0px}.w-32{width:8rem}.w-\[39\%\]{width:39%}.max-w-xl{max-width:36rem}.max-w-sm{max-width:24rem}.max-w-7xl{max-width:80rem}.max-w-6xl{max-width:72rem}.rotate-90{--tw-rotate: 90deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-45{--tw-rotate: 45deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-\[-45deg\]{--tw-rotate: -45deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.list-none{list-style-type:none}.flex-row{flex-direction:row}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-evenly{justify-content:space-evenly}.gap-10{gap:2.5rem}.gap-5{gap:1.25rem}.gap-4{gap:1rem}.gap-2{gap:.5rem}.gap-1{gap:.25rem}.gap-20{gap:5rem}.gap-3{gap:.75rem}.gap-40{gap:10rem}.gap-6{gap:1.5rem}.overflow-hidden{overflow:hidden}.rounded-xl{border-radius:.75rem}.rounded-lg{border-radius:.5rem}.rounded-full{border-radius:9999px}.rounded-2xl{border-radius:1rem}.rounded-md{border-radius:.375rem}.border-2{border-width:2px}.border-\[1px\]{border-width:1px}.border-blue-500{--tw-border-opacity: 1;border-color:rgb(59 130 246 / var(--tw-border-opacity))}.border-dark{--tw-border-opacity: 1;border-color:rgb(17 24 39 / var(--tw-border-opacity))}.border-b-white{--tw-border-opacity: 1;border-bottom-color:rgb(255 255 255 / var(--tw-border-opacity))}.border-t-red-500{--tw-border-opacity: 1;border-top-color:rgb(239 68 68 / var(--tw-border-opacity))}.bg-transparent{background-color:transparent}.bg-black{--tw-bg-opacity: 1;background-color:rgb(0 0 0 / var(--tw-bg-opacity))}.bg-gray-400{--tw-bg-opacity: 1;background-color:rgb(156 163 175 / var(--tw-bg-opacity))}.bg-gradient-to-b{background-image:linear-gradient(to bottom,var(--tw-gradient-stops))}.bg-none{background-image:none}.from-red-500{--tw-gradient-from: #ef4444;--tw-gradient-to: rgb(239 68 68 / 0);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.to-white{--tw-gradient-to: #ffffff}.bg-clip-text{-webkit-background-clip:text;background-clip:text}.p-2{padding:.5rem}.px-4{padding-left:1rem;padding-right:1rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-16{padding-top:4rem;padding-bottom:4rem}.py-28{padding-top:7rem;padding-bottom:7rem}.px-10{padding-left:2.5rem;padding-right:2.5rem}.py-5{padding-top:1.25rem;padding-bottom:1.25rem}.px-1{padding-left:.25rem;padding-right:.25rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.px-2{padding-left:.5rem;padding-right:.5rem}.pb-20{padding-bottom:5rem}.pt-28{padding-top:7rem}.pb-16{padding-bottom:4rem}.pt-2{padding-top:.5rem}.text-center{text-align:center}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.text-6xl{font-size:3.75rem;line-height:1}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-4xl{font-size:2.25rem;line-height:2.5rem}.text-base{font-size:1rem;line-height:1.5rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.text-2xl{font-size:1.5rem;line-height:2rem}.text-5xl{font-size:3rem;line-height:1}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-7xl{font-size:4.5rem;line-height:1}.font-bold{font-weight:700}.font-semibold{font-weight:600}.font-light{font-weight:300}.text-transparent{color:transparent}.text-\[\#75C60C\]{--tw-text-opacity: 1;color:rgb(117 198 12 / var(--tw-text-opacity))}.text-blue-400{--tw-text-opacity: 1;color:rgb(96 165 250 / var(--tw-text-opacity))}.text-gray-800{--tw-text-opacity: 1;color:rgb(31 41 55 / var(--tw-text-opacity))}.text-\[\#5cceee\]{--tw-text-opacity: 1;color:rgb(92 206 238 / var(--tw-text-opacity))}.text-\[\#35aaa4\]{--tw-text-opacity: 1;color:rgb(53 170 164 / var(--tw-text-opacity))}.text-gray-900{--tw-text-opacity: 1;color:rgb(17 24 39 / var(--tw-text-opacity))}.text-blue-600{--tw-text-opacity: 1;color:rgb(37 99 235 / var(--tw-text-opacity))}.text-gray-500{--tw-text-opacity: 1;color:rgb(107 114 128 / var(--tw-text-opacity))}.text-yellow-500{--tw-text-opacity: 1;color:rgb(234 179 8 / var(--tw-text-opacity))}.text-gray-700{--tw-text-opacity: 1;color:rgb(55 65 81 / var(--tw-text-opacity))}.shadow-lg{--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.ring{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.blur{--tw-blur: blur(8px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.backdrop-blur-md{--tw-backdrop-blur: blur(12px);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-blur-sm{--tw-backdrop-blur: blur(4px);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-blur-xl{--tw-backdrop-blur: blur(24px);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-300{transition-duration:.3s}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}:root{font-family:Inter,sans-serif;color:#131314;background:#fff;font-synthesis:none;--ink: #131314;--muted: #626260;--paper: #e3e3e1;--line: #dededb;--gutter: clamp(24px, 5.55vw, 100px)}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;min-width:320px;background:#fff}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}button,a,summary{-webkit-tap-highlight-color:transparent}button,summary{cursor:pointer}button{color:inherit}img{display:block;max-width:100%}button,a,summary,input,textarea{outline-offset:6px}:focus-visible{outline:2px solid #167596}::-moz-selection{background:#131314;color:#fff}::selection{background:#131314;color:#fff}h1,h2,h3,p{margin:0}.skip-link{position:fixed;top:-100px;left:20px;z-index:30;padding:12px 20px;background:white}.skip-link:focus{top:12px}.section{padding:112px var(--gutter)}.section-label{font-size:15px;color:var(--muted);white-space:nowrap}h2{font-size:clamp(42px,5.7vw,88px);font-weight:550;line-height:1.08;letter-spacing:-.055em}.muted{color:#999995}.small-note,.eyebrow{font-size:10px;letter-spacing:.12em;line-height:1.6}.text-link{display:inline-flex;align-items:center;gap:12px;font-weight:500;text-decoration:underline;text-underline-offset:5px;background:transparent;border:0;padding:0}.text-link:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor;flex-shrink:0}.text-link svg,.project-links svg{transition:transform .2s}.text-link:hover svg,.project-links a:hover svg{transform:translate(3px,-3px)}.hero{height:min(940px,100svh);min-height:700px;position:relative;overflow:hidden;background:var(--paper);isolation:isolate}.nav-pill{position:fixed;top:20px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:22px;border-radius:99px;padding:10px 20px;background:rgba(255,255,255,.96);z-index:20;white-space:nowrap;box-shadow:0 5px 30px #00000012;backdrop-filter:blur(16px)}.wordmark{font-size:24px;line-height:1;letter-spacing:-.12em;font-weight:750;padding-right:20px;border-right:1px solid var(--line)}.wordmark span{color:#74746d}.nav-links{display:flex;gap:15px;font-size:12px;color:var(--muted)}.nav-links a:hover{color:var(--ink);text-decoration:underline;text-underline-offset:4px}.nav-contact{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:600;border-left:1px solid var(--line);padding-left:20px}@keyframes heroFadeDown{0%{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:translateY(0)}}@keyframes heroFadeUp{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@keyframes heroPortraitEnter{0%{opacity:0;transform:translate(-50%,24px) scale(.96)}to{opacity:1;transform:translate(-50%) scale(1)}}.hero-topline{position:absolute;top:117px;left:var(--gutter);right:var(--gutter);display:flex;justify-content:space-between;font-size:10px;letter-spacing:.12em;color:#656560;animation:heroFadeDown .8s cubic-bezier(.16,1,.3,1) forwards}.hero-portrait{position:absolute;top:16%;bottom:0;left:50%;transform:translate(-50%);width:47%;max-width:700px;animation:heroPortraitEnter 1s cubic-bezier(.16,1,.3,1) .1s both}.hero-portrait img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;-o-object-position:50% 20%;object-position:50% 20%}.hero-intro{position:absolute;left:var(--gutter);top:57%;max-width:25%;animation:heroFadeUp .9s cubic-bezier(.16,1,.3,1) .2s both}.hero-intro .eyebrow{display:block;margin-bottom:15px;color:#626260}.hero-intro p{font-size:clamp(18px,1.65vw,25px);font-weight:500;line-height:1.35;letter-spacing:-.025em}.pill-button{display:inline-flex;align-items:center;justify-content:center;gap:22px;padding:18px 27px;color:#fff;background:var(--ink);border-radius:60px;transition:background .2s,transform .2s;font-size:20px}.pill-button img{flex-shrink:0}.pill-button:hover{background:#333;transform:translateY(-3px)}.hero-cta{position:absolute;right:var(--gutter);top:59%;animation:heroFadeUp .9s cubic-bezier(.16,1,.3,1) .3s both}.hero-name{position:absolute;bottom:58px;left:50%;transform:translate(-50%);width:-moz-max-content;width:max-content;font-size:clamp(100px,14.5vw,230px);font-weight:600;line-height:1;letter-spacing:-.075em;color:#fff;mix-blend-mode:difference;animation:heroFadeUp 1.1s cubic-bezier(.16,1,.3,1) .15s both}.hero-name span{letter-spacing:-.12em}.hero-bottom{position:absolute;bottom:22px;left:var(--gutter);right:var(--gutter);display:flex;align-items:center;justify-content:space-between;font-size:9px;letter-spacing:.09em;animation:heroFadeUp .8s cubic-bezier(.16,1,.3,1) .4s both}.hero-bottom a{display:flex;align-items:center;gap:10px;padding:6px 0}.about-section{display:grid;grid-template-columns:1fr 2.15fr;gap:60px}.section-aside{display:flex;flex-direction:column;justify-content:space-between;gap:48px}.section-aside .section-label{padding-top:14px}.about-portrait{width:170px;height:210px;-o-object-fit:cover;object-fit:cover;-o-object-position:center;object-position:center}.about-copy{display:grid;grid-template-columns:1fr 2fr;gap:45px;margin-top:48px;font-size:15px;line-height:1.8;color:var(--muted)}.about-role{color:var(--ink);font-size:13px}.about-role span{display:inline-block;color:var(--muted);margin-top:10px}.about-copy p+p{margin-top:22px}.about-copy p a{color:var(--ink);text-decoration:underline;text-underline-offset:3px}.about-copy .text-link{margin-top:30px;color:var(--ink)}.tech-strip{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:35px var(--gutter);border-block:1px solid #eeeee9;flex-wrap:wrap}.tech-strip a{display:flex;align-items:center;gap:12px;font-size:20px;letter-spacing:-.04em;font-weight:650}.tech-strip img{width:30px;height:30px;-o-object-fit:contain;object-fit:contain;filter:grayscale(1);transition:filter .2s}.tech-strip a:hover img{filter:grayscale(0)}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:50px}.section-heading h2{font-size:clamp(36px,4.3vw,64px)}.section-heading .section-label{align-self:flex-start;padding-top:10px}.section-heading .small-note{text-align:right;max-width:150px;color:var(--muted)}.cursor-accent{display:none;position:fixed;width:28px;height:28px;border:1px solid #777;border-radius:50%;transform:translate(-50%,-50%);pointer-events:none;z-index:40;opacity:0;transition:width .18s,height .18s,opacity .18s}@media (pointer: fine) and (prefers-reduced-motion: no-preference){.cursor-accent{display:block}.cursor-accent[data-visible=true]{opacity:.6}.cursor-accent[data-interactive=true]{width:46px;height:46px}}.project-reel{position:relative;width:100%;height:85svh;min-height:420px;max-height:1000px;overflow:hidden;background:#dfdfdb}.project-reel video{display:block;width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.reel-toggle{position:absolute;bottom:24px;right:24px;display:grid;place-items:center;width:44px;height:44px;border:1px solid #ffffff80;border-radius:50%;color:#fff;background:#131314a6;backdrop-filter:blur(12px)}.reel-toggle:hover{background:#131314}.reveal-up{opacity:0;transform:translateY(24px);transition:opacity .7s cubic-bezier(.16,1,.3,1),transform .7s cubic-bezier(.16,1,.3,1);will-change:opacity,transform}.reveal-up.is-revealed{opacity:1;transform:translateY(0)}.archive-grid .project-card{transition-delay:calc(var(--card-index, 0) * 70ms)}.project-image{display:block;position:relative;overflow:hidden;background:#ecece9;min-height:220px}.skeleton-placeholder{position:absolute;inset:0;background:linear-gradient(90deg,#ecece9 0%,#f6f6f2 50%,#ecece9 100%);background-size:200% 100%;animation:skeletonShimmer 1.5s infinite ease-in-out;z-index:1}@keyframes skeletonShimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.project-img{width:100%;height:auto;display:block;opacity:0;transition:opacity .45s cubic-bezier(.16,1,.3,1),transform .5s cubic-bezier(.16,1,.3,1);position:relative;z-index:2}.project-img.is-loaded{opacity:1}.project-image:hover .project-img.is-loaded{transform:scale(1.025)}.featured-card .project-image:after{content:"";position:absolute;inset:45% 0 0;background:linear-gradient(transparent,#000b);pointer-events:none;z-index:3}.project-caption{position:absolute;bottom:27px;left:28px;right:28px;z-index:4;display:flex;flex-wrap:wrap;gap:6px 14px;align-items:baseline;color:#fff}.project-caption h3{font-size:19px;font-weight:550}.project-caption span{font-size:13px;color:#e0e0de}.project-visit{position:absolute;right:20px;top:20px;width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:#fff;color:var(--ink);font-size:24px;z-index:4;transition:transform .2s}.project-image:hover .project-visit{transform:rotate(45deg)}.work-end{text-align:center;max-width:560px;margin:48px auto 0}.work-end p{font-size:16px;line-height:1.8;color:var(--muted);margin-bottom:24px}.expertise-section{min-height:600px;padding:80px var(--gutter);color:#fff;background-size:cover;background-position:center;display:flex;flex-direction:column;justify-content:space-between;gap:50px;position:relative}.expertise-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:30px}.expertise-heading h2{font-size:clamp(36px,4.2vw,64px);letter-spacing:-.03em;margin-top:10px}.expertise-section .section-label{color:#ddd}.clients-subhead{max-width:320px;font-size:14px;line-height:1.7;color:#d0d0cc}.partners-cluster{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:28px 44px;padding:30px 0;max-width:1040px;margin:0 auto}.partner-logo-item{display:flex;align-items:center;justify-content:center;padding:8px 12px;background:transparent;transition:transform .25s ease,opacity .45s ease;opacity:0;transform:translateY(12px) scale(.96)}.partners-cluster.is-revealed .partner-logo-item{opacity:.85;transform:translateY(0) scale(1);transition-delay:calc(var(--logo-index, 0) * 28ms)}.partner-logo-item:hover{transform:translateY(-4px) scale(1.08)!important;opacity:1!important;transition-delay:0s!important}.partner-logo-item img{width:auto;max-width:160px;-o-object-fit:contain;object-fit:contain;display:block;filter:drop-shadow(0 2px 8px rgba(0,0,0,.4))}.clients-footer{display:flex;justify-content:space-between;align-items:center;border-top:1px solid rgba(255,255,255,.15);padding-top:20px;font-size:12px;color:#c4c4be}.expertise-signature{font-size:12px}.heading-note{font-size:13px;color:var(--muted);line-height:1.7;max-width:250px}.technology-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0 36px;align-items:flex-start}.technology-item{border-bottom:1px solid var(--line)}.technology-item summary{display:flex;align-items:center;gap:16px;padding:22px 0;list-style:none;font-size:17px}.technology-item summary::-webkit-details-marker{display:none}.technology-item img{width:30px;height:30px;-o-object-fit:contain;object-fit:contain}.detail-toggle{margin-left:auto;color:var(--muted);transition:transform .2s}.technology-item[open] .detail-toggle{transform:rotate(45deg)}.technology-item>p{color:var(--muted);line-height:1.7;font-size:13px;padding:0 0 24px 46px}.archive-section{background:#f6f6f3}.archive-toolbar{display:flex;justify-content:space-between;gap:24px;align-items:center}.filter-list{display:flex;flex-wrap:wrap;gap:8px}.filter-list button{border:1px solid #d6d6d2;border-radius:40px;padding:11px 17px;background:transparent;font-size:12px;transition:background .2s,color .2s}.filter-list button[aria-pressed=true],.filter-list button:hover{background:var(--ink);color:#fff;border-color:var(--ink)}.search-label input{border:0;border-bottom:1px solid #bbb;border-radius:0;padding:12px 0;background:transparent;font-size:14px;width:220px}.result-count{font-size:11px;color:var(--muted);margin:24px 0}.archive-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:45px 24px}.archive-grid .project-visit{width:32px;height:32px;font-size:19px;top:12px;right:12px}.project-info{padding-top:20px}.project-info h3{font-weight:550;font-size:18px;letter-spacing:-.025em;line-height:1.4}.project-info>p{font-size:12px;line-height:1.8;color:var(--muted);margin-top:12px}.tags{list-style:none;padding:0;margin:16px 0;display:flex;flex-wrap:wrap;gap:5px}.tags li{font-size:10px;border:1px solid var(--line);border-radius:3px;padding:3px 7px;color:#52524f}.project-links{display:flex;gap:18px;flex-wrap:wrap}.project-links a{display:inline-flex;align-items:center;gap:6px;font-size:11px;text-decoration:underline;text-underline-offset:4px}.empty-state{padding:80px 20px;text-align:center}.empty-state p{color:var(--muted);margin:12px 0 24px}.contact-section{padding-bottom:24px}.contact-top{display:flex;align-items:flex-end;justify-content:space-between;gap:24px}.contact-top p{font-size:20px;line-height:1.45;letter-spacing:-.025em}.social-links{display:flex;gap:14px}.social-links a{display:grid;place-items:center;width:40px;height:40px;border:1px solid var(--line);border-radius:50%;font-size:18px;transition:background .2s,color .2s}.social-links a:hover{color:#fff;background:var(--ink)}.contact-title{font-size:clamp(65px,13vw,210px);font-weight:550;letter-spacing:-.065em;margin:40px 0 60px;white-space:nowrap}.contact-title span{font-weight:400}.contact-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:100px}.contact-info>a{font-size:clamp(18px,2vw,26px);letter-spacing:-.025em}.contact-info>p{font-size:14px;color:var(--muted);margin-top:16px}.contact-info>.small-note{margin-top:40px;font-size:10px}.contact-form label{border-bottom:1px solid var(--line);display:flex;align-items:baseline;padding:22px 0;gap:30px}.contact-form label:first-child{padding-top:0}.contact-form label>span:first-child{font-size:14px}.contact-form input,.contact-form textarea{background:transparent;border:0;border-radius:0;width:100%;min-width:0;font-size:18px;color:var(--ink);resize:vertical}.contact-form input::-moz-placeholder,.contact-form textarea::-moz-placeholder{color:#73736f;opacity:1}.contact-form input::placeholder,.contact-form textarea::placeholder{color:#73736f;opacity:1}.contact-form .text-link{margin-top:30px;font-size:20px}.form-note,.form-status{font-size:12px;color:var(--muted);line-height:1.6;margin-top:15px}.form-status:empty{display:none}.footer-bottom{display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--line);padding-top:24px;margin-top:100px;font-size:11px;color:var(--muted)}@media (min-width: 1800px){.section,.tech-strip,.expertise-section{padding-left:max(var(--gutter),calc((100vw - 1600px)/2));padding-right:max(var(--gutter),calc((100vw - 1600px)/2))}}@media (max-width: 1000px){.hero{min-height:660px;max-height:820px}.hero-intro .eyebrow{max-width:120px}.hero-cta{padding:15px 20px;font-size:16px;gap:12px}.section{padding-block:80px}.about-section{grid-template-columns:1fr 2.8fr;gap:30px}.about-copy{grid-template-columns:1fr;gap:24px}.about-portrait{width:140px;height:180px}.tech-strip{justify-content:center;gap:26px 40px}.tech-strip a{font-size:17px}.section-heading{flex-wrap:wrap}.section-heading .section-label{width:100%;padding:0}.expertise-signature{display:none}.archive-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.contact-grid{gap:40px}}@media (max-width: 600px){:root{--gutter: 20px}html{scroll-padding-top:90px}.hero{height:780px;min-height:0;max-height:none}.nav-pill{top:16px;gap:12px;padding:12px 15px;width:calc(100% - 32px);justify-content:space-between}.wordmark{padding-right:13px;font-size:22px}.nav-links{gap:11px;font-size:11px}.nav-contact{padding-left:12px;font-size:11px;gap:3px}.hero-topline{top:94px;font-size:8px}.hero-portrait{top:225px;bottom:0;width:100%;max-width:none}.hero-portrait img{-o-object-position:center top;object-position:center top}.hero-intro{top:139px;max-width:none}.hero-intro .eyebrow{display:none}.hero-intro p{font-size:21px}.hero-cta{top:146px;font-size:14px;padding:12px 16px;gap:10px}.hero-name{font-size:14.6vw;bottom:63px}.hero-bottom{color:#fff;font-size:8px;gap:15px}.hero-bottom>span{max-width:135px}.section{padding-block:64px}.about-section{grid-template-columns:1fr;gap:28px}.section-aside{flex-direction:row;align-items:center}.section-aside .section-label{padding:0}.about-portrait{width:60px;height:74px}h2{font-size:43px}.about-copy{margin-top:30px;font-size:14px}.about-role span{margin-top:3px}.tech-strip{padding-block:28px;justify-content:flex-start;display:grid;grid-template-columns:1fr 1fr;gap:25px}.tech-strip a{font-size:17px}.tech-strip img{width:25px;height:25px}.section-heading{align-items:flex-start;gap:20px;margin-bottom:30px}.section-heading h2{font-size:40px}.section-heading .small-note{text-align:left;max-width:none}.featured-grid{grid-template-columns:1fr;gap:12px}.project-caption{left:18px;right:18px;bottom:20px;flex-direction:column;gap:5px}.project-caption h3{font-size:17px}.project-caption span{font-size:11px}.work-end{margin-top:30px}.work-end p{font-size:14px}.expertise-section{min-height:520px;padding:48px var(--gutter);gap:32px}.expertise-heading{flex-direction:column;align-items:flex-start;gap:16px}.expertise-heading h2{font-size:34px}.clients-subhead{font-size:13px;max-width:none}.partners-cluster{gap:18px 22px;padding:24px 0}.partner-logo-item{padding:4px 6px}.partner-logo-item img{max-height:28px!important;max-width:110px}.clients-footer{flex-direction:column;align-items:flex-start;gap:8px;font-size:11px}.technology-grid{grid-template-columns:1fr 1fr;gap:0 20px}.technology-item summary{font-size:13px;gap:8px;padding:20px 0}.technology-item img{width:23px;height:23px}.technology-item>p{padding-left:0;font-size:12px}.archive-toolbar{align-items:stretch;flex-direction:column;gap:18px}.filter-list{gap:6px}.filter-list button{font-size:11px;padding:10px 12px}.search-label input{width:100%}.archive-grid{grid-template-columns:1fr;gap:38px}.project-info>p{font-size:13px}.project-links a{font-size:12px;padding-block:5px}.contact-top{align-items:flex-start;flex-direction:column}.contact-top p{font-size:18px}.contact-title{font-size:14vw;margin:32px 0 40px}.contact-grid{grid-template-columns:1fr;gap:45px}.contact-info>.small-note{margin-top:20px}.contact-form input,.contact-form textarea{font-size:16px}.contact-form label{gap:22px}.footer-bottom{margin-top:60px;flex-wrap:wrap;gap:16px;font-size:10px}.footer-bottom span:nth-child(2){display:none}.contact-section{padding-bottom:24px}}@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}.hover\:border-2:hover{border-width:2px}.hover\:bg-blue-900:hover{--tw-bg-opacity: 1;background-color:rgb(30 58 138 / var(--tw-bg-opacity))}.hover\:bg-blue-400:hover{--tw-bg-opacity: 1;background-color:rgb(96 165 250 / var(--tw-bg-opacity))}.hover\:px-2:hover{padding-left:.5rem;padding-right:.5rem}.hover\:text-white:hover{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-90:hover{opacity:.9}.hover\:opacity-80:hover{opacity:.8}.group:hover .group-hover\:text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}.dark .dark\:border-white{--tw-border-opacity: 1;border-color:rgb(255 255 255 / var(--tw-border-opacity))}.dark .dark\:bg-white{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity))}.dark .dark\:text-gray-400{--tw-text-opacity: 1;color:rgb(156 163 175 / var(--tw-text-opacity))}.dark .dark\:text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}.dark .dark\:text-yellow-400{--tw-text-opacity: 1;color:rgb(250 204 21 / var(--tw-text-opacity))}.dark .dark\:text-gray-300{--tw-text-opacity: 1;color:rgb(209 213 219 / var(--tw-text-opacity))}.dark .dark\:text-gray-200{--tw-text-opacity: 1;color:rgb(229 231 235 / var(--tw-text-opacity))}@media (min-width: 640px){.sm\:flex{display:flex}.sm\:hidden{display:none}}@media (min-width: 768px){.md\:mx-auto{margin-left:auto;margin-right:auto}.md\:my-16{margin-top:4rem;margin-bottom:4rem}.md\:mt-0{margin-top:0}.md\:h-\[400px\]{height:400px}.md\:h-\[85vh\]{height:85vh}.md\:h-\[80vh\]{height:80vh}.md\:max-h-\[800px\]{max-height:800px}.md\:max-h-\[500px\]{max-height:500px}.md\:max-h-\[191px\]{max-height:191px}.md\:min-h-\[190\.3px\]{min-height:190.3px}.md\:w-full{width:100%}.md\:w-\[350px\]{width:350px}.md\:w-24{width:6rem}.md\:w-\[23\%\]{width:23%}.md\:max-w-6xl{max-width:72rem}.md\:max-w-sm{max-width:24rem}.md\:flex-row{flex-direction:row}.md\:items-center{align-items:center}.md\:gap-24{gap:6rem}.md\:px-10{padding-left:2.5rem;padding-right:2.5rem}.md\:pt-28{padding-top:7rem}.md\:pb-16{padding-bottom:4rem}.md\:text-justify{text-align:justify}.md\:text-sm{font-size:.875rem;line-height:1.25rem}.md\:text-base{font-size:1rem;line-height:1.5rem}.md\:text-5xl{font-size:3rem;line-height:1}.md\:text-xs{font-size:.75rem;line-height:1rem}.md\:text-3xl{font-size:1.875rem;line-height:2.25rem}.md\:text-lg{font-size:1.125rem;line-height:1.75rem}}@media (min-width: 1280px){.xl\:block{display:block}.xl\:h-\[80vh\]{height:80vh}}@media (min-width: 1536px){.\32xl\:h-\[85vh\]{height:85vh}.\32xl\:text-lg{font-size:1.125rem;line-height:1.75rem}}
