/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:root,:host{--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}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;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.collapse{visibility:collapse}.visible{visibility:visible}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.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,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#09090b;--surface:#18181b;--surface-2:#202024;--line:#27272a;--soft-line:#ffffff14;--text:#fafafa;--muted:#a1a1aa;--lime:#7c3aed;--accent-soft:#7c3aed24}*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--bg)}body{background:var(--bg);min-width:320px;color:var(--text);font-feature-settings:"ss01" 1, "ss02" 1;margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;overflow-x:hidden}body:before{content:"";z-index:-1;pointer-events:none;background-image:linear-gradient(#ffffff05 1px,#0000 1px),linear-gradient(90deg,#ffffff05 1px,#0000 1px);background-size:64px 64px;position:fixed;inset:0;-webkit-mask-image:linear-gradient(#000,#0000 72%);mask-image:linear-gradient(#000,#0000 72%)}a{color:inherit;text-decoration:none}button{color:inherit;font:inherit}::selection{color:#111;background:var(--lime)}:focus-visible{outline:2px solid var(--lime);outline-offset:4px}.shell{width:min(1160px,100% - 48px);margin-inline:auto}.site-header{z-index:20;background:0 0;border-bottom:1px solid #0000;transition:background .2s,border-color .2s,-webkit-backdrop-filter .2s,backdrop-filter .2s;position:sticky;top:0}.site-header.is-scrolled{border-bottom-color:var(--soft-line);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#09090bc7}.nav{justify-content:space-between;align-items:center;height:76px;display:flex}.wordmark{letter-spacing:-.07em;font-size:18px;font-weight:800}.wordmark span{color:var(--lime)}.nav-links{gap:27px;margin-left:64px;display:flex}.nav-links a,.nav-availability{color:#c4c2bd;font-size:13px;transition:color .2s}.nav-links a:hover,.nav-availability:hover{color:var(--text)}.nav-availability{align-items:center;gap:8px;display:flex}.nav-availability i,.hero-topline i{background:var(--lime);border-radius:50%;width:7px;height:7px;display:block;box-shadow:0 0 0 4px #d9fe6c17}.menu-button{cursor:pointer;background:0 0;border:0;padding:8px;display:none}.mobile-menu{display:none}.hero-section{flex-direction:column;min-height:calc(100svh - 76px);padding:25px 0 38px;display:flex}.hero-topline{color:#898782;letter-spacing:.04em;justify-content:space-between;font:11px/1.2 ui-monospace,SFMono-Regular,Menlo,monospace;display:flex}.hero-topline span:first-child{align-items:center;gap:9px;display:flex}.hero-layout{flex:1;grid-template-columns:1.15fr .85fr;align-items:center;gap:46px;padding:65px 0;display:grid}.hero-eyebrow,.contact-eyebrow,.case-header>p{color:var(--lime);text-transform:uppercase;letter-spacing:.08em;margin:0 0 18px;font:11px/1.2 ui-monospace,SFMono-Regular,Menlo,monospace}.hero-section h1{letter-spacing:-.075em;max-width:720px;margin:0;font-size:clamp(3.5rem,7vw,6.8rem);font-weight:500;line-height:.95}.hero-section h1 em,.contact-section h2 em{letter-spacing:-.07em;font-family:Georgia,serif;font-weight:400}.hero-summary{max-width:465px;color:var(--muted);letter-spacing:-.02em;margin:31px 0 0;font-size:17px;line-height:1.55}.hero-actions{gap:11px;margin-top:31px;display:flex}.button{border:1px solid #0000;justify-content:center;align-items:center;gap:10px;min-height:44px;padding:0 17px;font-size:13px;font-weight:600;transition:transform .2s,background .2s,border .2s;display:inline-flex}.button:hover{transform:translateY(-2px)}.button-primary{color:#12130e;background:var(--lime)}.button-quiet{color:#d6d4cf;border-color:var(--line)}.button-quiet:hover,.button-outline:hover{background:#ffffff0d}.button-outline{border-color:var(--line)}.hero-art{aspect-ratio:1;background:radial-gradient(circle,#cae87826,#0000 36%),radial-gradient(circle at 50% 48%,#242d1d,#0000 64%);border-radius:50%;justify-self:end;width:min(380px,35vw);position:relative}.hero-art:after{content:"";background:radial-gradient(circle at 34% 30%,#d9fe6c 0 2%,#9dbd40 8%,#202b18 36%,#0c0d0b 69%);border-radius:50%;position:absolute;inset:17%;box-shadow:0 0 70px #b1e53438}.hero-art-ring{border:1px solid #d9fe6c52;border-radius:50%;position:absolute}.ring-a{inset:4%}.ring-b{border-style:dashed;animation:25s linear infinite spin;inset:17%}.ring-c{border-color:#ffffff1f;inset:32%}.hero-art-core{z-index:1;color:#18200d;place-items:center;display:grid;position:absolute;inset:44%}.hero-coordinate{z-index:2;color:#dce6bd;letter-spacing:.04em;font:9px ui-monospace,SFMono-Regular,Menlo,monospace;position:absolute}.coordinate-a{top:19%;left:-8%}.coordinate-b{bottom:20%;right:-10%}.scroll-cue{color:#898782;align-items:center;gap:12px;width:max-content;font-size:11px;display:flex}.scroll-cue svg{color:var(--lime)}.section{padding:128px 0}.section-heading{max-width:690px}.section-label{color:#8f8d88;text-transform:uppercase;letter-spacing:.08em;gap:14px;margin-bottom:23px;font:11px ui-monospace,SFMono-Regular,Menlo,monospace;display:flex}.section-label span:first-child{color:var(--lime)}.section-heading h2{letter-spacing:-.064em;margin:0;font-size:clamp(2.3rem,4.6vw,4.4rem);font-weight:500;line-height:1.01}.about-section{border-top:1px solid var(--soft-line)}.about-grid{grid-template-columns:1.15fr .85fr;gap:11%;margin-top:64px;display:grid}.about-copy{max-width:625px;color:var(--muted);font-size:16px;line-height:1.68}.about-copy .intro{color:#e4e2dc;letter-spacing:-.035em;margin-top:0;font-size:24px;line-height:1.36}.text-link{color:var(--text);border-bottom:1px solid #686762;align-items:center;gap:8px;margin-top:19px;padding-bottom:3px;font-size:13px;font-weight:600;display:inline-flex}.about-note{background:#11120e;border:1px solid #d9fe6c2b;align-self:start;padding:24px}.about-note svg{color:var(--lime)}.about-note p{color:#d4d2cb;margin:18px 0 27px;font-size:14px;line-height:1.58}.about-note span{color:#85837d;font-size:12px}.skills-section{border-top:1px solid var(--soft-line)}.skills-grid{background:var(--line);border:1px solid var(--line);grid-template-columns:repeat(4,1fr);gap:1px;margin-top:63px;display:grid}.skill-card{background:var(--bg);min-height:275px;padding:27px 25px 23px;transition:background .25s}.skill-card:hover{background:var(--surface)}.skill-card>svg{color:var(--lime)}.skill-card h3{letter-spacing:-.03em;margin:47px 0 9px;font-size:17px}.skill-card p{color:#999792;min-height:62px;margin:0;font-size:13px;line-height:1.55}.skill-card div{flex-wrap:wrap;gap:6px;margin-top:21px;display:flex}.skill-card span,.case-tags span{color:#aaa8a2;border:1px solid var(--line);padding:5px 8px;font:10px ui-monospace,SFMono-Regular,Menlo,monospace}.work-section{border-top:1px solid var(--soft-line)}.work-heading{justify-content:space-between;align-items:end;display:flex}.work-heading .text-link{white-space:nowrap;margin-bottom:5px}.projects-grid{grid-template-columns:repeat(2,1fr);gap:18px;margin-top:62px;display:grid}.project-card{background:var(--surface);border:1px solid var(--line);min-height:488px;position:relative;overflow:hidden}.project-art{background:#161617;transition:transform .5s cubic-bezier(.16,1,.3,1);position:absolute;inset:0 0 42%;overflow:hidden}.project-card:hover .project-art{transform:scale(1.04)}.project-card-content{background:linear-gradient(#0000,#111 16%);padding:20px 22px 23px;position:absolute;inset:auto 0 0}.project-meta{color:#8d8b86;text-transform:uppercase;letter-spacing:.05em;justify-content:space-between;font:10px ui-monospace,SFMono-Regular,Menlo,monospace;display:flex}.project-card-bottom{justify-content:space-between;align-items:end;gap:20px;margin-top:36px;display:flex}.project-card h3{letter-spacing:-.05em;margin:0 0 8px;font-size:27px;font-weight:500;line-height:1}.project-card p{color:#a5a39d;max-width:400px;margin:0;font-size:13px;line-height:1.5}.project-arrow{color:#12130e;background:var(--lime);border-radius:50%;flex:none;place-items:center;width:39px;height:39px;transition:transform .2s;display:grid;transform:translate(-2px,2px)}.project-card:hover .project-arrow{transform:translate(0)}.art-grid{opacity:.42;background-image:linear-gradient(#ffffff1f 1px,#0000 1px),linear-gradient(90deg,#ffffff1f 1px,#0000 1px);background-size:30px 30px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(90deg,#0000,#000 20% 80%,#0000);mask-image:linear-gradient(90deg,#0000,#000 20% 80%,#0000)}.art-orb{filter:blur(2px);border-radius:50%;position:absolute}.art-orb-one{aspect-ratio:1;background:radial-gradient(circle at 32% 27%,#c8aaff,#703ac5 37%,#271144 70%);width:42%;top:18%;left:21%;box-shadow:0 0 60px #7c3ee085}.art-orb-two{aspect-ratio:1;background:radial-gradient(circle at 27% 28%,#edbaff,#8e3aee 38%,#1d0e34 70%);width:31%;bottom:9%;right:12%}.art-frame{aspect-ratio:1;border:1px solid #c7a4ff88;width:58%;position:absolute;top:15%;left:27%;transform:rotate(30deg)}.project-art--violet{background:radial-gradient(circle at 45% 46%,#482070,#130d1c 65%)}.project-art--orange{background:linear-gradient(130deg,#3a160b,#1c1411)}.art-sun{aspect-ratio:1;background:radial-gradient(circle at 37% 34%,#ffe4a4,#ff7b31 43%,#9f2f14 70%);border-radius:50%;width:46%;position:absolute;top:13%;right:15%;box-shadow:0 0 70px #fb722a78}.art-wave{border:1px solid #ffba7099;border-radius:50%;width:125%;height:54%;position:absolute;left:-10%}.art-wave-one{top:42%;transform:rotate(-13deg)}.art-wave-two{border-color:#f46c4088;top:58%;transform:rotate(-13deg)}.project-art--blue{background:radial-gradient(circle at 64% 30%,#206e97,#0b1923 66%)}.art-pitch{background:linear-gradient(90deg,#0000 49%,#96dcf099 50% 51%,#0000 52%),linear-gradient(#0000 49%,#96dcf099 50% 51%,#0000 52%);border:1px solid #96dcf0cc;position:absolute;inset:15% 27%;transform:perspective(300px)rotateX(48deg)}.art-trail{opacity:.8;border-top:2px solid #d8f7ff;border-radius:50%;width:75%;height:35%;position:absolute;top:20%;left:11%;transform:rotate(38deg)}.art-ball{background:#e5faff;border-radius:50%;width:28px;height:28px;position:absolute;top:23%;right:18%;box-shadow:0 0 26px #b5edff}.project-art--green{background:linear-gradient(130deg,#0d2920,#101914)}.art-panel{background:#254b3999;border:1px solid #a3e6b17a;position:absolute;box-shadow:0 12px 30px #0005}.art-panel-one{width:43%;height:46%;top:17%;left:16%;transform:rotate(-4deg)}.art-panel-two{background:#153126e6;width:45%;height:55%;top:29%;right:12%;transform:rotate(9deg)}.art-cursor{border-left:16px solid #0000;border-right:6px solid #0000;border-bottom:28px solid var(--lime);width:0;height:0;position:absolute;bottom:23%;right:28%;transform:rotate(-27deg)}.resume-section{border-top:1px solid var(--soft-line)}.resume-grid{grid-template-columns:1.1fr .9fr;gap:10%;margin-top:64px;display:grid}.timeline-heading{color:#dddcd6;align-items:center;gap:10px;margin-bottom:13px;font-size:13px;font-weight:600;display:flex}.timeline-heading svg{color:var(--lime)}.timeline-item{border-top:1px solid var(--line);grid-template-columns:136px 1fr;padding:21px 0;display:grid}.timeline-item>span{color:#85837e;font:11px ui-monospace,SFMono-Regular,Menlo,monospace}.timeline-item h3,.resume-aside h3{letter-spacing:-.03em;margin:0;font-size:16px;font-weight:500}.timeline-item p,.resume-aside p{color:#97958f;margin:6px 0 0;font-size:13px}.resume-aside{background:var(--surface);border:1px solid var(--line);padding:26px}.resume-aside>div:first-child{color:#d7d5cf;align-items:center;gap:9px;font-size:13px;display:flex}.resume-aside>div:first-child svg{color:var(--lime)}.resume-aside h3{margin-top:47px;font-size:22px;line-height:1.13}.resume-aside p{max-width:325px;line-height:1.55}.resume-aside .button{margin-top:27px}.contact-section{color:#fff;background:#7c3aed;margin-top:12px;padding:118px 0 52px}.contact-eyebrow{color:#ddd1ff}.contact-section h2{letter-spacing:-.075em;max-width:850px;margin:0;font-size:clamp(3.2rem,7vw,6.7rem);font-weight:500;line-height:.93}.contact-email{letter-spacing:-.05em;border-bottom:1px solid #a78bfa;justify-content:space-between;align-items:center;margin-top:77px;padding-bottom:17px;font-size:clamp(1.55rem,3vw,2.7rem);line-height:1;display:flex}.contact-email svg{transition:transform .2s}.contact-email:hover svg{transform:translate(4px,-4px)}.contact-bottom{justify-content:space-between;align-items:end;margin-top:43px;display:flex}.contact-bottom p{color:#e9e1ff;max-width:315px;margin:0;font-size:13px;line-height:1.55}.contact-bottom div{gap:10px;display:flex}.contact-bottom a{border:1px solid #bda7ff;border-radius:50%;place-items:center;width:37px;height:37px;transition:background .2s,color .2s;display:grid}.contact-bottom a:hover{color:#4c1d95;background:#fff}.footer{color:#75736e;justify-content:space-between;align-items:center;min-height:78px;font-size:11px;display:flex}.footer p{margin:0}.footer div{gap:20px;display:flex}.footer a{align-items:center;gap:3px;display:flex}.footer a:hover{color:var(--text)}.case-study{padding-top:49px}.back-link{color:#a3a19c;align-items:center;gap:8px;font-size:13px;display:inline-flex}.back-link:hover{color:var(--text)}.case-header{max-width:900px;padding:76px 0 61px}.case-header h1{letter-spacing:-.08em;margin:0;font-size:clamp(3.5rem,7vw,6.5rem);font-weight:500;line-height:.92}.case-lede{color:#adaba5;letter-spacing:-.03em;max-width:590px;margin:29px 0 0;font-size:20px;line-height:1.45}.case-hero-art{border:1px solid var(--line);height:min(58vw,590px);overflow:hidden}.case-hero-art .project-art{height:100%;position:relative;inset:auto}.case-overview{border-bottom:1px solid var(--line);grid-template-columns:.65fr 1.35fr;gap:34px 70px;padding:89px 0;display:grid}.case-overview h2{margin:0;font-size:15px;font-weight:600}.case-overview>p{color:#cccac3;letter-spacing:-.03em;max-width:670px;margin:0;font-size:21px;line-height:1.52}.case-overview dl{grid-column:2;grid-template-columns:repeat(3,1fr);gap:20px;margin:11px 0 0;display:grid}.case-overview dt,.detail-label{color:#7f7d78;text-transform:uppercase;letter-spacing:.06em;margin-bottom:8px;font:10px ui-monospace,SFMono-Regular,Menlo,monospace}.case-overview dd{color:#d2d0ca;margin:0;font-size:13px}.case-detail-grid{border-bottom:1px solid var(--line);grid-template-columns:1fr 1fr;gap:36px;padding:61px 0;display:grid}.case-tags{flex-wrap:wrap;gap:7px;display:flex}.outcomes{margin:0;padding:0;list-style:none}.outcomes li{color:#cfcdc7;align-items:center;gap:10px;padding:0 0 13px;font-size:14px;display:flex}.outcomes svg{color:var(--lime)}.case-closing{align-items:center;gap:18px;padding:47px 0;display:flex}.case-closing p{color:#93918c;margin:0 auto 0 0;font-size:13px}.case-closing a,.case-closing button{cursor:pointer;background:0 0;border:0;border-bottom:1px solid #7a7872;align-items:center;gap:8px;padding:10px 0;font-size:13px;display:flex}.next-project{border-top:1px solid var(--line);align-items:center;gap:16px;padding:30px 0 75px;display:flex}.next-project span{color:#7f7d78;text-transform:uppercase;font:10px ui-monospace,SFMono-Regular,Menlo,monospace}.next-project strong{letter-spacing:-.05em;font-size:25px;font-weight:500}.next-project svg{color:var(--lime);margin-left:auto}.not-found{flex-direction:column;justify-content:center;align-items:flex-start;min-height:100svh;display:flex}.not-found p{color:var(--lime);font:11px ui-monospace,SFMono-Regular,Menlo,monospace}.not-found h1{letter-spacing:-.08em;margin:10px 0 29px;font-size:clamp(3rem,8vw,7rem);font-weight:500}@keyframes spin{to{transform:rotate(360deg)}}@media (width<=800px){.shell{width:min(100% - 36px,620px)}.nav{height:65px}.nav-links,.nav-availability{display:none}.menu-button{display:block}.mobile-menu{border-bottom:1px solid var(--line);background:#101011;flex-direction:column;padding:10px 18px 20px;display:flex}.mobile-menu a{padding:10px 0;font-size:15px}.hero-section{min-height:calc(100svh - 65px)}.hero-layout{grid-template-columns:1fr;gap:36px;padding:80px 0 50px}.hero-art{order:-1;justify-self:center;width:min(300px,75vw)}.hero-section h1{font-size:clamp(3.3rem,13vw,5.1rem)}.hero-summary{font-size:16px}.section{padding:85px 0}.about-grid,.resume-grid{grid-template-columns:1fr;gap:39px;margin-top:43px}.skills-grid{grid-template-columns:repeat(2,1fr);margin-top:44px}.skill-card{min-height:245px;padding:21px}.skill-card h3{margin-top:38px}.projects-grid{grid-template-columns:1fr;margin-top:45px}.project-card{min-height:430px}.work-heading .desktop-only{display:none}.contact-section{padding:82px 0 42px}.contact-email{margin-top:54px}.case-study{padding-top:35px}.case-header{padding:55px 0 45px}.case-hero-art{height:58vw;min-height:275px}.case-overview{grid-template-columns:1fr;padding:60px 0}.case-overview dl{grid-column:auto}.case-detail-grid{gap:33px}.case-closing{flex-wrap:wrap}.case-closing p{width:100%}.footer{flex-direction:column;justify-content:center;align-items:flex-start;gap:12px;min-height:100px}}@media (width<=500px){.shell{width:calc(100% - 32px)}.hero-topline span:last-child{display:none}.hero-actions{flex-direction:column;align-items:stretch}.button{width:100%}.about-copy .intro{font-size:21px}.section-heading h2{font-size:2.45rem}.skills-grid{grid-template-columns:1fr}.skill-card{min-height:220px}.skill-card p{min-height:auto}.project-card{min-height:405px}.project-card h3{font-size:25px}.project-meta span:last-child{text-align:right;max-width:64%}.timeline-item{grid-template-columns:98px 1fr}.case-overview>p{font-size:18px}.case-overview dl{grid-template-columns:1fr 1fr}.case-detail-grid{grid-template-columns:1fr}.case-closing a,.case-closing button{font-size:12px}.next-project strong{font-size:22px}.contact-section h2{font-size:3.25rem}.contact-bottom{flex-direction:column;align-items:start;gap:25px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.route-loading{min-height:100svh;color:var(--muted);place-items:center;font:13px ui-monospace,SFMono-Regular,Menlo,monospace;display:grid}.hero-art{background:radial-gradient(circle,#7c3aed38,#0000 36%),radial-gradient(circle at 50% 48%,#211534,#0000 64%)}.hero-art:after{background:radial-gradient(circle at 34% 30%,#c4b5fd 0 2%,#7c3aed 10%,#28144c 43%,#0c0b10 72%);box-shadow:0 0 70px #7c3aed4d}.hero-art-ring{border-color:#c4b5fd66}.hero-art-core{color:#fff}.hero-coordinate{color:#ddd6fe}.hero-section h1 em{color:#c4b5fd}.nav-availability i,.hero-topline i{background:#a78bfa;box-shadow:0 0 0 4px #7c3aed24}.portrait-placeholder{z-index:3;aspect-ratio:3/4;color:#ddd6fe;text-align:center;background:#0c0a12a8;border:1px dashed #ddd6fe8c;place-content:center;width:42%;display:grid;position:absolute;bottom:8%;right:7%}.portrait-placeholder span{text-transform:uppercase;letter-spacing:.1em;font:11px ui-monospace,SFMono-Regular,Menlo,monospace}.portrait-placeholder small{color:#a8a3b3;margin-top:7px;font:9px/1.4 ui-monospace,SFMono-Regular,Menlo,monospace}.hero-portrait{z-index:3;aspect-ratio:3/4;object-fit:cover;object-position:center;filter:grayscale(15%)contrast(1.05);border:1px solid #ddd6fe73;width:42%;position:absolute;bottom:8%;right:7%}.skill-groups{border:1px solid var(--line);background:var(--line);grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;margin-top:62px;display:grid}.skill-group{background:var(--bg);min-height:132px;padding:24px;transition:background .18s}.skill-group:hover{background:var(--surface)}.skill-group h3{color:#e4e4e7;letter-spacing:-.02em;margin:0 0 18px;font-size:14px}.skill-group>div{flex-wrap:wrap;gap:7px;display:flex}.skill-group span{color:#b6b4bd;background:#111114;border:1px solid #34343a;border-radius:4px;padding:6px 9px;font:11px ui-monospace,SFMono-Regular,Menlo,monospace}.project-card{min-height:540px;display:block}.project-art{inset:0 0 45%}.project-card-content{background:linear-gradient(#111113d1,#111113 20%);min-height:55%;padding:20px 23px 22px}.project-card-bottom{margin-top:30px}.project-card h3{font-size:25px}.project-tech{flex-wrap:wrap;gap:6px;margin-top:19px;display:flex}.project-tech span{color:#afabbc;background:#15121b;border:1px solid #37313f;border-radius:4px;padding:4px 7px;font:10px ui-monospace,SFMono-Regular,Menlo,monospace}.project-links{align-items:center;gap:17px;margin-top:19px;display:flex}.project-links a{color:#aaa8b0;align-items:center;gap:6px;font-size:11px;transition:color .18s;display:inline-flex}.project-links a:hover{color:#c4b5fd}.project-links a:last-child{color:#ede9fe;margin-left:auto;font-weight:600}.project-arrow{display:none}.case-actions{gap:10px;margin-top:28px;display:flex}.case-actions .button-primary{color:#fff;background:#7c3aed}.case-actions .button-outline{border-color:#403956}.case-content{padding-top:15px}.case-content-section{border-bottom:1px solid var(--line);grid-template-columns:.65fr 1.35fr;gap:34px 70px;padding:50px 0;display:grid}.case-content-section h2{color:#f4f4f5;letter-spacing:-.02em;margin:0;font-size:15px}.case-content-section>div>p{color:#c6c5cc;max-width:690px;margin:0;font-size:16px;line-height:1.72}.architecture-list{border-top:1px solid var(--line);gap:0;margin:0;padding:0;list-style:none;display:grid}.architecture-list li{color:#cfced4;border-bottom:1px solid var(--line);grid-template-columns:45px 1fr;gap:14px;padding:14px 0;font-size:14px;line-height:1.45;display:grid}.architecture-list span{color:#a78bfa;padding-top:3px;font:10px ui-monospace,SFMono-Regular,Menlo,monospace}.case-gallery{grid-template-rows:145px 145px;grid-template-columns:1.25fr .75fr;gap:10px;display:grid}.case-gallery>div{border:1px solid var(--line);background:#131316;min-height:0;position:relative;overflow:hidden}.case-gallery>div:first-child{grid-row:span 2}.case-gallery .project-art{height:100%;position:absolute;inset:0}.gallery-code{flex-direction:column;justify-content:center;padding:20px;display:flex;background:linear-gradient(135deg,#1d1530,#15131b)!important}.gallery-code span,.gallery-metrics span{color:#a78bfa;font:10px ui-monospace,SFMono-Regular,Menlo,monospace}.gallery-code strong{color:#f5f3ff;letter-spacing:-.06em;margin-top:7px;font:20px ui-monospace,SFMono-Regular,Menlo,monospace}.gallery-code small{color:#aaa8b0;margin-top:12px;font-size:11px;line-height:1.4}.gallery-metrics{flex-direction:column;padding:18px;display:flex}.gallery-metrics b{color:#ede9fe;letter-spacing:-.06em;margin-top:12px;font-size:38px;font-weight:500;line-height:.8}.gallery-metrics i{background:radial-gradient(circle at 35% 30%,#c4b5fd,#7c3aed 45%,#2e1065);border-radius:50%;width:46px;height:46px;position:absolute;bottom:16px;right:16px;box-shadow:0 0 27px #7c3aed73}@media (width<=800px){.skill-groups{margin-top:44px}.project-card{min-height:500px}.case-content-section{grid-template-columns:1fr;gap:22px;padding:42px 0}.case-gallery{grid-template-rows:120px 120px}}@media (width<=500px){.skill-groups{grid-template-columns:1fr}.skill-group{min-height:auto}.project-card{min-height:515px}.project-links{flex-wrap:wrap;gap:14px}.project-links a:last-child{width:100%;margin-left:0}.case-actions{flex-direction:column}.case-actions .button{width:100%}.case-gallery{grid-template-rows:180px 120px 120px;grid-template-columns:1fr}.case-gallery>div:first-child{grid-row:auto}.case-content-section>div>p{font-size:15px}}.selected-work-list{border:1px solid var(--line);background:var(--line);grid-template-columns:repeat(4,1fr);gap:1px;margin-top:44px;display:grid}.selected-work-list a{background:var(--bg);grid-template-columns:auto 1fr auto;align-items:center;gap:11px;min-height:64px;padding:14px;transition:background .18s,color .18s;display:grid}.selected-work-list a:hover{color:#ddd6fe;background:var(--surface)}.selected-work-list span{color:#a78bfa;font:10px ui-monospace,SFMono-Regular,Menlo,monospace}.selected-work-list strong{letter-spacing:-.02em;font-size:12px;font-weight:500;line-height:1.25}.selected-work-list svg{color:#77727d}.resume-actions{gap:9px;margin-top:27px;display:flex}.resume-actions .button{margin:0!important}.architecture-diagram{background:linear-gradient(135deg,#15121b,#101014);border:1px solid #363140;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:22px;padding:15px;display:grid;overflow:hidden}.architecture-node{background:#17131e;border:1px solid #c4b5fd40;min-height:100px;padding:13px;position:relative}.architecture-node:not(:last-child):after{content:"";z-index:1;background:#8b5cf6;width:8px;height:1px;position:absolute;top:50%;left:100%}.architecture-node span{color:#a78bfa;font:10px ui-monospace,SFMono-Regular,Menlo,monospace}.architecture-node p{color:#dedbe5;margin:10px 0 0;font-size:11px;line-height:1.42}.metric-grid{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.metric-grid>div{border:1px solid var(--line);background:#111113;min-height:135px;padding:18px}.metric-grid span{color:#aaa6b3;text-transform:uppercase;font:10px ui-monospace,SFMono-Regular,Menlo,monospace;display:block}.metric-grid strong{color:#ddd6fe;letter-spacing:-.06em;margin-top:17px;font-size:25px;font-weight:500;line-height:1;display:block}.metric-grid p{color:#9895a1;margin:11px 0 0;font-size:11px;line-height:1.4}.resume-page{padding-top:38px;padding-bottom:80px}.resume-page-toolbar{justify-content:space-between;align-items:center;margin-bottom:25px;display:flex}.resume-page-toolbar>a:first-child{color:#aaa8b0;align-items:center;gap:7px;font-size:13px;display:flex}.resume-page-toolbar>a:first-child:hover{color:#fff}.resume-document{color:#29272b;background:#f7f6f3;max-width:890px;margin:0 auto;padding:clamp(28px,6vw,64px);font-family:Georgia,Times New Roman,serif;box-shadow:0 20px 80px #00000040}.resume-document header{border-bottom:2px solid #2d2932;justify-content:space-between;gap:30px;padding-bottom:22px;display:flex}.resume-document h1{letter-spacing:-.06em;margin:0;font-size:clamp(2rem,5vw,3.25rem);font-weight:600;line-height:.95}.resume-document header p{letter-spacing:.06em;text-transform:uppercase;margin:9px 0 0;font-family:ui-sans-serif,system-ui,sans-serif;font-size:12px;font-weight:600}.resume-document address{text-align:right;flex-direction:column;align-items:end;gap:4px;font-family:ui-sans-serif,system-ui,sans-serif;font-size:11px;font-style:normal;display:flex}.resume-document a{text-underline-offset:3px;-webkit-text-decoration:underline #a8a4ab;text-decoration:underline #a8a4ab}.resume-document section{border-bottom:1px solid #c5c2c6;padding:24px 0}.resume-document section h2{letter-spacing:.1em;text-transform:uppercase;margin:0 0 9px;font-family:ui-sans-serif,system-ui,sans-serif;font-size:11px}.resume-document section p{max-width:760px;margin:0;font-size:15px;line-height:1.54}.resume-skill-list{flex-wrap:wrap;gap:5px 15px;display:flex}.resume-skill-list span{font-size:14px}.resume-project{border-top:1px solid #d6d2d6;padding:13px 0}.resume-project:first-of-type{border-top:0}.resume-project h3{margin:0 0 4px;font-size:16px}.resume-project p{font-size:14px!important}.resume-document footer{justify-content:space-between;align-items:center;padding-top:24px;font-family:ui-sans-serif,system-ui,sans-serif;font-size:11px;display:flex}.resume-document footer a{align-items:center;gap:6px;display:flex}@media (width<=800px){.selected-work-list,.architecture-diagram{grid-template-columns:repeat(2,1fr)}.architecture-node:nth-child(2):after{display:none}.metric-grid{grid-template-columns:1fr}.metric-grid>div{min-height:auto}.resume-document header{flex-direction:column}.resume-document address{text-align:left;align-items:start}}@media (width<=500px){.selected-work-list{grid-template-columns:1fr;margin-top:32px}.architecture-diagram{grid-template-columns:1fr}.architecture-node:not(:last-child):after{width:1px;height:8px;top:100%;left:50%}.resume-actions{flex-direction:column}.resume-actions .button{width:100%}.resume-page-toolbar .button{width:auto}.resume-document{margin-inline:-1px}.resume-document footer{flex-direction:column;align-items:start;gap:10px}}.hero-section{min-height:calc(82svh - 76px)}.hero-layout{padding:45px 0 34px}.hero-summary{max-width:510px;font-size:19px}.hero-primary{min-height:50px;padding-inline:22px;font-size:14px;box-shadow:0 8px 24px #7c3aed33}.hero-systems-visual{aspect-ratio:1;justify-self:end;width:min(390px,35vw);position:relative}.hero-systems-visual:before{content:"";background:radial-gradient(circle,#7c3aed12,#0000 63%);border:1px solid #a78bfa1f;border-radius:50%;position:absolute;inset:8%}.hero-systems-visual svg{z-index:1;width:100%;height:100%;display:block;position:relative}.systems-label{z-index:2;color:#a8a3b3;letter-spacing:.12em;font:9px ui-monospace,SFMono-Regular,Menlo,monospace;position:absolute}.systems-label-top{top:10%;left:0}.systems-label-bottom{bottom:11%;right:0}.portrait-placeholder,.hero-portrait{display:none}.hero-section .hero-eyebrow{color:#c4b5fd;letter-spacing:.035em;text-transform:none;margin-bottom:21px;font-size:50px;font-weight:700}@media (width<=800px){.hero-section{min-height:auto}.hero-layout{padding:52px 0 30px}.hero-systems-visual{order:-1;justify-self:center;width:min(310px,76vw)}.hero-summary{font-size:17px}}@media (width<=500px){.hero-layout{padding-top:42px}.hero-systems-visual{width:min(275px,76vw)}.hero-primary{min-height:48px}.systems-label-top{left:-3%}.systems-label-bottom{right:-3%}}.resume-document{color:#e4e4e7;background:#18181b;border:1px solid #313136;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;box-shadow:0 20px 80px #00000040}.resume-document header{border-bottom-color:#4a4a50}.resume-document h1{color:#fafafa;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-weight:600}.resume-document header p{color:#c4b5fd}.resume-document address{color:#b7b5bc}.resume-document a{text-decoration-color:#756b91}.resume-document section{border-bottom-color:#35353a}.resume-document section h2{color:#c4b5fd}.resume-document section p{color:#c7c6cc}.education-row{justify-content:space-between;gap:20px;display:flex}.education-row h3{color:#f4f4f5;margin:0;font-size:15px;font-weight:600}.education-row h3 span{color:#a1a1aa;margin-left:8px;font-size:13px;font-weight:400}.education-row p{margin-top:5px!important;font-size:13px!important}.education-row time,.resume-project-heading time{color:#a1a1aa;white-space:nowrap;flex:none;font:11px ui-monospace,SFMono-Regular,Menlo,monospace}.resume-skill-list{gap:7px;display:grid}.resume-skill-list>div{grid-template-columns:130px 1fr;gap:10px;display:grid}.resume-skill-list dt{color:#ddd6fe;font-size:12px;font-weight:600}.resume-skill-list dd{color:#b9b8c0;margin:0;font-size:12px;line-height:1.5}.resume-project{border-top-color:#36363b;padding:17px 0;position:relative}.resume-project-heading{grid-template-columns:auto 1fr auto;align-items:baseline;gap:12px;display:grid}.resume-project h3{color:#f4f4f5;font-size:14px}.resume-project-heading>span{color:#aaa8b0;text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.resume-project-links{gap:13px;margin-top:7px;display:flex}.resume-project-links a{color:#b8a6fa;align-items:center;gap:4px;font-size:11px;text-decoration:none;display:flex}.resume-project ul{color:#c4c2c9;gap:5px;margin:10px 0 0;padding-left:18px;display:grid}.resume-project li{padding-left:2px;font-size:12px;line-height:1.5}.resume-document footer{color:#aaa8b0;border-top:0}.resume-document footer span{color:#88858e}@media (width<=650px){.education-row{flex-direction:column;gap:7px}.resume-skill-list>div{grid-template-columns:1fr;gap:2px}.resume-project-heading{grid-template-columns:1fr;gap:4px}.resume-project-heading>span{white-space:normal}.resume-project-heading time{margin-top:3px}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}
