@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap";:root{font-family:Inter,Arial,sans-serif;color:#050505;background:#f7f7f4;font-synthesis:none;text-rendering:optimizeLegibility;--paper: #f7f7f4;--ink: #050505;--muted: #5f5f5a;--line: rgba(5, 5, 5, .14);--dark: #090909;--green: #31d6a0;--ease: cubic-bezier(.16, 1, .3, 1);--pad: clamp(1.25rem, 3.3vw, 4rem)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px;overflow-x:hidden;background:var(--paper);color:var(--ink);cursor:none}a,button{color:inherit;cursor:none}a{text-decoration:none}button{padding:0;border:0;background:none;font:inherit}img,svg{display:block;max-width:100%}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.eyebrow,.hero-index,.marquee-label,.project-meta,.visual-label,.visual-index,.portrait-note,.footer-bottom,.coming-label,.map-coordinates,.project-hero-meta,.screen-grid figcaption{font-family:Courier New,monospace;font-size:.73rem;font-weight:400;letter-spacing:.11em;line-height:1.4;text-transform:uppercase}.cursor{position:fixed;left:0;top:0;z-index:9999;width:2rem;height:2rem;border:1px solid var(--ink);border-radius:50%;background:#fff;mix-blend-mode:difference;pointer-events:none;transition:width .5s var(--ease),height .5s var(--ease)}body:has(a:hover,button:hover) .cursor{width:5rem;height:5rem}.site-header{position:fixed;inset:0 0 auto;z-index:100;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:1.35rem var(--pad);color:#fff;mix-blend-mode:difference}.brand-mark{justify-self:start;color:inherit;font-size:1.5rem;font-weight:800;letter-spacing:-.1em}.header-status{display:flex;align-items:center;gap:.6rem;font-family:Courier New,monospace;font-size:.7rem;letter-spacing:.1em;text-transform:uppercase}.status-dot{width:.45rem;height:.45rem;border-radius:50%;background:currentColor}.menu-toggle{position:relative;justify-self:end;width:2.5rem;height:2.5rem;color:inherit}.menu-toggle span:not(.sr-only){position:absolute;top:50%;left:50%;width:1.5rem;height:1px;background:currentColor;transition:transform .7s var(--ease)}.menu-toggle span:nth-last-child(2){transform:translate(-50%,-50%)}.menu-toggle span:last-child{transform:translate(-50%,-50%) rotate(90deg)}.menu-toggle.is-open span:nth-last-child(2){transform:translate(-50%,-50%) rotate(45deg)}.menu-toggle.is-open span:last-child{transform:translate(-50%,-50%) rotate(-45deg)}.menu-panel{position:fixed;z-index:90;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;justify-content:space-between;padding:8rem var(--pad) var(--pad);background:var(--dark);color:#fff;opacity:0;visibility:hidden;transform:translateY(-100%);transition:opacity .5s var(--ease),transform .9s var(--ease),visibility .9s}.menu-panel.is-open{opacity:1;visibility:visible;transform:translateY(0)}.menu-panel nav{display:flex;flex-direction:column;align-items:flex-start}.menu-panel nav button{color:#fff;font-size:clamp(2.8rem,7.5vw,7.5rem);font-weight:700;letter-spacing:-.075em;line-height:.94;transition:opacity .5s var(--ease),transform .5s var(--ease)}.menu-panel nav:hover button:not(:hover){opacity:.24}.menu-panel nav button:hover{transform:translate(.2em)}.menu-footer{display:flex;justify-content:space-between;align-items:flex-end;color:#a3a3a3;font-size:.85rem;line-height:1.5}.menu-footer p{margin:0}.menu-footer span{font-family:Courier New,monospace;font-size:.7rem;letter-spacing:.08em;text-transform:uppercase}.hero{position:relative;display:flex;min-height:100svh;padding:clamp(8rem,14vh,10rem) var(--pad) 4.5rem;overflow:hidden}.hero-copy{width:100%;margin:auto 0}.hero-kicker{margin:0 0 2rem;color:var(--muted);opacity:0;animation:fade-in 1s var(--ease) .9s forwards}.hero h1{width:100%;margin:0;font-size:clamp(4.6rem,13.3vw,13.5rem);font-weight:800;letter-spacing:-.09em;line-height:.7}.hero-line{display:block;width:fit-content;white-space:nowrap}.hero-line-shift{margin-left:31.5%}.letter-mask{display:inline-block;overflow:hidden;padding-bottom:.12em;margin-bottom:-.12em}.letter-mask>span{display:inline-block;transform:translateY(115%);animation:reveal 1s var(--ease) forwards}.hero-intro{display:grid;grid-template-columns:minmax(18rem,34rem) auto;justify-content:end;align-items:end;gap:clamp(2rem,7vw,8rem);margin-top:3.4rem;opacity:0;animation:fade-up 1s var(--ease) 1.05s forwards}.hero-intro p{margin:0;color:#3f3f3b;font-size:clamp(1.05rem,1.45vw,1.4rem);letter-spacing:-.035em;line-height:1.45}.hero-intro a,.text-link,.for-fun-teaser button,.showcase-heading button,.inner-hero a,.not-found button{display:flex;align-items:center;gap:.7rem;width:fit-content;padding-bottom:.4rem;border-bottom:1px solid currentColor;font-size:.85rem;font-weight:600}.hero-intro svg,.text-link svg,.for-fun-teaser svg,.showcase-heading button svg,.inner-hero a svg,.not-found button svg{width:1.1rem;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.hero-index{position:absolute;right:var(--pad);bottom:1.6rem;left:var(--pad);display:flex;justify-content:space-between;padding-top:1rem;border-top:1px solid var(--line);color:var(--muted)}.marquee-section{overflow:hidden;padding:5rem 0 9rem}.marquee-track{display:flex;width:max-content;gap:clamp(1rem,2vw,2rem);padding:0 1rem;animation:marquee 36s linear infinite}.marquee-track:hover{animation-play-state:paused}.marquee-card{position:relative;width:clamp(17rem,25vw,26rem);aspect-ratio:5 / 7;overflow:hidden;background:#e7e7e2;text-align:left}.card-shape-0{border-radius:7rem 0 0}.card-shape-1{border-radius:0 7rem 0 2.5rem}.card-shape-2{border-radius:2.5rem}.marquee-card-visual{width:100%;height:100%;filter:grayscale(1);transform:scale(1.001);transition:filter .7s var(--ease),transform .7s var(--ease)}.marquee-card:hover .marquee-card-visual{filter:grayscale(0);transform:scale(1.04)}.marquee-label{position:absolute;right:1rem;bottom:1rem;left:1rem;display:flex;justify-content:space-between;padding:.85rem;background:var(--paper);color:var(--ink)}.statement{display:grid;grid-template-columns:repeat(12,1fr);gap:1rem;padding:clamp(7rem,13vw,13rem) var(--pad)}.statement>.eyebrow{grid-column:1 / 4;margin:.5rem 0 0}.statement h2{grid-column:3 / 12;margin:0;font-size:clamp(2.8rem,6vw,7rem);font-weight:600;letter-spacing:-.068em;line-height:.98}.statement h2 em,.poker-showcase h2 em,.inner-hero h1 em{font-family:Georgia,serif;font-weight:400}.statement-aside{grid-column:7 / 11;margin-top:4rem}.statement-aside>span{color:var(--muted);font-family:Courier New,monospace;font-size:.73rem;letter-spacing:.1em;text-transform:uppercase}.statement-aside p{margin:1rem 0 0;color:var(--muted);line-height:1.6}.work{padding:5rem var(--pad) clamp(8rem,13vw,14rem)}.section-heading{display:grid;grid-template-columns:1fr 2fr;align-items:end;margin-bottom:clamp(5rem,9vw,9rem)}.section-heading .eyebrow{margin:0 0 .75rem}.section-heading h2{margin:0;font-size:clamp(4rem,8vw,9rem);font-weight:700;letter-spacing:-.078em;line-height:.82}.project-list{display:flex;flex-direction:column;gap:clamp(7rem,12vw,13rem)}.project-row{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(20rem,.75fr);gap:clamp(2rem,6vw,7rem);align-items:center}.project-row:nth-child(2n) .project-visual-button{order:2}.project-visual-button{position:relative;display:block;min-height:clamp(28rem,50vw,43rem);overflow:hidden;border-radius:.45rem;background:#e7e7e2;text-align:left}.project-arrow{position:absolute;z-index:5;top:1rem;right:1rem;display:grid;place-items:center;width:3.4rem;height:3.4rem;border-radius:50%;background:var(--paper);opacity:0;transform:translate(-.8rem,.8rem);transition:opacity .6s var(--ease),transform .6s var(--ease)}.project-arrow svg,.contact-bridge svg,.resume-actions svg,.project-links svg,.next-project svg{width:1.25rem;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.5}.project-visual-button:hover .project-arrow{opacity:1;transform:translate(0)}.project-number{position:absolute;z-index:5;bottom:1rem;left:1rem;display:grid;place-items:center;width:2.4rem;height:2.4rem;border-radius:50%;background:var(--paper);font-family:Courier New,monospace;font-size:.7rem}.project-copy{display:flex;flex-direction:column;align-items:flex-start}.project-meta{display:flex;justify-content:space-between;width:100%;padding-bottom:1rem;border-bottom:1px solid var(--line);color:var(--muted)}.project-copy h3{margin:2rem 0 1.5rem;font-size:clamp(2.5rem,4.7vw,5.5rem);font-weight:600;letter-spacing:-.065em;line-height:.95}.project-copy>p{max-width:37rem;margin:0;color:var(--muted);font-size:1.05rem;letter-spacing:-.02em;line-height:1.6}.tag-list{display:flex;flex-wrap:wrap;gap:.5rem;margin:2rem 0}.tag-list span{padding:.55rem .75rem;border:1px solid var(--line);border-radius:3rem;font-family:Courier New,monospace;font-size:.68rem;letter-spacing:.05em;text-transform:uppercase}.text-link{font-size:.9rem}.roofline-visual,.pos-visual,.poker-visual{position:relative;width:100%;height:100%;min-height:inherit}.roofline-visual{display:flex;flex-direction:column;justify-content:center;padding:clamp(2rem,5vw,5rem);background:#111;color:#fff}.roofline-visual>.visual-label{position:absolute;top:2rem;left:2rem;color:#999}.roofline-visual svg{width:100%;overflow:visible}.chart-grid path{fill:none;stroke:#ffffff24;stroke-width:1}.chart-lines path{fill:none;stroke-width:3}.line-primary{stroke:#fff}.line-secondary{stroke:#8e8e8e}.line-tertiary{stroke:#494949}.chart-points circle{fill:var(--green);stroke:#111;stroke-width:3}.chart-copy text{fill:#fff;font-family:Courier New,monospace;font-size:14px;letter-spacing:1.2px}.visual-index{position:absolute;right:2rem;bottom:2rem;display:flex;gap:1.4rem;color:#999}.roofline-visual.is-compact{padding:2.2rem 1.5rem}.roofline-visual.is-compact>.visual-label{top:1.3rem;left:1.3rem}.roofline-visual.is-compact .visual-index{right:1.3rem;bottom:4rem}.pos-visual{padding:clamp(1.3rem,3vw,2.5rem);background:#deded9}.pos-topbar{display:flex;justify-content:space-between;padding-bottom:1.2rem;border-bottom:1px solid rgba(0,0,0,.18);font-family:Courier New,monospace;font-size:.68rem;letter-spacing:.08em;text-transform:uppercase}.pos-content{display:grid;grid-template-columns:4rem 1fr;gap:clamp(1rem,3vw,3rem);height:calc(100% - 2rem);padding-top:1.5rem}.pos-sidebar{display:flex;flex-direction:column;align-items:center;gap:1.4rem;padding:1.2rem 0;border-radius:.4rem;background:#111;color:#fff;font-family:Courier New,monospace;font-size:.7rem}.pos-sidebar strong{margin-bottom:auto;font-size:1.4rem}.pos-sidebar span{opacity:.45}.pos-sidebar .is-active{opacity:1}.pos-main{display:grid;grid-template-rows:auto 1fr auto;gap:1.3rem;min-width:0}.pos-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:.7rem}.pos-metrics div{display:flex;flex-direction:column;padding:clamp(.8rem,2vw,1.3rem);border:1px solid rgba(0,0,0,.16);border-radius:.35rem}.pos-metrics span{margin-bottom:1rem;color:#666;font-family:Courier New,monospace;font-size:.65rem;text-transform:uppercase}.pos-metrics strong{font-size:clamp(1.4rem,3vw,3rem);letter-spacing:-.06em}.pos-chart{position:relative;min-height:13rem;padding:2.4rem 1rem 1rem;border:1px solid rgba(0,0,0,.16);border-radius:.35rem;background:repeating-linear-gradient(to bottom,transparent 0 24.5%,rgba(0,0,0,.1) 25%)}.pos-chart>span{position:absolute;top:1rem;left:1rem;color:#666}.bar-row{display:flex;align-items:end;gap:clamp(.4rem,1.5vw,1.2rem);height:100%}.bar-row i{flex:1;min-height:1rem;background:#111;transition:background .5s var(--ease)}.pos-visual:hover .bar-row i:nth-child(5),.pos-visual:hover .bar-row i:nth-child(6){background:var(--green)}.pos-order-row{display:grid;grid-template-columns:auto 1fr auto;gap:1rem;padding:1rem;border-radius:.35rem;background:#111;color:#fff;font-family:Courier New,monospace;font-size:.68rem;text-transform:uppercase}.pos-visual.is-compact{padding:1.25rem}.pos-visual.is-compact .pos-content{grid-template-columns:2.5rem 1fr;gap:.8rem}.pos-visual.is-compact .pos-sidebar{gap:1rem}.pos-visual.is-compact .pos-metrics div{padding:.7rem}.pos-visual.is-compact .pos-metrics strong{font-size:1.2rem}.poker-visual{overflow:hidden;background:#d9d9d4}.phone-shell{position:absolute;overflow:hidden;border:clamp(.5rem,1vw,.85rem) solid #111;border-radius:clamp(1.8rem,4vw,3.2rem);background:#020617;box-shadow:0 2rem 5rem #0003}.phone-shell img{width:100%}.phone-primary{top:7%;left:12%;width:39%;height:90%}.phone-secondary{top:17%;right:8%;width:37%;height:92%;transform:rotate(5deg)}.poker-stamp{position:absolute;z-index:3;top:2rem;right:2rem;padding:1rem;border:1px solid rgba(0,0,0,.25);border-radius:50%;font-family:Courier New,monospace;font-size:.68rem;line-height:1.4;text-align:center;text-transform:uppercase;transform:rotate(8deg)}.poker-visual.is-compact .phone-primary{top:8%;left:22%;width:57%;height:96%}.poker-visual.is-compact .poker-stamp{top:1.25rem;right:1rem}.poker-showcase{padding:clamp(6rem,10vw,11rem) var(--pad);overflow:hidden;background:#07080c;color:#fff}.showcase-heading{display:grid;grid-template-columns:1fr 1.7fr .9fr;gap:clamp(2rem,5vw,6rem);align-items:end}.showcase-heading>.eyebrow{align-self:start;color:#7d8493}.showcase-heading h2{margin:0;font-size:clamp(4rem,8vw,9rem);font-weight:700;letter-spacing:-.075em;line-height:.8}.showcase-heading>p{margin:0 0 2rem;color:#aab1c1;line-height:1.6}.showcase-heading button{grid-column:3;color:var(--green)}.phone-gallery{display:grid;grid-template-columns:repeat(3,minmax(16rem,1fr));gap:clamp(1.3rem,3vw,3rem);margin-top:clamp(5rem,9vw,9rem)}.phone-gallery figure,.screen-grid figure{margin:0}.phone-gallery figure:nth-child(2){transform:translateY(5rem)}.phone-frame{height:clamp(30rem,49vw,53rem);overflow:hidden;border:1px solid rgba(255,255,255,.13);border-radius:clamp(1.5rem,3vw,3rem);background:#020617}.phone-frame img{width:100%}.phone-gallery figcaption{display:flex;justify-content:space-between;margin-top:1rem;color:#8a91a1;font-family:Courier New,monospace;font-size:.7rem;letter-spacing:.08em;text-transform:uppercase}.showcase-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;margin-top:10rem;border-top:1px solid rgba(255,255,255,.13)}.showcase-stats div{display:flex;flex-direction:column;gap:.8rem;padding:2rem 0;border-right:1px solid rgba(255,255,255,.13)}.showcase-stats div:last-child{border-right:0}.showcase-stats strong{font-size:clamp(3rem,6vw,7rem);letter-spacing:-.07em}.showcase-stats span{color:#8a91a1;font-family:Courier New,monospace;font-size:.7rem;letter-spacing:.09em;text-transform:uppercase}.about{display:grid;grid-template-columns:minmax(18rem,.72fr) 1.28fr;gap:clamp(3rem,8vw,10rem);align-items:center;padding:clamp(8rem,14vw,15rem) var(--pad)}.about-portrait{position:relative;aspect-ratio:4 / 5;overflow:hidden;border-radius:10rem .4rem .4rem;background:#deded9}.portrait-grid{position:absolute;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);background-size:12.5% 10%;-webkit-mask-image:linear-gradient(to bottom,black,transparent);mask-image:linear-gradient(to bottom,black,transparent)}.portrait-monogram{position:absolute;top:50%;left:50%;font-size:clamp(5rem,11vw,12rem);font-weight:800;letter-spacing:-.12em;transform:translate(-53%,-50%)}.portrait-note{position:absolute;right:1rem;bottom:1rem;left:1rem;padding-top:.8rem;border-top:1px solid var(--line)}.about-copy h2{max-width:55rem;margin:2rem 0 3.5rem;font-size:clamp(3.2rem,6.7vw,7.5rem);font-weight:600;letter-spacing:-.07em;line-height:.95}.about-columns{display:grid;grid-template-columns:repeat(2,1fr);gap:clamp(1.5rem,4vw,4rem)}.about-columns p{margin:0;color:var(--muted);line-height:1.65}.about-details{display:flex;flex-wrap:wrap;gap:1rem 2rem;margin-top:4rem;padding-top:1.2rem;border-top:1px solid var(--line);font-family:Courier New,monospace;font-size:.7rem;letter-spacing:.07em;text-transform:uppercase}.resume-bridge,.for-fun-teaser{display:grid;grid-template-columns:1.4fr .6fr;gap:clamp(3rem,8vw,10rem);padding:clamp(7rem,12vw,12rem) var(--pad);border-top:1px solid var(--line)}.resume-bridge h2,.for-fun-teaser h2{margin:1.5rem 0 0;font-size:clamp(4rem,8vw,9rem);font-weight:700;letter-spacing:-.078em;line-height:.83}.resume-actions{align-self:end}.resume-actions>p,.for-fun-teaser>div:last-child>p{margin:0 0 2rem;color:var(--muted);line-height:1.6}.resume-actions button{display:flex;align-items:center;justify-content:space-between;width:100%;padding:1.25rem 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-size:1.2rem;font-weight:600}.resume-actions button span{display:grid;place-items:center;width:3rem;height:3rem;border:1px solid var(--ink);border-radius:50%;transition:background .5s var(--ease),color .5s var(--ease),transform .5s var(--ease)}.resume-actions button:hover span{background:var(--ink);color:#fff;transform:rotate(45deg)}.resume-actions>a{display:flex;align-items:center;gap:.6rem;width:fit-content;margin-top:1.5rem;font-size:.85rem;font-weight:600}.resume-actions>a svg{width:1rem}.for-fun-teaser{position:relative;overflow:hidden;background:#dfdfda}.for-fun-teaser>div:nth-child(2){grid-column:1}.for-fun-teaser>div:last-child{grid-column:2;align-self:end}.route-line{position:absolute;top:17%;right:7%;display:flex;align-items:center;gap:1rem;color:#777;font-family:Courier New,monospace;font-size:.7rem;letter-spacing:.08em}.route-line:before{content:"";position:absolute;right:2rem;left:2rem;height:1px;border-top:1px dashed #777}.route-line i{z-index:1;width:.5rem;height:.5rem;border-radius:50%;background:#777}.contact-bridge{padding:clamp(7rem,11vw,11rem) var(--pad);border-top:1px solid var(--line)}.contact-bridge>p{margin:0 0 2rem}.contact-bridge>a{display:flex;align-items:center;justify-content:space-between;font-size:clamp(3rem,8vw,9rem);font-weight:700;letter-spacing:-.078em;line-height:.95}.contact-bridge>a>span{flex:0 0 auto;display:grid;place-items:center;width:clamp(4rem,8vw,8rem);height:clamp(4rem,8vw,8rem);border:1px solid var(--ink);border-radius:50%;transition:color .6s var(--ease),background .6s var(--ease),transform .6s var(--ease)}.contact-bridge a:hover>span{background:var(--ink);color:#fff;transform:rotate(45deg)}footer{padding:clamp(5rem,9vw,9rem) var(--pad) 2rem;background:var(--dark);color:#fff}.footer-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:2rem;align-items:start;padding-bottom:clamp(7rem,12vw,12rem)}.footer-brand{grid-column:span 2;display:flex;flex-direction:column;font-size:clamp(4rem,8.4vw,9rem);font-weight:700;letter-spacing:-.085em;line-height:.76}.footer-brand span:last-child{margin-left:.5em}.footer-bio{grid-column:1 / 3;max-width:30rem;margin:3rem 0 0;color:#a3a3a3;line-height:1.5}.footer-list{grid-row:1;display:flex;flex-direction:column;gap:.75rem}.footer-list:nth-of-type(3){grid-column:3}.footer-list:nth-of-type(4){grid-column:4}.footer-list .eyebrow{margin-bottom:1.25rem;color:#737373}.footer-list a,.footer-list button{width:fit-content;color:#fff;font-size:.95rem;transition:opacity .5s var(--ease)}.footer-list a:hover,.footer-list button:hover{opacity:.5}.footer-bottom{display:flex;justify-content:space-between;padding-top:1.25rem;border-top:1px solid rgba(255,255,255,.12);color:#a3a3a3}.footer-bottom button{color:inherit}.inner-page{min-height:100vh;padding-top:8rem}.project-hero{padding:2rem var(--pad) clamp(5rem,8vw,8rem)}.back-link{display:flex;align-items:center;gap:.6rem;margin-bottom:clamp(5rem,10vw,10rem);padding-bottom:.4rem;border-bottom:1px solid currentColor;font-size:.82rem;font-weight:600}.back-link svg{width:1rem;fill:none;stroke:currentColor;stroke-width:1.5}.project-hero-meta{display:grid;grid-template-columns:.25fr 1fr auto;padding-top:1rem;border-top:1px solid var(--line);color:var(--muted)}.project-hero h1{max-width:90rem;margin:2rem 0 3rem;font-size:clamp(4rem,9.4vw,11rem);font-weight:700;letter-spacing:-.085em;line-height:.82}.project-hero>p{max-width:52rem;margin:0 0 0 auto;color:var(--muted);font-size:clamp(1.1rem,1.6vw,1.5rem);letter-spacing:-.025em;line-height:1.55}.project-hero-visual{min-height:min(72vw,58rem);margin:0 var(--pad);overflow:hidden;border-radius:.45rem}.project-details{display:grid;grid-template-columns:.7fr 1.3fr;gap:clamp(3rem,8vw,10rem);padding:clamp(7rem,12vw,12rem) var(--pad)}.project-details .eyebrow{margin:0 0 2rem}.technology-list{display:flex;flex-direction:column}.technology-list span{display:grid;grid-template-columns:3rem 1fr;padding:1rem 0;border-top:1px solid var(--line);font-size:clamp(1.2rem,2vw,2rem);letter-spacing:-.04em}.technology-list span:last-child{border-bottom:1px solid var(--line)}.technology-list i{color:var(--muted);font-family:Courier New,monospace;font-size:.65rem;font-style:normal;letter-spacing:.08em}.project-details ol{margin:0;padding:0;list-style:none;counter-reset:outcome}.project-details li{position:relative;padding:1.4rem 0 1.4rem 3.5rem;border-top:1px solid var(--line);font-size:clamp(1.3rem,2.6vw,2.7rem);letter-spacing:-.045em;line-height:1.25;counter-increment:outcome}.project-details li:before{content:counter(outcome,decimal-leading-zero);position:absolute;top:1.65rem;left:0;color:var(--muted);font-family:Courier New,monospace;font-size:.65rem;letter-spacing:.08em}.project-details li:last-child{border-bottom:1px solid var(--line)}.project-screens{padding:clamp(6rem,10vw,10rem) var(--pad);background:#07080c;color:#fff}.section-heading.compact{margin-bottom:6rem}.section-heading.compact h2{font-size:clamp(3.8rem,7vw,8rem)}.screen-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:clamp(3rem,7vw,8rem) clamp(1rem,3vw,3rem)}.screen-grid figure:nth-child(2n){transform:translateY(6rem)}.screen-grid img{width:100%;max-height:66rem;object-fit:cover;object-position:top;border-radius:2.5rem;background:#020617}.screen-grid figcaption{margin-top:1rem;padding-top:.8rem;border-top:1px solid rgba(255,255,255,.14);color:#9096a4}.project-links{padding:clamp(7rem,11vw,11rem) var(--pad)}.project-links>div{margin-top:2rem}.project-links a{display:flex;align-items:center;justify-content:space-between;padding:1.2rem 0;border-top:1px solid var(--line);font-size:clamp(2rem,5vw,6rem);font-weight:600;letter-spacing:-.06em}.project-links a:last-child{border-bottom:1px solid var(--line)}.project-links a span{display:grid;place-items:center;width:clamp(3.5rem,7vw,7rem);height:clamp(3.5rem,7vw,7rem);border:1px solid var(--ink);border-radius:50%;transition:background .5s var(--ease),color .5s var(--ease),transform .5s var(--ease)}.project-links a:hover span{background:var(--ink);color:#fff;transform:rotate(45deg)}.next-project{padding:clamp(6rem,10vw,10rem) var(--pad);border-top:1px solid var(--line);background:#dfdfda}.next-project button{display:flex;align-items:end;justify-content:space-between;width:100%;margin-top:2rem;font-size:clamp(4rem,10vw,12rem);font-weight:700;letter-spacing:-.085em;line-height:.85;text-align:left}.next-project button span{display:grid;place-items:center;width:clamp(4rem,8vw,8rem);height:clamp(4rem,8vw,8rem);border:1px solid var(--ink);border-radius:50%}.inner-hero{display:grid;grid-template-columns:1.35fr .65fr;gap:clamp(3rem,8vw,9rem);align-items:end;min-height:77svh;padding:3rem var(--pad) clamp(5rem,8vw,8rem)}.inner-hero>.eyebrow{grid-column:1 / -1;align-self:start}.inner-hero h1{margin:auto 0 0;font-size:clamp(4.5rem,10vw,12rem);font-weight:700;letter-spacing:-.085em;line-height:.78}.inner-hero>div{padding-bottom:.5rem}.inner-hero>div p{margin:0 0 2rem;color:var(--muted);font-size:1.05rem;line-height:1.65}.resume-viewer{padding:0 var(--pad) clamp(7rem,12vw,12rem)}.resume-viewer iframe{width:100%;height:max(75vh,62rem);border:1px solid var(--line);background:#fff}.resume-viewer p{margin:1rem 0 0;color:var(--muted);font-size:.82rem}.resume-viewer p a{border-bottom:1px solid currentColor}.for-fun-hero{min-height:82svh}.coming-label{display:inline-block;padding:.65rem .8rem;border:1px solid var(--line);border-radius:3rem}.map-placeholder{position:relative;min-height:50rem;margin:0 var(--pad);overflow:hidden;border-radius:.45rem;background:radial-gradient(circle at 15% 70%,rgba(0,0,0,.06) 0 2%,transparent 2.2%),repeating-linear-gradient(0deg,transparent 0 3.95rem,rgba(0,0,0,.07) 4rem),repeating-linear-gradient(90deg,transparent 0 3.95rem,rgba(0,0,0,.07) 4rem),#deded9}.map-placeholder svg{position:absolute;top:10%;right:4%;bottom:10%;left:4%;width:92%;height:75%}.map-placeholder path{fill:none}.map-contour{stroke:#00000021;stroke-width:40}.map-route{stroke:var(--ink);stroke-width:2;stroke-dasharray:8 10}.map-placeholder circle{fill:var(--paper);stroke:var(--ink);stroke-width:2}.map-coordinates{position:absolute;z-index:2;inset:1.5rem 1.5rem auto;display:flex;justify-content:space-between;color:#6a6a65}.map-label{position:absolute;z-index:2;display:flex;flex-direction:column;font-size:clamp(2rem,4vw,4.5rem);font-weight:600;letter-spacing:-.06em;line-height:1}.map-label span{margin-bottom:.6rem;color:var(--muted);font-family:Courier New,monospace;font-size:.65rem;letter-spacing:.08em;text-transform:uppercase}.map-start{left:7%;bottom:18%}.map-end{top:17%;right:7%;text-align:right}.map-placeholder>p{position:absolute;right:2rem;bottom:2rem;max-width:27rem;margin:0;color:var(--muted);font-size:.82rem;line-height:1.5;text-align:right}.trip-handoff{display:grid;grid-template-columns:.45fr 1.2fr .65fr;gap:clamp(2rem,5vw,6rem);align-items:start;padding:clamp(7rem,12vw,12rem) var(--pad)}.trip-handoff h2{margin:0;font-size:clamp(3rem,6vw,7rem);font-weight:600;letter-spacing:-.068em;line-height:.97}.trip-handoff>p:last-child{margin:0;color:var(--muted);line-height:1.65}.not-found{display:flex;flex-direction:column;justify-content:center;min-height:100svh;padding:8rem var(--pad)}.not-found h1{margin:2rem 0 3rem;font-size:clamp(4rem,11vw,12rem);font-weight:700;letter-spacing:-.085em;line-height:.8}@keyframes reveal{to{transform:translateY(0)}}@keyframes fade-in{to{opacity:1}}@keyframes fade-up{0%{opacity:0;transform:translateY(1rem)}to{opacity:1;transform:translateY(0)}}@keyframes marquee{to{transform:translate(calc(-50% - .5rem))}}@media(max-width:980px){.hero-line-shift{margin-left:20%}.project-row{grid-template-columns:1fr}.project-row:nth-child(2n) .project-visual-button{order:initial}.project-copy{max-width:44rem}.showcase-heading{grid-template-columns:1fr 2fr}.showcase-heading>p,.showcase-heading button{grid-column:2}.about{grid-template-columns:.75fr 1.25fr;gap:3rem}.about-columns{grid-template-columns:1fr}.resume-bridge,.for-fun-teaser{grid-template-columns:1fr .7fr}.trip-handoff{grid-template-columns:.35fr 1.1fr}.trip-handoff>p:last-child{grid-column:2}}@media(max-width:760px){body,a,button{cursor:auto}.cursor{display:none}.site-header{grid-template-columns:1fr auto}.header-status{display:none}.menu-footer{display:block}.menu-footer span{display:none}.hero{min-height:92svh;padding-top:7rem}.hero h1{font-size:17.5vw}.hero-line-shift{margin-left:0}.hero-intro{grid-template-columns:1fr;gap:2rem;margin-top:3rem}.hero-intro a{justify-self:start}.hero-index span:first-child{display:none}.hero-index{justify-content:flex-end}.statement{display:block}.statement h2{margin-top:3rem}.statement-aside{max-width:28rem;margin:3rem 0 0 auto}.section-heading,.section-heading.compact{display:block}.section-heading h2{margin-top:2rem}.project-visual-button{min-height:27rem}.project-copy h3{font-size:2.8rem}.showcase-heading{display:block}.showcase-heading h2{margin:2rem 0}.showcase-heading>p{max-width:30rem}.phone-gallery{grid-template-columns:repeat(3,76vw);overflow-x:auto;margin-right:calc(var(--pad) * -1);padding-right:var(--pad);scroll-snap-type:x mandatory}.phone-gallery figure{scroll-snap-align:start}.phone-gallery figure:nth-child(2){transform:none}.phone-frame{height:155vw;max-height:50rem}.showcase-stats{grid-template-columns:1fr;margin-top:5rem}.showcase-stats div{border-right:0;border-bottom:1px solid rgba(255,255,255,.13)}.about{grid-template-columns:1fr}.about-portrait{width:min(100%,28rem)}.resume-bridge,.for-fun-teaser{grid-template-columns:1fr}.resume-actions,.for-fun-teaser>div:last-child{grid-column:1}.route-line{top:auto;right:var(--pad);bottom:2rem}.contact-bridge>a{align-items:flex-end}.footer-grid{grid-template-columns:repeat(2,1fr)}.footer-brand{grid-column:1 / -1}.footer-bio{grid-column:1 / -1;grid-row:2}.footer-list{grid-row:3;margin-top:3rem}.footer-list:nth-of-type(3){grid-column:1}.footer-list:nth-of-type(4){grid-column:2}.footer-bottom{flex-wrap:wrap;gap:1rem 2rem}.project-hero-meta{grid-template-columns:auto 1fr;gap:1rem}.project-hero-meta span:last-child{display:none}.project-hero>p{margin-left:0}.project-hero-visual{min-height:32rem}.project-details{grid-template-columns:1fr}.screen-grid{grid-template-columns:1fr;gap:4rem}.screen-grid figure:nth-child(2n){transform:none}.inner-hero{display:flex;flex-direction:column;align-items:stretch;justify-content:space-between;min-height:90svh}.inner-hero h1{margin:auto 0 3rem}.resume-viewer iframe{height:72vh}.map-placeholder{min-height:40rem}.map-coordinates span:nth-child(2),.map-coordinates span:nth-child(3){display:none}.map-placeholder>p{left:1.5rem;right:1.5rem;text-align:left}.trip-handoff{display:block}.trip-handoff h2{margin:2rem 0 3rem}}@media(max-width:500px){.marquee-section{padding:3rem 0 6rem}.marquee-card{width:72vw}.project-visual-button{min-height:23rem}.pos-content{grid-template-columns:2.8rem 1fr;gap:.8rem}.pos-metrics div{padding:.65rem}.pos-metrics span{font-size:.5rem}.pos-metrics strong{font-size:1.1rem}.phone-primary{left:8%;width:48%}.phone-secondary{right:2%;width:45%}.poker-stamp{display:none}.about h2{font-size:3rem}.contact-bridge>a{gap:1.5rem;font-size:13vw}.footer-grid{display:block}.footer-bio{margin-bottom:4rem}.footer-list{margin:2.5rem 0 0}.footer-bottom{flex-direction:column}.project-hero h1{font-size:16vw}.project-hero-visual{min-height:24rem}.next-project button{align-items:flex-end;gap:1rem}.inner-hero h1{font-size:17vw}.map-placeholder{min-height:34rem}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}
