@font-face{font-family:Instrument Sans Variable;src:url(/fonts/instrument-sans-variable.woff2) format("woff2-variations");font-style:normal;font-weight:400 700;font-display:block}:root{color-scheme:light dark;--bg:#f7f7f5;--ink:#1b1b1a;--muted:#666663;--faint:#989893;--line:#cecec9;--accent:#a13f32;--gutter:clamp(1.25rem,5vw,5rem);--section-space:clamp(3.5rem,5vw,5rem);--lockup-gap:clamp(1.75rem,2.5vw,2.75rem);--ease:cubic-bezier(.16,1,.3,1)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,Helvetica Neue,Arial,sans-serif;font-size:16px;line-height:1.5;text-rendering:optimizeLegibility}a{color:inherit}button,input{font:inherit}:focus-visible{outline:2px solid var(--accent);outline-offset:4px}.skip-link{position:fixed;left:1rem;top:1rem;z-index:5;padding:.6rem .8rem;background:var(--ink);color:var(--bg);transform:translateY(-200%)}.skip-link:focus{transform:none}.site-header{height:68px;padding:0 var(--gutter);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{font-family:Instrument Sans Variable,sans-serif;font-weight:500;letter-spacing:-.015em;text-decoration:none}nav{display:flex;gap:clamp(1rem,3vw,2.5rem)}nav a{color:var(--muted);font-family:Instrument Sans Variable,sans-serif;text-decoration:none;font-size:.9rem}nav a:hover{color:var(--ink)}nav a[aria-current=page]{color:var(--ink)}.work-page{min-height:calc(100svh - 168px);padding:var(--section-space) var(--gutter)}.work-page h1{margin:0;font-family:Instrument Sans Variable,sans-serif;font-size:clamp(3.2rem,5vw,6rem);line-height:.98;letter-spacing:-.015em;font-weight:500}.work-page p{margin:var(--lockup-gap) 0 0;color:var(--muted);font-size:clamp(1.08rem,1.5vw,1.35rem)}.work-page>a{display:inline-block;margin-top:2rem;text-decoration:none;border-bottom:1px solid var(--line);padding-bottom:.3rem}.work-page>a:hover{border-color:var(--ink)}.work-list{max-width:1180px;margin-top:clamp(4rem,8vw,7rem)}.work-item{display:grid;grid-template-columns:minmax(230px,.65fr) 1fr auto;gap:2rem;align-items:center;padding:1.6rem 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);text-decoration:none}.work-item-title{font-family:Instrument Sans Variable,sans-serif;font-size:clamp(1.75rem,2.6vw,2.75rem);line-height:1.1;font-weight:500;letter-spacing:-.015em}.work-item-description{color:var(--muted);font-size:clamp(1rem,1.4vw,1.25rem)}.work-item-arrow{font-size:1.5rem;transition:transform .25s var(--ease)}.work-item:hover .work-item-arrow{transform:translate(5px,-5px)}.case-study{max-width:calc(1180px + var(--gutter) + var(--gutter));padding:2rem var(--gutter) clamp(7rem,10vw,11rem)}.case-study-back a{color:var(--muted);text-decoration:none}.case-study-back a:hover{color:var(--ink)}.case-study-hero{padding:clamp(3rem,6vw,6rem) 0 clamp(4rem,7vw,7rem)}.case-study-hero h1{max-width:1100px;margin:0;font-family:Instrument Sans Variable,sans-serif;font-size:clamp(3.2rem,6vw,7rem);line-height:.98;letter-spacing:-.015em;font-weight:500}.case-study-hero p{max-width:850px;margin:var(--lockup-gap) 0 0;color:var(--muted);font-size:clamp(1.35rem,2.5vw,2.6rem);line-height:1.2}.case-study-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;margin:0;padding:1.3rem 0 clamp(4rem,7vw,7rem);border-top:1px solid var(--line)}.case-study-facts div{margin:0}.case-study-facts dt{color:var(--faint);font-size:.85rem}.case-study-facts dd{margin:.35rem 0 0;font-size:clamp(1rem,1.35vw,1.2rem)}.case-study-section{display:grid;grid-template-columns:minmax(230px,.65fr) minmax(0,1fr);gap:clamp(2rem,6vw,7rem);padding:clamp(2.5rem,5vw,5rem) 0;border-top:1px solid var(--line)}.case-study-section h2{margin:0;font-family:Instrument Sans Variable,sans-serif;font-size:clamp(2rem,3.3vw,3.75rem);line-height:1;letter-spacing:-.015em;font-weight:500}.case-study-copy{color:var(--muted);font-size:clamp(1.1rem,1.6vw,1.5rem);line-height:1.5}.case-study-copy p{margin:0 0 1.4em}.case-study-copy p:last-child{margin-bottom:0}.case-study-list{margin:2rem 0 0;padding:0;list-style:none;border-top:1px solid var(--line)}.case-study-list>div,.case-study-list>li{display:grid;grid-template-columns:minmax(110px,.4fr) minmax(0,1fr);gap:1.5rem;margin:0;padding:1rem 0;border-bottom:1px solid var(--line)}.case-study-list dt,.case-study-steps strong{color:var(--ink);font-size:1rem;font-weight:560}.case-study-list dd{margin:0}.case-study-steps{counter-reset:case-step}.case-study-steps>li{grid-template-columns:minmax(160px,.55fr) minmax(0,1fr)}.case-study-steps strong{display:block}.case-media{margin:0 0 clamp(3rem,6vw,6rem)}.case-media img,.case-media video{display:block;width:100%;height:auto}.case-media>a{display:block;cursor:zoom-in}.case-media>a img{background:#242127}.case-media figcaption{margin-top:.85rem;color:var(--muted);font-size:clamp(.85rem,1vw,1rem);line-height:1.4}.case-media-stage{display:grid;place-items:center;overflow:hidden;min-height:240px;padding:clamp(1rem,5vw,4rem);background:#242127 url(/work/cameo/hero-background.jpg) center/cover no-repeat}.case-media-stage video{max-width:960px;background:#242127}.case-media-hero .case-media-stage{padding:clamp(1.5rem,6vw,5rem)}.case-media-phones{display:flex;align-items:stretch;justify-content:space-between;gap:clamp(1rem,2vw,2rem);overflow-x:auto;scrollbar-width:none}.case-media-phones::-webkit-scrollbar{display:none}.case-media-creators{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));align-items:stretch;gap:clamp(.5rem,1.5vw,1.5rem);overflow-x:auto;padding:clamp(1rem,3vw,2.5rem);background:#242127}.case-media-creators img{min-width:0;background:#242127}.case-phone{flex:0 0 auto;height:clamp(16rem,34vw,31rem);overflow:hidden;border:1px solid var(--line);border-radius:.75rem;background:#0d0d0f}.case-media-phones .case-phone video{display:block;width:auto;height:100%;max-width:none;object-fit:contain;background:#0d0d0f}.case-media-group{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:clamp(1rem,2vw,2rem);row-gap:clamp(2.5rem,4vw,4rem);margin:0 0 clamp(4rem,6vw,6rem)}.case-media-group .case-media{min-width:0;margin:0}.case-media-group .case-media:first-child{grid-column:1 / -1}.case-scroll-gallery{width:100%;margin:0 0 clamp(4rem,6vw,6rem)}.case-gallery-toolbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:.85rem}.case-gallery-count{color:var(--muted);font-size:.9rem;font-variant-numeric:tabular-nums}.case-gallery-actions{display:flex;gap:.35rem}.case-gallery-actions button{width:2.5rem;height:2.5rem;border:1px solid var(--line);background:transparent;color:var(--ink);cursor:pointer;transition:border-color .2s var(--ease),opacity .2s var(--ease),transform .2s var(--ease)}.case-gallery-actions button:hover:not(:disabled){border-color:var(--ink)}.case-gallery-actions button:active:not(:disabled){transform:translateY(1px)}.case-gallery-actions button:disabled{opacity:.35;cursor:default}.case-scroll-gallery>.case-media-group{position:relative;display:flex;align-items:flex-start;gap:clamp(1rem,2vw,2rem);margin:0;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-inline:contain}.case-scroll-gallery>.case-media-group::-webkit-scrollbar{display:none}.case-scroll-gallery>.case-media-group .case-media{flex:0 0 100%;scroll-snap-align:start}.case-media-group--research .case-media:last-child,.case-media-group--final .case-media:last-child{grid-column:1 / -1}.case-media-group--final .case-media:not(:first-child) .case-media-stage{padding:clamp(1rem,2vw,2rem)}.case-media-group--final .case-media:not(:first-child) .case-media-stage video{max-width:100%}.case-study-metrics{display:grid;gap:clamp(1.25rem,2vw,2rem);margin:clamp(2rem,4vw,3.5rem) 0 0;padding:0}.case-study-metrics div{display:grid;grid-template-columns:minmax(8rem,.36fr) minmax(0,1fr);gap:clamp(1rem,2vw,2rem);align-items:baseline}.case-study-metrics dt{color:var(--ink);font-family:Instrument Sans Variable,sans-serif;font-size:clamp(2.3rem,3.4vw,3.5rem);font-weight:500;letter-spacing:-.015em;line-height:1;font-variant-numeric:tabular-nums;white-space:nowrap}.case-study-metrics dd{margin:0;color:var(--muted);font-size:clamp(1rem,1.25vw,1.2rem);line-height:1.35;text-wrap:pretty}.intro{padding:var(--section-space) var(--gutter) 0}.intro h1{margin:0;max-width:none;font-family:Instrument Sans Variable,sans-serif;font-size:clamp(3.2rem,5vw,6rem);line-height:.98;letter-spacing:-.015em;font-weight:500}.intro h1 span{display:inline-block;white-space:nowrap;transition:opacity .14s,transform .28s var(--ease)}.intro h1 span.is-changing{opacity:0;transform:translateY(.08em)}.intro-copy{max-width:760px;margin-top:var(--lockup-gap);font-size:clamp(1.08rem,1.5vw,1.35rem)}.intro-copy p{margin:0 0 .8rem}.intro-copy p:first-child{color:var(--ink)}.intro-copy p:last-child{margin:0;color:var(--muted)}.thread-panel{position:sticky;top:0;z-index:3;margin-top:calc(var(--lockup-gap) - .75rem);margin-bottom:calc(var(--section-space) - .75rem);padding:.75rem var(--gutter);display:flex;align-items:center;justify-content:flex-start;background:color-mix(in srgb,var(--bg) 94%,transparent);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);transition:box-shadow .2s,opacity .2s,transform .25s var(--ease)}.thread-panel.is-stuck{box-shadow:inset 0 -1px var(--line)}.thread-panel.is-hidden{opacity:0;transform:translateY(-110%);pointer-events:none}.thread-controls{display:flex;flex-wrap:wrap;justify-content:flex-start;gap:.45rem}.thread-controls button{padding:.48rem .72rem;border:1px solid var(--line);border-radius:999px;background:transparent;color:var(--muted);cursor:pointer;transition:background .2s,color .2s,border-color .2s,transform .2s var(--ease)}.thread-controls button:hover{color:var(--ink);border-color:var(--ink)}.thread-controls button:active{transform:translateY(1px)}.thread-controls button[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:var(--bg)}.experience{padding:var(--section-space) var(--gutter);border-top:1px solid var(--line)}.experience-heading{margin-bottom:clamp(2.5rem,4vw,4rem)}.experience-heading h2,.links h2{margin:0;font-family:Instrument Sans Variable,sans-serif;font-size:clamp(2.8rem,4.5vw,5.5rem);line-height:.95;letter-spacing:-.015em;font-weight:500}.roles{width:100%;max-width:1180px;margin-left:0}.role{display:grid;grid-template-columns:minmax(250px,.62fr) minmax(0,1.25fr);gap:clamp(3rem,7vw,7rem);padding:0 0 clamp(5rem,9vw,9rem)}.role:last-child{padding-bottom:0}.role-header{position:sticky;top:146px;align-self:start}.role-header h3{margin:0;font-family:Instrument Sans Variable,sans-serif;font-size:clamp(2rem,3.2vw,3.75rem);line-height:.98;letter-spacing:-.015em;font-weight:560}.role-meta{margin-top:.65rem;display:flex;align-items:baseline;justify-content:flex-start;gap:.45rem;color:var(--muted)}.role-meta p{margin:0}.role-meta>span{color:var(--faint)}.role-dates{flex:0 0 auto;font-size:inherit;letter-spacing:inherit}.role-summary{margin:0 0 1.2rem;max-width:720px;color:var(--muted);transition:opacity .35s var(--ease)}.role-summary.is-muted{opacity:.4}.role-body ul{margin:0;padding:0;list-style:none}.role-body li{position:relative;padding:1.2rem 0;border-top:1px solid var(--line);color:var(--muted);transition:opacity .35s var(--ease),color .25s}.role-body li:first-child{border-top:0}.role-summary+ul{border-top:1px solid var(--line)}.role-body li.is-match{color:var(--ink)}.role-body li.is-muted{opacity:.4}.links{padding:var(--section-space) var(--gutter) clamp(7rem,10vw,11rem);border-top:1px solid var(--line)}#experience,#links{scroll-margin-top:5rem}.links h2{margin-bottom:clamp(4rem,8vw,7rem)}.link-list{width:100%;max-width:1180px;margin-left:0}.link-list a{display:grid;grid-template-columns:minmax(160px,.42fr) 1fr auto;gap:2rem;padding:1.4rem 0;border-top:1px solid var(--line);text-decoration:none;align-items:baseline}.link-list a:last-child{border-bottom:1px solid var(--line)}.link-list strong{font-size:clamp(1.25rem,2vw,1.8rem);font-weight:560}.link-list a>span:nth-child(2){color:var(--muted)}.link-list a>span:last-child{font-size:1.4rem;transition:transform .25s var(--ease),color .2s}.link-list a:hover>span:last-child{transform:translate(5px,-5px);color:var(--ink)}footer{margin:0 var(--gutter);padding:2rem 0 3rem;display:grid;grid-template-columns:1fr auto 1fr;gap:2rem;color:var(--muted);font-size:.8rem}footer span:last-child{text-align:right}@media(prefers-color-scheme:dark){:root{--bg:#171716;--ink:#efefeb;--muted:#a5a5a0;--faint:#777772;--line:#3d3d3a;--accent:#d27a6d}}@media(max-width:980px){.intro-copy{max-width:650px}.role-header{top:2rem}}@media(max-width:700px){.site-header{height:62px}nav a[href$="#experience"]{display:none}.work-item{grid-template-columns:1fr auto;gap:.5rem 1rem}.work-item-description{grid-column:1}.work-item-arrow{grid-column:2;grid-row:1 / span 2}.case-study-facts{grid-template-columns:1fr 1fr;gap:1.5rem}.case-study-section{grid-template-columns:1fr;gap:1.5rem}.case-study-list>div,.case-study-list>li{grid-template-columns:1fr;gap:.25rem}.intro h1{font-size:clamp(2.5rem,11vw,3.5rem)}.intro h1 span{white-space:normal}.thread-controls{flex-wrap:nowrap;justify-content:flex-start;overflow-x:auto;scrollbar-width:none;margin-right:calc(var(--gutter) * -1)}.thread-controls::-webkit-scrollbar{display:none}.thread-controls button{flex:0 0 auto}.experience-heading{grid-template-columns:1fr;gap:1.5rem}.role{grid-template-columns:1fr;gap:2rem;padding-bottom:6rem}.role-header{position:static}.role-meta{justify-content:flex-start;flex-wrap:wrap}.link-list a{grid-template-columns:1fr auto;gap:.5rem 1rem}.link-list a>span:nth-child(2){grid-column:1}.link-list a>span:last-child{grid-column:2;grid-row:1 / span 2}footer{grid-template-columns:1fr auto}footer span:nth-child(2){display:none}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition-duration:.01ms!important}}@media(max-width:700px){.case-media-group{grid-template-columns:1fr}.case-media-group .case-media{grid-column:1 / -1}.case-media-phones{scroll-snap-type:x mandatory}.case-phone{height:min(68vh,26rem)}.case-media-creators{grid-template-columns:repeat(4,minmax(170px,55vw));scroll-snap-type:x mandatory}.case-media-phones>*,.case-media-creators>*{scroll-snap-align:start}.case-media-stage{min-height:0}.case-study-metrics div{grid-template-columns:minmax(7rem,.4fr) minmax(0,1fr);align-items:center}}
