@import"https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Fraunces:ital,opsz,wght@0,9..144,400;0,9..144,500;0,9..144,600;1,9..144,400;1,9..144,500;1,9..144,600&family=Hanken+Grotesk:wght@400;500;600;700&display=swap";*,: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-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--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: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::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-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--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: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{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,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}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-feature-settings:normal;font-variation-settings:normal;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-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([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}dialog{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]:where(:not([hidden=until-found])){display:none}.table{display:table}.hidden{display:none}.transform{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))}:root{--bg: #05060d;--bg-alt: #080b19;--bg-card: #0b1021;--bg-card-alt: #0c1124;--bg-bar: #111733;--text: #f4f6ff;--text-muted: #9ca7c8;--text-soft: #aeb8d0;--text-dim: #c0c8dd;--text-faint: #68779f;--accent: #9eb2ff;--accent-soft: #dce3f7;--accent-deep: #6e7eff;--green: #79d6b0;--border: #1d2540;--border-soft: #273354;--border-faint: #303b61;--border-accent: #43527e;--grain-opacity: .05;--shadow-card: 0 18px 50px rgba(25,45,130,.26);--shadow-deep: 0 20px 60px rgba(5,6,13,.6);--shadow-soft: 0 10px 40px rgba(5,6,13,.4);--overlay: rgba(5,6,13,.92);--hero-grad: radial-gradient(circle at 76% 45%, rgba(62,80,220,.18), transparent 32%), linear-gradient(90deg, #05060d 0%, #05060d 31%, rgba(5,6,13,.88) 48%, rgba(5,6,13,.12) 77%, rgba(5,6,13,.36) 100%);--portrait-grad: linear-gradient(90deg, #05060d 0%, rgba(5,6,13,.82) 15%, rgba(5,6,13,.16) 52%, rgba(5,6,13,.16) 100%), linear-gradient(0deg, rgba(5,6,13,.8), transparent 35%);font-family:Hanken Grotesk,sans-serif;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizeLegibility}[data-theme=light]{--bg: #f4f6fb;--bg-alt: #eef1f8;--bg-card: #ffffff;--bg-card-alt: #f7f9fd;--bg-bar: #e8ecf5;--text: #0c1024;--text-muted: #5a6488;--text-soft: #4a557a;--text-dim: #3a4568;--text-faint: #8893b5;--accent: #4258c9;--accent-soft: #1a2350;--accent-deep: #2d3fa0;--green: #1a9d6e;--border: #d4dae8;--border-soft: #c4ccdf;--border-faint: #aab4cf;--border-accent: #8a96bf;--grain-opacity: .03;--shadow-card: 0 18px 50px rgba(40,60,130,.12);--shadow-deep: 0 20px 60px rgba(40,60,130,.15);--shadow-soft: 0 10px 40px rgba(40,60,130,.1);--overlay: rgba(240,243,250,.94);--hero-grad: radial-gradient(circle at 76% 45%, rgba(66,88,201,.1), transparent 35%), linear-gradient(90deg, var(--bg) 0%, var(--bg) 31%, rgba(244,246,251,.88) 48%, rgba(244,246,251,.12) 77%, rgba(244,246,251,.36) 100%);--portrait-grad: linear-gradient(90deg, var(--bg) 0%, rgba(244,246,251,.82) 15%, rgba(244,246,251,.16) 52%, rgba(244,246,251,.16) 100%), linear-gradient(0deg, rgba(244,246,251,.8), transparent 35%)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px;background:var(--bg);color:var(--text);transition:background .4s ease,color .4s ease}button,a{font:inherit;color:inherit}button{border:0;cursor:pointer}a{text-decoration:none}.site-shell{min-height:100vh;overflow:hidden;position:relative;background:var(--bg);transition:background .4s ease}.grain{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;opacity:var(--grain-opacity);z-index:10;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)' opacity='.4'/%3E%3C/svg%3E")}.topbar{width:min(1320px,calc(100% - 80px));margin:0 auto;height:96px;display:flex;align-items:center;justify-content:space-between;position:relative;z-index:20;color:var(--text)}.wordmark{display:flex;align-items:center;gap:11px;background:transparent;text-align:left;font-family:DM Mono,monospace;font-size:10px;line-height:1.25;letter-spacing:-.04em;color:var(--text)}.wordmark-mark{width:38px;height:38px;display:grid;place-items:center;transition:transform .4s cubic-bezier(.2,.8,.2,1)}.wordmark:hover .wordmark-mark{transform:rotate(-4deg) scale(1.05)}.wordmark em{color:var(--text-muted);font-style:normal}.nav-links{display:flex;align-items:center;gap:30px;margin-left:auto;margin-right:58px}.nav-links button,.nav-links a{background:none;color:var(--text-muted);font-size:12px;position:relative;padding:8px 0}.nav-links button:after{content:"";position:absolute;height:1px;width:0;left:0;bottom:2px;background:var(--accent);transition:width .3s ease}.nav-links button:hover:after,.nav-links button.active:after{width:100%}.nav-links button.active,.nav-links a:hover{color:var(--text)}.availability{display:flex;align-items:center;gap:8px;font-family:DM Mono,monospace;text-transform:uppercase;font-size:9px;letter-spacing:.04em;color:var(--text-muted)}.availability span{width:7px;height:7px;border-radius:50%;background:var(--green);box-shadow:0 0 0 4px #79d6b024;animation:pulse 2.5s ease-out infinite}.menu-button{display:none;background:none;color:var(--text)}.section-pad{width:min(1320px,calc(100% - 80px));margin:0 auto}.hero{width:100%;max-width:none;margin:0;min-height:min(820px,calc(100vh - 1px));padding:40px max(40px,calc((100vw - 1320px)/2)) 105px;display:block;background:var(--bg);color:var(--text);position:relative;overflow:hidden}.hero:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:var(--hero-grad);z-index:1;pointer-events:none}.hero-aside{position:absolute;top:0;right:0;bottom:0;left:0;min-height:0;display:block;z-index:0;pointer-events:none}.hero-portrait{position:absolute;inset:0 0 0 auto;width:64%;height:100%;background:var(--bg);overflow:hidden;transform:none;box-shadow:none}.hero-portrait:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:var(--portrait-grad)}.hero-portrait img{width:100%;height:100%;display:block;-o-object-fit:cover;object-fit:cover;-o-object-position:58% center;object-position:58% center}.portrait-caption{position:absolute;left:auto;right:38px;bottom:34px;color:var(--accent-soft);font:10px/1.5 DM Mono,monospace;z-index:1;opacity:.72}.hero-stamp{position:absolute;left:auto;right:35%;top:28%;width:88px;height:88px;border:1px solid var(--accent);border-radius:50%;display:grid;place-items:center;color:var(--accent);transform:rotate(-15deg);z-index:2;text-align:center;font:9px/1.4 DM Mono,monospace;background:#05060d73}.hero-stamp svg{position:absolute;top:11px}.hero-stamp span{margin-top:14px}.hero-note{position:absolute;left:max(40px,calc((100vw - 1320px)/2));bottom:55px;font:10px/1.5 DM Mono,monospace;color:var(--text-muted);z-index:3}.scroll-cue{position:absolute;left:max(40px,calc((100vw - 1320px)/2));bottom:28px;display:flex;gap:11px;align-items:center;color:var(--text-faint);font:9px DM Mono,monospace;text-transform:uppercase;transform:rotate(-90deg);transform-origin:left;z-index:4}.hero-copy{position:relative;z-index:3;width:min(600px,54%);padding-top:38px}.eyebrow{display:flex;align-items:center;gap:10px;font-family:DM Mono,monospace;color:var(--text-muted);font-size:10px;text-transform:uppercase;letter-spacing:.08em;margin:0 0 30px}.eyebrow-line{width:28px;height:1px;background:var(--accent)}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-weight:500}.hero h1{font-family:Fraunces,serif;font-size:clamp(70px,9vw,136px);line-height:.93;letter-spacing:-.08em;margin:0;max-width:760px}.hero h1 span,i{color:var(--accent);font-style:italic}.hero-intro{max-width:355px;font-size:15px;line-height:1.7;color:var(--text-dim);margin:37px 0 30px 5px}.hero-intro strong{color:var(--text);font-weight:500}.hero-actions{display:flex;align-items:center;gap:28px;margin-left:5px}.button{display:inline-flex;align-items:center;gap:18px;padding:15px 19px;font-size:11px;transition:transform .25s,background .25s}.button:hover{transform:translateY(-3px)}.button-dark{background:var(--accent-soft);color:var(--bg)}.button-dark:hover{background:var(--accent)}.button-light{background:var(--text);color:var(--bg)}.text-link,.view-all{display:inline-flex;align-items:center;gap:9px;background:none;font-size:11px;border-bottom:1px solid rgba(158,178,255,.45);padding:5px 0;color:var(--accent-soft)}.text-link:hover,.view-all:hover{color:var(--accent)}.section-kicker{display:flex;align-items:center;gap:11px;color:var(--text-faint);font:10px DM Mono,monospace;text-transform:uppercase;letter-spacing:.07em}.section-kicker>span:first-child{color:var(--accent)}.kicker-rule{width:32px;height:1px;background:var(--border-faint)}.statement{padding-top:130px;padding-bottom:150px;border-top:1px solid var(--border)}.statement-grid{display:grid;grid-template-columns:1fr 1fr;padding:70px 9% 0}.statement h2,.toolkit h2{font-family:Fraunces,serif;font-size:clamp(44px,5vw,72px);line-height:.99;letter-spacing:-.05em;margin:0;color:var(--text)}.statement-body{max-width:360px;padding-top:5px;color:var(--text-soft);line-height:1.8;font-size:14px}.statement-body p+p{margin-top:18px}.circle-link{width:48px;height:48px;border:1px solid var(--border-accent);border-radius:50%;display:grid;place-items:center;background:transparent;margin-top:25px;transition:.3s;color:var(--accent-soft)}.circle-link:hover{background:var(--accent);color:var(--bg);transform:rotate(45deg)}.featured{padding-top:10px;padding-bottom:150px}.section-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:42px}.feature-list{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.study-card{width:100%;text-align:left;padding:19px;color:var(--text);min-height:420px;display:flex;flex-direction:column;justify-content:space-between;transition:transform .35s cubic-bezier(.2,.8,.2,1),box-shadow .35s;position:relative;overflow:hidden;border:1px solid rgba(158,178,255,.15);box-shadow:inset 0 0 70px #05060d24}.study-card:hover{transform:translateY(-9px) rotate(-.5deg);box-shadow:var(--shadow-card)}.study-card.ochre,.study-card.orange{background:linear-gradient(145deg,#17265a,#0b1230)}[data-theme=light] .study-card.ochre,[data-theme=light] .study-card.orange{background:linear-gradient(145deg,#eef2ff,#e0e7f7)}.study-card.blue{background:linear-gradient(145deg,#173d70,#0a1837)}[data-theme=light] .study-card.blue{background:linear-gradient(145deg,#e8f0ff,#d6e3f7)}.study-card.green{background:linear-gradient(145deg,#164b59,#081c2c)}[data-theme=light] .study-card.green{background:linear-gradient(145deg,#e6f7f0,#d0ece0)}.study-card.red{background:linear-gradient(145deg,#2f3276,#121533)}[data-theme=light] .study-card.red{background:linear-gradient(145deg,#edeefc,#dcdff5)}.card-top,.card-bottom{display:flex;justify-content:space-between;align-items:flex-start;position:relative;z-index:2}.card-top span{font:9px DM Mono,monospace;text-transform:uppercase;opacity:.75}.card-art{flex:1;display:grid;place-items:center;position:relative}.art-number{position:absolute;font:clamp(90px,10vw,145px) "Fraunces",serif;opacity:.14;letter-spacing:-.1em}.art-shape{width:145px;height:145px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.5);transform:rotate(45deg);transition:.5s}.art-shape svg{transform:rotate(-45deg)}.study-card:hover .art-shape{transform:rotate(135deg) scale(1.08)}.card-bottom h3{font:500 25px/1.04 Fraunces,serif;letter-spacing:-.04em;max-width:230px;margin-bottom:10px}.card-bottom p{margin:0;font-size:11px;opacity:.76}.toolkit{border-top:1px solid var(--border);padding-top:115px;padding-bottom:145px;display:grid;grid-template-columns:.8fr 1.2fr;gap:100px}.toolkit h2{margin-top:55px;color:var(--text)}.toolkit-copy p{color:var(--text-soft);line-height:1.7;font-size:14px;max-width:280px;margin:29px 0 0}.skills-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;padding:35px 0;perspective:1200px}.skill-card{min-height:285px;outline:none;perspective:1200px}.skill-card-inner{height:100%;min-height:285px;position:relative;transform-style:preserve-3d;transition:transform .7s cubic-bezier(.2,.7,.2,1)}.skill-card:hover .skill-card-inner,.skill-card:focus-visible .skill-card-inner{transform:rotateY(180deg)}.skill-card-face{position:absolute;top:0;right:0;bottom:0;left:0;backface-visibility:hidden;border:1px solid var(--border-soft);padding:25px;display:flex;flex-direction:column;overflow:hidden}.skill-card-front{background:var(--bg-card);color:var(--text)}.skill-card-front svg{color:var(--accent)}.skill-card-index{margin-top:auto;color:var(--text-faint);font:10px DM Mono,monospace}.skill-card h3{margin:8px 0 0;font:500 clamp(22px,2.4vw,32px)/1.02 "Fraunces",serif;letter-spacing:-.04em}.skill-card-hint{display:flex;align-items:center;gap:7px;margin-top:22px;color:var(--text-faint);font:9px DM Mono,monospace;text-transform:uppercase}.skill-card-back{transform:rotateY(180deg);background:var(--bg-card);color:var(--text);justify-content:center}[data-theme=light] .skill-card-back{background:var(--bg-card-alt)}.skill-card-label{color:var(--accent);font:9px DM Mono,monospace;text-transform:uppercase;letter-spacing:.08em}.skill-card-back p{margin:15px 0 0;color:var(--text-soft);font:13px/1.65 Hanken Grotesk,sans-serif;overflow-wrap:anywhere}.skill-card:focus-visible{box-shadow:0 0 0 3px #9eb2ff59}.education{border-top:1px solid var(--border);padding-top:115px;padding-bottom:145px}.education-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:55px}.edu-item{border-top:1px solid var(--border-soft);padding-top:22px;display:flex;flex-direction:column;gap:16px}.edu-logo{width:100%;max-width:200px;height:70px;-o-object-fit:contain;object-fit:contain;-o-object-position:left center;object-position:left center;filter:brightness(0) invert(1);opacity:.88}.edu-body{display:flex;flex-direction:column;gap:6px}.education-grid strong{font:500 22px Fraunces,serif;letter-spacing:-.03em;color:var(--text)}.education-grid span{font:10px DM Mono,monospace;color:var(--accent)}.education-grid small{font:11px Hanken Grotesk,sans-serif;color:var(--text-soft)}.closing{max-width:none;background:var(--bg-alt);color:var(--text);min-height:480px;padding-left:max(40px,calc((100vw - 1320px)/2));padding-right:max(40px,calc((100vw - 1320px)/2));display:flex;align-items:center;justify-content:space-between;position:relative;overflow:hidden}.closing .eyebrow{color:var(--text-muted)}.closing h2{font:500 clamp(70px,10vw,140px)/.83 "Fraunces",serif;letter-spacing:-.08em;margin:0 0 37px;color:var(--text)}.closing-mark{font:italic 360px/.7 Fraunces,serif;color:var(--border-soft);transform:rotate(-8deg);margin-right:5%}[data-theme=light] .closing-mark{color:#d4dae8}.closing-mark span{display:block;font:12px DM Mono,monospace;color:var(--text-faint);transform:rotate(8deg);text-align:center;letter-spacing:.3em}.footer{width:min(1320px,calc(100% - 80px));margin:auto;padding:31px 0;display:flex;justify-content:space-between;gap:20px;color:var(--text-muted);font:9px DM Mono,monospace}.footer a{display:flex;align-items:center;gap:5px;color:var(--text-muted)}.footer a:hover{color:var(--text)}.listing-page{padding-top:70px;padding-bottom:120px}.experience-group{margin-top:60px}.experience-group:first-of-type{margin-top:0}.experience-group-header{margin-bottom:32px;max-width:640px}.experience-group-desc{color:#aeb8d0;line-height:1.7;font-size:14px;max-width:480px;margin:14px 0 0}.listing-intro{max-width:670px;padding:0 8% 85px}.listing-intro h1{font:500 clamp(60px,8vw,112px)/.88 "Fraunces",serif;letter-spacing:-.07em;margin:0 0 30px;color:var(--text)}.listing-intro p:last-child{color:var(--text-soft);line-height:1.7;max-width:335px;font-size:14px}.listing-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.study-card.large{min-height:550px;padding:25px}.study-card.large .card-bottom h3{font-size:35px;max-width:400px}.study-card.large .art-shape{width:200px;height:200px}.detail-page{padding-top:35px;padding-bottom:120px}.back-link{display:inline-flex;gap:10px;align-items:center;background:none;font:10px DM Mono,monospace;text-transform:uppercase;color:var(--text-muted);margin-bottom:62px}.back-link:hover{color:var(--text)}.detail-hero{padding:75px 8%;min-height:365px;display:flex;align-items:flex-end;justify-content:space-between;color:var(--text);position:relative;overflow:hidden;background:linear-gradient(145deg,var(--bg-card),var(--bg))}.detail-hero:after{content:"";position:absolute;width:340px;height:340px;border:1px solid rgba(158,178,255,.35);transform:rotate(45deg);right:15%;top:70px}.detail-hero h1{font:500 clamp(48px,6vw,86px)/.92 "Fraunces",serif;letter-spacing:-.065em;max-width:740px;margin:0;position:relative;z-index:1}.detail-subtitle{margin:23px 0 0;font-size:14px;opacity:.8;position:relative;z-index:1}.detail-index{font:100px Fraunces,serif;opacity:.28;z-index:1;color:#9eb2ff}.detail-index span{display:block;font:10px DM Mono,monospace;text-transform:uppercase;text-align:right}.detail-layout{display:grid;grid-template-columns:.27fr .73fr;gap:95px;padding:80px 8%}.meta-block{border-top:1px solid var(--border-soft);padding-top:15px;margin-bottom:34px}.meta-block span{display:block;font:9px DM Mono,monospace;color:var(--text-faint);text-transform:uppercase;margin-bottom:10px}.meta-block strong{font-size:12px;font-weight:500;color:var(--text)}.detail-tools{display:flex;flex-wrap:wrap;gap:7px}.detail-tools span{font:9px DM Mono,monospace;color:var(--text-soft);border:1px solid var(--border-soft);padding:7px}.video-placeholder{border:1px solid var(--border-soft);padding:15px;background:transparent;display:flex;align-items:center;gap:12px;text-align:left;font:11px/1.3 DM Mono,monospace;width:100%;color:var(--text-soft)}.video-placeholder:hover{background:var(--bg-card);color:var(--text)}.video-placeholder small{opacity:.6}.detail-lead{font:500 30px/1.2 Fraunces,serif;letter-spacing:-.04em;max-width:650px;color:var(--text)}.fake-editorial{min-height:315px;margin:55px 0;background:var(--bg-card);color:var(--text-soft);padding:40px;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden;border:1px solid var(--border-soft)}.fake-editorial:after{content:"";position:absolute;width:230px;height:230px;right:13%;top:60px;border:1px solid var(--border-faint);transform:rotate(45deg)}.editorial-icon{position:relative;z-index:1;color:var(--accent)}.fake-editorial>span{font:9px DM Mono,monospace;text-transform:uppercase;position:relative;z-index:1}.fake-editorial strong{font:30px/1.05 Fraunces,serif;color:var(--accent-soft);font-weight:500;position:relative;z-index:1}.detail-content h2{font:500 42px Fraunces,serif;letter-spacing:-.05em;margin:60px 0 18px;color:var(--text)}.detail-content>p:not(.detail-lead){color:var(--text-soft);line-height:1.8;max-width:610px;font-size:14px}.result-note{display:flex;align-items:center;gap:12px;background:#0b1021;border:1px solid #273354;padding:16px;margin-top:36px;color:#aeb8d0;font-size:12px}.result-note svg{color:#9eb2ff;flex:0 0 auto}.highlight-list{list-style:none;padding:0;margin:0;max-width:610px}.highlight-list li{position:relative;padding-left:26px;margin-bottom:18px;color:var(--text-dim);line-height:1.7;font-size:14px}.highlight-marker{position:absolute;left:0;top:9px;width:8px;height:8px;border:1px solid var(--accent);transform:rotate(45deg)}.metric-block{border-top:1px solid var(--border-soft);padding-top:15px;margin-bottom:34px}.metric-block span{display:block;font:9px DM Mono,monospace;color:var(--text-faint);text-transform:uppercase;margin-bottom:10px}.metric-value{font:500 36px Fraunces,serif;color:var(--accent);letter-spacing:-.04em}.related{border-top:1px solid var(--border);padding:75px 8% 0}.related-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;margin-top:35px}.related-grid .study-card{min-height:350px}.reveal-up{animation:reveal-up .8s both}.delay-1{animation-delay:.18s}@keyframes reveal-up{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,to{box-shadow:0 0 0 4px #79d6b024}50%{box-shadow:0 0 0 8px #79d6b040}}@media (max-width: 800px){.topbar,.section-pad,.footer{width:calc(100% - 40px)}.topbar{height:78px}.availability{display:none}.menu-button{display:block;margin-left:auto;color:#f4f6ff}.nav-links{display:none;position:absolute;top:70px;left:0;right:0;background:var(--bg-card);border:1px solid var(--border-soft);padding:18px 20px 24px;margin:0;flex-direction:column;align-items:flex-start;gap:12px;box-shadow:0 20px 40px #00000052}.nav-links.is-open{display:flex}.nav-links button,.nav-links a{color:var(--text-dim)}.hero{min-height:760px;padding-top:30px;padding-bottom:70px}.hero:before{background:linear-gradient(180deg,#05060db3,#05060d70 35%,#05060d 72%),linear-gradient(90deg,#05060d,#05060d2e)}.hero-copy{width:100%;padding-top:150px}.hero h1{font-size:clamp(52px,15vw,82px)}.hero-intro{font-size:14px;margin-top:28px}.hero-aside{display:block}.hero-portrait{width:100%;height:100%}.hero-portrait img{-o-object-position:61% top;object-position:61% top}.hero-stamp,.hero-note{display:none}.portrait-caption{right:20px;bottom:28px}.scroll-cue{left:20px;bottom:26px}.statement,.featured,.toolkit,.education{padding-top:85px;padding-bottom:95px}.statement-grid,.toolkit{grid-template-columns:1fr;gap:45px;padding-left:0;padding-right:0}.statement-grid{padding-top:45px}.toolkit h2{margin-top:35px}.skills-grid{grid-template-columns:1fr;padding-top:10px}.feature-list,.listing-cards,.related-grid{grid-template-columns:1fr}.education-grid{grid-template-columns:1fr;gap:18px}.edu-logo{height:60px}.study-card{min-height:390px}.closing{padding-left:40px;padding-right:40px;min-height:410px}.closing-mark{font-size:220px;position:absolute;right:-30px;opacity:.8}.footer{flex-wrap:wrap}.footer span:nth-child(2){display:none}.listing-page{padding-top:50px}.listing-intro{padding:0 0 55px}.listing-intro h1{font-size:clamp(58px,15vw,90px)}.detail-page{padding-top:25px}.detail-hero{padding:45px 30px;min-height:390px;display:block}.detail-hero h1{font-size:52px}.detail-index{margin-top:35px;font-size:70px}.detail-layout{grid-template-columns:1fr;gap:20px;padding:55px 0}.detail-content{display:flex;flex-direction:column}.detail-lead{font-size:26px}.fake-editorial{margin:38px 0}.related{padding-left:0;padding-right:0}}.experience-blocks{display:flex;flex-direction:column;gap:80px}.exp-block{border:1px solid var(--border);padding:50px 45px;position:relative;overflow:hidden}.exp-block.red{background:linear-gradient(160deg,#1a1f3d,#0b1021 60%)}[data-theme=light] .exp-block.red{background:linear-gradient(160deg,#edeefc,#f7f9fd 60%)}.exp-block.green{background:linear-gradient(160deg,#0e1f26,#0b1021 60%)}[data-theme=light] .exp-block.green{background:linear-gradient(160deg,#e6f7f0,#f7f9fd 60%)}.exp-block-header{margin-bottom:35px}.exp-index{font:9px DM Mono,monospace;text-transform:uppercase;letter-spacing:.08em;color:var(--accent)}.exp-company{font:500 clamp(28px,3.5vw,44px)/1 "Fraunces",serif;letter-spacing:-.04em;margin:14px 0 8px;color:var(--text)}.exp-role{font-size:15px;color:var(--accent-soft);margin:0 0 6px}.exp-period{font:10px DM Mono,monospace;color:var(--text-faint);text-transform:uppercase;letter-spacing:.04em}.exp-metric{display:flex;flex-direction:column;align-items:flex-start;gap:4px;margin:0 0 30px;padding:24px 0;border-top:1px solid var(--border-soft);border-bottom:1px solid var(--border-soft)}.exp-metric-value{font:500 clamp(48px,6vw,72px)/.9 "Fraunces",serif;color:#9eb2ff;letter-spacing:-.05em}.exp-metric-label{font:11px DM Mono,monospace;color:#c0c8dd;text-transform:uppercase;letter-spacing:.06em}.exp-metric-sub{font:10px DM Mono,monospace;color:#79d6b0;margin-top:4px}.exp-summary{color:var(--text-soft);line-height:1.8;font-size:14px;max-width:560px;margin:0 0 35px}.exp-missions{margin-bottom:35px}.exp-missions h3,.exp-stack h3{font:9px DM Mono,monospace;text-transform:uppercase;letter-spacing:.08em;color:var(--text-faint);margin:0 0 18px}.exp-missions ul{list-style:none;padding:0;margin:0;max-width:620px}.exp-missions li{position:relative;padding-left:26px;margin-bottom:14px;color:var(--text-dim);line-height:1.7;font-size:13px}.exp-mission-marker{position:absolute;left:0;top:8px;width:8px;height:8px;border:1px solid var(--accent);transform:rotate(45deg)}.exp-stack-tags{display:flex;flex-wrap:wrap;gap:7px;max-width:620px}.exp-stack-tags span{font:9px DM Mono,monospace;color:var(--text-soft);border:1px solid var(--border-soft);padding:7px 10px}.exp-resource{display:inline-flex;align-items:center;gap:10px;margin-top:30px;padding:13px 18px;border:1px solid var(--border-accent);font:10px DM Mono,monospace;text-transform:uppercase;color:var(--accent-soft);transition:.3s}.exp-resource:hover{background:var(--accent);color:var(--bg);border-color:var(--accent)}.exp-image-placeholder{margin-top:35px;padding:40px;border:1px dashed var(--border-soft);text-align:center;font:10px DM Mono,monospace;color:var(--text-faint)}.exp-image-placeholder code{color:var(--accent)}.exp-gallery{margin-top:35px}.exp-gallery h2{font:500 36px Fraunces,serif;letter-spacing:-.04em;margin:0 0 24px;color:var(--text)}.freelance-gallery{margin-top:20px}.freelance-gallery-header{margin-bottom:28px}.freelance-gallery-header p{color:var(--text-soft);font-size:13px;margin:14px 0 0;max-width:520px}.freelance-client-grid{display:flex;flex-direction:column;gap:28px;align-items:stretch}.client-card{min-width:0;display:flex;flex-direction:column;border:1px solid var(--border);border-radius:18px;overflow:hidden;background:linear-gradient(160deg,var(--bg-card-alt) 0%,var(--bg-alt) 100%);box-shadow:var(--shadow-soft);transition:transform .45s cubic-bezier(.2,.8,.2,1),box-shadow .45s,border-color .45s}.client-card:nth-child(1){border-color:#9eb2ff4d}[data-theme=light] .client-card:nth-child(1){border-color:#4258c940}.client-card:nth-child(2){border-color:#79d6b04d}[data-theme=light] .client-card:nth-child(2){border-color:#1a9d6e40}.client-card:hover{transform:translateY(-8px);box-shadow:var(--shadow-deep)}.client-card:after{content:"";height:2px;width:42%;background:var(--accent);transform:scaleX(.35);transform-origin:left;transition:transform .5s ease}.client-card:nth-child(2):after{background:var(--green)}.client-card:hover:after{transform:scaleX(1)}.browser-mockup{border-radius:12px 12px 0 0;overflow:hidden;background:var(--bg-card);border:1px solid var(--border);border-bottom:none}.browser-bar{display:flex;align-items:center;gap:14px;padding:11px 16px;background:var(--bg-bar);border-bottom:1px solid var(--border)}.browser-dots{display:flex;gap:7px;flex-shrink:0}.browser-dots span{width:11px;height:11px;border-radius:50%}.browser-dots span:nth-child(1){background:#ff5f57}.browser-dots span:nth-child(2){background:#febc2e}.browser-dots span:nth-child(3){background:#28c840}.browser-url{flex:1;display:flex;align-items:center;gap:8px;padding:6px 14px;background:var(--bg);border-radius:100px;font:11px DM Mono,monospace;color:var(--text-faint);letter-spacing:.02em}.browser-lock{width:7px;height:9px;border:1.5px solid #79d6b0;border-top:none;border-radius:0 0 2px 2px;position:relative;flex-shrink:0}.browser-lock:before{content:"";position:absolute;top:-5px;left:50%;transform:translate(-50%);width:5px;height:5px;border:1.5px solid #79d6b0;border-bottom:none;border-radius:4px 4px 0 0}.browser-counter{font:10px DM Mono,monospace;color:var(--accent-soft);flex-shrink:0;letter-spacing:.04em}.browser-counter em{color:var(--border-accent);font-style:normal;margin:0 3px}.browser-viewport{position:relative;width:100%;aspect-ratio:16 / 11;background:linear-gradient(135deg,#f5f7fb,#dfe5ef);overflow:hidden;cursor:zoom-in}.browser-viewport:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;box-shadow:inset 0 0 0 1px #ffffff2e,inset 0 -40px 55px #05060d14}.browser-viewport img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;-o-object-fit:contain;object-fit:contain;-o-object-position:center;object-position:center;opacity:0;transform:scale(.985);transition:opacity .8s cubic-bezier(.4,0,.2,1),transform 1.2s cubic-bezier(.4,0,.2,1)}.browser-viewport img.is-active{opacity:1;transform:scale(1)}.browser-zoom-hint{position:absolute;right:12px;bottom:12px;z-index:3;display:flex;align-items:center;gap:6px;padding:7px 12px;border-radius:100px;background:#05060da6;color:#dce3f7;font:9px DM Mono,monospace;text-transform:uppercase;letter-spacing:.06em;opacity:0;transform:translateY(4px);transition:opacity .3s ease,transform .3s ease;pointer-events:none}.browser-viewport:hover .browser-zoom-hint{opacity:1;transform:translateY(0)}.client-card-thumbs{display:flex;gap:10px;padding:16px 20px 0}.client-card-thumbs button{flex:1;aspect-ratio:16 / 10;border-radius:8px;overflow:hidden;border:2px solid transparent;padding:0;background:var(--bg-card);cursor:pointer;transition:border-color .3s ease,transform .3s ease,opacity .3s ease;opacity:.55}.client-card-thumbs button:hover{opacity:.85;transform:translateY(-2px)}.client-card-thumbs button.is-active{border-color:var(--accent);opacity:1}.client-card-thumbs button img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.client-card-body{flex:1;padding:26px 26px 24px}.client-kicker{display:block;font:9px DM Mono,monospace;text-transform:uppercase;letter-spacing:.08em;color:var(--green);margin-bottom:10px}.client-card:nth-child(1) .client-kicker{color:var(--accent)}.client-card-body h4{font:500 clamp(24px,2.4vw,32px)/1.08 "Fraunces",serif;letter-spacing:-.03em;margin:0 0 9px;color:var(--text)}.client-card-body strong{display:block;color:var(--accent-soft);font-size:11px;line-height:1.45;font-weight:500;margin-bottom:12px}.client-card-body p{display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden;font-size:12px;color:var(--text-soft);line-height:1.55;margin:0 0 9px}.client-card-body p:first-of-type{-webkit-line-clamp:3}.client-card-body p:nth-of-type(2){-webkit-line-clamp:3}.gallery-tech{display:flex;flex-wrap:wrap;gap:7px;margin-top:18px}.gallery-tech span{font:9px DM Mono,monospace;color:var(--text-soft);border:1px solid var(--border-soft);padding:6px 10px;border-radius:6px;transition:border-color .3s ease,color .3s ease}.gallery-tech span:hover{border-color:var(--accent);color:var(--accent-soft)}.client-status{display:flex;align-items:center;gap:8px;margin-top:17px;font:9px DM Mono,monospace;color:var(--text-faint);text-transform:uppercase;line-height:1.5;letter-spacing:.04em}.client-status span{width:6px;height:6px;border-radius:50%;background:var(--green);box-shadow:0 0 0 4px #79d6b024}.lightbox-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;background:var(--overlay);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:grid;place-items:center;animation:lightbox-fade-in .3s ease-out}@keyframes lightbox-fade-in{0%{opacity:0}to{opacity:1}}.lightbox-content{position:relative;max-width:92vw;max-height:88vh;display:flex;flex-direction:column;align-items:center;animation:lightbox-zoom-in .35s cubic-bezier(.2,.8,.2,1)}@keyframes lightbox-zoom-in{0%{opacity:0;transform:scale(.94)}to{opacity:1;transform:scale(1)}}.lightbox-content img{max-width:92vw;max-height:80vh;width:auto;height:auto;-o-object-fit:contain;object-fit:contain;border-radius:10px;box-shadow:0 24px 80px #00000080}.lightbox-counter{margin-top:14px;font:11px DM Mono,monospace;color:var(--text-muted);letter-spacing:.06em}.lightbox-counter em{color:var(--border-accent);font-style:normal;margin:0 3px}.lightbox-close{position:fixed;top:22px;right:22px;z-index:201;width:46px;height:46px;border-radius:50%;background:#ffffff14;color:var(--text);display:grid;place-items:center;transition:background .25s,transform .25s}.lightbox-close:hover{background:#ffffff29;transform:rotate(90deg)}.lightbox-nav{position:fixed;top:50%;transform:translateY(-50%);z-index:201;width:50px;height:50px;border-radius:50%;background:#ffffff14;color:var(--text);display:grid;place-items:center;transition:background .25s,transform .25s}.lightbox-nav:hover{background:#ffffff29;transform:translateY(-50%) scale(1.08)}.lightbox-prev{left:22px}.lightbox-next{right:22px}@media (max-width: 600px){.lightbox-nav{width:42px;height:42px}.lightbox-prev{left:12px}.lightbox-next{right:12px}.lightbox-close{top:14px;right:14px;width:40px;height:40px}}.freelance-stack-sidebar{grid-column:1 / -1;margin-top:4px}.freelance-stack-mini-grid{display:flex;flex-direction:column;gap:10px}.freelance-stack-mini-card{display:flex;align-items:flex-start;gap:12px;padding:14px;border:1px solid var(--border);border-radius:12px;background:linear-gradient(160deg,var(--bg-card-alt) 0%,var(--bg-alt) 100%);overflow:hidden;position:relative;transition:transform .4s cubic-bezier(.2,.8,.2,1),border-color .4s,box-shadow .4s}.freelance-stack-mini-card:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at var(--mx,50%) var(--my,50%),rgba(158,178,255,.1),transparent 60%);opacity:0;transition:opacity .4s ease;pointer-events:none}.freelance-stack-mini-card:hover{transform:translate(4px);border-color:#9eb2ff66;box-shadow:0 10px 30px #192d8233}.freelance-stack-mini-card:hover:before{opacity:1}.freelance-stack-mini-icon{width:34px;height:34px;border-radius:9px;display:grid;place-items:center;color:var(--accent);background:linear-gradient(145deg,#9eb2ff1f,#9eb2ff0a);border:1px solid rgba(158,178,255,.2);flex-shrink:0;transition:transform .4s cubic-bezier(.2,.8,.2,1),border-color .4s,color .4s}.freelance-stack-mini-card:hover .freelance-stack-mini-icon{transform:scale(1.1) rotate(-5deg);border-color:#9eb2ff80;color:var(--accent-soft)}.freelance-stack-mini-body{flex:1;min-width:0}.freelance-stack-mini-body strong{display:block;font:500 12.5px Hanken Grotesk,sans-serif;color:var(--text);margin-bottom:3px;letter-spacing:-.01em}.freelance-stack-mini-body p{font:11px DM Mono,monospace;color:var(--text-soft);line-height:1.4;margin:0;transition:color .3s ease}.freelance-stack-mini-card:hover .freelance-stack-mini-body p{color:var(--accent-soft)}.projects-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.project-card{width:100%;text-align:left;padding:25px;color:var(--text);min-height:480px;display:flex;flex-direction:column;justify-content:space-between;transition:transform .35s cubic-bezier(.2,.8,.2,1),box-shadow .35s;position:relative;overflow:hidden;border:1px solid rgba(158,178,255,.15);box-shadow:inset 0 0 70px #05060d24}.project-card:hover{transform:translateY(-9px) rotate(-.5deg);box-shadow:var(--shadow-card)}.project-card.large{min-height:560px;padding:30px}.project-card.ochre{background:linear-gradient(145deg,#17265a,#0b1230)}[data-theme=light] .project-card.ochre{background:linear-gradient(145deg,#eef2ff,#e0e7f7)}.project-card.blue{background:linear-gradient(145deg,#173d70,#0a1837)}[data-theme=light] .project-card.blue{background:linear-gradient(145deg,#e8f0ff,#d6e3f7)}.project-card-top{display:flex;justify-content:space-between;align-items:flex-start;position:relative;z-index:2}.project-card-top span{font:9px DM Mono,monospace;text-transform:uppercase;opacity:.75}.project-badge{font:9px DM Mono,monospace;text-transform:uppercase;letter-spacing:.08em;color:var(--green);border:1px solid rgba(121,214,176,.4);padding:5px 9px}.project-card-art{flex:1;display:grid;place-items:center;position:relative}.project-art-number{position:absolute;font:clamp(90px,10vw,145px) "Fraunces",serif;opacity:.14;letter-spacing:-.1em}.project-art-shape{width:145px;height:145px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.5);transform:rotate(45deg);transition:.5s;color:var(--accent-soft)}.project-art-shape svg{transform:rotate(-45deg)}.project-card:hover .project-art-shape{transform:rotate(135deg) scale(1.08)}.project-card.large .project-art-shape{width:200px;height:200px}.project-card-bottom{display:flex;justify-content:space-between;align-items:flex-end;position:relative;z-index:2}.project-card-bottom h3{font:500 clamp(25px,2.8vw,35px)/1.04 "Fraunces",serif;letter-spacing:-.04em;max-width:400px;margin:0 0 8px}.project-card-bottom p{margin:0;font-size:12px;opacity:.76}.project-metric{display:block;margin-top:12px;font:10px DM Mono,monospace;color:var(--accent);text-transform:uppercase;letter-spacing:.04em}.project-card-cta{display:flex;align-items:center;gap:8px;font:10px DM Mono,monospace;text-transform:uppercase;color:var(--accent);letter-spacing:.04em;transition:.3s}.project-card:hover .project-card-cta{gap:14px}.pipeline-section{margin-top:55px}.pipeline-section h2,.model-section h2{font:500 36px Fraunces,serif;letter-spacing:-.04em;margin:0 0 30px;color:var(--text)}.pipeline-flow{display:flex;flex-wrap:wrap;align-items:stretch;gap:0}.pipeline-step{display:flex;flex-direction:column;align-items:center;gap:10px;flex:1;min-width:120px;position:relative;padding:22px 12px;border:1px solid var(--border-soft);background:var(--bg-card);margin-right:-1px}.pipeline-step-num{font:9px DM Mono,monospace;color:var(--text-faint)}.pipeline-step-label{font:11px Hanken Grotesk,sans-serif;color:var(--accent-soft);text-align:center;line-height:1.4}.pipeline-arrow{position:absolute;right:-10px;top:50%;transform:translateY(-50%);color:var(--accent);z-index:2;background:var(--bg);padding:2px}.model-section{margin-top:55px}.model-tags{display:flex;flex-wrap:wrap;gap:10px}.model-tag{font:11px DM Mono,monospace;color:var(--accent);border:1px solid rgba(158,178,255,.3);padding:10px 14px;background:var(--bg-card)}.metric-sub{font:10px DM Mono,monospace;color:#79d6b0;margin-top:6px}.exp-metric-inline{display:flex;flex-direction:column;gap:4px;margin:40px 0;padding:28px 0;border-top:1px solid var(--border-soft);border-bottom:1px solid var(--border-soft)}.exp-metric-inline .exp-metric-value{font:500 clamp(48px,6vw,72px)/.9 "Fraunces",serif;color:var(--accent);letter-spacing:-.05em}.exp-metric-inline .exp-metric-label{font:11px DM Mono,monospace;color:var(--text-dim);text-transform:uppercase;letter-spacing:.06em}.exp-metric-inline .exp-metric-sub{font:10px DM Mono,monospace;color:var(--green);margin-top:4px}.project-showcase{margin-top:52px;padding:18px;border:1px solid var(--border-soft);background:linear-gradient(145deg,var(--bg-card),var(--bg-alt));overflow:hidden;position:relative}.project-showcase:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(110deg,transparent 20%,rgba(158,178,255,.08) 48%,transparent 70%);transform:translate(-100%);animation:showcase-sheen 6s ease-in-out infinite;pointer-events:none}@keyframes showcase-sheen{0%,55%{transform:translate(-100%)}75%,to{transform:translate(100%)}}.project-showcase-image-wrap{position:relative;overflow:hidden;border:1px solid var(--border-soft);background:#f5f7fb;box-shadow:0 18px 45px #00000038}.project-showcase-image{display:block;width:100%;height:auto;position:relative;z-index:1;animation:showcase-float 7s ease-in-out infinite}@keyframes showcase-float{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}.showcase-glow{position:absolute;width:180px;height:180px;right:8%;top:12%;background:#247bf52e;filter:blur(50px);border-radius:50%;animation:showcase-glow 5s ease-in-out infinite}@keyframes showcase-glow{0%,to{opacity:.3;transform:scale(.8)}50%{opacity:.7;transform:scale(1.15)}}.project-showcase-copy{position:relative;z-index:2;padding:32px 8px 8px}.showcase-kicker{display:block;font:9px DM Mono,monospace;text-transform:uppercase;letter-spacing:.1em;color:var(--green);margin-bottom:14px}.project-showcase-copy h2{font:500 clamp(28px,4vw,42px)/1.05 "Fraunces",serif;letter-spacing:-.04em;color:var(--text);margin:0 0 18px}.project-showcase-copy p{max-width:720px;font-size:13px;color:var(--text-soft);line-height:1.75;margin:0 0 14px}.showcase-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px}.showcase-tags span{padding:7px 10px;border:1px solid rgba(121,214,176,.3);color:var(--green);font:9px DM Mono,monospace}.detail-image-placeholder{margin-top:55px;padding:60px 40px;border:1px dashed var(--border-soft);text-align:center;font:10px DM Mono,monospace;color:var(--text-faint)}.detail-image-placeholder code{color:var(--accent)}.detail-image-placeholder small{display:block;margin-top:10px;color:var(--border-accent)}.edpi-metrics-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:36px 0}.edpi-metric-card{padding:22px 18px;border:1px solid var(--border-soft);border-radius:14px;background:linear-gradient(160deg,var(--bg-card-alt) 0%,var(--bg-alt) 100%);display:flex;flex-direction:column;gap:6px;transition:border-color .35s,transform .35s}.edpi-metric-card:hover{border-color:#9eb2ff66;transform:translateY(-3px)}.edpi-metric-card strong{font:500 clamp(26px,3vw,38px)/1 "Fraunces",serif;color:var(--accent);letter-spacing:-.03em}.edpi-metric-card span{font:10px DM Mono,monospace;color:var(--text-soft);text-transform:uppercase;letter-spacing:.05em}.edpi-hero-shot{position:relative;margin:36px 0;border:1px solid #273354;border-radius:14px;overflow:hidden;background:#f5f7fb;cursor:zoom-in;box-shadow:0 18px 45px #00000038}.edpi-hero-shot img{display:block;width:100%;height:auto;-o-object-fit:contain;object-fit:contain}.edpi-section{margin-top:55px}.edpi-section h2{font:500 36px Fraunces,serif;letter-spacing:-.04em;margin:0 0 24px;color:var(--text)}.edpi-section h3{font:500 24px Fraunces,serif;letter-spacing:-.02em;margin:0 0 16px;color:var(--text)}.edpi-note{font-size:13px;color:var(--text-soft);line-height:1.75;max-width:720px;margin:0 0 28px}.edpi-cleaning-grid{max-width:720px}.edpi-figure{margin:28px 0 0}.edpi-figure-frame{position:relative;border:1px solid var(--border-soft);border-radius:12px;overflow:hidden;background:var(--bg-card);cursor:zoom-in;transition:border-color .3s}.edpi-figure-frame:hover{border-color:#9eb2ff59}.edpi-figure-frame img{display:block;width:100%;height:auto;-o-object-fit:contain;object-fit:contain}.edpi-figure figcaption{margin-top:12px;font:10px DM Mono,monospace;color:var(--text-faint);text-transform:uppercase;letter-spacing:.05em}.edpi-figure-wide .edpi-figure-frame{background:#f5f7fb}.edpi-zoom-hint{position:absolute;right:12px;bottom:12px;z-index:3;display:flex;align-items:center;gap:6px;padding:7px 12px;border-radius:100px;background:#05060da6;color:var(--accent-soft);font:9px DM Mono,monospace;text-transform:uppercase;letter-spacing:.06em;opacity:0;transform:translateY(4px);transition:opacity .3s ease,transform .3s ease;pointer-events:none}.edpi-figure-frame:hover .edpi-zoom-hint,.edpi-hero-shot:hover .edpi-zoom-hint{opacity:1;transform:translateY(0)}.edpi-quality{padding:28px;border:1px solid rgba(158,178,255,.25);border-radius:16px;background:linear-gradient(160deg,#9eb2ff0f,#05060d4d)}.edpi-quality h3{color:var(--accent)}.edpi-quality p{font-size:13px;color:var(--accent-soft);line-height:1.75;margin:0 0 20px}.edpi-star-schema{display:flex;flex-direction:column;align-items:center;gap:28px;margin:32px 0}.edpi-star-fact{padding:26px 36px;border:1px solid rgba(158,178,255,.45);border-radius:16px;background:linear-gradient(160deg,#131c3e,#0b1021);text-align:center;display:flex;flex-direction:column;gap:6px;box-shadow:0 12px 40px #192d8240}[data-theme=light] .edpi-star-fact{background:linear-gradient(160deg,#eef2ff,#fff);box-shadow:0 12px 40px #283c821f}.edpi-star-fact strong{font:500 22px Fraunces,serif;color:var(--text);letter-spacing:-.02em}.edpi-star-fact span{font:11px DM Mono,monospace;color:var(--accent)}.edpi-star-fact em{font:9px DM Mono,monospace;color:var(--green);text-transform:uppercase;letter-spacing:.06em;font-style:normal}.edpi-star-dims{display:flex;flex-wrap:wrap;justify-content:center;gap:18px}.edpi-star-dim{padding:18px 24px;border:1px solid var(--border-soft);border-radius:12px;background:var(--bg-card);text-align:center;display:flex;flex-direction:column;gap:4px;transition:border-color .3s,transform .3s}.edpi-star-dim:hover{border-color:#79d6b066;transform:translateY(-3px)}.edpi-star-dim strong{font:500 15px Hanken Grotesk,sans-serif;color:var(--accent-soft)}.edpi-star-dim span{font:10px DM Mono,monospace;color:var(--green)}.edpi-cta-row{display:flex;flex-wrap:wrap;gap:18px;align-items:center;margin-top:50px;padding-top:36px;border-top:1px solid var(--border-soft)}.meta-link{display:inline-flex;align-items:center;gap:8px;font:11px DM Mono,monospace;color:var(--accent);text-transform:uppercase;letter-spacing:.04em;transition:color .25s}.meta-link:hover{color:var(--accent-soft)}@media (max-width: 800px){.edpi-metrics-grid{grid-template-columns:repeat(2,1fr)}.edpi-star-dims{gap:12px}}@media (max-width: 430px){.edpi-metrics-grid{grid-template-columns:1fr}.edpi-section h2{font-size:30px}}@media (max-width: 800px){.experience-blocks{gap:50px}.exp-block{padding:35px 25px}.freelance-client-grid{gap:24px}.client-card-thumbs{gap:7px;padding:12px 14px 0}.client-card-body{padding:22px 18px 24px}.client-card-body h4{font-size:27px}.projects-grid{grid-template-columns:1fr}.project-card,.project-card.large{min-height:420px}.pipeline-flow{flex-direction:column}.pipeline-step{margin-right:0;margin-bottom:-1px}.pipeline-arrow{right:50%;top:auto;bottom:-10px;left:50%;transform:translate(-50%) rotate(90deg)}}@media (min-width: 801px) and (max-width: 1100px){.feature-list{grid-template-columns:repeat(2,1fr)}.toolkit{grid-template-columns:1fr;gap:50px}.toolkit-copy p{max-width:100%}.detail-layout{grid-template-columns:.3fr .7fr;gap:50px}.detail-hero{padding:60px 6%}.detail-layout{padding:60px 5%}.related{padding:60px 5% 0}.listing-intro{padding:0 5% 65px}.statement-grid{padding:60px 5% 0}}@media (min-width: 1600px){.topbar,.section-pad,.footer{width:min(1520px,calc(100% - 80px))}.hero{padding:50px max(60px,calc((100vw - 1520px)/2)) 120px}.hero-note,.scroll-cue{left:max(60px,calc((100vw - 1520px)/2))}.closing{padding-left:max(60px,calc((100vw - 1520px)/2));padding-right:max(60px,calc((100vw - 1520px)/2))}.hero h1{font-size:clamp(80px,7vw,160px)}.statement h2,.toolkit h2{font-size:clamp(48px,4vw,84px)}.closing h2{font-size:clamp(80px,8vw,160px)}}@media (min-width: 2000px){.topbar,.section-pad,.footer{width:min(1720px,calc(100% - 100px))}.hero{padding:60px max(80px,calc((100vw - 1720px)/2)) 140px}.hero-note,.scroll-cue{left:max(80px,calc((100vw - 1720px)/2))}.closing{padding-left:max(80px,calc((100vw - 1720px)/2));padding-right:max(80px,calc((100vw - 1720px)/2))}}@media (max-width: 430px){.topbar,.section-pad,.footer{width:calc(100% - 32px)}.hero{min-height:700px;padding-top:24px;padding-bottom:60px}.hero-copy{padding-top:150px}.hero h1{font-size:clamp(44px,14vw,66px)}.hero-intro{font-size:13px;margin-top:22px;max-width:100%}.hero-actions{gap:18px;flex-wrap:wrap}.button{padding:13px 16px;font-size:10px}.statement,.featured,.toolkit,.education{padding-top:70px;padding-bottom:80px}.statement h2,.toolkit h2{font-size:clamp(36px,9vw,52px)}.statement-body{font-size:13px}.study-card{min-height:340px;padding:16px}.study-card.large{min-height:460px;padding:20px}.card-bottom h3{font-size:22px}.skill-card,.skill-card-inner{min-height:250px}.skill-card h3{font-size:20px}.closing{min-height:360px;padding-left:24px;padding-right:24px}.closing h2{font-size:clamp(56px,14vw,84px)}.closing-mark{font-size:180px;right:-20px}.listing-intro h1{font-size:clamp(46px,13vw,72px)}.detail-hero h1{font-size:42px}.detail-lead{font-size:22px}.detail-content h2{font-size:32px}.exp-block{padding:28px 20px}.exp-company{font-size:30px}.project-card,.project-card.large{min-height:380px;padding:20px}.project-card-bottom h3{font-size:22px}.pipeline-step{min-width:100px;padding:18px 10px}.pipeline-step-label{font-size:10px}.footer{font-size:8px;gap:12px}.wordmark{font-size:9px}.wordmark-mark{width:32px;height:32px}.portrait-caption{right:16px;bottom:20px;font-size:9px}.scroll-cue{left:16px;bottom:20px;font-size:8px}.browser-bar{gap:10px;padding:9px 12px}.browser-url{font-size:10px;padding:5px 10px}.browser-counter{font-size:9px}}@media (max-width: 360px){.topbar,.section-pad,.footer{width:calc(100% - 24px)}.hero{min-height:640px}.hero-copy{padding-top:130px}.hero h1{font-size:clamp(42px,14vw,60px)}.hero-intro{font-size:12px}.button{padding:12px 14px;font-size:9px;gap:12px}.statement h2,.toolkit h2{font-size:clamp(32px,10vw,44px)}.closing h2{font-size:clamp(48px,13vw,68px)}.closing-mark{font-size:150px}.study-card{min-height:300px;padding:14px}.card-bottom h3{font-size:20px}.skill-card,.skill-card-inner{min-height:230px}.skill-card h3{font-size:18px}.detail-hero h1{font-size:36px}.detail-lead{font-size:20px}.project-card,.project-card.large{min-height:340px;padding:18px}.exp-block{padding:24px 16px}.exp-company{font-size:26px}.footer{font-size:7px}}@media (max-height: 500px) and (orientation: landscape){.hero{min-height:100vh;padding-top:20px;padding-bottom:40px}.hero-copy{padding-top:0;width:54%}.hero-portrait{width:46%}.hero h1{font-size:clamp(40px,6vw,64px)}.hero-intro{margin-top:18px;font-size:13px}.statement,.featured,.toolkit,.education{padding-top:60px;padding-bottom:60px}.closing{min-height:320px}.closing h2{font-size:clamp(48px,6vw,72px)}.closing-mark{font-size:160px}.chat-panel{max-height:85vh}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@supports (padding: env(safe-area-inset-bottom)){.chat-fab{bottom:max(20px,env(safe-area-inset-bottom));right:max(20px,env(safe-area-inset-right))}.chat-panel{bottom:max(90px,calc(env(safe-area-inset-bottom) + 80px));right:max(16px,env(safe-area-inset-right))}.footer{padding-bottom:max(31px,env(safe-area-inset-bottom))}}.chat-fab{position:fixed;bottom:28px;right:28px;width:58px;height:58px;border-radius:50%;background:linear-gradient(145deg,var(--accent),var(--accent-deep));color:var(--bg);display:grid;place-items:center;z-index:100;box-shadow:0 8px 30px #465adc66;transition:transform .3s cubic-bezier(.2,.8,.2,1),box-shadow .3s}.chat-fab:hover{transform:translateY(-3px) scale(1.05);box-shadow:0 12px 40px #465adc8c}.chat-fab.is-open{background:var(--border);color:var(--text)}.chat-fab-pulse{position:absolute;top:-4px;right:-4px;bottom:-4px;left:-4px;border-radius:50%;border:2px solid var(--accent);animation:chat-pulse 2.5s ease-out infinite}@keyframes chat-pulse{0%{opacity:.8;transform:scale(1)}to{opacity:0;transform:scale(1.5)}}.chat-panel{position:fixed;bottom:100px;right:28px;width:380px;max-width:calc(100vw - 56px);max-height:560px;background:linear-gradient(160deg,var(--bg-card-alt) 0%,var(--bg-alt) 100%);border:1px solid var(--border);border-radius:20px;overflow:hidden;z-index:101;display:flex;flex-direction:column;box-shadow:var(--shadow-deep);animation:chat-slide-up .35s cubic-bezier(.2,.8,.2,1)}@keyframes chat-slide-up{0%{opacity:0;transform:translateY(20px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}.chat-header{display:flex;align-items:center;justify-content:space-between;padding:16px 18px;background:#0f142d99;border-bottom:1px solid var(--border)}[data-theme=light] .chat-header{background:var(--bg-bar)}.chat-header-info{display:flex;align-items:center;gap:12px}.chat-avatar{width:38px;height:38px;border-radius:50%;background:linear-gradient(145deg,var(--accent),var(--accent-deep));display:grid;place-items:center;flex-shrink:0;overflow:hidden}.chat-avatar img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.chat-title{font:500 14px Hanken Grotesk,sans-serif;color:var(--text)}.chat-status{display:flex;align-items:center;gap:6px;font:10px DM Mono,monospace;color:var(--green);text-transform:uppercase;letter-spacing:.04em}.chat-status-dot{width:7px;height:7px;border-radius:50%;background:var(--green);box-shadow:0 0 0 3px #79d6b02e;animation:pulse 2.5s ease-out infinite}.chat-close{background:none;color:var(--text-faint);padding:4px;border-radius:8px;transition:.2s}.chat-close:hover{color:var(--text);background:#9eb2ff1a}.chat-messages{flex:1;overflow-y:auto;padding:18px;display:flex;flex-direction:column;gap:10px;scroll-behavior:smooth}.chat-messages::-webkit-scrollbar{width:4px}.chat-messages::-webkit-scrollbar-thumb{background:var(--border-soft);border-radius:2px}.chat-bubble{max-width:82%;padding:11px 15px;border-radius:16px;font-size:13px;line-height:1.55;animation:chat-bubble-in .3s ease-out}@keyframes chat-bubble-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.chat-bubble.bot{align-self:flex-start;background:var(--bg-card);color:var(--accent-soft);border:1px solid var(--border);border-bottom-left-radius:4px}.chat-bubble.visitor{align-self:flex-end;background:linear-gradient(145deg,var(--accent),var(--accent-deep));color:var(--bg);border-bottom-right-radius:4px}.chat-suggestions{display:flex;flex-wrap:wrap;gap:7px;margin-top:6px}.chat-suggestions button{font:10px DM Mono,monospace;text-transform:uppercase;letter-spacing:.04em;color:var(--accent);border:1px solid var(--border-soft);padding:7px 12px;border-radius:100px;background:transparent;transition:.25s}.chat-suggestions button:hover{background:var(--accent);color:var(--bg);border-color:var(--accent)}.chat-input-row{display:flex;gap:8px;padding:12px 14px;border-top:1px solid var(--border)}.chat-input{flex:1;background:var(--bg-card);border:1px solid var(--border-soft);border-radius:12px;padding:11px 14px;color:var(--text);font:13px Hanken Grotesk,sans-serif;outline:none;transition:border-color .25s}.chat-input:focus{border-color:var(--accent)}.chat-input::-moz-placeholder{color:var(--text-faint)}.chat-input::placeholder{color:var(--text-faint)}.chat-send{width:42px;height:42px;border-radius:12px;background:linear-gradient(145deg,var(--accent),var(--accent-deep));color:var(--bg);display:grid;place-items:center;flex-shrink:0;transition:transform .2s,box-shadow .2s}.chat-send:hover{transform:scale(1.05);box-shadow:0 4px 15px #6e7eff66}.chat-contact-btn{display:flex;align-items:center;gap:7px;justify-content:center;padding:11px;margin:0 14px 14px;font:11px DM Mono,monospace;text-transform:uppercase;letter-spacing:.05em;color:var(--green);border:1px solid rgba(121,214,176,.3);border-radius:12px;background:transparent;transition:.25s}.chat-contact-btn:hover{background:#79d6b01a;border-color:var(--green)}.chat-contact-form{flex:1;overflow-y:auto;padding:20px 18px;display:flex;flex-direction:column;gap:12px}.chat-contact-intro{display:flex;align-items:flex-start;gap:10px;padding:14px;background:var(--bg-card);border:1px solid var(--border);border-radius:12px}.chat-contact-intro svg{color:var(--accent);flex-shrink:0;margin-top:2px}.chat-contact-intro p{font-size:12px;line-height:1.6;color:var(--text-soft);margin:0}.chat-field{background:var(--bg-card);border:1px solid var(--border-soft);border-radius:12px;padding:12px 14px;color:var(--text);font:13px Hanken Grotesk,sans-serif;outline:none;transition:border-color .25s;resize:none}.chat-field:focus{border-color:var(--accent)}.chat-field::-moz-placeholder{color:var(--text-faint)}.chat-field::placeholder{color:var(--text-faint)}.chat-textarea{font-family:Hanken Grotesk,sans-serif;line-height:1.5}.chat-error{font-size:12px;color:#ff8a8a;margin:0}.chat-contact-actions{display:flex;align-items:center;justify-content:space-between;margin-top:4px}.chat-back-link{background:none;font:11px DM Mono,monospace;text-transform:uppercase;color:var(--text-faint);letter-spacing:.04em;transition:.2s}.chat-back-link:hover{color:var(--text)}.chat-submit-btn{display:flex;align-items:center;gap:8px;padding:11px 20px;border-radius:12px;background:linear-gradient(145deg,var(--accent),var(--accent-deep));color:var(--bg);font:500 12px Hanken Grotesk,sans-serif;transition:transform .2s,box-shadow .2s}.chat-submit-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #6e7eff66}.chat-submit-btn:disabled{opacity:.6;cursor:not-allowed}.chat-spinner{animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.chat-contact-success{display:flex;flex-direction:column;align-items:center;text-align:center;gap:14px;padding:30px 16px}.chat-success-icon{width:64px;height:64px;border-radius:50%;background:linear-gradient(145deg,#79d6b033,#79d6b00d);border:1px solid rgba(121,214,176,.4);display:grid;place-items:center;color:#79d6b0}.chat-contact-success h4{font:500 18px Fraunces,serif;color:var(--text);margin:0}.chat-contact-success p{font-size:13px;line-height:1.6;color:var(--text-soft);margin:0;max-width:280px}.chat-back-btn{margin-top:6px;padding:10px 22px;border-radius:12px;background:transparent;border:1px solid var(--border-accent);color:var(--accent-soft);font:11px DM Mono,monospace;text-transform:uppercase;letter-spacing:.04em;transition:.25s}.chat-back-btn:hover{background:var(--accent);color:var(--bg);border-color:var(--accent)}@media (max-width: 600px){.chat-panel{bottom:90px;right:16px;width:calc(100vw - 32px);max-height:70vh}.chat-fab{bottom:20px;right:20px;width:52px;height:52px}}.controls{display:flex;align-items:center;gap:14px;margin-right:20px}.theme-toggle,.lang-toggle{background:none;color:var(--text-muted);display:flex;align-items:center;justify-content:center;gap:6px;padding:7px 10px;border-radius:100px;border:1px solid var(--border-soft);transition:color .25s,border-color .25s,background .25s}.theme-toggle:hover,.lang-toggle:hover{color:var(--text);border-color:var(--accent)}.theme-toggle svg{transition:transform .4s cubic-bezier(.2,.8,.2,1)}.theme-toggle:hover svg{transform:rotate(20deg)}.lang-toggle{font:10px DM Mono,monospace;text-transform:uppercase;letter-spacing:.04em}.lang-toggle .lang-active{color:var(--accent);font-weight:500}.lang-toggle .lang-sep{color:var(--border-accent);margin:0 2px}@media (max-width: 800px){.controls{margin-right:0;gap:10px}.theme-toggle,.lang-toggle{padding:6px 8px}.lang-toggle{font-size:9px}}@media (max-width: 430px){.controls{gap:8px}.availability{display:none}}
