:root{--bg:#121110;--surface:#1a1817;--surface-2:#211e1c;--ink:#f2ede6;--ink-2:#cfc6bb;--muted:#9a9088;--hair:#2c2825;--hair-2:#3d3733;--rose:#de6480;--brass:#d2a03a;--max:1080px;--nav:80px;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}@media (max-height:480px){:root{--nav:56px}}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:var(--nav)}body{background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased;margin:0;font-family:Archivo,Helvetica Neue,Helvetica,Arial,sans-serif;font-size:17px;line-height:1.55}a{color:inherit;text-decoration:none}h1,h2,h3{text-wrap:balance;margin:0}.top{z-index:10;height:var(--nav);padding:0 max(24px,calc((100% - var(--max)) / 2 + 24px));border-bottom:1px solid var(--hair);background:#121110f0;justify-content:space-between;align-items:center;gap:20px;transition:background-color .3s,border-color .3s;display:flex;position:fixed;top:0;left:0;right:0}@media (scripting:enabled){:root:not([data-past-film]):has(.film) .top{background-color:#0000;border-color:#0000}}.mark{padding-block:7px;display:block}.mark img{width:auto;height:31px;display:block}.top nav{color:var(--muted);align-items:center;gap:22px;font-size:14px;display:flex}.top nav a:hover{color:var(--ink)}.lang{letter-spacing:.1em;border:1px solid var(--hair-2);color:var(--ink-2);border-radius:2px;padding:4px 9px;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:12px;position:relative}.lang:after{content:"";position:absolute;inset:-8px -6px}.lang:hover{border-color:var(--rose);color:var(--rose)}@media (max-width:620px){.top nav a:not(.lang){display:none}}.page{max-width:var(--max);margin:0 auto;padding:0 24px}section{padding:0 0 88px}section h2{text-transform:uppercase;letter-spacing:-.005em;margin-bottom:14px;font-size:clamp(44px,7vw,80px);font-weight:800;font-stretch:62%;line-height:.9}.sub{color:var(--muted);max-width:56ch;margin:0 0 30px;font-size:16px}.kicker{letter-spacing:.16em;text-transform:uppercase;color:var(--brass);margin:0 0 26px;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:12px}.lead{color:var(--ink-2);max-width:54ch;margin:30px 0 0;font-size:19px;line-height:1.55}.film{padding:0;position:relative}.film-frame{flex-direction:column;justify-content:flex-end;min-height:min(92svh,880px);display:flex;position:relative;overflow:hidden}.film-media{position:absolute;inset:0}.film-media img,.film-media canvas{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.film-media canvas{display:none}.film-scrim{background:linear-gradient(#12111099,transparent 140px),  linear-gradient(to top,var(--bg) 4%,#121110c7 38%,#12111033 75%);position:absolute;inset:0}.beats,.film .cta{width:100%;max-width:var(--max);margin-left:auto;margin-right:auto;padding:0 24px;position:relative}.beats{gap:56px;padding-top:120px;display:grid}.film .cta{margin-top:36px;padding-bottom:56px}.beat h1,.beat h2{text-transform:uppercase;letter-spacing:-.005em;max-width:1000px;margin:0;font-weight:800;font-stretch:62%}.beat h1{font-size:clamp(40px,min(8.4vw,12svh),92px);line-height:.92}.beat h1 em,.beat h2 em{color:var(--rose);font-style:normal}.beat h2{font-size:clamp(40px,6.4vw,76px);line-height:.94}.beat .lead{margin-top:22px}@media (scripting:enabled) and (prefers-reduced-motion:no-preference){.film{height:400svh}@media (max-width:620px){.film{height:250svh}}.film-frame{height:100svh;min-height:0;padding-top:var(--nav);justify-content:safe flex-end;position:sticky;top:0}@media (min-width:621px){.beats,.film .cta{transform:translateY(var(--y,0px))}}.film-media canvas{display:block}.beats{grid-template-areas:"beat";align-items:end;padding-top:0}.beat{opacity:0;grid-area:beat;transition:opacity .6s,transform .6s;transform:translateY(18px)}.film[data-beat="0"] .beat:first-child,.film[data-beat="1"] .beat:nth-child(2),.film[data-beat="2"] .beat:nth-child(3),.film[data-beat="3"] .beat:nth-child(4){opacity:1;transform:none}}@media (max-width:620px){.film-frame{justify-content:flex-start;padding-top:0}.film-media{height:52svh;min-height:0;position:relative;inset:auto}.film-scrim{background:linear-gradient(to top,var(--bg),transparent 30%)}.beats{padding-top:8px}.beat h1,.beat h2{font-size:40px}.film .cta{margin-top:20px;padding-bottom:28px}}.cta{flex-wrap:wrap;gap:12px;margin-top:36px;display:flex}.btn{background:var(--rose);color:#1a0e12;border-radius:2px;padding:13px 24px;font-size:15px;font-weight:600;transition:background .15s,transform .15s;display:inline-block}.btn:hover{background:#ea7a93}.btn.ghost{color:var(--ink-2);border:1px solid var(--hair-2);background:0 0}.btn.ghost:hover{border-color:var(--ink-2);color:var(--ink);background:0 0}.pain{border-top:1px solid var(--hair);max-width:920px;padding-top:58px;padding-bottom:clamp(128px,14vw,176px)}.pain h2{margin-bottom:44px}.pain ul{flex-direction:column;gap:clamp(18px,2.4vw,26px);margin:0;padding:0;list-style:none;display:flex}.pain li{letter-spacing:-.01em;color:var(--muted);text-wrap:pretty;font-size:clamp(21px,3vw,30px);line-height:1.28}.pain strong{color:var(--ink);font-weight:500}.quote{padding-bottom:clamp(120px,14vw,176px)}.quote p{text-transform:uppercase;letter-spacing:-.01em;color:var(--ink);text-wrap:balance;margin:0;font-size:clamp(34px,6vw,72px);font-weight:800;font-stretch:62%;line-height:.9}.quote em{color:var(--rose);font-style:normal}#offer h2{font-size:clamp(56px,11vw,128px);line-height:.86}.grid{counter-reset:offer;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));column-gap:40px;margin-top:48px;display:grid}.cell{border-top:1px solid var(--hair-2);padding:22px 0 40px}.cell:before{counter-increment:offer;content:counter(offer,decimal-leading-zero);letter-spacing:.1em;color:var(--brass);font-family:IBM Plex Mono,ui-monospace,monospace;font-size:12px}.cell h3{letter-spacing:-.01em;margin:18px 0 10px;font-size:23px;font-weight:700;line-height:1.15}.cell p{color:var(--ink-2);margin:0;font-size:16px;line-height:1.5}.price-label{letter-spacing:.16em;text-transform:uppercase;color:var(--brass);margin:48px 0 18px;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:12px}.ticket{background:var(--rose);color:#1a0e12;border-radius:3px;display:flex}.stub{flex-direction:column;flex:1 1 0;gap:12px;padding:40px 36px 36px;display:flex;position:relative}.stub:first-child{flex-grow:1.15}.stub.end{flex:0 0 320px;justify-content:space-between;gap:24px}.stub+.stub{border-left:2px dashed #1a0e1252}.stub+.stub:before,.stub+.stub:after{content:"";background:var(--bg);border-radius:50%;width:28px;height:28px;position:absolute;left:-15px}.stub+.stub:before{top:-14px}.stub+.stub:after{bottom:-14px}.stub strong{letter-spacing:-.01em;white-space:nowrap;font-size:clamp(88px,10vw,128px);font-weight:900;font-stretch:62%;line-height:.8}.stub span{font-size:16px;font-weight:600}.stub small{letter-spacing:.14em;text-transform:uppercase;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:12px}.stub p{margin:0;font-size:17px;font-weight:600;line-height:1.35}.stub .stamp{text-transform:uppercase;letter-spacing:.01em;border:4px double;border-radius:6px;align-self:flex-start;max-width:15ch;padding:14px 18px;font-size:30px;font-weight:900;font-stretch:62%;line-height:1;transform:rotate(-4deg)}.stub .stamp span{font:inherit;display:block}.stub .stamp span+span{border-top:2px solid;margin-top:12px;padding-top:12px}.stub .btn{white-space:nowrap;background:var(--bg);color:var(--ink);align-self:flex-start}.stub .btn:hover{background:#000}.price-more{margin:20px 0 0;font-size:17px;font-weight:600}.price-more a{color:var(--rose)}.price-more a:hover{text-decoration:underline}.price-terms{max-width:68ch;color:var(--muted);margin:16px 0 0;font-size:13px;line-height:1.5}@media (max-width:900px){.ticket{flex-direction:column}.stub,.stub.end{flex:none}.stub+.stub{border-top:2px dashed #1a0e1252;border-left:0}.stub+.stub:before,.stub+.stub:after{top:-15px;bottom:auto}.stub+.stub:before{left:-14px}.stub+.stub:after{left:auto;right:-14px}}.work{border:1px solid var(--hair);background:var(--surface);border-radius:3px;max-width:560px;padding:24px 26px;transition:border-color .15s;display:block}.work:hover{border-color:var(--rose)}.tag{letter-spacing:.12em;text-transform:uppercase;color:var(--brass);font-family:IBM Plex Mono,ui-monospace,monospace;font-size:12px}.work h3{text-transform:uppercase;margin:10px 0;font-size:34px;font-weight:800;font-stretch:62%;line-height:1}.work p{color:var(--muted);margin:0;font-size:15px;line-height:1.5}.visit{color:var(--rose);margin-top:16px;font-size:14px;font-weight:500;display:inline-block}#about{max-width:640px}#about p{color:var(--ink-2);margin:18px 0 0;font-size:17px}#about .langline{color:var(--muted);border-top:1px solid var(--hair);margin-top:26px;padding-top:18px;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:13px}.contact .links{background:var(--hair);border:1px solid var(--hair);border-radius:3px;flex-wrap:wrap;gap:1px;max-width:680px;display:flex}.contact .links a{background:var(--surface);flex-direction:column;flex:240px;gap:4px;padding:20px 24px;transition:background .15s;display:flex}.contact .links a:hover{background:var(--surface-2)}.contact .links span{letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-family:IBM Plex Mono,ui-monospace,monospace;font-size:12px}.contact .links strong{color:var(--rose);font-size:17px;font-weight:600}footer{border-top:1px solid var(--hair);margin-top:20px}footer p{max-width:var(--max);color:var(--muted);margin:0 auto;padding:24px;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:11.5px;line-height:1.7}a:focus-visible,.btn:focus-visible{outline:2px solid var(--brass);outline-offset:3px;border-radius:2px}@keyframes rise{0%{opacity:0;transform:translateY(24px)}}@keyframes surface{0%{opacity:.06;transform:translateY(56px)}}@keyframes light{0%{opacity:.15}}@media (prefers-reduced-motion:no-preference){@supports (animation-timeline:view()){.page>section:not(.pain){animation:linear both rise;animation-timeline:view();animation-range:entry entry 60%}.pain h2,.pain li{animation:linear both surface;animation-timeline:view();animation-range:entry cover 40%}.pain li{view-timeline:--pain}.pain strong{animation:linear both light;animation-timeline:--pain;animation-range:cover 38% cover 52%}.quote{view-timeline:--quote}.quote em{animation:linear both light;animation-timeline:--quote;animation-range:cover 30% cover 45%}}}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}html{scroll-behavior:auto}}.portfolio{padding-block:calc(var(--nav) + 32px) 88px}.portfolio h1{text-transform:uppercase;letter-spacing:-.005em;margin-bottom:14px;font-size:clamp(44px,7vw,80px);font-weight:800;font-stretch:62%;line-height:.9}.works{grid-template-columns:repeat(auto-fill,minmax(min(100%,320px),1fr));gap:14px;display:grid}.shot{max-width:none;padding:0;overflow:hidden}.shot img{border-bottom:1px solid var(--hair);width:100%;height:auto;display:block}.shot div{padding:20px 24px 24px}.pricing h2{text-transform:uppercase;margin:72px 0 12px;font-size:clamp(32px,4.5vw,48px);font-weight:800;font-stretch:62%;line-height:.95}.pricing .base{color:var(--rose);margin:0;font-size:21px;font-weight:600}.pricing .grid{margin-top:28px}.modules-title{margin:40px 0 16px;font-size:23px;font-weight:700}.modules{grid-template-columns:repeat(auto-fill,minmax(min(100%,220px),1fr));gap:10px;margin:0;padding:0;list-style:none;display:grid}.modules li{background:var(--surface);border:1px solid var(--hair-2);border-radius:3px;padding:16px 18px;font-size:16px;font-weight:600}.modules-note{color:var(--rose);margin:16px 0 0;font-size:16px;font-weight:600}.extras{border-collapse:collapse;width:100%;font-size:16px}.extras td{border-top:1px solid var(--hair-2);color:var(--ink-2);padding:14px 0}.extras td+td{text-align:right;white-space:nowrap;color:var(--brass);padding-left:24px;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:14px}.not{color:var(--ink-2);margin:20px 0 0;padding-left:20px;font-size:16px;line-height:1.8}.pricing .price-terms{margin-top:56px}.cv{padding-top:calc(var(--nav) + 56px);interpolate-size:allow-keywords}.cv-hero h1{text-transform:uppercase;letter-spacing:-.01em;font-size:clamp(68px,14vw,172px);font-weight:900;font-stretch:62%;line-height:.84}.cv-hero h1>*{display:block}.cv-hero h1 em{color:var(--rose);font-style:normal}.cv-hero h1 span span{display:inline-block}.cv-role{margin:26px 0 0;font-size:21px;font-weight:600}.cv-role span{color:var(--muted);margin-left:10px;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:13px;font-weight:400}.stats{grid-template-columns:repeat(auto-fit,minmax(min(100%,150px),1fr));column-gap:40px;margin:64px 0 0;display:grid}.stats div{border-top:1px solid var(--hair-2);padding-top:18px}.stats dt{color:var(--rose);font-size:clamp(72px,9vw,112px);font-weight:900;font-stretch:62%;line-height:.85}.stats dt span{color:var(--ink);font-variant-numeric:tabular-nums}.stats dd{letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin:10px 0 24px;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:12px}.timeline{view-timeline:--tl;margin:40px 0 0;padding:0 0 0 36px;list-style:none;position:relative}.timeline:before,.timeline:after{content:"";background:var(--hair-2);width:2px;position:absolute;top:30px;bottom:30px;left:5px}.timeline:after{background:linear-gradient(var(--rose),var(--brass));transform-origin:top}.job{border-top:1px solid var(--hair);background:radial-gradient(420px circle at var(--mx,-999px) var(--my,-999px),#de648012,transparent 70%);border-radius:3px;position:relative}.job:before{content:"";z-index:1;background:var(--bg);border:2px solid var(--hair-2);border-radius:50%;width:12px;height:12px;position:absolute;top:26px;left:-36px}.job.now:before{background:var(--rose);border-color:var(--rose);animation:2.4s ease-out infinite pulse}@keyframes pulse{0%{box-shadow:0 0 #de648080}to{box-shadow:0 0 0 14px #de648000}}.job summary{cursor:pointer;gap:6px;padding:20px 48px 22px 0;list-style:none;display:grid;position:relative}.job summary::-webkit-details-marker{display:none}.job summary:after{content:"+";color:var(--muted);font-size:28px;font-weight:300;line-height:1;transition:transform .3s,color .15s;position:absolute;top:18px;right:8px}.job details[open] summary:after{color:var(--rose);transform:rotate(45deg)}.job h3{letter-spacing:-.01em;font-size:23px;font-weight:700;line-height:1.15;transition:color .15s}.job summary:hover h3{color:var(--rose)}.job summary:focus-visible{outline:2px solid var(--brass);outline-offset:3px;border-radius:2px}.when{letter-spacing:.12em;text-transform:uppercase;color:var(--brass);font-family:IBM Plex Mono,ui-monospace,monospace;font-size:12px}.org{color:var(--muted);font-size:15px}.pill{border:1px solid var(--rose);color:var(--rose);border-radius:2px;margin-left:10px;padding:1px 7px;font-weight:500}.job ul{gap:8px;margin:0;padding:0 48px 26px 0;list-style:none;display:grid}.job ul li{color:var(--ink-2);padding-left:22px;font-size:16px;position:relative}.job ul li:before{content:"—";color:var(--hair-2);position:absolute;left:0}.job details::details-content{block-size:0;transition:block-size .35s ease,content-visibility .35s allow-discrete;overflow:hidden}.job details[open]::details-content{block-size:auto}.cv .cell .when{color:var(--brass);margin-top:14px;font-size:12px}.two{grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr));gap:56px;display:grid}.two h2{margin-bottom:28px;font-size:clamp(44px,5.6vw,64px)}.chips{flex-wrap:wrap;gap:10px;margin:0;padding:0;list-style:none;display:flex}.chips li{border:1px solid var(--hair-2);color:var(--ink-2);background:var(--surface);border-radius:2px;padding:9px 14px;font-size:15px;transition:border-color .15s,color .15s,transform .15s}.chips li:hover{border-color:var(--rose);color:var(--ink);transform:translateY(-3px)}.langs{gap:22px;margin:0;padding:0;list-style:none;display:grid}.langs strong{font-size:19px;font-weight:600}.langs span{letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-left:8px;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:12px}.langs i{background:var(--hair);height:3px;margin-top:10px;display:block;position:relative}.langs i:after{content:"";width:var(--w);background:linear-gradient(90deg,var(--rose),var(--brass));transform-origin:0;position:absolute;inset:0 auto 0 0}.refs{color:var(--muted);margin:18px 0 0;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:13px}@keyframes drop{0%{opacity:0;transform:translateY(.35em)rotate(6deg)}}@keyframes grow{0%{transform:scaleY(0)}}@keyframes fill{0%{transform:scaleX(0)}}@keyframes lit{to{background:var(--rose);border-color:var(--rose);box-shadow:0 0 0 6px #de648029}}@media (prefers-reduced-motion:no-preference){.cv-hero h1 span span{animation:.7s cubic-bezier(.2,.8,.2,1) both drop;animation-delay:calc(var(--i) * 45ms + 80ms)}.cv-hero h1 em span{animation-delay:calc(var(--i) * 45ms + .38s)}@supports (animation-timeline:view()){.timeline:after{animation:linear both grow;animation-timeline:--tl;animation-range:cover 10% cover 65%}.job:not(.now):before{animation:linear both lit;animation-timeline:view();animation-range:cover 45% cover 50%}.chips li{animation:linear both rise;animation-timeline:view();animation-range:entry}.langs i:after{animation:linear both fill;animation-timeline:view();animation-range:entry 100% cover 45%}}}
