/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.fixed{position:fixed}.static{position:static}.start{inset-inline-start:var(--spacing)}.container{width:100%}@media (width>=40rem){.container{max-width:40rem}}@media (width>=48rem){.container{max-width:48rem}}@media (width>=64rem){.container{max-width:64rem}}@media (width>=80rem){.container{max-width:80rem}}@media (width>=96rem){.container{max-width:96rem}}.hidden{display:none}.table{display:table}.resize{resize:both}}:root{--ink:#0b0b0c;--paper:#f0eee8;--muted:#9d9b96;--line:#f0eee826;--lime:#4f6653;--mouse-x:70vw;--mouse-y:20vh}*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--ink)}body{color:var(--paper);background:var(--ink);-webkit-font-smoothing:antialiased;margin:0;font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.5}a{color:inherit;text-decoration:none}img{width:100%;display:block}button,input,textarea{font:inherit}:where(a,button,input,textarea):focus-visible{outline:2px solid var(--lime);outline-offset:4px}#main-content:focus{outline:none}.skip-link{z-index:100;color:var(--ink);background:var(--lime);padding:12px 16px;font:12px/1 SFMono-Regular,Consolas,monospace;transition:transform .2s;position:fixed;top:18px;left:18px;transform:translateY(-180%)}.skip-link:focus{transform:translateY(0)}.site-shell{isolation:isolate;min-height:100vh;position:relative;overflow:clip}.site-shell:before{content:"";z-index:-2;opacity:.22;pointer-events:none;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='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.18'/%3E%3C/svg%3E");position:fixed;inset:0}.ambient-field{z-index:-1;pointer-events:none;opacity:.52;background:radial-gradient(700px circle at var(--mouse-x) var(--mouse-y), #82503f24, transparent 42%), radial-gradient(520px circle at calc(var(--mouse-x) + 10vw) calc(var(--mouse-y) + 12vh), #4f665314, transparent 45%);transition:opacity .3s;position:fixed;inset:0}.ambient-field:before{content:"";opacity:.55;-webkit-mask-image:radial-gradient(440px circle at var(--mouse-x) var(--mouse-y), #000 0, #000000bf 34%, transparent 76%);-webkit-mask-image:radial-gradient(440px circle at var(--mouse-x) var(--mouse-y), #000 0, #000000bf 34%, transparent 76%);-webkit-mask-image:radial-gradient(440px circle at var(--mouse-x) var(--mouse-y), #000 0, #000000bf 34%, transparent 76%);-webkit-mask-image:radial-gradient(440px circle at var(--mouse-x) var(--mouse-y), #000 0, #000000bf 34%, transparent 76%);mask-image:radial-gradient(440px circle at var(--mouse-x) var(--mouse-y), #000 0, #000000bf 34%, transparent 76%);background-image:radial-gradient(circle,#4f665361 0 1px,#0000 1.5px),linear-gradient(#252a2713 1px,#0000 1px),linear-gradient(90deg,#252a2713 1px,#0000 1px);background-size:64px 64px;position:absolute;inset:0}.wrap{width:min(1180px,100% - 48px);margin-inline:auto}.eyebrow,small{text-transform:uppercase;letter-spacing:.12em;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:12px}.site-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;height:92px;display:flex}.brand{letter-spacing:-.01em;align-items:center;gap:12px;font-size:14px;font-weight:700;display:flex}.brand-mark{border:1px solid var(--line);border-radius:50%;place-items:center;width:38px;height:38px;font:10px/1 SFMono-Regular,Consolas,monospace;transition:color .25s,background .25s,transform .25s;display:grid}.brand:is(:hover,:focus-visible) .brand-mark{color:var(--ink);background:var(--lime);transform:rotate(-8deg)}.site-header nav{text-transform:uppercase;letter-spacing:.08em;gap:32px;font:12px/1 SFMono-Regular,Consolas,monospace;display:flex}.email-trigger{appearance:none;color:inherit;cursor:pointer;text-align:inherit;background:0 0;border:0;padding:0}.site-header nav :is(a,.email-trigger){text-transform:uppercase;align-items:center;min-height:36px;padding-block:8px;display:inline-flex;position:relative}.site-header nav :is(a,.email-trigger):after{content:"";background:var(--paper);height:1px;transition:right .25s;position:absolute;bottom:2px;left:0;right:100%}.site-header nav :is(a,.email-trigger):is(:hover,:focus-visible):after,.site-header nav a[aria-current=page]:after{right:0}.site-header nav a[aria-current=page]{color:var(--lime)}.hero{min-height:780px;padding:130px 0 60px}.hero .eyebrow{color:var(--lime)}.hero-title{letter-spacing:-.075em;max-width:1050px;margin:40px 0 50px;font-size:clamp(58px,7.9vw,118px);font-weight:500;line-height:.93}.hero-title em{color:var(--muted);font-family:Georgia,Times New Roman,serif;font-weight:400}.hero-foot{flex-direction:column;align-items:flex-start;gap:28px;display:flex}.hero-copy{color:#c8c6c0;letter-spacing:-.025em;max-width:650px;margin:0;font-size:clamp(19px,2vw,27px);line-height:1.35}.hero-actions{flex-wrap:wrap;gap:10px;display:flex}.hero-cta{color:var(--lime);border:1px solid var(--lime);border-radius:30px;align-items:center;gap:28px;padding:14px 18px;font:11px/1 SFMono-Regular,Consolas,monospace;transition:color .25s,background .25s;display:inline-flex}.hero-cta:is(:hover,:focus-visible){color:var(--ink);background:var(--lime)}.hero-cta span,.cta-link span{transition:transform .2s}.hero-cta:is(:hover,:focus-visible) span,.cta-link:is(:hover,:focus-visible) span{transform:translate(3px,-3px)}.reveal{animation:.8s cubic-bezier(.2,.7,.2,1) both reveal}.reveal-delay-1{animation-delay:80ms}.reveal-delay-2{animation-delay:.18s}@keyframes reveal{0%{opacity:0;transform:translateY(24px)}}.focus-band{color:var(--ink);background:var(--paper);padding:110px 0}.section-kicker{align-items:center;gap:18px;display:flex}.section-kicker span,.case-section-label span{color:#77746d;font:10px/1 SFMono-Regular,Consolas,monospace}.section-kicker h2,.case-section-label h2{text-transform:uppercase;letter-spacing:.12em;margin:0;font:12px/1 SFMono-Regular,Consolas,monospace}.focus-grid{background:#cbc8bf;border:1px solid #cbc8bf;grid-template-columns:repeat(3,1fr);gap:1px;margin-top:58px;display:grid}.focus-grid article{background:var(--paper);flex-direction:column;justify-content:center;min-height:280px;padding:34px;transition:background .3s;display:flex}.focus-grid small{color:#716e67}.focus-grid h3{letter-spacing:-.04em;max-width:270px;margin:0 0 18px;font-size:27px;line-height:1.05}.focus-grid p{color:#5b5954;max-width:300px;margin:0;font-size:14px}.projects-section{padding:130px 0}.section-heading{justify-content:space-between;align-items:end;margin-bottom:58px;display:flex}.section-heading>p{max-width:480px;color:var(--muted);margin:0;font-size:16px;line-height:1.5}.project-grid{grid-template-columns:1fr 1fr;gap:100px 24px;display:grid}.project-card:nth-child(2n){margin-top:140px}.project-card>a{--card-x:50%;--card-y:50%;--card-tilt-x:0deg;--card-tilt-y:0deg;--image-shift-x:0px;--image-shift-y:0px;--dot-shift-x:0px;--dot-shift-y:0px;display:block;position:relative}.project-image-wrap{aspect-ratio:1.34;border:1px solid var(--line);transform:perspective(1200px) rotateX(var(--card-tilt-x)) rotateY(var(--card-tilt-y));transform-origin:50%;background:#161617;transition:transform .3s cubic-bezier(.2,.7,.2,1),border-color .3s,box-shadow .3s;position:relative;overflow:hidden}.project-image-wrap:after{content:"";pointer-events:none;background:radial-gradient(260px circle at var(--card-x) var(--card-y), var(--accent), transparent 60%);position:absolute;inset:0}@supports (color:color-mix(in lab, red, red)){.project-image-wrap:after{background:radial-gradient(260px circle at var(--card-x) var(--card-y), color-mix(in srgb, var(--accent) 35%, transparent), transparent 60%)}}.project-image-wrap:after{opacity:0;transition:opacity .3s}.project-image-wrap img{object-fit:cover;filter:saturate(.72)brightness(.78);width:100%;height:100%;transform:translate3d(var(--image-shift-x), var(--image-shift-y), 0) scale(1);transition:transform .45s cubic-bezier(.2,.7,.2,1),filter .5s}.project-card a:is(:hover,:focus-visible) .project-image-wrap{border-color:var(--accent)}@supports (color:color-mix(in lab, red, red)){.project-card a:is(:hover,:focus-visible) .project-image-wrap{border-color:color-mix(in srgb, var(--accent) 58%, var(--line))}}.project-card a:is(:hover,:focus-visible) img{transform:translate3d(var(--image-shift-x), var(--image-shift-y), 0) scale(1.045);filter:saturate()brightness(.93)}.project-card a:is(:hover,:focus-visible) .project-image-wrap:after{opacity:.45}.project-number{z-index:2;width:36px;height:36px;color:var(--ink);background:var(--accent);border-radius:50%;place-items:center;font:10px/1 SFMono-Regular,Consolas,monospace;display:grid;position:absolute;top:18px;left:18px}.view-dot{z-index:2;width:54px;height:54px;color:var(--ink);background:var(--paper);font:0/1 "SFMono-Regular", Consolas, monospace;transform:translate3d(var(--dot-shift-x), var(--dot-shift-y), 0);border-radius:50%;justify-content:center;align-items:center;gap:0;transition:width .3s,border-radius .3s,gap .3s,font-size .3s,transform .24s cubic-bezier(.2,.7,.2,1);display:flex;position:absolute;bottom:18px;right:18px;overflow:hidden}.view-dot b{font-size:14px;font-weight:400}.project-card a:is(:hover,:focus-visible) .view-dot{border-radius:28px;gap:10px;width:92px;font-size:10px}.project-card-copy{grid-template-columns:1fr 1fr;gap:18px;margin-top:22px;display:grid}.project-client{color:var(--muted);text-transform:uppercase;letter-spacing:.1em;margin:0 0 8px;font:11px/1 SFMono-Regular,Consolas,monospace}.project-card h3{letter-spacing:-.04em;margin:0;font-size:27px;line-height:1.06}.project-card-copy>p{color:var(--muted);margin:0;font-size:13px}.tag-list{flex-wrap:wrap;gap:7px;margin:22px 0 0;padding:0;list-style:none;display:flex}.tag-list li{border:1px solid var(--line);text-transform:uppercase;letter-spacing:.08em;border-radius:20px;padding:7px 10px 6px;font:10px/1 SFMono-Regular,Consolas,monospace}.cta-section{border-top:1px solid var(--line);padding:140px 0}.cta-section .eyebrow{color:var(--lime)}.cta-section h2{letter-spacing:-.065em;max-width:900px;margin:22px 0 55px;font-size:clamp(50px,7vw,96px);font-weight:500;line-height:.95}.cta-link{border-bottom:1px solid var(--paper);gap:50px;padding-bottom:10px;font:13px/1 SFMono-Regular,Consolas,monospace;display:inline-flex}.site-footer{border-top:1px solid var(--line);color:var(--muted);text-transform:uppercase;letter-spacing:.08em;grid-template-columns:1fr 1fr auto;align-items:center;padding:24px 0;font:11px/1.4 SFMono-Regular,Consolas,monospace;display:grid}.site-footer p{margin:0}.site-footer p:nth-child(2){text-align:center}.site-footer a{align-items:center;min-height:36px;display:inline-flex}.about-page{padding:120px 0}.about-intro{max-width:1020px}.about-intro .eyebrow{color:var(--lime)}.about-intro h1{letter-spacing:-.07em;margin:30px 0 100px;font-size:clamp(55px,7.2vw,105px);font-weight:500;line-height:.95}.about-intro em{color:var(--muted);font-family:Georgia,serif;font-weight:400}.about-grid{border-top:1px solid var(--line);grid-template-columns:1.6fr .8fr;gap:13%;padding:70px 0 120px;display:grid}.about-statement{letter-spacing:-.025em;font-size:clamp(21px,2.4vw,34px);line-height:1.35}.about-statement p{margin:0 0 1.15em}.about-statement p:last-of-type{margin-bottom:0}.about-actions{border-top:1px solid var(--line);text-transform:uppercase;letter-spacing:.08em;flex-wrap:wrap;gap:8px 28px;margin-top:42px;padding-top:24px;font:11px/1 SFMono-Regular,Consolas,monospace;display:flex}.about-actions :is(a,.email-trigger){min-height:36px;color:var(--lime);text-transform:uppercase;align-items:center;gap:12px;display:inline-flex}.about-actions :is(a,.email-trigger):is(:hover,:focus-visible){color:var(--paper)}.about-aside{flex-direction:column;gap:70px;display:flex}.about-aside small{color:var(--lime)}.about-aside p{color:var(--muted);font-size:16px;line-height:1.5}.how-i-work{border-top:1px solid var(--line);padding:90px 0 120px}.how-i-work-intro{grid-template-columns:1.2fr .8fr;align-items:end;gap:12%;display:grid}.how-i-work .eyebrow{color:var(--lime);margin:0 0 24px}.how-i-work h2{letter-spacing:-.055em;max-width:760px;margin:0;font-size:clamp(38px,5vw,68px);font-weight:500;line-height:1}.how-i-work-intro>p{color:#c8c6c0;margin:0;font-size:18px;line-height:1.55}.skill-groups{border-top:1px solid var(--line);grid-template-columns:repeat(2,minmax(0,1fr));margin-top:70px;display:grid}.skill-group{border-bottom:1px solid var(--line);padding:30px 28px 34px 0}.skill-group:nth-child(odd){border-right:1px solid var(--line)}.skill-group:nth-child(2n){padding-left:28px}.skill-group-heading{align-items:baseline;gap:14px;display:flex}.skill-group-heading span{color:var(--lime);font:10px/1 SFMono-Regular,Consolas,monospace}.skill-group h3{letter-spacing:-.03em;margin:0;font-size:23px;font-weight:500}.skill-group ul{gap:0;margin:24px 0 0;padding:0;list-style:none;display:grid}.skill-group li{color:#c8c6c0;border-top:1px solid var(--line);padding:12px 0;font-size:15px}.contact-panel{color:var(--ink);background:var(--paper);padding:70px}.contact-panel h2{letter-spacing:-.055em;max-width:760px;margin:30px 0 70px;font-size:clamp(42px,5vw,74px);line-height:1}.contact-links{border-top:1px solid #bdb9af;grid-template-columns:repeat(3,1fr);display:grid}.contact-links>:is(a,.email-trigger){justify-content:space-between;margin-right:30px;padding:22px 0;font:12px/1 SFMono-Regular,Consolas,monospace;display:flex}.contact-panel :is(a,button):focus-visible{outline-color:var(--ink)}.about-page>.back-link{margin-top:50px}.email-dialog{width:min(520px,100% - 32px);max-width:none;color:var(--paper);text-transform:none;letter-spacing:normal;background:#151516;border:1px solid #f0eee833;border-radius:18px;padding:0;box-shadow:0 30px 100px #0000008c}.email-dialog::backdrop{-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);background:#050506b8}.email-dialog-card{padding:28px}.email-dialog-header{justify-content:space-between;align-items:center;gap:20px;display:flex}.email-dialog-header .eyebrow{color:var(--lime);margin:0}.email-dialog-close{width:38px;height:38px;color:var(--paper);border:1px solid var(--line);cursor:pointer;background:0 0;border-radius:50%;place-items:center;padding:0;font-size:23px;font-weight:300;line-height:1;display:grid}.email-dialog h2{letter-spacing:-.045em;margin:24px 0 12px;font-size:clamp(32px,7vw,48px);font-weight:500;line-height:1}.email-dialog-intro{color:var(--muted);margin:0;font-size:14px;line-height:1.5}.email-dialog-intro strong{color:var(--paper);font-weight:400}.email-provider-list{border-top:1px solid var(--line);margin-top:28px;display:grid}.email-provider{min-height:58px;color:var(--paper);border:0;border-bottom:1px solid var(--line);cursor:pointer;text-align:left;background:0 0;grid-template-columns:1fr auto;align-items:center;gap:20px;padding:14px 12px;transition:color .2s,background .2s;display:grid}.email-provider span{font-size:16px}.email-provider small{color:var(--muted);letter-spacing:.06em;font-size:10px}.email-provider:is(:hover,:focus-visible) small{color:var(--paper)}.email-copy{width:100%;font:inherit}.back-link{min-height:36px;color:var(--muted);align-items:center;font:12px/1 SFMono-Regular,Consolas,monospace;display:inline-flex}.back-link:is(:hover,:focus-visible){color:var(--paper)}.case-hero{padding:80px 0 100px}.case-title-row{grid-template-columns:1fr auto;align-items:end;gap:40px;margin-top:90px;display:grid}.case-title-row .eyebrow{color:var(--accent)}.case-title-row h1{letter-spacing:-.075em;max-width:930px;margin:26px 0 0;font-size:clamp(58px,8vw,116px);font-weight:500;line-height:.92}.case-title-row .tag-list{justify-content:flex-end;max-width:240px}.case-facts{border-block:1px solid var(--line);grid-template-columns:1fr .55fr 1.5fr;margin:72px 0 0;display:grid}.case-facts div{border-right:1px solid var(--line);padding:22px 24px}.case-facts div:first-child{padding-left:0}.case-facts div:last-child{border-right:0;padding-right:0}.case-facts dt{color:var(--accent);text-transform:uppercase;letter-spacing:.1em;font:10px/1 SFMono-Regular,Consolas,monospace}.case-facts dd{color:#c8c6c0;margin:12px 0 0;font-size:14px;line-height:1.45}.case-hero-grid{grid-template-columns:1.6fr .7fr;align-items:start;gap:14%;margin-top:72px;display:grid}.case-deck{letter-spacing:-.035em;margin:0;font-size:clamp(23px,2.8vw,38px);line-height:1.27}.case-hero-grid small{color:var(--accent)}.case-hero-grid div p{color:var(--muted);margin:18px 0 0;font-size:14px}.case-hero-image{background:#151516;width:calc(100% - 48px);max-height:880px;margin:0 auto;overflow:hidden}.case-hero-image img{object-fit:cover;width:100%;height:auto;max-height:880px}.case-progress{z-index:20;color:var(--muted);border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#0b0b0ce6;position:sticky;top:0}.case-progress-inner{text-transform:uppercase;letter-spacing:.08em;justify-content:space-between;align-items:center;min-height:52px;font:10px/1 SFMono-Regular,Consolas,monospace;display:flex}.case-progress-inner>div{gap:28px;display:flex}.case-progress-inner a{align-items:center;min-height:36px;display:inline-flex}.case-progress-track{background:0 0;height:2px;position:absolute;inset:auto 0 -1px;overflow:hidden}.case-progress-track>span{--reading-progress:0;background:var(--accent);width:100%;height:100%;transform:scaleX(var(--reading-progress));transform-origin:0;display:block}#overview,#role,#friction,#screens,#next{scroll-margin-top:64px}.case-section{border-bottom:1px solid var(--line);grid-template-columns:260px 1fr;gap:50px;padding:130px 0;display:grid}.case-section-label{align-items:baseline;gap:16px;display:flex}.case-section-label span{color:var(--accent)}.case-section-content{min-width:0}.role-grid{grid-template-columns:1fr .65fr;gap:80px;display:grid}.role-list{margin:0;padding:0;list-style:none}.role-list li{letter-spacing:-.02em;padding:0 0 24px 32px;font-size:22px;line-height:1.2;position:relative}.role-list li:before{content:"↳";color:var(--accent);position:absolute;left:0}.tool-list{border-left:1px solid var(--line);padding-left:28px}.tool-list small{color:var(--accent)}.tool-list p{color:var(--muted);font:12px/1.9 SFMono-Regular,Consolas,monospace}.outcome-band{color:var(--ink);background:var(--accent);padding:90px 0}.outcome-grid{grid-template-columns:.6fr 1fr 1fr;gap:60px;display:grid}.outcome-grid p{letter-spacing:-.025em;margin:0;font-size:23px;line-height:1.25}.outcome-grid .eyebrow{letter-spacing:.12em;font-size:10px}.friction-list article{border-top:1px solid var(--line);grid-template-columns:45px 1fr 1fr;gap:40px;padding:42px 0;display:grid}.friction-list article>span{color:var(--accent);font:10px/1 SFMono-Regular,Consolas,monospace}.friction-list small{color:var(--muted)}.friction-list h3{margin:14px 0 0;font-size:21px;line-height:1.2}.friction-list p{color:var(--muted);margin:14px 0 0;font-size:14px}.screens-section{background:#121213;padding:130px 0}.screens-section .section-heading{width:min(1180px,100% - 48px);margin-inline:auto}.screen-stack{width:min(1380px,100% - 48px);margin:auto}.screen-stack figure{width:86%;margin:0 0 120px}.screen-stack figure.offset{margin-left:auto}.screen-frame{background:#202022;border:1px solid #ffffff1a;place-items:center;padding:12px;display:grid;box-shadow:0 35px 90px #0000004d}.screen-frame img{object-fit:contain;background:#e5e3de;width:100%;height:auto;max-height:900px}.screen-stack figcaption{grid-template-columns:40px minmax(0,450px);gap:12px;margin-top:22px;margin-left:14px;display:grid}.screen-stack figcaption span{color:var(--accent);font:10px/1 SFMono-Regular,Consolas,monospace}.screen-stack figcaption p{color:var(--muted);margin:0;font-size:13px}.revisit{border-bottom:0}.revisit ol{margin:0;padding:0;list-style:none}.revisit li{border-top:1px solid var(--line);grid-template-columns:45px 1fr;gap:18px;padding:26px 0;font-size:21px;display:grid}.revisit li>span{color:var(--accent);font:10px/1.8 SFMono-Regular,Consolas,monospace}.next-project{border-top:1px solid var(--line);padding:90px 0 130px}.next-project p{color:var(--muted);text-transform:uppercase;letter-spacing:.12em;font:10px/1 SFMono-Regular,Consolas,monospace}.next-project a{letter-spacing:-.06em;grid-template-columns:1fr auto;align-items:end;margin-top:30px;font-size:clamp(45px,6vw,86px);line-height:.95;display:grid}.next-project a span{color:var(--accent);text-transform:uppercase;letter-spacing:.12em;grid-column:1/-1;margin-bottom:12px;font:10px/1 SFMono-Regular,Consolas,monospace}.next-project b{font-size:.45em;font-weight:400;transition:transform .2s}.next-project a:is(:hover,:focus-visible) b{transform:translate(5px,-5px)}.motion-ready [data-motion=heading],.motion-ready [data-motion=label],.motion-ready [data-motion=item],.motion-ready [data-motion=card],.motion-ready [data-motion=panel]{opacity:0;transition:opacity .65s cubic-bezier(.2,.7,.2,1),transform .65s cubic-bezier(.2,.7,.2,1);transition-delay:var(--motion-delay,0s);transform:translateY(22px)}.motion-ready [data-motion=heading]{transform:translateY(30px)}.motion-ready [data-motion=panel]{transform:translateY(18px)scale(.992)}.motion-ready [data-motion=heading].is-motion-visible,.motion-ready [data-motion=label].is-motion-visible,.motion-ready [data-motion=item].is-motion-visible,.motion-ready [data-motion=card].is-motion-visible,.motion-ready [data-motion=panel].is-motion-visible{opacity:1;transform:none}[data-motion=rule]{position:relative}.motion-ready [data-motion=rule]:after{content:"";z-index:1;pointer-events:none;background:linear-gradient(90deg, var(--accent,var(--lime)), var(--line) 42%, transparent 85%);transform-origin:0;height:1px;transition:transform .9s cubic-bezier(.2,.7,.2,1);position:absolute;bottom:-1px;left:0;right:0;transform:scaleX(0)}.motion-ready [data-motion=rule].is-motion-visible:after{transform:scaleX(1)}.motion-ready :is(.cta-section,.how-i-work)[data-motion=rule]:after{top:-1px;bottom:auto}.motion-ready [data-motion=screen]{opacity:.18;transition:opacity .75s cubic-bezier(.2,.7,.2,1),transform .85s cubic-bezier(.2,.7,.2,1);transition-delay:var(--motion-delay,0s);transform:translateY(48px)scale(.985)}.motion-ready [data-motion=screen] .screen-frame{transition:box-shadow .85s cubic-bezier(.2,.7,.2,1);box-shadow:0 16px 45px #0003}.motion-ready [data-motion=screen] figcaption>*{opacity:0;transition:opacity .45s,transform .45s cubic-bezier(.2,.7,.2,1);transform:translateY(10px)}.motion-ready [data-motion=screen].is-motion-visible{opacity:1;transform:none}.motion-ready [data-motion=screen].is-motion-visible figcaption>*{opacity:1;transition-delay:.22s;transform:none}.lock-panel{align-content:center;max-width:760px;min-height:calc(100vh - 170px);padding:100px 0;display:grid}.lock-panel .eyebrow{color:var(--lime)}.lock-panel h1{letter-spacing:-.06em;margin:24px 0;font-size:clamp(50px,6vw,82px);line-height:.95}.lock-panel>p{max-width:570px;color:var(--muted)}.lock-panel form{margin-top:45px}.lock-panel label{text-transform:uppercase;letter-spacing:.1em;margin-bottom:9px;font:10px/1 SFMono-Regular,Consolas,monospace;display:block}.lock-panel form div{display:flex}.lock-panel input{min-width:0;color:var(--paper);border:1px solid var(--line);background:#171718;outline:none;flex:1;padding:15px}.lock-panel input:focus{border-color:var(--lime)}.lock-panel button{color:var(--ink);background:var(--lime);cursor:pointer;border:0;padding:0 24px}.lock-error{font-size:12px;color:#8a4c43!important}.assistant-launcher{z-index:30;min-height:48px;color:var(--ink);background:var(--lime);cursor:pointer;text-transform:uppercase;letter-spacing:.06em;border:0;border-radius:30px;align-items:center;gap:10px;padding:7px 18px 7px 7px;font:11px/1 SFMono-Regular,Consolas,monospace;transition:transform .2s,box-shadow .2s;display:inline-flex;position:fixed;bottom:24px;right:24px;box-shadow:0 16px 45px #00000059}.assistant-launcher>span:first-child{width:34px;height:34px;color:var(--paper);background:var(--ink);border-radius:50%;place-items:center;font-size:14px;display:grid}.assistant-launcher:is(:hover,:focus-visible){transform:translateY(-3px);box-shadow:0 20px 55px #00000073}.assistant-dialog{width:min(470px,100% - 32px);max-width:none;height:min(760px,100dvh - 48px);max-height:none;color:var(--paper);background:#111112;border:1px solid #f0eee833;border-radius:22px;margin:auto 24px 24px auto;padding:0;overflow:hidden;box-shadow:0 30px 100px #0009}.assistant-dialog::backdrop{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#05050694}.assistant-panel{grid-template-rows:auto minmax(0,1fr) auto;height:100%;display:grid}.assistant-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:20px;padding:25px 25px 22px;display:flex}.assistant-header .eyebrow{color:var(--lime);margin:0 0 8px;font-size:9px}.assistant-header h2{letter-spacing:-.04em;margin:0;font-size:25px;font-weight:500;line-height:1.05}.assistant-close{width:38px;height:38px;color:var(--paper);border:1px solid var(--line);cursor:pointer;background:0 0;border-radius:50%;flex:none;place-items:center;padding:0;font-size:23px;font-weight:300;line-height:1;transition:color .2s,background .2s;display:grid}.assistant-scroll{overscroll-behavior:contain;min-height:0;padding:24px;overflow-y:auto}.assistant-intro>p{color:#c8c6c0;margin:0;font-size:15px;line-height:1.55}.assistant-suggestions{gap:8px;margin-top:22px;display:grid}.assistant-suggestions button{width:100%;color:var(--paper);border:1px solid var(--line);cursor:pointer;text-align:left;background:#181819;border-radius:10px;justify-content:space-between;gap:16px;padding:13px 14px;font-size:13px;line-height:1.35;transition:border-color .2s,background .2s;display:flex}.assistant-suggestions button span{color:var(--lime)}.assistant-message{margin-top:24px}.assistant-message>small,.assistant-sources>small{color:var(--muted);margin-bottom:8px;font-size:9px;display:block}.assistant-message>p{margin:0;font-size:14px;line-height:1.55}.assistant-message-user{background:#242426;border-radius:14px 14px 3px;margin-left:45px;padding:15px 17px}.assistant-message-user>small{color:var(--lime)}.assistant-message-answer{border-top:1px solid var(--line);padding-top:22px}.assistant-fallback{color:#b8b5ad;text-transform:uppercase;letter-spacing:.07em;margin-top:12px;font:9px/1.3 SFMono-Regular,Consolas,monospace;display:inline-flex}.assistant-sources{gap:7px;margin-top:20px;display:grid}.assistant-sources a{color:var(--lime);border-top:1px solid var(--line);justify-content:space-between;gap:16px;padding:10px 0;font:11px/1.35 SFMono-Regular,Consolas,monospace;display:flex}.assistant-sources a span{transition:transform .2s}.assistant-sources a:is(:hover,:focus-visible) span{transform:translate(3px,-3px)}.assistant-thinking{color:var(--muted);align-items:center;gap:5px;margin-top:24px;display:flex}.assistant-thinking span{background:var(--lime);border-radius:50%;width:5px;height:5px;animation:1s infinite alternate assistant-pulse}.assistant-thinking span:nth-child(2){animation-delay:.2s}.assistant-thinking span:nth-child(3){animation-delay:.4s}.assistant-thinking em{margin-left:7px;font:10px/1 SFMono-Regular,Consolas,monospace}@keyframes assistant-pulse{to{opacity:.25;transform:translateY(-3px)}}.assistant-form{border-top:1px solid var(--line);background:#151516;padding:18px 24px 20px}.assistant-form>label{color:var(--muted);text-transform:uppercase;letter-spacing:.1em;margin-bottom:8px;font:9px/1 SFMono-Regular,Consolas,monospace;display:block}.assistant-form>div{grid-template-columns:1fr 42px;align-items:end;gap:8px;display:grid}.assistant-form textarea{resize:vertical;width:100%;min-height:54px;max-height:110px;color:var(--paper);border:1px solid var(--line);background:#0e0e0f;border-radius:10px;outline:none;padding:11px 12px;font-size:13px;line-height:1.35}.assistant-form button{width:42px;height:42px;color:var(--ink);background:var(--lime);cursor:pointer;border:0;border-radius:50%;place-items:center;padding:0;font-size:18px;display:grid}.assistant-form button:disabled{opacity:.35;cursor:not-allowed}.assistant-form>p{color:#77756f;margin:10px 0 0;font-size:10px}@media (width<=1024px){.project-card-copy{grid-template-columns:1fr}.project-card:nth-child(2n){margin-top:80px}.case-title-row,.case-hero-grid,.case-section,.about-grid,.how-i-work-intro{grid-template-columns:1fr}.case-title-row{align-items:start}.case-title-row .tag-list{justify-content:flex-start}.case-hero-grid{gap:45px;margin-top:70px}.case-section{gap:55px;padding:110px 0}.role-grid{grid-template-columns:1.25fr .75fr;gap:50px}.about-grid{gap:60px}.how-i-work-intro{align-items:start;gap:42px}}@media (width<=820px){.wrap{width:min(100% - 32px,1180px)}.site-header{height:76px}.brand>span:last-child{display:none}.site-header nav{gap:18px;font-size:11px}.hero{min-height:720px;padding-top:90px}.project-card-copy,.case-title-row,.case-hero-grid,.about-grid,.how-i-work-intro,.focus-grid{grid-template-columns:1fr}.focus-grid article{min-height:220px}.project-grid{grid-template-columns:1fr;gap:80px}.project-card:nth-child(2n){margin-top:0}.project-card-copy{gap:12px}.section-heading{flex-direction:column;align-items:flex-start;gap:20px}.cta-section{padding-block:100px}.site-footer{grid-template-columns:1fr auto;gap:15px}.site-footer p:nth-child(2){display:none}.about-page{padding-top:80px}.about-intro h1{margin-bottom:70px}.about-grid{gap:60px}.how-i-work{padding-block:75px 90px}.skill-groups{grid-template-columns:1fr;margin-top:50px}.skill-group,.skill-group:nth-child(odd),.skill-group:nth-child(2n){border-right:0;padding-inline:0}.contact-panel{padding:36px 24px}.contact-links{grid-template-columns:1fr}.case-hero{padding-top:60px}.case-title-row{align-items:start;margin-top:60px}.case-title-row .tag-list{justify-content:flex-start}.case-facts{grid-template-columns:1fr;margin-top:55px}.case-facts div,.case-facts div:first-child,.case-facts div:last-child{border-right:0;border-bottom:1px solid var(--line);padding:18px 0}.case-facts div:last-child{border-bottom:0}.case-hero-grid{gap:45px;margin-top:55px}.case-section{grid-template-columns:1fr;gap:55px;padding:90px 0}.role-grid{grid-template-columns:1fr;gap:45px}.tool-list{border-left:0;border-top:1px solid var(--line);padding:25px 0 0}.case-progress{border-bottom:1px solid var(--line);min-height:52px}.case-progress-inner{scrollbar-width:none;width:100%;min-height:52px;padding-inline:16px;overflow-x:auto}.case-progress-inner::-webkit-scrollbar{display:none}.case-progress-inner>span{display:none}.case-progress-inner>div{gap:6px;width:max-content}.case-progress-inner a{border:1px solid #0000;border-radius:18px;min-height:34px;padding:0 10px}.case-progress-inner a[aria-current=location]{background:var(--accent)}@supports (color:color-mix(in lab, red, red)){.case-progress-inner a[aria-current=location]{background:color-mix(in srgb, var(--accent) 12%, transparent)}}.case-progress-inner a[aria-current=location]{border-color:var(--accent)}@supports (color:color-mix(in lab, red, red)){.case-progress-inner a[aria-current=location]{border-color:color-mix(in srgb, var(--accent) 40%, transparent)}}.case-progress-track{height:2px;bottom:0}.outcome-grid{grid-template-columns:1fr;gap:35px}.friction-list article{grid-template-columns:32px 1fr;gap:20px}.friction-list article>div:last-child{grid-column:2}.screen-stack figure{width:100%;margin-bottom:80px}.next-project a{grid-template-columns:1fr}.next-project b{display:none}.assistant-launcher{width:48px;padding:7px;bottom:16px;right:16px}.assistant-launcher .assistant-label{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.assistant-dialog{border-width:1px 0 0;border-radius:22px 22px 0 0;width:100%;height:min(820px,100dvh - 16px);margin:16px 0 0}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.ambient-field{display:none}[data-motion]{opacity:1!important;transform:none!important}}:root{--ink:#252a27;--paper:#f4f0e8;--muted:#5f655f;--line:#252a2729;--lime:#4f6653;--surface:#e7dfd2;--surface-strong:#d8d0c3;--surface-raised:#fbf8f1;--clay:#82503f;--shadow:#2b27212e;--interactive-strong:#3d5142;--hover-fill:#4f66531c}html,body{color:var(--ink);background:var(--paper)}::selection{color:var(--paper);background:var(--lime)}.site-shell:before{opacity:.1;mix-blend-mode:multiply}.ambient-field{opacity:.7;background:radial-gradient(700px circle at var(--mouse-x) var(--mouse-y), #4f665326, transparent 43%), radial-gradient(560px circle at calc(var(--mouse-x) + 10vw) calc(var(--mouse-y) + 12vh), #82503f1f, transparent 46%)}.ambient-field:before{opacity:.58;background-image:radial-gradient(circle,#4f665357 0 1px,#0000 1.5px),linear-gradient(#252a2712 1px,#0000 1px),linear-gradient(90deg,#252a2712 1px,#0000 1px)}.skip-link,.brand:is(:hover,:focus-visible) .brand-mark,.hero-cta:is(:hover,:focus-visible),.lock-panel button,.assistant-launcher,.assistant-form button{color:var(--paper);background:var(--lime)}.site-header nav :is(a,.email-trigger):after{background:var(--ink)}.hero-copy,.how-i-work-intro>p,.skill-group li,.case-facts dd,.assistant-intro>p{color:var(--muted)}.hero-cta-secondary{color:var(--ink);border-color:var(--line)}.hero-cta-secondary:is(:hover,:focus-visible){color:var(--ink);background:var(--surface);border-color:#252a2752}.focus-band{color:var(--ink);background:var(--surface)}.focus-grid{background:var(--surface-strong);border-color:var(--surface-strong)}.focus-grid article{background:var(--paper)}.focus-grid article:hover{background:var(--surface-raised)}.focus-grid small,.focus-grid p,.section-kicker span,.case-section-label span{color:var(--muted)}.project-image-wrap,.case-hero-image{background:var(--surface)}.project-card a:is(:hover,:focus-visible) .project-image-wrap{box-shadow:0 28px 70px var(--shadow)}.project-number{background:var(--accent)}@supports (color:color-mix(in lab, red, red)){.project-number{background:color-mix(in srgb, var(--accent) 54%, var(--surface-raised))}}.view-dot{color:var(--ink);background:var(--surface-raised)}.cta-link{border-bottom-color:var(--ink)}.about-actions :is(a,.email-trigger):is(:hover,:focus-visible),.back-link:is(:hover,:focus-visible){color:var(--ink)}.contact-panel{color:var(--ink);background:var(--surface)}.email-dialog,.assistant-dialog{color:var(--ink);background:var(--surface-raised);border-color:var(--line);box-shadow:0 30px 100px #2b272147}.email-dialog::backdrop,.assistant-dialog::backdrop{background:#252a277a}.email-dialog-close,.assistant-close,.email-dialog-intro strong,.email-provider:is(:hover,:focus-visible) small,.email-provider{color:var(--ink)}.email-provider:is(:hover,:focus-visible){color:var(--lime);background:#4f66531a}.case-progress{background:#f4f0e8e6}.case-progress-inner>span{color:var(--ink)}.case-title-row .eyebrow,.case-facts dt,.case-progress-inner a:is(:hover,:focus-visible),.case-progress-inner a[aria-current=location],.case-section-label span,.role-list li:before,.tool-list small,.friction-list article>span,.screen-stack figcaption span,.revisit li>span,.next-project a span{color:var(--accent)}@supports (color:color-mix(in lab, red, red)){.case-title-row .eyebrow,.case-facts dt,.case-progress-inner a:is(:hover,:focus-visible),.case-progress-inner a[aria-current=location],.case-section-label span,.role-list li:before,.tool-list small,.friction-list article>span,.screen-stack figcaption span,.revisit li>span,.next-project a span{color:color-mix(in srgb, var(--accent) 58%, var(--ink))}}.case-progress-track>span{background:var(--accent)}@supports (color:color-mix(in lab, red, red)){.case-progress-track>span{background:color-mix(in srgb, var(--accent) 62%, var(--ink))}}.outcome-band{color:var(--ink);background:var(--accent)}@supports (color:color-mix(in lab, red, red)){.outcome-band{background:color-mix(in srgb, var(--accent) 28%, var(--surface))}}.screens-section{background:var(--surface)}.screen-frame{background:var(--surface-raised);border-color:var(--line);box-shadow:0 35px 90px var(--shadow)}.motion-ready [data-motion=screen] .screen-frame{box-shadow:0 16px 45px #2b27211f}.motion-ready [data-motion=screen].is-motion-visible .screen-frame{box-shadow:0 35px 90px var(--shadow)}.lock-panel input{color:var(--ink);background:var(--surface-raised)}.assistant-launcher>span:first-child{color:var(--paper);background:var(--ink)}.assistant-close:is(:hover,:focus-visible){color:var(--paper);background:var(--lime)}.assistant-suggestions button{color:var(--ink);background:var(--paper)}.assistant-suggestions button:is(:hover,:focus-visible){background:var(--surface);border-color:#4f66539e}.assistant-message-user{background:var(--surface)}.assistant-fallback,.assistant-form>p{color:var(--muted)}.assistant-form{background:var(--surface)}.assistant-form textarea{color:var(--ink);background:var(--surface-raised)}.assistant-form textarea:focus{border-color:#4f6653c7}:where(a,button,input,textarea,summary):focus-visible{outline:3px solid var(--interactive-strong);outline-offset:3px}:where(a,button){transition-property:color,background-color,border-color,box-shadow,transform;transition-duration:.2s;transition-timing-function:ease}:where(button:not(:disabled),a):active{transform:translateY(1px)}.brand{transition:color .2s}.brand:is(:hover,:focus-visible){color:var(--lime)}.site-header nav :is(a,.email-trigger){transition:color .2s,transform .2s}.site-header nav :is(a,.email-trigger):after{background:var(--lime);height:2px;bottom:0}.site-header nav :is(a,.email-trigger):is(:hover,:focus-visible){color:var(--lime);transform:translateY(-2px)}.hero-cta{transition:color .2s,background .2s,border-color .2s,box-shadow .2s,transform .2s}.hero-cta:is(:hover,:focus-visible){transform:translateY(-3px);box-shadow:0 10px #4f665326}.hero-cta-secondary:is(:hover,:focus-visible){border-color:var(--interactive-strong);box-shadow:0 8px #252a2714}.project-card h3{text-underline-offset:6px;text-decoration-color:#0000;text-decoration-thickness:2px;transition:color .25s,text-decoration-color .25s}.project-card a:is(:hover,:focus-visible) h3{color:var(--accent)}@supports (color:color-mix(in lab, red, red)){.project-card a:is(:hover,:focus-visible) h3{color:color-mix(in srgb, var(--accent) 64%, var(--ink))}}.project-card a:is(:hover,:focus-visible) h3{text-decoration-line:underline;text-decoration-color:currentColor}.project-card a:is(:hover,:focus-visible) .tag-list li{border-color:var(--accent)}@supports (color:color-mix(in lab, red, red)){.project-card a:is(:hover,:focus-visible) .tag-list li{border-color:color-mix(in srgb, var(--accent) 60%, var(--ink))}}.project-card a:focus-visible{border-radius:2px}.cta-link{border-bottom-width:2px;transition:color .2s,border-color .2s,background .2s}.cta-link:is(:hover,:focus-visible){color:var(--lime);border-color:var(--lime);background:linear-gradient(transparent 72%, var(--hover-fill) 72%)}.about-actions :is(a,.email-trigger),.back-link,.site-footer a{text-underline-offset:5px;-webkit-text-decoration:underline #0000;text-decoration:underline #0000;text-decoration-thickness:2px;transition:color .2s,text-decoration-color .2s,background .2s}.about-actions :is(a,.email-trigger):is(:hover,:focus-visible),.back-link:is(:hover,:focus-visible),.site-footer a:is(:hover,:focus-visible){color:var(--lime);background:var(--hover-fill);text-decoration-color:currentColor}.contact-links>:is(a,.email-trigger){border-bottom:2px solid #0000;margin-left:-12px;padding-inline:12px;transition:color .2s,background .2s,border-color .2s,transform .2s}.contact-links>:is(a,.email-trigger):is(:hover,:focus-visible){color:var(--interactive-strong);background:var(--surface-raised);border-bottom-color:var(--lime);transform:translate(4px)}.contact-links>:is(a,.email-trigger) span{transition:transform .2s}.contact-links>:is(a,.email-trigger):is(:hover,:focus-visible) span{transform:translate(3px,-3px)}.email-provider:is(:hover,:focus-visible){box-shadow:inset 4px 0 0 var(--lime);transform:translate(3px)}.case-progress-inner>div{gap:8px}.case-progress-inner a{border:1px solid #0000;border-radius:18px;padding:0 11px;transition:color .2s,background .2s,border-color .2s}.case-progress-inner a:is(:hover,:focus-visible),.case-progress-inner a[aria-current=location]{color:var(--accent)}@supports (color:color-mix(in lab, red, red)){.case-progress-inner a:is(:hover,:focus-visible),.case-progress-inner a[aria-current=location]{color:color-mix(in srgb, var(--accent) 58%, var(--ink))}}.case-progress-inner a:is(:hover,:focus-visible),.case-progress-inner a[aria-current=location]{background:var(--accent)}@supports (color:color-mix(in lab, red, red)){.case-progress-inner a:is(:hover,:focus-visible),.case-progress-inner a[aria-current=location]{background:color-mix(in srgb, var(--accent) 11%, var(--surface-raised))}}.case-progress-inner a:is(:hover,:focus-visible),.case-progress-inner a[aria-current=location]{border-color:var(--accent)}@supports (color:color-mix(in lab, red, red)){.case-progress-inner a:is(:hover,:focus-visible),.case-progress-inner a[aria-current=location]{border-color:color-mix(in srgb, var(--accent) 48%, var(--line))}}.next-project a{padding-block:18px;transition:color .25s,box-shadow .25s,transform .25s;box-shadow:inset 0 -3px #0000}.next-project a:is(:hover,:focus-visible){color:var(--accent)}@supports (color:color-mix(in lab, red, red)){.next-project a:is(:hover,:focus-visible){color:color-mix(in srgb, var(--accent) 58%, var(--ink))}}.next-project a:is(:hover,:focus-visible){transform:translateY(-3px);box-shadow:inset 0 -3px}.assistant-sources a{margin-inline:-10px;padding-inline:10px;transition:color .2s,background .2s}.assistant-sources a:is(:hover,:focus-visible){color:var(--interactive-strong);background:var(--hover-fill)}.site-shell{--ambient-accent:var(--lime)}.ambient-field{background:radial-gradient(760px circle at var(--mouse-x) var(--mouse-y), var(--ambient-accent), transparent 43%), radial-gradient(580px circle at calc(var(--mouse-x) + 10vw) calc(var(--mouse-y) + 12vh), var(--ambient-accent), transparent 48%)}@supports (color:color-mix(in lab, red, red)){.ambient-field{background:radial-gradient(760px circle at var(--mouse-x) var(--mouse-y), color-mix(in srgb, var(--ambient-accent) 19%, transparent), transparent 43%), radial-gradient(580px circle at calc(var(--mouse-x) + 10vw) calc(var(--mouse-y) + 12vh), color-mix(in srgb, var(--ambient-accent) 10%, var(--clay) 8%, transparent), transparent 48%)}}.ambient-field{transition:background .9s cubic-bezier(.2,.7,.2,1),opacity .3s}.ambient-field:before{background-image:radial-gradient(circle, var(--ambient-accent) 0 1px, transparent 1.5px), linear-gradient(#252a2712 1px, transparent 1px), linear-gradient(90deg, #252a2712 1px, transparent 1px)}@supports (color:color-mix(in lab, red, red)){.ambient-field:before{background-image:radial-gradient(circle, color-mix(in srgb, var(--ambient-accent) 38%, transparent) 0 1px, transparent 1.5px), linear-gradient(#252a2712 1px, transparent 1px), linear-gradient(90deg, #252a2712 1px, transparent 1px)}}.ambient-field:before{transition:background-image .9s cubic-bezier(.2,.7,.2,1)}.scroll-underline-heading{--underline-progress:0}.scroll-underline-heading em{background-image:linear-gradient(var(--lime), var(--lime));margin-inline:-.035em;padding-inline:.035em}@supports (color:color-mix(in lab, red, red)){.scroll-underline-heading em{background-image:linear-gradient(color-mix(in srgb, var(--lime) 30%, transparent), color-mix(in srgb, var(--lime) 30%, transparent))}}.scroll-underline-heading em{background-position:0 88%;background-repeat:no-repeat;background-size:calc(var(--underline-progress) * 100%) .11em;-webkit-box-decoration-break:clone;box-decoration-break:clone;transition:background-size 80ms linear}.project-preview-image{z-index:0;opacity:0;object-position:center;transition:opacity .28s,transform .45s cubic-bezier(.2,.7,.2,1),filter .5s;position:absolute;inset:0}.project-preview-image.is-active{z-index:1;opacity:1}.project-preview-count{z-index:3;color:var(--ink);background:var(--surface-raised);padding:8px 10px 7px;position:absolute;bottom:18px;left:18px}@supports (color:color-mix(in lab, red, red)){.project-preview-count{background:color-mix(in srgb, var(--surface-raised) 88%, var(--accent))}}.project-preview-count{border:1px solid var(--accent)}@supports (color:color-mix(in lab, red, red)){.project-preview-count{border:1px solid color-mix(in srgb, var(--accent) 46%, var(--line))}}.project-preview-count{opacity:0;letter-spacing:.08em;border-radius:18px;font:9px/1 SFMono-Regular,Consolas,monospace;transition:opacity .25s,transform .25s;transform:translateY(6px)}.project-card a:is(:hover,:focus-visible) .project-preview-count{opacity:1;transform:none}.screen-motion-item{display:flow-root}.screen-stack figure{transition:opacity .35s,filter .35s,transform .45s cubic-bezier(.2,.7,.2,1);position:relative}.screen-focus-button{width:100%;color:inherit;cursor:zoom-in;text-align:inherit;background:0 0;border:0;padding:0;display:block;position:relative}.screen-focus-button:active{transform:none}.screen-focus-button:focus-visible{outline-offset:7px}.screen-focus-corners{z-index:2;pointer-events:none;opacity:0;background:linear-gradient(var(--accent), var(--accent)) left top / 38px 2px no-repeat, linear-gradient(var(--accent), var(--accent)) left top / 2px 38px no-repeat, linear-gradient(var(--accent), var(--accent)) right top / 38px 2px no-repeat, linear-gradient(var(--accent), var(--accent)) right top / 2px 38px no-repeat, linear-gradient(var(--accent), var(--accent)) left bottom / 38px 2px no-repeat, linear-gradient(var(--accent), var(--accent)) left bottom / 2px 38px no-repeat, linear-gradient(var(--accent), var(--accent)) right bottom / 38px 2px no-repeat, linear-gradient(var(--accent), var(--accent)) right bottom / 2px 38px no-repeat;transition:opacity .25s,transform .35s cubic-bezier(.2,.7,.2,1);position:absolute;inset:12px;transform:scale(.985)}.screen-focus-button:is(:hover,:focus-visible) .screen-focus-corners,.screen-stack .is-focused .screen-focus-corners{opacity:.9;transform:none}.screen-stack.has-focus figure:not(.is-focused){opacity:.34;filter:saturate(.55);transform:scale(.985)}.screen-stack.has-focus .is-focused{z-index:3;transform:scale(1.018)}.screen-stack.has-focus .is-focused .screen-frame{border-color:var(--accent)}@supports (color:color-mix(in lab, red, red)){.screen-stack.has-focus .is-focused .screen-frame{border-color:color-mix(in srgb, var(--accent) 62%, var(--line))}}.screen-stack.has-focus .is-focused .screen-frame{box-shadow:0 42px 100px var(--accent)}@supports (color:color-mix(in lab, red, red)){.screen-stack.has-focus .is-focused .screen-frame{box-shadow:0 42px 100px color-mix(in srgb, var(--accent) 18%, var(--shadow))}}.screen-stack figcaption{border-left:2px solid #0000;padding:0;transition:padding .3s,background .3s,border-color .3s}.screen-stack.has-focus .is-focused figcaption{background:var(--accent);padding:12px 14px}@supports (color:color-mix(in lab, red, red)){.screen-stack.has-focus .is-focused figcaption{background:color-mix(in srgb, var(--accent) 9%, transparent)}}.screen-stack.has-focus .is-focused figcaption{border-left-color:var(--accent)}.image-lightbox{width:min(1440px,100vw - 32px);max-width:none;height:min(920px,100dvh - 32px);max-height:none;color:var(--ink);background:var(--surface-raised);border:1px solid var(--line);border-radius:18px;padding:0;overflow:hidden;box-shadow:0 36px 120px #252a276b}.image-lightbox::backdrop{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#252a27b8}.image-lightbox-shell{grid-template-rows:auto minmax(0,1fr);height:100%;display:grid}.image-lightbox-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:20px;padding:16px 18px 16px 24px;display:flex}.image-lightbox-header .eyebrow{color:var(--accent);margin:0}@supports (color:color-mix(in lab, red, red)){.image-lightbox-header .eyebrow{color:color-mix(in srgb, var(--accent) 58%, var(--ink))}}.image-lightbox-close{width:42px;height:42px;color:var(--ink);border:1px solid var(--line);cursor:pointer;background:0 0;border-radius:50%;place-items:center;padding:0;font-size:25px;font-weight:300;line-height:1;transition:color .2s,background .2s,border-color .2s;display:grid}.image-lightbox-close:is(:hover,:focus-visible){color:var(--paper);background:var(--ink);border-color:var(--ink)}.image-lightbox-figure{grid-template-rows:minmax(0,1fr) auto;width:100%;min-height:0;margin:0;padding:20px 24px 24px;display:grid}.image-lightbox-image{background:var(--surface);place-items:center;min-height:0;display:grid;overflow:auto}@supports (color:color-mix(in lab, red, red)){.image-lightbox-image{background:color-mix(in srgb, var(--surface) 74%, var(--ink))}}.image-lightbox-image img{object-fit:contain;width:auto;max-width:100%;height:auto;max-height:calc(100dvh - 170px)}.image-lightbox figcaption{grid-template-columns:40px minmax(0,620px);gap:12px;margin-top:16px;display:grid}.image-lightbox figcaption span{color:var(--accent)}@supports (color:color-mix(in lab, red, red)){.image-lightbox figcaption span{color:color-mix(in srgb, var(--accent) 58%, var(--ink))}}.image-lightbox figcaption span{font:10px/1 SFMono-Regular,Consolas,monospace}.image-lightbox figcaption p{color:var(--muted);margin:0;font-size:13px}@media (width<=820px){.project-preview-count{display:none}.screen-stack.has-focus figure:not(.is-focused){opacity:.5;transform:scale(.99)}.screen-stack.has-focus .is-focused{transform:scale(1.006)}.image-lightbox{border:0;border-radius:0;width:100vw;height:100dvh}.image-lightbox-header{padding:12px 14px 12px 18px}.image-lightbox-figure{padding:14px 16px 18px}.image-lightbox-image img{max-height:calc(100dvh - 150px)}}@media (prefers-reduced-motion:reduce){.scroll-underline-heading{--underline-progress:1}.screen-stack.has-focus .is-focused,.screen-stack.has-focus figure:not(.is-focused){transform:none}}
