:root{font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,SF Pro Text,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:96px}body{margin:0;background:#f7f6f2;color:#111216;-webkit-font-smoothing:antialiased}body,button,a{-webkit-tap-highlight-color:transparent}button{font:inherit}a{color:inherit}:focus-visible{outline:2px solid var(--accent);outline-offset:4px}.site{--bg: #f7f6f2;--bg-soft: #eeece6;--surface: rgba(255, 255, 255, .72);--surface-solid: #ffffff;--ink: #111216;--muted: #67686d;--faint: #6d6e73;--line: rgba(17, 18, 22, .12);--accent: #bb3b22;--accent-soft: #ffded5;--nav: rgba(248, 247, 243, .72);--impact-bg: #111216;--impact-ink: #f8f7f3;--impact-muted: #9c9ca0;min-height:100vh;overflow:clip;color:var(--ink);background:var(--bg);transition:color .45s ease,background-color .45s ease}.site[data-theme=midnight]{--bg: #111216;--bg-soft: #1a1b20;--surface: rgba(30, 31, 37, .72);--surface-solid: #1b1c21;--ink: #f5f5f2;--muted: #a4a5aa;--faint: #a4a5aa;--line: rgba(245, 245, 242, .14);--accent: #92adff;--accent-soft: #27345d;--nav: rgba(17, 18, 22, .74);--impact-bg: #eff0f4;--impact-ink: #111216;--impact-muted: #666970}.site[data-theme=sage]{--bg: #dfe7dc;--bg-soft: #d2ddd0;--surface: rgba(240, 245, 238, .72);--surface-solid: #eef3ec;--ink: #142019;--muted: #566359;--faint: #566359;--line: rgba(20, 32, 25, .14);--accent: #a23f2a;--accent-soft: #e9c6bc;--nav: rgba(223, 231, 220, .76);--impact-bg: #173426;--impact-ink: #edf3eb;--impact-muted: #9eb4a6}.section{width:min(100%,1600px);margin:0 auto;padding-right:clamp(22px,6vw,96px);padding-left:clamp(22px,6vw,96px)}.page-progress{position:fixed;inset:0 0 auto;z-index:200;height:3px;background:var(--accent);transform-origin:left}.skip-link{position:fixed;top:-100px;left:22px;z-index:300;padding:12px 18px;color:var(--bg);background:var(--ink);text-decoration:none}.skip-link:focus{top:18px}.nav-shell{position:fixed;top:16px;left:50%;z-index:100;width:min(calc(100% - 32px),1120px);min-height:58px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:26px;padding:8px 10px 8px 20px;border:1px solid var(--line);border-radius:18px;background:var(--nav);box-shadow:0 12px 45px #00000014;-webkit-backdrop-filter:saturate(160%) blur(22px);backdrop-filter:saturate(160%) blur(22px);transform:translate(-50%)}.wordmark{width:max-content;font-size:14px;font-weight:650;letter-spacing:-.03em;text-decoration:none}.wordmark span{position:relative;top:-.55em;margin-left:2px;color:var(--accent);font-size:.75rem}.nav-links{display:flex;align-items:center;justify-content:center;gap:clamp(18px,2.5vw,34px)}.nav-links a{position:relative;color:var(--muted);font-size:12px;font-weight:520;text-decoration:none}.nav-links a:after{position:absolute;inset:auto 0 -7px;height:1px;content:"";background:var(--ink);transform:scaleX(0);transform-origin:left;transition:transform .25s ease}.nav-links a:hover:after,.nav-links a:focus-visible:after{transform:scaleX(1)}.nav-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px}.theme-picker{display:flex;align-items:center;gap:3px;padding:3px;border:1px solid var(--line);border-radius:12px}.theme-picker button{min-width:30px;height:30px;display:flex;align-items:center;gap:0;overflow:hidden;padding:0 9px;color:var(--muted);border:0;border-radius:9px;background:transparent;cursor:pointer;transition:gap .25s ease,background-color .25s ease}.theme-picker button.is-active{gap:7px;background:var(--bg-soft)}.theme-picker i{width:11px;height:11px;flex:0 0 auto;border:1px solid rgba(0,0,0,.14);border-radius:50%;box-shadow:inset 0 0 0 1px #fff6}.theme-picker span{max-width:0;overflow:hidden;font-size:.75rem;font-weight:600;opacity:0;white-space:nowrap;transition:max-width .25s ease,opacity .25s ease}.theme-picker button.is-active span{max-width:60px;opacity:1}.menu-button{display:none;width:40px;height:40px;place-items:center;padding:0;color:var(--ink);border:1px solid var(--line);border-radius:12px;background:transparent}.menu-button svg{width:20px}.hero{position:relative;min-height:min(900px,100svh);display:flex;align-items:center;overflow:hidden;padding:130px clamp(22px,6vw,96px) 100px}.hero:before{position:absolute;top:0;right:0;bottom:0;left:0;content:"";pointer-events:none;opacity:.42;background-image:radial-gradient(circle,var(--line) 1px,transparent 1px);background-size:26px 26px;-webkit-mask-image:linear-gradient(to right,black,transparent 56%);mask-image:linear-gradient(to right,black,transparent 56%)}.hero-content{position:relative;z-index:3;width:min(100%,1600px);margin:0 auto}.hero-overline{margin:0 0 clamp(30px,5vh,70px);color:var(--muted);font-size:.75rem;font-weight:580;text-transform:uppercase;letter-spacing:.12em}.hero h1{max-width:1400px;margin:0;font-size:clamp(3.25rem,7.2vw,7.75rem);font-weight:630;line-height:1.02;letter-spacing:-.065em}.hero h1 em{position:relative;color:var(--accent);font-style:normal;white-space:normal}.hero h1 em:after{position:absolute;right:.02em;bottom:-.07em;left:.08em;height:.035em;content:"";border-radius:99px;background:currentColor;transform:rotate(-1deg)}.hero-bottom{width:min(100%,820px);display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:40px;margin-top:clamp(46px,7vh,84px);margin-left:clamp(0px,26vw,430px)}.hero-bottom p{margin:0;color:var(--muted);font-size:clamp(1rem,1.35vw,1.3rem);line-height:1.65}.hero-bottom a,.project-detail>a{display:inline-flex;align-items:center;gap:15px;padding-bottom:8px;border-bottom:1px solid var(--ink);font-size:12px;font-weight:650;text-decoration:none;white-space:normal}.hero-bottom svg,.project-detail>a svg,.email-link svg{width:18px}.hero-orb{position:absolute;top:7%;right:-8vw;z-index:1;width:min(63vw,1000px);aspect-ratio:1;overflow:hidden;border:1px solid var(--line);border-radius:50%;opacity:.9;background:radial-gradient(circle at 40% 38%,rgba(255,255,255,.9),transparent 12%),radial-gradient(circle at 42% 42%,var(--accent-soft),transparent 38%),radial-gradient(circle at 68% 68%,var(--accent),transparent 20%),var(--bg-soft);filter:saturate(90%)}[data-theme=midnight] .hero-orb{opacity:.72;background:radial-gradient(circle at 40% 38%,rgba(255,255,255,.6),transparent 8%),radial-gradient(circle at 42% 42%,#354478,transparent 38%),radial-gradient(circle at 68% 68%,#9a79ff,transparent 18%),#171a28}[data-theme=sage] .hero-orb{background:radial-gradient(circle at 40% 38%,rgba(255,255,255,.8),transparent 11%),radial-gradient(circle at 42% 42%,#c2d2c0,transparent 38%),radial-gradient(circle at 68% 68%,#e19b80,transparent 20%),#c9d6c7}.hero-orb:before{position:absolute;top:0;right:0;bottom:0;left:0;content:"";background:repeating-radial-gradient(circle at center,transparent 0 36px,rgba(255,255,255,.13) 37px 38px);mix-blend-mode:overlay}.hero-orb span{position:absolute;top:15%;right:15%;bottom:15%;left:15%;border:1px solid rgba(255,255,255,.38);border-radius:50%}.hero-orb i{position:absolute;top:50%;left:50%;width:2px;height:120%;background:#ffffff38;transform:translate(-50%,-50%) rotate(38deg)}.scroll-note{position:absolute;bottom:34px;left:clamp(22px,6vw,96px);z-index:3;display:flex;align-items:center;gap:12px;color:var(--faint);font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.13em}.scroll-note i{width:42px;height:1px;overflow:hidden;background:var(--line)}.scroll-note i:after{width:50%;height:1px;display:block;content:"";background:var(--accent);animation:scroll-line 2s ease-in-out infinite}.section-label{display:flex;align-items:center;gap:14px;color:var(--muted);font-size:.75rem;font-weight:650;text-transform:uppercase;letter-spacing:.13em}.section-label span{color:var(--accent)}.section-label p{margin:0}.story{padding-top:clamp(64px,8vw,112px);padding-bottom:clamp(64px,8vw,112px)}.story-statement{width:min(100%,1250px);margin:clamp(32px,4vw,56px) auto 0}.story h2,.experience-intro h2,.work-intro h2,.profile-title h2,.contact h2{margin:0;font-size:clamp(3.3rem,7vw,8rem);font-weight:610;line-height:1.06;letter-spacing:-.055em}.story h2 em{color:var(--accent);font-style:normal}.story-grid{width:min(100%,760px);display:grid;grid-template-columns:repeat(2,1fr);gap:clamp(30px,6vw,90px);margin:clamp(32px,4vw,56px) 0 0 auto}.story-grid p{margin:0;color:var(--muted);font-size:clamp(1rem,1.25vw,1.2rem);line-height:1.75}.impact{padding:clamp(90px,10vw,150px) clamp(22px,6vw,96px);color:var(--impact-ink);background:var(--impact-bg)}.impact-track{width:min(100%,1450px);display:grid;grid-template-columns:repeat(4,1fr);margin:0 auto}.impact-track>div{min-width:0;padding:0 clamp(20px,3vw,48px);border-right:1px solid color-mix(in srgb,var(--impact-ink) 17%,transparent)}.impact-track>div:first-child{padding-left:0}.impact-track>div:last-child{padding-right:0;border-right:0}.impact strong,.impact span{display:block}.impact strong{font-size:clamp(3rem,5.6vw,6.7rem);font-weight:620;letter-spacing:-.07em}.impact span{margin-top:14px;color:var(--impact-muted);font-size:.75rem;font-weight:560;line-height:1.4;text-transform:uppercase;letter-spacing:.1em}.experience{padding-top:clamp(64px,8vw,112px);padding-bottom:clamp(64px,8vw,112px)}.experience-intro{display:grid;grid-template-columns:.6fr 1.4fr;align-items:start;gap:clamp(40px,8vw,130px);margin-top:clamp(28px,4vw,48px)}.experience-intro>p{margin:10px 0 0;color:var(--accent);font-size:12px;font-weight:650}.experience-intro h2{max-width:950px;font-size:clamp(3rem,5.8vw,7rem)}.timeline{margin-top:clamp(36px,5vw,64px);border-top:1px solid var(--line)}.timeline-item{display:grid;grid-template-columns:.55fr .95fr 1.35fr;gap:clamp(30px,5vw,80px);padding:clamp(42px,5vw,72px) 0;border-bottom:1px solid var(--line)}.timeline-date{display:flex;align-items:flex-start;gap:16px;color:var(--faint);font-size:.75rem;font-weight:600;letter-spacing:.05em}.timeline-date i{width:8px;height:8px;margin-top:3px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 6px var(--accent-soft)}.timeline-title h3{margin:0;font-size:clamp(1.35rem,2.1vw,2.2rem);font-weight:620;line-height:1.08;letter-spacing:-.045em}.timeline-title p{margin:12px 0 0;color:var(--accent);font-size:12px;font-weight:600}.timeline-copy>p{max-width:650px;margin:0;color:var(--muted);font-size:1rem;line-height:1.75}.timeline-copy ul,.project-detail ul{display:flex;flex-wrap:wrap;gap:7px;padding:0;margin:24px 0 0;list-style:none}.timeline-copy li,.project-detail li{padding:8px 11px;color:var(--muted);border:1px solid var(--line);border-radius:99px;font-size:.75rem;font-weight:620}.work{padding-top:clamp(64px,8vw,112px);padding-bottom:clamp(56px,7vw,96px);border-top:1px solid var(--line)}.work-intro{display:grid;grid-template-columns:1.4fr .6fr;align-items:end;gap:clamp(40px,8vw,130px);margin:clamp(28px,4vw,48px) 0 clamp(36px,5vw,64px)}.work-intro h2{font-size:clamp(2.5rem,4.5vw,5rem)}.work-intro>p{max-width:430px;margin:0 0 8px;color:var(--muted);font-size:1rem;line-height:1.7}.project-list{border-top:1px solid var(--line)}.project-chapter{position:relative;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);align-items:start;gap:0 clamp(50px,7vw,120px);padding:clamp(38px,5vw,72px) 0 clamp(48px,6vw,80px);border-bottom:1px solid var(--line)}.project-head{grid-column:1 / -1;display:grid;grid-template-columns:52px 1fr auto;align-items:center;gap:20px;margin-bottom:28px;color:var(--faint);font-size:.75rem;font-weight:620;text-transform:uppercase;letter-spacing:.1em}.project-head>span:first-child{color:var(--project-tone)}.project-head p{margin:0}.privacy-label,.private-repo{display:inline-flex;align-items:center;gap:7px}.privacy-label svg,.private-repo svg{width:13px}.project-art-wrap{position:sticky;top:98px;align-self:start}.artwork{position:relative;width:100%;min-height:min(72vh,760px);overflow:hidden;border-radius:clamp(24px,3vw,42px);background:color-mix(in srgb,var(--project-tone) 78%,#f2f2f0);box-shadow:0 35px 90px color-mix(in srgb,var(--project-tone) 18%,transparent)}.artwork:before{position:absolute;top:0;right:0;bottom:0;left:0;content:"";pointer-events:none;background:radial-gradient(circle at 16% 12%,rgba(255,255,255,.72),transparent 22%),linear-gradient(145deg,rgba(255,255,255,.28),transparent 46%)}.artwork-noise{position:absolute;top:0;right:0;bottom:0;left:0;opacity:.12;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.95' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.3'/%3E%3C/svg%3E");mix-blend-mode:soft-light}.artwork-index,.artwork-caption{position:absolute;z-index:8;color:#00000085;font-size:.75rem;font-weight:680;text-transform:uppercase;letter-spacing:.12em}.artwork-index{top:24px;left:26px}.artwork-caption{right:26px;bottom:22px}.rent-ecosystem{position:absolute;top:11%;right:11%;bottom:11%;left:11%}.rent-main{position:absolute;top:50%;left:50%;z-index:4;width:min(38%,250px);aspect-ratio:1;display:flex;align-items:center;justify-content:center;flex-direction:column;border:1px solid rgba(255,255,255,.55);border-radius:32%;color:#26130d;background:#ffffff61;box-shadow:0 28px 60px #5c1e0f2b;-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px);transform:translate(-50%,-50%) rotate(8deg)}.rent-main span{font-size:clamp(3rem,6vw,6.5rem);font-weight:700;letter-spacing:-.09em}.rent-main small{margin-top:4px;font-size:.75rem;font-weight:650;text-transform:uppercase;letter-spacing:.1em}.rent-surface{position:absolute;z-index:3;width:min(29%,190px);height:112px;display:flex;align-items:flex-end;gap:8px;padding:18px;color:#341711;border:1px solid rgba(255,255,255,.52);border-radius:22px;background:#ffffff4a;box-shadow:0 20px 45px #5c1e0f1f;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);font-size:.75rem;font-weight:660}.rent-surface i{width:7px;height:7px;margin-bottom:2px;border-radius:50%;background:#fff6ed}.rent-surface--web{top:1%;left:2%;transform:rotate(-7deg)}.rent-surface--api{top:2%;right:1%;transform:rotate(6deg)}.rent-surface--admin{bottom:1%;left:3%;transform:rotate(5deg)}.rent-surface--mobile{right:2%;bottom:0;transform:rotate(-6deg)}.artwork--sandbox{background:linear-gradient(135deg,#d6ddff,#7287ff 60%,#485ee2)}.sandbox-window{position:absolute;top:12%;right:9%;bottom:12%;left:9%;overflow:hidden;color:#edf0ff;border:1px solid rgba(255,255,255,.22);border-radius:28px;background:#0a0f2bdb;box-shadow:0 35px 75px #131e5b52;-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px)}.sandbox-bar{height:54px;display:flex;align-items:center;gap:7px;padding:0 20px;border-bottom:1px solid rgba(255,255,255,.11)}.sandbox-bar>span{width:7px;height:7px;border-radius:50%;background:#ffffff52}.sandbox-bar small{margin-left:auto;color:#ffffff75;font-size:.75rem;text-transform:uppercase;letter-spacing:.12em}.sandbox-copy{padding:clamp(34px,5vw,76px)}.sandbox-copy>small{color:#91a5ff;font-size:.75rem;font-weight:650;letter-spacing:.1em}.sandbox-copy>strong{display:block;margin-top:24px;font-size:clamp(2.1rem,4.3vw,5.2rem);font-weight:590;line-height:.96;letter-spacing:-.065em}.sandbox-copy>div{display:flex;flex-wrap:wrap;gap:9px;margin-top:38px}.sandbox-copy>div span{padding:9px 12px;color:#ffffffb8;border:1px solid rgba(255,255,255,.12);border-radius:99px;font-size:.75rem}.sandbox-action{position:absolute;right:22px;bottom:22px;display:flex;align-items:center;gap:8px;color:#ffffff9e;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em}.sandbox-action i{width:7px;height:7px;border-radius:50%;background:#7cf4bd;box-shadow:0 0 14px #7cf4bd}.artwork--finance{background:linear-gradient(145deg,#d5f5e5,#4ecb90 58%,#1e9d69)}.finance-phone{position:absolute;top:10%;bottom:8%;left:50%;width:min(48%,390px);overflow:hidden;padding:clamp(38px,5vw,66px) clamp(22px,3vw,38px);color:#112a20;border:7px solid rgba(10,45,31,.9);border-radius:48px;background:#f0fbf4;box-shadow:0 38px 80px #0d493147;transform:translate(-50%) rotate(-3deg)}.phone-island{position:absolute;top:13px;left:50%;width:72px;height:18px;border-radius:99px;background:#10251d;transform:translate(-50%)}.finance-phone>small{display:block;margin-top:8px;color:#628173;font-size:.75rem;font-weight:620}.finance-phone>strong{display:block;margin:8px 0 clamp(34px,5vw,60px);font-size:clamp(2rem,4vw,4.5rem);letter-spacing:-.065em}.loan-flow{display:flex;align-items:center;justify-content:space-between;color:#416b59;font-size:.75rem;font-weight:680}.loan-flow span{width:42px;height:42px;display:grid;place-items:center;border:1px solid #b7d7c6;border-radius:50%}.loan-flow i{flex:1;height:1px;background:#b7d7c6}.loan-card{position:absolute;right:18px;bottom:18px;left:18px;padding:22px;border-radius:24px;color:#effbf4;background:#133f2e}.loan-card small,.loan-card strong,.loan-card span{display:block}.loan-card small{color:#91b3a2;font-size:.75rem}.loan-card strong{margin:8px 0 26px;font-size:1rem}.loan-card span{font-size:.75rem}.artwork--map{background:linear-gradient(145deg,#ffebc3,#f8b845 60%,#dc8b18)}.map-device{position:absolute;top:10%;right:11%;bottom:10%;left:11%;overflow:hidden;border:6px solid #352612;border-radius:38px;background:#eae2cf;box-shadow:0 38px 80px #55370a47}.map-canvas{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(42deg,transparent 47%,rgba(112,97,67,.22) 48%,rgba(112,97,67,.22) 51%,transparent 52%),linear-gradient(-62deg,transparent 44%,rgba(112,97,67,.19) 45%,rgba(112,97,67,.19) 48%,transparent 49%),radial-gradient(circle at 27% 35%,#d8dfc9 0 10%,transparent 11%),#e8e0cc}.road{position:absolute;height:8px;border-radius:99px;background:#ffffffbd}.road--one{top:31%;left:-8%;width:72%;transform:rotate(17deg)}.road--two{top:55%;right:-10%;width:78%;transform:rotate(-27deg)}.pin{position:absolute;width:24px;height:24px;border:7px solid #ff663d;border-radius:50% 50% 50% 0;background:#fff6e6;box-shadow:0 8px 18px #67311130;transform:rotate(-45deg)}.pin--one{top:22%;left:26%}.pin--two{top:42%;right:23%}.pin--three{right:42%;bottom:29%}.map-result{position:absolute;right:20px;bottom:20px;left:20px;z-index:3;padding:22px 24px;border-radius:22px;color:#2d2417;background:#fffdf6e0;box-shadow:0 18px 45px #4732132e;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.map-result small,.map-result strong,.map-result span{display:block}.map-result small{color:#887b66;font-size:.75rem}.map-result strong{margin:7px 0 3px;font-size:clamp(1.15rem,2vw,2rem)}.map-result span{color:#d45b35;font-size:.75rem;font-weight:650}.project-story{align-self:center;padding:16px 0}.chapter-kicker{margin:0 0 24px;color:var(--project-tone);font-size:.75rem;font-weight:680;text-transform:uppercase;letter-spacing:.12em}.project-story h3{margin:0;font-size:clamp(2.25rem,3.5vw,4rem);font-weight:620;line-height:1.06;letter-spacing:-.055em}.project-detail{margin-top:clamp(24px,3vw,40px)}.project-detail>p{margin:0;color:var(--muted);font-size:clamp(1rem,1.25vw,1.18rem);line-height:1.75}.project-detail dl{margin:42px 0 0;border-top:1px solid var(--line)}.project-detail dl>div{display:grid;grid-template-columns:78px 1fr;gap:18px;padding:18px 0;border-bottom:1px solid var(--line)}.project-detail dt{color:var(--faint);font-size:.75rem;font-weight:650;text-transform:uppercase;letter-spacing:.1em}.project-detail dd{margin:0;font-size:.86rem;line-height:1.55}.project-detail>a,.private-repo{margin-top:42px}.project-detail>a{border-color:var(--project-tone)}.private-repo{color:var(--faint);font-size:.75rem;font-weight:620}.profile{padding-top:clamp(64px,8vw,112px);padding-bottom:clamp(64px,8vw,112px)}.profile-layout{display:grid;grid-template-columns:1.15fr .85fr;align-items:start;gap:clamp(50px,9vw,150px);margin-top:clamp(32px,4vw,56px)}.profile-title h2{font-size:clamp(3.6rem,6.5vw,7.6rem)}.profile-copy{padding-top:10px}.profile-copy>p{margin:0 0 24px;color:var(--muted);font-size:clamp(1rem,1.25vw,1.18rem);line-height:1.75}.profile-facts{display:grid;gap:0;margin-top:58px;border-top:1px solid var(--line)}.profile-facts span{display:grid;grid-template-columns:120px 1fr;gap:20px;padding:20px 0;border-bottom:1px solid var(--line);font-size:.9rem;font-weight:580}.profile-facts small{color:var(--faint);font-size:.75rem;font-weight:650;text-transform:uppercase;letter-spacing:.08em}.contact{width:100%;max-width:none;padding-top:clamp(64px,8vw,112px);padding-bottom:clamp(64px,8vw,112px);color:var(--impact-ink);background:var(--impact-bg)}.contact>div{width:min(100%,1400px);margin:0 auto}.contact>div>p{margin:0 0 32px;color:var(--impact-muted);font-size:.75rem;font-weight:650;text-transform:uppercase;letter-spacing:.12em}.contact h2{max-width:1200px;font-size:clamp(4rem,9vw,10rem)}.contact h2 em{color:var(--accent);font-style:normal}.email-link{display:inline-flex;align-items:center;gap:18px;margin-top:clamp(60px,8vw,110px);padding-bottom:10px;border-bottom:1px solid var(--accent);font-size:clamp(1rem,1.7vw,1.5rem);font-weight:570;text-decoration:none}.social-links{display:flex;flex-wrap:wrap;gap:10px;margin-top:52px}.social-links a{display:inline-flex;align-items:center;gap:9px;padding:12px 16px;color:var(--impact-muted);border:1px solid color-mix(in srgb,var(--impact-ink) 17%,transparent);border-radius:99px;font-size:.75rem;font-weight:620;text-decoration:none;transition:color .2s ease,border-color .2s ease}.social-links a:hover{color:var(--impact-ink);border-color:var(--accent)}.social-links svg{width:16px}.footer{min-height:110px;display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:40px;padding:25px clamp(22px,6vw,96px);color:var(--muted);border-top:1px solid var(--line);background:var(--bg)}.footer span{color:var(--ink);font-size:13px;font-weight:650}.footer p{margin:0;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em}.menu-scrim{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;display:none;background:var(--bg)}@keyframes scroll-line{0%,to{transform:translate(-100%)}50%{transform:translate(200%)}}@media (max-width: 1180px){.hero h1{font-size:clamp(4rem,10vw,8.4rem)}.hero-bottom{margin-left:18vw}.project-chapter{grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:0 48px}.artwork{min-height:560px}}@media (max-width: 960px){.nav-shell{grid-template-columns:1fr auto}.nav-links{position:fixed;top:0;right:0;bottom:0;left:0;z-index:91;display:flex;align-items:flex-start;justify-content:flex-start;flex-direction:column;gap:22px;padding:128px 34px 50px;visibility:hidden;opacity:0;pointer-events:none;transition:opacity .25s ease,visibility .25s ease}.nav-links.is-open{visibility:visible;opacity:1;pointer-events:auto}.nav-links a{color:var(--ink);font-size:clamp(2.6rem,9vw,5rem);font-weight:610;letter-spacing:-.06em}.nav-actions,.wordmark{position:relative;z-index:94}.menu-button{display:grid}.menu-scrim{display:block}.hero{min-height:760px}.hero h1{font-size:clamp(4.2rem,12vw,8rem)}.hero-orb{top:21%;right:-30vw;width:95vw}.hero-bottom{margin-left:0}.impact-track{grid-template-columns:repeat(2,1fr);gap:60px 0}.impact-track>div:nth-child(2){padding-right:0;border-right:0}.impact-track>div:nth-child(3){padding-left:0}.experience-intro,.work-intro,.profile-layout{grid-template-columns:1fr}.experience-intro>p{margin:0}.timeline-item{grid-template-columns:.6fr 1.4fr}.timeline-copy{grid-column:2}.project-chapter{display:block}.project-art-wrap{position:relative;top:auto}.project-story{max-width:720px;padding:36px 0 0}.artwork{min-height:540px}.profile-copy{max-width:700px}}@media (max-width: 680px){html{scroll-padding-top:80px}.nav-shell{top:10px;width:calc(100% - 20px);min-height:54px;padding-left:14px;border-radius:16px}.theme-picker button{min-width:27px;width:27px;height:27px;padding:0 8px}.theme-picker button.is-active{width:27px;gap:0}.theme-picker button.is-active span{max-width:0;opacity:0}.hero{min-height:auto;align-items:flex-start;padding-top:142px;padding-bottom:80px}.hero:before{opacity:.25;-webkit-mask-image:linear-gradient(to bottom,black,transparent 70%);mask-image:linear-gradient(to bottom,black,transparent 70%)}.hero-overline{margin-bottom:34px;font-size:.75rem}.hero h1{font-size:clamp(3.35rem,15vw,5.2rem);line-height:1.02;letter-spacing:-.055em}.hero-bottom{grid-template-columns:1fr;gap:30px;margin-top:52px}.hero-bottom p{max-width:470px;font-size:1rem}.hero-bottom a{width:max-content}.hero-orb{top:42%;right:-38vw;width:110vw;opacity:.5}.scroll-note{bottom:22px}.story h2,.experience-intro h2,.work-intro h2,.profile-title h2,.contact h2{font-size:clamp(3rem,13vw,4.8rem)}.story-grid{grid-template-columns:1fr;gap:24px}.impact{padding-top:80px;padding-bottom:80px}.impact-track{grid-template-columns:1fr;gap:0}.impact-track>div,.impact-track>div:nth-child(3){padding:30px 0;border-right:0;border-bottom:1px solid color-mix(in srgb,var(--impact-ink) 17%,transparent)}.impact-track>div:last-child{border-bottom:0}.timeline-item{grid-template-columns:1fr;gap:22px}.timeline-copy{grid-column:auto}.work-intro{margin-bottom:40px}.project-chapter{padding-bottom:64px}.project-head{grid-template-columns:34px 1fr}.privacy-label{grid-column:2}.artwork{min-height:480px;border-radius:26px}.artwork-caption{display:none}.rent-ecosystem{top:11%;right:6%;bottom:11%;left:6%}.rent-main{width:42%}.rent-surface{width:36%;height:88px;padding:13px;font-size:.75rem}.sandbox-window{top:10%;right:5%;bottom:10%;left:5%}.sandbox-copy{padding:34px 24px}.sandbox-copy>strong{font-size:clamp(2.1rem,10vw,3.4rem)}.sandbox-copy>div{margin-top:28px}.finance-phone{top:8%;bottom:7%;width:68%;border-radius:38px}.map-device{top:9%;right:5%;bottom:9%;left:5%}.project-story{padding-top:36px}.project-story h3{font-size:clamp(3rem,13.5vw,4.8rem)}.profile-facts span{grid-template-columns:105px 1fr}.contact h2{font-size:clamp(3.6rem,15vw,5.5rem)}.email-link{max-width:100%;font-size:.82rem;word-break:break-all}.footer{grid-template-columns:1fr;gap:14px;padding-top:34px;padding-bottom:34px}}@media (max-width: 400px){.wordmark{font-size:12px}.nav-actions{gap:6px}.theme-picker{gap:1px}.theme-picker button{min-width:23px;width:23px;padding:0 6px}.menu-button{width:36px;height:36px}.hero h1{font-size:clamp(3rem,14.5vw,4rem)}.artwork{min-height:420px}.rent-surface{width:38%}}@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.nav-links a{font-size:.875rem}.wordmark{width:auto}.theme-picker button{min-width:40px;min-height:40px}.theme-picker button.is-active span{max-width:90px}.hero-bottom{width:min(100%,62rem);grid-template-columns:1fr;margin-left:0;margin-top:2rem;gap:1.5rem}.hero-bottom p{max-width:46rem}.hero-actions,.project-links{display:flex;align-items:center;flex-wrap:wrap;gap:1rem 1.5rem}.hero-actions a,.project-links a{min-height:44px;font-size:.875rem;white-space:normal}.hero-actions .primary-action{padding:.875rem 1.25rem;border:1px solid var(--ink);border-radius:.5rem;background:var(--ink);color:var(--bg)}.hero-actions svg{flex-shrink:0}.project-links{margin-top:1.5rem}.project-links a{display:inline-flex;align-items:center;gap:.75rem;text-decoration:none;border-bottom:1px solid var(--line)}.project-links .case-study-link{font-weight:650;border-color:var(--ink)}.project-links svg{width:18px;flex-shrink:0}.project-links .private-repo{margin:0}.project-head{grid-template-columns:2rem minmax(0,1fr) auto;gap:1rem;overflow-wrap:anywhere}.project-story,.project-detail,.project-head>*,.timeline-item>*{min-width:0}.project-detail dl{margin-top:1.5rem}.project-detail dd,.project-detail dt,.timeline-title p{font-size:.875rem}.chapter-kicker{color:var(--ink)}.project-head>span:first-child{color:var(--muted)}.impact span{text-transform:none;letter-spacing:0;font-size:.875rem;line-height:1.6}.timeline-copy li,.project-detail li{font-size:.75rem}.social-links a{min-height:44px;font-size:.875rem}.email-link{overflow-wrap:anywhere}.case-page{max-width:1280px;padding-top:9rem;padding-bottom:5rem}.back-link{display:inline-flex;align-items:center;min-height:44px;margin-bottom:2rem;color:var(--muted);font-size:.875rem}.case-page>h1{margin:1rem 0;font-size:clamp(3rem,7vw,6rem);line-height:1.05;letter-spacing:-.055em;overflow-wrap:anywhere}.case-lead{margin:0 0 1.25rem;font-size:clamp(1.5rem,3vw,2.25rem);line-height:1.3;letter-spacing:-.025em}.case-summary{max-width:48rem;color:var(--muted);font-size:1.125rem;line-height:1.75}.case-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem;margin:2rem 0 3rem;padding:1.5rem 0;border-block:1px solid var(--line)}.case-facts dt{color:var(--muted);font-size:.875rem;margin-bottom:.5rem}.case-facts dd{margin:0;font-size:1rem;line-height:1.6}.case-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,.45fr);gap:clamp(2rem,6vw,5rem);align-items:start}.case-narrative section{margin-bottom:2.5rem}.case-narrative h2,.related-projects h2{margin:0 0 1rem;font-size:clamp(1.5rem,2.5vw,2rem);line-height:1.2;letter-spacing:-.03em}.case-narrative p{margin:0;color:var(--muted);font-size:1rem;line-height:1.8}.case-decision{margin-top:1.5rem}.case-decision h3{margin:0 0 .5rem;font-size:1.125rem;line-height:1.4}.case-evidence{border:1px solid var(--line);border-radius:1rem;padding:1.5rem;background:var(--surface)}.case-evidence h2{margin:0 0 1rem;font-size:1.125rem}.case-evidence ul{list-style:none;margin:0;padding:0}.case-evidence a{display:flex;align-items:center;gap:.75rem;min-height:44px;padding-block:.75rem;font-size:.875rem;line-height:1.5;overflow-wrap:anywhere;text-underline-offset:.2em}.case-evidence svg,.related-projects svg{flex:0 0 18px;width:18px}.case-contact{border-top:1px solid var(--line);margin-top:1rem}.related-projects{display:flex;align-items:center;flex-wrap:wrap;gap:1rem 2rem;margin-top:2rem;padding-top:2rem;border-top:1px solid var(--line)}.related-projects h2{width:100%}.related-projects a{display:flex;align-items:center;gap:.75rem;min-height:44px;font-size:1rem;text-underline-offset:.2em}@media (max-width: 960px){.nav-links a{font-size:clamp(2rem,7vw,3rem)}.nav-links{overflow-y:auto;gap:1rem}.hero h1{font-size:clamp(3.25rem,9vw,5.75rem)}.case-layout{grid-template-columns:1fr}.case-evidence{max-width:40rem}}@media (max-width: 680px){.nav-shell{gap:.5rem;grid-template-columns:minmax(0,1fr) auto;padding:.5rem}.wordmark{font-size:.875rem}.nav-actions{gap:.375rem}.theme-picker button,.theme-picker button.is-active{min-width:32px;width:32px;height:40px;padding:0 10px}.menu-button{width:44px;height:44px}.hero{padding-top:8.5rem;padding-bottom:4rem}.hero h1{font-size:clamp(2.5rem,9.5vw,4rem);line-height:1.08}.hero h1 em{white-space:normal}.hero-actions{gap:.75rem 1rem}.hero-overline{line-height:1.7}.scroll-note{display:none}.project-head{grid-template-columns:2rem minmax(0,1fr)}.privacy-label{grid-column:2}.project-story h3{font-size:clamp(2rem,8vw,3.25rem)}.project-detail dl>div{grid-template-columns:3.5rem minmax(0,1fr);gap:1rem}.story h2,.experience-intro h2,.work-intro h2,.profile-title h2{font-size:clamp(2rem,8.5vw,3.5rem)}.case-page{padding-top:7rem;padding-bottom:3rem}.case-facts{grid-template-columns:1fr}.email-link{font-size:1rem}}
