@import "https://fonts.googleapis.com/css2?family=Fraunces:ital,opsz,wght@0,9..144,300;0,9..144,400;1,9..144,300;1,9..144,400&family=Manrope:wght@400;500;600&family=Geist+Mono:wght@400;500&display=swap";@layer components;@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-ease:initial;--tw-animation-delay:0s;--tw-animation-direction:normal;--tw-animation-duration:initial;--tw-animation-fill-mode:none;--tw-animation-iteration-count:1;--tw-enter-blur:0;--tw-enter-opacity:1;--tw-enter-rotate:0;--tw-enter-scale:1;--tw-enter-translate-x:0;--tw-enter-translate-y:0;--tw-exit-blur:0;--tw-exit-opacity:1;--tw-exit-rotate:0;--tw-exit-scale:1;--tw-exit-translate-x:0;--tw-exit-translate-y:0}}}@layer theme{:root,:host{--ease-out:cubic-bezier(0, 0, .2, 1);--default-font-family:var(--sans);--default-mono-font-family:var(--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,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, 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:where(:not(iframe)){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 utilities{.static{position:static}.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}}.block{display:block}.flex{display:flex}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.flex-wrap{flex-wrap:wrap}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}.\!paused{animation-play-state:paused!important}.paused{animation-play-state:paused}}@property --tw-animation-delay{syntax:"*";inherits:false;initial-value:0s}@property --tw-animation-direction{syntax:"*";inherits:false;initial-value:normal}@property --tw-animation-duration{syntax:"*";inherits:false}@property --tw-animation-fill-mode{syntax:"*";inherits:false;initial-value:none}@property --tw-animation-iteration-count{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-blur{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-blur{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-translate-y{syntax:"*";inherits:false;initial-value:0}.mo{width:100%;height:100%;position:relative;overflow:hidden}.mo svg{width:100%;height:100%;font:400 13px var(--mono);letter-spacing:.06em;display:block}.mo svg *{transform-box:fill-box}.mo:not([data-playing=true]) *,:root[data-motion=off] .mo *{animation-play-state:paused!important}@media (prefers-reduced-motion:reduce){.mo svg *{animation:none!important}}.mo-bg{fill:#10120f}.mo-gridline{stroke:#ffffff08}.mo-panel{fill:#171915;stroke:#2a2d26}.mo-rule{stroke:#2a2d26}.mo-dot{fill:#2f332b}.mo-mono{fill:var(--muted)}.mo-serif{fill:var(--ink);font-family:var(--serif);letter-spacing:-.02em;font-weight:300}.mo-sans{fill:var(--ink-soft);font-family:var(--sans);letter-spacing:0}.mo-sans:not([font-size]){font-size:17px}.mo-brass{fill:var(--brass)}.mo-olive{fill:var(--olive)}.mo-ink{fill:var(--ink-soft)}.mo-on{fill:var(--on-chip);font-weight:500}.mo-brass-fill{fill:var(--brass)}.mo-olive-fill{fill:var(--olive)}.mo-steel-fill{fill:var(--steel)}.mo-oxblood-fill{fill:#c76a5c}.mo-on-fill{fill:var(--on-chip);opacity:.6}.mo-track{fill:#262922}.mo-outline{fill:none;stroke:#3a3d34}.mo-line{fill:#3a3e35}.mo-line-strong{fill:var(--ink-soft);opacity:.7}.mo-piece{fill:#20231d;stroke:#34382f}.mo-type-cover{fill:#171915;animation:none;transform:translate(420px)}.mo-type-cover--0{animation-name:mo-type-0}.mo-type-cover--1{animation-name:mo-type-1}.mo-type-cover--2{animation-name:mo-type-2}@keyframes mo-type-0{0%,3%{animation-timing-function:steps(26,end);transform:translate(0)}17%,93%{transform:translate(420px)}97%,to{transform:translate(0)}}@keyframes mo-type-1{0%,18%{animation-timing-function:steps(30,end);transform:translate(0)}33%,93%{transform:translate(420px)}97%,to{transform:translate(0)}}@keyframes mo-type-2{0%,34%{animation-timing-function:steps(30,end);transform:translate(0)}49%,93%{transform:translate(420px)}97%,to{transform:translate(0)}}.mo-caret{fill:var(--brass);animation:1s steps(2,jump-none) infinite mo-blink}@keyframes mo-blink{50%{opacity:0}}.mo-chip-brass{fill:var(--brass)}@supports (color:color-mix(in lab, red, red)){.mo-chip-brass{fill:color-mix(in oklab, var(--brass) 14%, transparent)}}.mo-chip-brass{stroke:var(--brass)}.mo-suggest{transform-origin:0;animation:mo-suggest 9s var(--ease-out) infinite}@keyframes mo-suggest{0%,50%{opacity:0;transform:translateY(8px)scale(.94)}56%,90%{opacity:1;transform:none}95%,to{opacity:0}}.mo-wave{fill:var(--brass);opacity:.65;transform-origin:50%;transform:scaleY(var(--h));animation:mo-wave 1.1s ease-in-out var(--d) infinite alternate}@keyframes mo-wave{0%{transform:scaleY(calc(var(--h) * .25))}to{transform:scaleY(var(--h))}}.mo-tone-pick{fill:var(--brass)}@supports (color:color-mix(in lab, red, red)){.mo-tone-pick{fill:color-mix(in oklab, var(--brass) 20%, transparent)}}.mo-tone-pick{stroke:var(--brass);animation:mo-tone 9s var(--ease-io) infinite;transform:translateY(92px)}@keyframes mo-tone{0%,18%{transform:translateY(0)}26%,42%{transform:translateY(46px)}50%,92%{transform:translateY(92px)}to{transform:translateY(0)}}.mo-fill{fill:var(--brass)}.mo-match{transform-origin:0;animation:mo-match 9s var(--ease-io) infinite;transform:scaleX(.94)}@keyframes mo-match{0%,10%{transform:scaleX(.3)}52%,92%{transform:scaleX(.94)}to{transform:scaleX(.3)}}.mo-road{stroke:#1d201b;stroke-width:16px;stroke-linecap:round}.mo-route{fill:none;stroke-width:3px;stroke-linejoin:round;stroke-dasharray:10 8;animation:1s linear infinite mo-flow}.mo-route--brass{stroke:var(--brass)}.mo-route--olive{stroke:var(--olive);opacity:.8}@keyframes mo-flow{to{stroke-dashoffset:-36px}}.mo-pin{fill:#10120f;stroke:var(--ink-soft);stroke-width:2px}.mo-pin--brass{stroke:var(--brass)}.mo-pin--olive{stroke:var(--olive)}.mo-car{transform-box:view-box;offset-rotate:0deg;offset-distance:60%;animation:7s ease-in-out infinite alternate mo-drive}.mo-car--b{animation-duration:9s;animation-delay:-3s}@keyframes mo-drive{0%{offset-distance:0%}to{offset-distance:100%}}.mo-car-glow{opacity:.18;transform-origin:50%;animation:1.6s ease-in-out infinite alternate mo-glow}@keyframes mo-glow{to{opacity:.35;transform:scale(1.35)}}.mo-span{transform-origin:0;animation:mo-span 6s var(--ease-out) var(--d) infinite}.mo-span.mo-steel-fill{opacity:.85}@keyframes mo-span{0%,4%{transform:scaleX(0)}20%,82%{transform:scaleX(1)}92%,to{transform:scaleX(0)}}.mo-node{fill:#171915;stroke:#3a3d34;stroke-width:2px}.mo-node-lit{fill:var(--brass);animation:mo-lit 3.6s ease var(--d) infinite}@keyframes mo-lit{0%{opacity:0}8%,70%{opacity:1}to{opacity:0}}.mo-pulse{fill:#fff3d6;animation:3.6s linear infinite mo-pulse}@keyframes mo-pulse{0%{opacity:1;transform:translate(0)}75%{opacity:1;transform:translate(200px)}to{opacity:0;transform:translate(200px)}}.mo-live{fill:var(--olive);animation:1.4s ease-in-out infinite mo-live}@keyframes mo-live{50%{opacity:.25}}.mo-track-line{stroke:#2a2d26;stroke-width:3px}.mo-progress{stroke:var(--brass);stroke-width:3px;transform-origin:0;animation:mo-progress 8s var(--ease-io) infinite}@keyframes mo-progress{0%,8%{transform:scaleX(0)}26%,36%{transform:scaleX(.3334)}54%,64%{transform:scaleX(.6667)}82%,94%{transform:scaleX(1)}to{transform:scaleX(0)}}.mo-parcel{animation:mo-parcel 8s var(--ease-io) infinite}@keyframes mo-parcel{0%,8%{transform:translate(0)}26%,36%{transform:translate(206.67px)}54%,64%{transform:translate(413.33px)}82%,94%{opacity:1;transform:translate(620px)}97%{opacity:0;transform:translate(620px)}to{opacity:0;transform:translate(0)}}.mo-parcel-tape{stroke:#6c5532;stroke-width:2px}.mo-cp{animation:none}.mo-cp--1{animation-name:mo-cp-1}.mo-cp--2{animation-name:mo-cp-2}.mo-cp--3{animation-name:mo-cp-3}@keyframes mo-cp-1{0%,25%{opacity:0}27%,96%{opacity:1}to{opacity:0}}@keyframes mo-cp-2{0%,53%{opacity:0}55%,96%{opacity:1}to{opacity:0}}@keyframes mo-cp-3{0%,81%{opacity:0}83%,96%{opacity:1}to{opacity:0}}.mo-bar{fill:var(--steel);opacity:.85;transform-origin:bottom;animation:mo-bar 2.4s ease-in-out var(--d) infinite alternate}@keyframes mo-bar{0%{transform:scaleY(.55)}}.mo-feed{animation:9s linear infinite mo-feed}@keyframes mo-feed{to{transform:translateY(-192px)}}.mo-exam{stroke-width:1.5px}.mo-exam--brass{fill:var(--brass)}@supports (color:color-mix(in lab, red, red)){.mo-exam--brass{fill:color-mix(in oklab, var(--brass) 18%, #171915)}}.mo-exam--brass{stroke:var(--brass)}@supports (color:color-mix(in lab, red, red)){.mo-exam--brass{stroke:color-mix(in oklab, var(--brass) 60%, transparent)}}.mo-exam--olive{fill:var(--olive)}@supports (color:color-mix(in lab, red, red)){.mo-exam--olive{fill:color-mix(in oklab, var(--olive) 18%, #171915)}}.mo-exam--olive{stroke:var(--olive)}@supports (color:color-mix(in lab, red, red)){.mo-exam--olive{stroke:color-mix(in oklab, var(--olive) 60%, transparent)}}.mo-exam--steel{fill:var(--steel)}@supports (color:color-mix(in lab, red, red)){.mo-exam--steel{fill:color-mix(in oklab, var(--steel) 18%, #171915)}}.mo-exam--steel{stroke:var(--steel)}@supports (color:color-mix(in lab, red, red)){.mo-exam--steel{stroke:color-mix(in oklab, var(--steel) 60%, transparent)}}.mo-exam--clash{fill:var(--olive)}@supports (color:color-mix(in lab, red, red)){.mo-exam--clash{fill:color-mix(in oklab, var(--olive) 22%, #171915)}}.mo-exam--clash{stroke:var(--olive);animation:8s infinite mo-clash-tint}@keyframes mo-clash-tint{0%,30%{fill:oklab(33.5232% .0278332 .0225575);stroke:#c76a5c}48%,to{fill:color-mix(in oklab, var(--olive) 22%, #171915);stroke:var(--olive)}}.mo-clash{transform:translate(var(--tx), var(--ty));animation:mo-clash 8s var(--ease-io) infinite}@keyframes mo-clash{0%{opacity:0;transform:translate(0)}4%,30%{opacity:1;transform:translate(0)}48%,92%{transform:translate(var(--tx), var(--ty));opacity:1}98%,to{transform:translate(var(--tx), var(--ty));opacity:0}}.mo-tag--conflict{opacity:0;animation:8s infinite mo-tag-conflict}.mo-tag--resolved{animation:8s infinite mo-tag-resolved}@keyframes mo-tag-conflict{0%,6%{opacity:0}10%,30%{opacity:1}36%,to{opacity:0}}@keyframes mo-tag-resolved{0%,46%{opacity:0}52%,90%{opacity:1}96%,to{opacity:0}}.mo-seat{fill:var(--brass);animation:mo-seat 8s ease var(--d) infinite both}@keyframes mo-seat{0%{fill-opacity:.12}4%,84%{fill-opacity:1}to{fill-opacity:.12}}.mo-land{animation:mo-land 9s cubic-bezier(.22, 1, .36, 1) var(--d) infinite both}@keyframes mo-land{0%{transform:translate(var(--fx), var(--fy)) scale(.6);opacity:0}3%{opacity:1}16%,88%{opacity:1;transform:none}95%,to{opacity:0;transform:none}}.about__layout{background:var(--paper);grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:clamp(32px,5vw,80px);padding:clamp(48px,7vw,96px) clamp(20px,5vw,72px);display:grid}.about__story{top:calc(var(--header-h) + 40px);align-self:start;position:sticky}.about-rise{animation:about-rise .9s var(--ease-out) calc(.15s + var(--i) * .1s) both}@keyframes about-rise{0%{opacity:0;transform:translateY(20px)}}.about__mask{vertical-align:bottom;padding-bottom:.08em;display:inline-block;overflow:hidden}.about__mask>span{animation:about-word 1.1s var(--ease-out) calc(.1s + var(--i) * .14s) both;display:inline-block}@keyframes about-word{0%{transform:translateY(110%)}}.about__greeting h1{font:300 clamp(3rem, 7vw, 6.2rem) / 1 var(--serif);letter-spacing:-.045em;font-variation-settings:"opsz" 72;align-items:baseline;gap:.25em;display:flex}.about__wave{transform-origin:70% 80%;font-size:.7em;animation:2.4s ease-in-out 1s infinite about-wave;display:inline-block}@keyframes about-wave{0%,60%,to{transform:rotate(0)}10%,30%{transform:rotate(14deg)}20%,40%{transform:rotate(-8deg)}}.about__name{font:300 clamp(2.2rem, 5vw, 4.2rem) / 1.05 var(--serif);letter-spacing:-.035em;margin-top:6px;display:inline-block;position:relative}.about__name em{color:var(--brass)}.about__underline{width:82%;position:absolute;bottom:-14px;left:18%;overflow:visible}.about__underline path{stroke:var(--brass);stroke-width:2.4px;stroke-linecap:round;stroke-dasharray:1;animation:draw 1.2s var(--ease-io) .9s both}.about__bio{margin-top:clamp(32px,5vw,48px)}.about__bio p{max-width:52ch;color:var(--ink-soft);font-size:17px;line-height:1.7}.about__bio p+p{margin-top:16px}.about__interests{margin-top:40px}.about__interests h2{font:300 24px/1.2 var(--serif);letter-spacing:-.01em}.about__interests ul{gap:4px;margin:16px 0 0;padding:0;list-style:none;display:grid}.about__interests li{border-bottom:1px dashed var(--rule-strong);color:var(--ink-soft);transition:color .2s, padding .35s var(--ease-out);grid-template-columns:44px 1fr;align-items:center;gap:14px;padding:10px 0;font-size:16px;display:grid}.about__interests li:hover{color:var(--ink);padding-left:6px}.about__contact{max-width:52ch;color:var(--ink-soft);margin-top:32px;font-size:16px;line-height:1.7}.about__contact a{color:var(--ink);text-decoration:underline;-webkit-text-decoration-color:var(--brass);-webkit-text-decoration-color:var(--brass);-webkit-text-decoration-color:var(--brass);text-decoration-color:var(--brass);text-underline-offset:4px;transition:color .2s}.about__contact a:hover{color:var(--brass)}.ic{fill:none;width:40px;height:40px;stroke:var(--brass);stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round;overflow:visible}.ic *{transform-box:fill-box}.ic-ball{transform-origin:50%;animation:1.4s cubic-bezier(.5,0,.5,1) infinite ic-bounce}.ic-shadow{fill:var(--brass);stroke:none;opacity:.25;transform-origin:50%;animation:1.4s cubic-bezier(.5,0,.5,1) infinite ic-shadow}@keyframes ic-bounce{0%,to{transform:translateY(4px)rotate(0)}50%{transform:translateY(-5px)rotate(180deg)}}@keyframes ic-shadow{50%{opacity:.1;transform:scaleX(.55)}}.ic--music rect{fill:var(--olive);stroke:none;transform-origin:bottom;animation:ic-eq .9s ease-in-out var(--d) infinite alternate}@keyframes ic-eq{0%{transform:scaleY(.25)}}.ic-btn{fill:#c76a5c;stroke:none;animation:1.6s ease-in-out infinite ic-press}.ic-btn--2{fill:var(--olive);animation-delay:.8s}@keyframes ic-press{0%,40%,to{opacity:1}20%{opacity:.2}}.ic-swing{transform-origin:50% 0;animation:2.6s ease-in-out infinite ic-swing}@keyframes ic-swing{0%,to{transform:rotate(-9deg)}50%{transform:rotate(9deg)}}.about__gallery,.about__row{gap:clamp(18px,2.4vw,32px);display:grid}.about__row--2{grid-template-columns:repeat(2,minmax(0,1fr))}.about__row--2:nth-child(2n){margin-inline:clamp(0px,2vw,24px) 0}.print{transform:rotate(var(--r)) translateY(40px);opacity:0;transition:opacity .8s ease var(--reveal-delay,0s), transform 1.1s var(--ease-out) var(--reveal-delay,0s), box-shadow .4s;background:#e9e0cb;border-radius:4px;margin:0;padding:10px 10px 0;box-shadow:0 24px 40px -22px #000e,0 2px #0003}.print[data-revealed=true]{opacity:1;transform:rotate(var(--r))}.print[data-revealed=true]:hover{transition-delay:0s;transform:rotate(0)translateY(-6px)scale(1.015);box-shadow:0 36px 50px -22px #000,0 2px #0003}.print__frame{aspect-ratio:3/4;clip-path:inset(100% 0 0);transition:clip-path 1.2s var(--ease-io) calc(var(--reveal-delay,0s) + .15s);background:#1a1612;position:relative;overflow:hidden}.print[data-revealed=true] .print__frame{clip-path:inset(0)}.about__row--1:first-child .print__frame{aspect-ratio:4/5}.print--wide .print__frame{aspect-ratio:16/10}.print__frame img{object-fit:cover;filter:saturate(.85)contrast(1.03);width:100%;height:100%;transition:filter .6s;display:block}.print:hover .print__frame img{filter:none}.print figcaption{font:400 11px var(--mono);letter-spacing:.1em;text-transform:uppercase;color:#5d5040;padding:10px 4px 12px}.film{background:var(--paper);padding:clamp(28px,4vw,48px) 0 clamp(36px,5vw,60px);overflow:hidden;-webkit-mask-image:linear-gradient(90deg,#0000,#000 8% 92%,#0000);mask-image:linear-gradient(90deg,#0000,#000 8% 92%,#0000)}.film__track{gap:clamp(18px,2.4vw,32px);width:max-content;padding-inline:16px;animation:50s linear infinite film;display:flex}.film:hover .film__track{animation-play-state:paused}@keyframes film{to{transform:translate(calc(-50% - clamp(9px,1.2vw,16px)))}}.film__print{width:clamp(170px,18vw,240px);transform:rotate(var(--r));transition:transform .5s var(--ease-out);background:#e9e0cb;border-radius:3px;flex:none;margin:0;padding:8px 8px 0;box-shadow:0 20px 30px -18px #000e}.film__print:hover{transform:rotate(0)translateY(-8px)scale(1.04)}.film__print img{aspect-ratio:3/4;object-fit:cover;width:100%;display:block}.film__print figcaption{font:400 10px var(--mono);letter-spacing:.1em;text-transform:uppercase;color:#5d5040;padding:8px 2px 10px}.worked{background:var(--paper);padding:clamp(32px,5vw,64px) clamp(20px,5vw,72px)}.worked__table{border-collapse:collapse;width:100%}.worked__table tr{border-bottom:1px solid var(--rule);transition:background .3s}.worked__table tr:first-child{border-top:1px solid var(--rule)}.worked__table tr:hover{background:var(--paper-2)}.worked__table th,.worked__table td{text-align:left;vertical-align:baseline;padding:18px 12px}.worked__table tbody th{font:300 clamp(1.15rem, 2vw, 1.5rem) / 1.2 var(--serif);letter-spacing:-.01em;color:var(--ink)}.worked__table td{font:400 12px var(--mono);letter-spacing:.06em;color:var(--ink-soft)}.worked__table td:last-child{text-align:right;color:var(--muted)}.worked__more{flex-wrap:wrap;gap:14px 32px;margin-top:28px;display:flex}.worked__link{font:500 12px var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--brass);align-items:center;gap:8px;display:inline-flex}.worked__link:hover{color:var(--ink)}@media (width<=900px){.about__layout{grid-template-columns:minmax(0,1fr)}.about__story{position:static}}@media (width<=560px){.about__row--2:nth-child(2n){margin:0}.worked__table td:last-child{display:none}.worked__table tbody th{font-size:1.05rem}}:root[data-motion=off] :is(.film__track,.about__wave,.ic *){animation-play-state:paused}@media (prefers-reduced-motion:reduce){.about-rise,.about__mask>span,.about__underline path,.about__wave,.film__track,.ic *{animation:none!important}.about__underline path{stroke-dashoffset:0}.print,.print__frame{transition:none}.print{opacity:1;transform:rotate(var(--r))}.print__frame{clip-path:none}}.print--wide .print__frame img{object-position:50% 18%}.logo{display:block;overflow:visible}.emote *{transform-box:fill-box}.emote__sticker{fill:#ebe5d6;stroke:#ebe5d6}.emote__skin{fill:#9a5f38}.emote__beard{fill:#3a2416}.emote__crown{fill:#2a2620}.emote__brim{fill:#1b1915}.emote__badge{stroke:var(--brass)}.emote__lens{fill:#c9dbe5;fill-opacity:.35}.emote__smile{transition:opacity .2s}.emote__grin{opacity:0;transition:opacity .2s}.emote__eye{transform-origin:50%;animation:4.6s ease-in-out infinite emote-blink}@keyframes emote-blink{0%,92%,to{transform:scaleY(1)}95%{transform:scaleY(.1)}}.emote__glint{opacity:0;animation:6s ease-in-out 2s infinite emote-glint}@keyframes emote-glint{0%,80%,to{opacity:0;transform:translate(-2px)}86%{opacity:.85}92%{opacity:0;transform:translate(5px)}}.logo--animate .emote__body{transform-origin:50% 80%;animation:.7s cubic-bezier(.34,1.56,.64,1) both emote-pop}@keyframes emote-pop{0%{opacity:0;transform:scale(.2)rotate(-14deg)}60%{opacity:1}}.logo--animate .emote__cap{animation:.6s cubic-bezier(.34,1.56,.64,1) .35s both emote-cap-drop}@keyframes emote-cap-drop{0%{opacity:0;transform:translateY(-12px)rotate(-10deg)}50%{opacity:1}}.emote__cap{transform-origin:30% 100%;transition:transform .35s cubic-bezier(.34,1.56,.64,1)}a:hover>.emote .emote__cap,a:focus-visible>.emote .emote__cap{transform:translateY(-2.5px)rotate(-9deg)}a:hover>.emote .emote__eye--wink,a:focus-visible>.emote .emote__eye--wink{animation:none;transform:scaleY(.12)}a:hover>.emote .emote__smile,a:focus-visible>.emote .emote__smile{opacity:0}a:hover>.emote .emote__grin,a:focus-visible>.emote .emote__grin{opacity:1}.emote__eye--wink{transition:transform .15s}:root:has(.preloader:not([data-leaving=true])) .site-header .logo *{animation-play-state:paused}.preloader__logo{margin-bottom:24px;animation:1.6s ease-in-out .8s infinite emote-bob}@keyframes emote-bob{50%{transform:translateY(-5px)rotate(-3deg)}}:root[data-motion=off] .logo,:root[data-motion=off] .logo *{animation-play-state:paused}@media (prefers-reduced-motion:reduce){.logo,.logo *{transition:none!important;animation:none!important}}:root{--bg:#0b0c0a;--paper:#121411;--paper-2:#181a16;--rule:#262922;--rule-strong:#3a3d34;--ink:#ebe5d6;--ink-soft:#b7b09f;--muted:#7e796c;--brass:#c4a26a;--brass-deep:#8a6a3a;--olive:#8a9862;--oxblood:#9a4238;--steel:#7d93a3;--on-chip:#12110d;--leather:#17110d;--leather-rule:#2e2219;--col-max:1440px;--edge:24px;--gut:32px;--header-h:64px;--serif:"Fraunces", Georgia, serif;--sans:"Manrope", ui-sans-serif, system-ui, sans-serif;--mono:"Geist Mono", ui-monospace, monospace;--ease-out:cubic-bezier(.22, 1, .36, 1);--ease-io:cubic-bezier(.76, 0, .24, 1);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}@media (width<=760px){:root{--edge:12px;--gut:16px;--header-h:56px}}html{scroll-padding-top:var(--header-h)}body{background:var(--bg);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;overflow-x:hidden}body:after{content:"";z-index:300;pointer-events:none;opacity:.045;mix-blend-mode:screen;background-image:url("data:image/svg+xml;utf8,<svg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 0.95 0 0 0 0 0.92 0 0 0 0 0.85 0 0 0 0.6 0'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>");position:fixed;inset:0}::selection{background:var(--brass);color:var(--on-chip)}a{color:inherit;text-decoration:none}:focus-visible{outline:2px solid var(--brass);outline-offset:3px}h1,h2,h3{text-wrap:balance;font-weight:inherit;margin:0}p{text-wrap:pretty;margin:0}.skip-link{z-index:250;background:var(--brass);color:var(--on-chip);font:500 13px var(--mono);padding:10px 16px;transition:top .2s;position:fixed;top:-100px;left:8px}.skip-link:focus{top:8px}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.kicker{font:500 11px/1 var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--brass)}.page{position:relative}.band{z-index:1;position:relative}.band--rule{border-bottom:1px solid var(--rule)}.band__col{width:min(var(--col-max), 100% - 2 * var(--edge));border-inline:1px solid var(--rule);margin-inline:auto;position:relative}.preloader{z-index:200;background:var(--bg);clip-path:inset(0);transition:clip-path .9s var(--ease-io);place-items:center;animation:0s 6s forwards preloader-fallback;display:grid;position:fixed;inset:0}.preloader[data-leaving=true]{clip-path:inset(0 0 100%)}.preloader__inner{width:min(460px,82vw);transition:opacity .4s ease, transform .6s var(--ease-io)}.preloader[data-leaving=true] .preloader__inner{opacity:0;transform:translateY(-24px)}.preloader__name{font:300 clamp(2.6rem, 8vw, 4.6rem) / 1 var(--serif);letter-spacing:-.03em;color:var(--ink)}.preloader__name em{color:var(--brass)}.preloader__bar{background:var(--rule-strong);height:1px;margin:28px 0 14px}.preloader__bar span{background:var(--brass);transform-origin:0;height:100%;animation:1.4s cubic-bezier(.33,1,.68,1) both preloader-bar;display:block}@keyframes preloader-bar{0%{transform:scaleX(0)}}.preloader__meta{font:400 12px var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);justify-content:space-between;display:flex}.preloader__count{color:var(--ink);font-variant-numeric:tabular-nums}@keyframes preloader-fallback{to{visibility:hidden;opacity:0}}.cursor{z-index:150;pointer-events:none;position:fixed;top:0;left:0}.cursor__pill{background:var(--brass);color:var(--on-chip);font:500 11px/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;white-space:nowrap;opacity:0;transition:transform .35s var(--ease-out), opacity .2s ease;border-radius:999px;align-items:center;gap:8px;padding:9px 14px;display:inline-flex;transform:translate(16px,16px)scale(.4)}.cursor[data-visible=true] .cursor__pill{opacity:1;transform:translate(16px,16px)scale(1)}.cursor__dot{background:var(--on-chip);border-radius:50%;width:6px;height:6px}.scribble-link__label{white-space:nowrap;display:inline-block;position:relative}.scribble{pointer-events:none;width:140%;height:176%;position:absolute;top:-38%;left:-20%;overflow:visible}.scribble path{stroke:var(--brass);stroke-width:1.1px;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:1px;transition:stroke-dashoffset .55s var(--ease-out)}@media (hover:hover) and (pointer:fine){.scribble-link:hover .scribble path{stroke-dashoffset:0}}.scribble-link:focus-visible .scribble path{stroke-dashoffset:0}.site-header{z-index:60;background:var(--paper);position:sticky;top:0}@supports (color:color-mix(in lab, red, red)){.site-header{background:color-mix(in oklab, var(--paper) 82%, transparent)}}.site-header{-webkit-backdrop-filter:blur(14px)}.site-header__inner{height:var(--header-h);align-items:stretch;display:flex}.site-header__home{border-right:1px solid var(--rule);align-items:center;gap:12px;padding:0 18px 0 14px;display:flex}.site-header__name{font:400 12px var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-soft)}.site-header__nav{margin-left:auto;display:flex}.site-header__link{border-left:1px solid var(--rule);font:400 13px var(--mono);letter-spacing:.04em;color:var(--ink-soft);align-items:center;padding:0 30px;transition:color .2s;display:flex}.site-header__link:hover{color:var(--ink)}.site-header__cv{gap:6px}.site-header__cta{background:var(--brass);color:var(--on-chip);font-weight:500;transition:background .25s}.site-header__cta:hover{background:var(--brass)}@supports (color:color-mix(in lab, red, red)){.site-header__cta:hover{background:color-mix(in oklab, var(--brass) 85%, white)}}.site-header__cta:hover{color:var(--on-chip)}.site-header__toggle{border:0;border-left:1px solid var(--rule);width:56px;color:var(--ink);cursor:pointer;background:0 0;place-items:center;margin-left:auto;display:none}@media (width<=760px){.site-header__name{display:none}.site-header__toggle{display:grid}.site-header__nav{background:var(--paper);border:1px solid var(--rule);border-top:0;flex-direction:column;display:none;position:absolute;top:100%;left:-1px;right:-1px;box-shadow:0 18px 30px #0008}.site-header__nav[data-open=true]{animation:menu-open .24s var(--ease-out) both;display:flex}.site-header__link{border-left:0;border-bottom:1px solid var(--rule);height:52px;padding-inline:24px}}@keyframes menu-open{0%{opacity:0;transform:translateY(-6px)}}.hero__inner{background:var(--paper);padding:clamp(56px,9vw,104px) 0 20px;overflow:hidden}.hero-headline{font:300 clamp(2.05rem, 5.4vw, 4.6rem) / 1.16 var(--serif);letter-spacing:-.03em;text-align:center;color:var(--ink);flex-direction:column;align-items:center;padding-inline:16px;display:flex}.hero-line{padding:.04em .1em .1em;display:block;overflow:hidden}.hero-line>span{animation:line-rise 1.1s var(--ease-out) calc(50ms + var(--i) * .11s) both;display:inline-block}@keyframes line-rise{0%{transform:translateY(112%)}}.hero-chip{isolation:isolate;color:inherit;white-space:nowrap;background:0 0;padding:0 .14em;animation:.4s .75s both chip-ink;position:relative}.hero-chip:before{content:"";z-index:-1;transform-origin:0;animation:chip-sweep .7s var(--ease-io) .6s both;border-radius:.16em;position:absolute;inset:.06em 0 .02em}.hero-chip--brass:before{background:var(--brass)}.hero-chip--olive:before{background:var(--olive)}.hero-chip--olive{animation-delay:.85s}.hero-chip--olive:before{animation-delay:.7s}@keyframes chip-sweep{0%{transform:scaleX(0)}}@keyframes chip-ink{0%{color:var(--ink)}to{color:var(--on-chip)}}.hero-underline{width:min(520px,62%);margin:clamp(10px,2vw,22px) auto 0;display:block;overflow:visible}.hero-underline path{stroke:var(--brass);stroke-width:3px;stroke-linecap:round;stroke-dasharray:1;animation:draw 1.1s var(--ease-io) 1s both}@keyframes draw{0%{stroke-dashoffset:1px}to{stroke-dashoffset:0}}.hero-art{--stage-w:1200px;aspect-ratio:1200/640;width:min(1200px,100%);margin:clamp(24px,4vw,40px) auto 0;position:relative;container-type:inline-size}.hero-stage{--box-x:340px;--box-y:300px;transform-origin:0 0;width:1200px;height:640px;transform:scale(var(--stage-scale,tan(atan2(100cqw, 1200px))));position:absolute;top:0;left:0}.hero-card{z-index:1;left:var(--x);top:var(--y);width:var(--w,330px);height:var(--h,196px);transform-origin:50% 70%;animation:card-rise 1.2s cubic-bezier(.16, .7, .26, 1) var(--delay) both, card-fade .3s ease-out var(--delay) both;position:absolute}.hero-card[data-card=web]{--x:60px;--y:70px;--from-x:375px;--from-y:167px;--from-r:-14deg;--tilt:-6deg;--delay:2.7s}.hero-card[data-card=mobile]{--x:435px;--y:20px;--from-x:0px;--from-y:217px;--from-r:6deg;--tilt:2deg;--delay:2.81s}.hero-card[data-card=systems]{--x:810px;--y:70px;--from-x:-375px;--from-y:167px;--from-r:12deg;--tilt:6deg;--delay:2.92s}@keyframes card-rise{0%{transform:translate(var(--from-x), var(--from-y)) rotate(var(--from-r)) scale(.45)}to{transform:rotate(var(--tilt))}}@keyframes card-fade{0%{opacity:0}}.hero-card__button{--accent:var(--brass);--face-a:#2a2419;--face-b:#14120d;width:100%;height:100%;color:var(--ink);text-align:left;cursor:pointer;background:repeating-linear-gradient(0deg, #ffffff06 0 1px, transparent 1px 22px), repeating-linear-gradient(90deg, #ffffff06 0 1px, transparent 1px 22px), linear-gradient(145deg, var(--face-a), var(--face-b));transition:transform .35s var(--ease-out), box-shadow .35s;border:1px solid #ffffff14;border-radius:14px;flex-direction:column;padding:22px 24px;display:flex;box-shadow:0 24px 40px -12px #000c,inset 0 1px #ffffff12}.hero-card__button[data-tone=olive]{--accent:var(--olive);--face-a:#232a1b;--face-b:#11140d}.hero-card__button[data-tone=oxblood]{--accent:#c76a5c;--face-a:#2f1814;--face-b:#140b09}.hero-card__button:hover{transform:translateY(-8px)scale(1.03);box-shadow:0 34px 50px -14px #000e,inset 0 1px #ffffff1a}.hero-card__top{font:500 13px var(--mono);color:var(--accent);justify-content:space-between;align-items:center;display:flex}.hero-card__title{font:300 36px/1.05 var(--serif);letter-spacing:-.02em;margin-top:auto}.hero-card__meta{font:400 12px var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);border-top:1px solid #ffffff14;margin-top:10px;padding-top:10px}.hero-box{left:var(--box-x);top:var(--box-y);pointer-events:none;width:520px;height:320px;animation:1s cubic-bezier(.5,0,.25,1) .95s both box-drop;position:absolute}.hero-box--shadow,.hero-box--back{z-index:0}.hero-box--body{z-index:2}.hero-box--lid{z-index:3}@keyframes box-drop{0%{opacity:0;transform:translateY(-160px)}35%{opacity:1}78%{transform:translateY(6px)}to{transform:translateY(0)}}.hero-box--shadow{top:calc(var(--box-y) + 278px);left:calc(var(--box-x) - 50px);filter:blur(6px);background:radial-gradient(closest-side,#000d,#0000);border-radius:50%;width:640px;height:60px;animation-name:shadow-drop}@keyframes shadow-drop{0%{opacity:0;transform:scale(.4)}to{opacity:1;transform:scale(1)}}.hero-box__inside{clip-path:polygon(0 70px,400px 70px,520px 0,120px 0);background:linear-gradient(#050403,#2a1f15);position:absolute;inset:0}.hero-box__face{position:absolute;inset:0}.hero-box__face--front{clip-path:polygon(0 70px,400px 70px,400px 320px,0 320px);background:repeating-linear-gradient(90deg,#00000010 0 2px,#0000 2px 9px),linear-gradient(#5e4430 0%,#3d2b1d 100%)}.hero-box__face--side{clip-path:polygon(400px 70px,520px 0,520px 250px,400px 320px);background:linear-gradient(#34261a,#1d150e)}.hero-box__label{color:#2a2016;font:500 12px/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;background:#e2d8c2;flex-direction:column;gap:6px;padding:10px 14px;display:flex;position:absolute;top:222px;left:36px;transform:rotate(-2deg);box-shadow:0 2px #0003}.hero-box__label span:last-child{color:#8c3a32}.hero-box__tape{background:linear-gradient(90deg, var(--brass-deep), var(--brass), var(--brass-deep));opacity:.8;width:400px;height:8px;position:absolute;top:296px;left:0}.hero-box__flap{transform-origin:50% 0;position:absolute;top:0}.hero-box__flap--back{clip-path:polygon(20px 0,420px 0,440px 110px,0 110px);background:linear-gradient(#2c2017,#4c3726);width:440px;height:110px;animation:1.3s 1.75s both flap-back;left:100px}.hero-box__flap--front{clip-path:polygon(0 0,400px 0,420px 120px,20px 120px);background:linear-gradient(#7a5a3f,#5a412d);width:420px;height:120px;animation:1.3s 1.82s both flap-front;top:70px;left:0;box-shadow:inset 0 -2px #0003}@keyframes flap-back{0%{animation-timing-function:cubic-bezier(.5,0,.45,1);transform:scaleY(.64)}72%{animation-timing-function:cubic-bezier(.35,0,.25,1);transform:scaleY(-1.07)}87%{animation-timing-function:cubic-bezier(.35,0,.25,1);transform:scaleY(-.965)}to{transform:scaleY(-1)}}@keyframes flap-front{0%{animation-timing-function:cubic-bezier(.5,0,.45,1);transform:scaleY(-.6)}72%{animation-timing-function:cubic-bezier(.35,0,.25,1);transform:scaleY(1.07)}87%{animation-timing-function:cubic-bezier(.35,0,.25,1);transform:scaleY(.965)}to{transform:scaleY(1)}}.hero__motion{justify-content:center;margin-top:8px;display:flex}.motion-toggle{border:1px solid var(--rule);color:var(--muted);font:400 11px var(--mono);letter-spacing:.08em;text-transform:uppercase;cursor:pointer;background:0 0;border-radius:999px;align-items:center;gap:8px;padding:8px 14px;transition:color .2s,border-color .2s;display:inline-flex}.motion-toggle:hover:not(:disabled){color:var(--ink);border-color:var(--rule-strong)}.motion-toggle:disabled{cursor:default;opacity:.7}@media (width<=720px){.hero-art{aspect-ratio:640/980}.hero-stage{--box-x:60px;--box-y:640px;width:640px;height:980px;transform:scale(var(--stage-scale,tan(atan2(100cqw, 640px))))}.hero-card{--w:480px;--h:250px}.hero-card[data-card=web]{--x:40px;--y:0px;--from-x:40px;--from-y:550px}.hero-card[data-card=mobile]{--x:120px;--y:240px;--from-x:-40px;--from-y:310px}.hero-card[data-card=systems]{--x:60px;--y:480px;--from-x:20px;--from-y:70px}.hero-card__title{font-size:46px}.hero-card__top,.hero-card__meta{font-size:16px}}:root:not([data-ready=true]) .hero *,:root:not([data-ready=true]) .hero :before{animation-play-state:paused!important}.scroll-zone{position:relative}.scroll-line{z-index:0;pointer-events:none;opacity:.5;position:absolute;inset:0}.scroll-line svg{width:100%;height:100%;display:block}.section-heading{justify-content:center;align-items:center;min-height:clamp(120px,16vw,220px);padding:24px 12px;display:flex}.section-heading__content{background:var(--paper);border:1px solid var(--rule);align-items:center;gap:clamp(12px,2vw,24px);padding:14px clamp(16px,3vw,32px);display:flex}.section-heading h2{font:300 clamp(1.6rem, 3.4vw, 2.7rem) / 1.2 var(--serif);letter-spacing:-.02em;text-align:center;color:var(--ink)}.ornament{width:clamp(20px,2.4vw,32px);fill:var(--brass);flex:none}.reveal{opacity:0;transition:opacity .7s ease var(--reveal-delay,0s), transform .85s var(--ease-out) var(--reveal-delay,0s);transform:translateY(24px)}.reveal[data-revealed=true],.reveal:focus-within{opacity:1;transform:none}.work-grid,.words-grid,.stats-grid,.principles-grid,.skills-grid{gap:var(--gut);padding:var(--gut);display:grid}.work-cell,.words-cell,.stats-cell,.principles-cell,.skills-cell{position:relative}.work-cell:before,.words-cell:before,.stats-cell:before,.principles-cell:before,.skills-cell:before,.work-cell:after,.words-cell:after,.stats-cell:after,.principles-cell:after,.skills-cell:after{content:"";pointer-events:none;z-index:2;position:absolute}.work-cell:before,.words-cell:before,.stats-cell:before,.principles-cell:before,.skills-cell:before{inset:calc(-1 * var(--gut)) 0;border-inline:1px solid var(--rule)}.work-cell:after,.words-cell:after,.stats-cell:after,.principles-cell:after,.skills-cell:after{inset:0 calc(-1 * var(--gut));border-block:1px solid var(--rule)}.work-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.work-row{display:contents}.work-endcap{display:none}.work-link{display:block}.work-project{background:var(--paper);margin:0}.work-project__media{aspect-ratio:781/472;background:var(--paper-2);position:relative;overflow:hidden}.work-project__media>.mo{position:absolute;inset:0}.work-project__media>.mo svg{filter:saturate(.8)brightness(.92);transition:filter .7s}.work-cell:hover .work-project__media>.mo svg{filter:none}.work-project__note{color:var(--ink);transition:transform .55s var(--ease-out);background:linear-gradient(#0000,#0b0c0ae6);justify-content:space-between;align-items:flex-end;gap:16px;padding:48px 24px 20px;font-size:15px;line-height:1.5;display:flex;position:absolute;inset:auto 0 0;transform:translateY(101%)}.work-cell:hover .work-project__note,.work-link:focus-visible .work-project__note{transform:none}.work-project__caption{border-top:1px solid var(--rule);min-height:64px;font:400 12px/1.4 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft);justify-content:space-between;align-items:center;gap:20px;padding:0 24px;transition:background .3s;display:flex}.work-project__caption h3{font:inherit}.work-project__caption p{color:var(--muted);flex:none}.work-cell:hover .work-project__caption{background:var(--paper-2)}[data-tone=brass]{--tone:var(--brass)}[data-tone=olive]{--tone:var(--olive)}[data-tone=oxblood]{--tone:#c76a5c}[data-tone=steel]{--tone:var(--steel)}.work-project__caption [data-tone]{color:var(--tone)}.roles{--stack:12px;height:calc(100svh - var(--header-h));background:var(--paper);grid-template-columns:320px minmax(0,1fr);min-height:560px;display:grid}.roles__rail{border-right:1px solid var(--rule);flex-direction:column;padding:clamp(28px,4vh,48px) 32px;display:flex;position:relative}.roles__counter{font:300 clamp(72px, 9vw, 112px) / 1 var(--serif);letter-spacing:-.04em;color:var(--ink);align-items:flex-start;display:flex}.roles__odo{display:inline-flex}.roles__odo-window{height:1em;display:inline-block;overflow:hidden}.roles__odo-col{transition:transform .7s var(--ease-io);flex-direction:column;display:flex}.roles__odo-col>span{height:1em;line-height:1;display:block}.roles__total{font:400 13px var(--mono);letter-spacing:.08em;color:var(--muted);margin:.5em 0 0 12px}.roles__current{display:none}.roles__list{border-bottom:1px solid var(--rule);margin:auto 0 0;padding:0;list-style:none}.roles__list button{border:0;border-top:1px solid var(--rule);width:100%;color:inherit;text-align:left;cursor:pointer;background:0 0;grid-template-columns:14px 1fr;align-items:center;column-gap:14px;padding:12px 0;display:grid}.roles__dot{border:1px solid var(--rule-strong);border-radius:50%;width:8px;height:8px;transition:background .3s,border-color .3s,box-shadow .4s}.roles__list [data-past=true] .roles__dot{border-color:var(--brass-deep)}.roles__list [data-active=true] .roles__dot{background:var(--brass);border-color:var(--brass);box-shadow:0 0 0 4px var(--brass)}@supports (color:color-mix(in lab, red, red)){.roles__list [data-active=true] .roles__dot{box-shadow:0 0 0 4px color-mix(in oklab, var(--brass) 22%, transparent)}}.roles__name{font:300 18px/1.25 var(--serif);color:var(--muted);transition:color .3s, transform .5s var(--ease-out)}.roles__list button:hover .roles__name{color:var(--ink-soft)}.roles__list [data-active=true] .roles__name{color:var(--ink);transform:translate(4px)}.roles__role{opacity:0;max-height:0;font:400 11px var(--mono);letter-spacing:.06em;color:var(--brass);transition:max-height .5s var(--ease-out), opacity .4s, margin .5s var(--ease-out);grid-column:2;overflow:hidden}.roles__list [data-active=true] .roles__role{opacity:1;max-height:2.6em;margin-top:4px;transform:translate(4px)}.roles__progress{width:2px;position:absolute;top:0;bottom:0;right:-1px}.roles__progress>span{background:linear-gradient(var(--brass-deep), var(--brass));transform-origin:top;height:100%;transform:scaleY(var(--p,0));display:block}.roles__deck{position:relative;overflow:clip}.roles__deck:after{content:"";z-index:20;pointer-events:none;opacity:0;mix-blend-mode:soft-light;background:radial-gradient(420px circle at var(--mx,50%) var(--my,50%), #fff6, transparent 70%);transition:opacity .4s;position:absolute;inset:0}.roles__deck:hover:after{opacity:1}.role-card{left:var(--gut);right:var(--gut);top:calc(var(--gut) + var(--i) * var(--stack));height:calc(100% - 2 * var(--gut) - (var(--n) - 1) * var(--stack));z-index:calc(var(--i) + 1);position:absolute}.roles:not([data-armed]) .role-card:not(:first-child){visibility:hidden}.role-card__inner{isolation:isolate;background:var(--paper-2);transform-origin:50% 0;border:1px solid #ffffff12;border-radius:18px;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:clamp(28px,4vw,56px);height:100%;padding:clamp(28px,4vw,52px);display:grid;position:relative;overflow:hidden;box-shadow:0 -18px 40px -18px #000c}.role-card__inner:before{content:"";z-index:-2;border:180px solid var(--tone);position:absolute;inset:-20px}@supports (color:color-mix(in lab, red, red)){.role-card__inner:before{border:180px solid color-mix(in oklab, var(--tone) 24%, transparent)}}.role-card__inner:before{filter:blur(70px);pointer-events:none;border-radius:48px}.role-card__inner:after{content:"";z-index:-1;opacity:.45;mix-blend-mode:soft-light;pointer-events:none;background-image:url("data:image/svg+xml;utf8,<svg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>");position:absolute;inset:0}.role-card__shade{z-index:10;opacity:0;pointer-events:none;background:#050504;position:absolute;inset:0}.role-card__main{flex-direction:column;min-width:0;display:flex}.role-card__kicker{font:500 11px var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--tone);align-items:center;gap:18px;display:flex}.role-card__loc{color:var(--muted);align-items:center;gap:6px;display:inline-flex}.role-card__company{font:300 clamp(2.1rem, 3.8vw, 3.8rem) / 1.02 var(--serif);letter-spacing:-.035em;font-variation-settings:"opsz" 72;margin-top:clamp(16px,2.6vh,28px)}.role-card__mask{vertical-align:top;margin-right:.22em;padding-bottom:.08em;display:inline-block;overflow:hidden}.role-card__mask>span{transition:transform .9s var(--ease-out) calc(var(--d) + .1s);display:inline-block;transform:translateY(110%)}.role-card__role{font:400 13px var(--mono);letter-spacing:.04em;color:var(--tone);margin-top:12px}.role-card__body{max-width:52ch;color:var(--ink-soft);margin-top:clamp(14px,2.4vh,24px);font-size:15.5px;line-height:1.7}.role-card__role,.role-card__body,.role-metric{opacity:0;transition:opacity .7s ease, transform .9s var(--ease-out);transform:translateY(16px)}.role-card__role{transition-delay:.3s}.role-card__body{transition-delay:.4s}.role-metric{transition-delay:.5s}.role-card__foot{flex-direction:column;gap:18px;margin-top:auto;padding-top:20px;display:flex}.role-metric{border-bottom:1px solid var(--tone);align-items:baseline;gap:14px;padding-bottom:14px;display:flex}@supports (color:color-mix(in lab, red, red)){.role-metric{border-bottom:1px solid color-mix(in oklab, var(--tone) 35%, transparent)}}.role-metric__value{font:300 clamp(2.8rem, 4.4vw, 4.2rem) / 1 var(--serif);letter-spacing:-.045em;font-variation-settings:"opsz" 72;font-variant-numeric:tabular-nums;color:var(--ink)}.role-metric__label{font:400 11px var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}.role-card__stack{flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;display:flex}.role-card__stack li{border:1px solid var(--tone);padding:6px 12px}@supports (color:color-mix(in lab, red, red)){.role-card__stack li{border:1px solid color-mix(in oklab, var(--tone) 40%, transparent)}}.role-card__stack li{background:var(--tone);border-radius:999px}@supports (color:color-mix(in lab, red, red)){.role-card__stack li{background:color-mix(in oklab, var(--tone) 8%, transparent)}}.role-card__stack li{font:400 12px var(--mono);color:var(--ink-soft);opacity:0;transition:opacity .5s ease var(--d), transform .6s cubic-bezier(.34, 1.56, .64, 1) var(--d);transform:translateY(10px)scale(.9)}.role-card__art{aspect-ratio:780/472;clip-path:inset(0 0 100% round 12px);min-height:0;transition:clip-path 1.1s var(--ease-io) .25s;border:1px solid #ffffff12;border-radius:12px;align-self:center;position:relative;overflow:hidden}.role-card__art-tag{font:400 10px var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);background:#0b0c0acc;border-radius:999px;padding:5px 10px;position:absolute;bottom:12px;left:12px}.role-card[data-seen=true] :is(.role-card__mask>span,.role-card__role,.role-card__body,.role-metric,.role-card__stack li){opacity:1;transform:none}.role-card[data-seen=true] .role-card__art{clip-path:inset(0 round 12px)}@media (width<=900px){.roles{--stack:8px;grid-template-rows:auto minmax(0,1fr);grid-template-columns:minmax(0,1fr);min-height:520px}.roles__rail{border-right:0;border-bottom:1px solid var(--rule);flex-direction:row;align-items:center;gap:14px;padding:10px 16px}.roles__counter{font-size:40px}.roles__total{margin-top:.35em;font-size:11px}.roles__current{font:300 18px var(--serif);color:var(--brass);white-space:nowrap;text-overflow:ellipsis;margin-left:auto;display:block;overflow:hidden}.roles__list{display:none}.roles__progress{width:auto;height:2px;inset:auto 0 -1px}.roles__progress>span{transform-origin:0;transform:scaleX(var(--p,0))}.role-card__inner{border-radius:14px;grid-template-rows:auto minmax(0,1fr);grid-template-columns:minmax(0,1fr);gap:16px;padding:16px 16px 20px}.role-card__art{aspect-ratio:auto;order:-1;align-self:stretch;height:clamp(110px,22vh,190px)}.role-card__art-tag{display:none}.role-card__company{margin-top:12px;font-size:clamp(1.8rem,7.6vw,2.5rem)}.role-card__body{font-size:14px;line-height:1.6}.role-metric__value{font-size:2.4rem}}@media (width<=900px) and (height<=740px){.role-card__art{display:none}.role-card__body{font-size:13.5px;line-height:1.5}}@media not all and (width<=1100px){.words-grid{grid-template-columns:repeat(6,minmax(0,1fr))}.words-cell{grid-column:span 2}.words-cell:nth-child(3n+1):nth-last-child(2),.words-cell:nth-child(3n+2):last-child{grid-column:span 3}.words-cell:nth-child(3n+1):last-child{grid-column:span 6}}.words-cell__reveal{height:100%}.word-card{isolation:isolate;background:var(--paper);height:100%;transition:transform .5s var(--ease-out), box-shadow .5s;flex-direction:column;margin:0;padding:28px 28px 22px;display:flex;position:relative;overflow:hidden}.word-card:before{content:"";z-index:-2;border:150px solid var(--tone);position:absolute;inset:-20px}@supports (color:color-mix(in lab, red, red)){.word-card:before{border:150px solid color-mix(in oklab, var(--tone) 22%, transparent)}}.word-card:before{filter:blur(64px);pointer-events:none;border-radius:48px}.word-card:after{content:"";z-index:-1;opacity:0;pointer-events:none;background:radial-gradient(260px circle at var(--mx,50%) var(--my,50%), var(--tone), transparent 70%);position:absolute;inset:0}@supports (color:color-mix(in lab, red, red)){.word-card:after{background:radial-gradient(260px circle at var(--mx,50%) var(--my,50%), color-mix(in oklab, var(--tone) 16%, transparent), transparent 70%)}}.word-card:after{transition:opacity .4s}.word-card:hover{transform:translateY(-6px);box-shadow:0 30px 50px -24px #000c}.word-card:hover:after{opacity:1}.word-card__mark{font:300 160px/1 var(--serif);color:var(--tone);position:absolute;top:-.12em;right:18px}@supports (color:color-mix(in lab, red, red)){.word-card__mark{color:color-mix(in oklab, var(--tone) 35%, transparent)}}.word-card__mark{transform-origin:50% 40%;transition:transform .7s var(--ease-out), color .4s}.word-card:hover .word-card__mark{color:var(--tone);transform:rotate(-8deg)translateY(6px)}.word-card__person{grid-template-columns:72px 1fr;align-items:center;gap:16px;display:grid}.word-card__portrait{width:72px;height:72px;position:relative}.word-card__portrait img,.word-card__initials{object-fit:cover;filter:grayscale(.25)sepia(.12);border-radius:22px;place-items:center;width:100%;height:100%;display:grid}.word-card__initials{background:linear-gradient(145deg, var(--tone), var(--tone))}@supports (color:color-mix(in lab, red, red)){.word-card__initials{background:linear-gradient(145deg, var(--tone), color-mix(in oklab, var(--tone) 35%, black))}}.word-card__initials{color:var(--on-chip);font:500 18px var(--mono)}.word-card__badge{border:2px solid var(--paper);background:var(--steel);width:26px;height:26px;color:var(--on-chip);border-radius:8px;place-items:center;display:grid;position:absolute;bottom:-6px;right:-6px}.word-card h3{font:300 24px/1.15 var(--serif);letter-spacing:-.01em}.word-card__person p{font:400 12px var(--mono);color:var(--tone);margin-top:4px}.word-card__quote{font:300 18px/1.6 var(--serif);color:var(--ink-soft);white-space:pre-line;margin:24px 0 0}.word-card figcaption{margin-top:auto;padding-top:22px}.word-card__link{font:400 11px var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);align-items:center;gap:8px;transition:color .2s;display:inline-flex}.word-card__link:hover{color:var(--ink)}.words-dots{display:none}@media (width<=760px){.words-grid{padding:var(--gut);overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scrollbar-width:none;gap:12px;display:flex;overflow-x:auto}.words-grid::-webkit-scrollbar{display:none}.words-cell{scroll-snap-align:center;flex:0 0 88%}.words-cell:before,.words-cell:after{display:none}.word-card{padding:22px 20px 18px}.word-card:before{filter:blur(44px);border-width:100px}.word-card__quote{font-size:16px}.words-dots{justify-content:center;padding-bottom:14px;display:flex}.words-dots button{cursor:pointer;background:0 0;border:0;place-items:center;width:24px;height:44px;padding:0;display:grid}.words-dots span{background:var(--rule-strong);border-radius:50%;width:7px;height:7px;transition:background .3s,transform .3s}.words-dots [aria-current=true] span{background:var(--brass);transform:scale(1.3)}}@media ((width>760px)) and (width<=1100px){.words-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.words-cell:nth-child(odd):last-child{grid-column:1/-1}}.statement__inner{background:var(--paper);padding:clamp(80px,13vw,180px) 24px}.statement__text{max-width:26ch;font:300 clamp(1.8rem, 3.8vw, 3.2rem) / 1.2 var(--serif);letter-spacing:-.02em;text-align:center;color:var(--ink);margin:0 auto}.scrub-word{opacity:.14}.marquee-band{background:var(--paper);border-top:1px solid var(--rule);padding:clamp(18px,3vw,34px) 0;overflow:hidden}.marquee{width:max-content;animation:46s linear infinite marquee;display:flex}.marquee__item{font:300 clamp(2.4rem, 6.4vw, 5.6rem) / 1 var(--serif);letter-spacing:-.03em;white-space:nowrap;color:var(--ink);font-variation-settings:"opsz" 60;align-items:center;gap:clamp(24px,4vw,56px);padding-right:clamp(24px,4vw,56px);display:inline-flex}.marquee__item:nth-child(3n+2)>span{color:var(--brass);font-style:italic}.marquee__item .ornament{width:.4em}@keyframes marquee{to{transform:translate(-50%)}}.skills-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.skills-group{background:var(--paper);height:100%;padding:28px}.skills-cell>.reveal{height:100%}.skills-group .kicker span{color:var(--muted);margin-right:6px}.skills-group ul{margin:22px 0 0;padding:0;list-style:none}.skills-group li{border-bottom:1px dashed var(--rule-strong);color:var(--ink-soft);transition:color .2s, padding .3s var(--ease-out);padding:10px 0;font-size:15px}.skills-group li:hover{color:var(--ink);padding-left:6px}.contact__inner{background:var(--paper);padding:clamp(80px,12vw,160px) clamp(20px,6vw,96px)}.contact__title{max-width:16ch;font:300 clamp(2.6rem, 7.4vw, 6.6rem) / 1 var(--serif);letter-spacing:-.035em;font-variation-settings:"opsz" 60;margin-top:24px}.contact__title em{color:var(--brass)}.contact__lede{max-width:52ch;color:var(--ink-soft);margin-top:32px;font-size:17px;line-height:1.65}.contact__actions{flex-wrap:wrap;align-items:center;gap:28px;margin-top:44px;display:flex}.btn{font:500 13px var(--mono);letter-spacing:.04em;align-items:center;gap:10px;display:inline-flex}.btn--solid{background:var(--brass);color:var(--on-chip);transition:background .25s, transform .25s var(--ease-out);padding:16px 26px}.btn--solid:hover{background:var(--brass)}@supports (color:color-mix(in lab, red, red)){.btn--solid:hover{background:color-mix(in oklab, var(--brass) 85%, white)}}.btn--solid:hover{transform:translateY(-2px)}.btn--ghost{color:var(--ink);padding:12px 6px}@media (width<=1100px){.skills-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=760px){.work-grid,.skills-grid{grid-template-columns:minmax(0,1fr)}.work-project__caption{flex-direction:column;justify-content:center;align-items:flex-start;gap:4px;padding:12px 16px;font-size:11px}.work-project__note{display:none}}.site-footer{background:var(--leather);color:#d6b680;overflow-x:clip}.site-footer .band__col{border-inline-color:var(--leather-rule)}.site-footer__inner{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:40px;padding:clamp(48px,7vw,80px) clamp(20px,4vw,56px) 0;display:grid}.site-footer__art{aspect-ratio:440/320;width:min(440px,100%);position:relative}.folder{border-radius:10px;position:absolute}.folder--back{background:#4f3522;inset:8% 0 0}.folder--back:before{content:"";background:inherit;border-radius:10px 10px 0 0;width:34%;height:12%;position:absolute;top:-9%;left:6%}.folder--front{clip-path:polygon(0 7%,100% 0,100% 100%,0 100%);pointer-events:none;background:repeating-linear-gradient(90deg,#00000012 0 2px,#0000 2px 10px),linear-gradient(#8a6143,#66462f);height:58%;inset:auto 0 0;box-shadow:inset 0 2px #ffffff1a}.folder__paper{transform-origin:68% -20%;width:78%;height:72%;animation:2.6s ease-in-out infinite paper-sway;position:absolute;top:2%;left:11%}.site-footer__art:hover .folder__paper{animation-play-state:paused}@keyframes paper-sway{0%,to{transform:rotate(0)}25%{transform:rotate(-1.8deg)}75%{transform:rotate(1.8deg)}}.folder__card{color:#2a1f16;background:#ece2cc;border-radius:6px;padding:9%;display:block;position:absolute;inset:0;transform:rotate(3.2deg)skew(-.5deg);box-shadow:0 24px 30px -8px #0008}.folder__stamp{color:#8c3a32;font:500 clamp(9px, 1.4vw, 12px) var(--mono);letter-spacing:.14em;text-transform:uppercase;opacity:.85;border:2px solid #8c3a32;border-radius:4px;padding:6px 10px;position:absolute;top:12%;right:8%;transform:rotate(-9deg)}.folder__monogram{font:300 clamp(36px, 6vw, 60px) / 1 var(--serif);letter-spacing:-.03em;display:block}.folder__lines{gap:10px;margin-top:8%;display:grid}.folder__lines span{background:#cfc2a6;border-radius:3px;height:6px}.folder__lines span:nth-child(2){width:82%}.folder__lines span:nth-child(3){width:58%}.folder__clip{border:3px solid var(--brass);filter:drop-shadow(0 2px 4px #0006);pointer-events:none;border-radius:999px;width:7%;height:22%;position:absolute;top:-3%;left:58%;transform:rotate(5deg)}.site-footer__links nav{font:300 clamp(2rem, 4vw, 2.8rem) / 1 var(--serif);letter-spacing:-.03em;flex-direction:column;align-items:flex-end;display:flex}.site-footer__links nav a{align-items:center;min-height:56px;display:flex}.site-footer__social{font:400 12px var(--mono);letter-spacing:.12em;text-transform:uppercase;justify-content:flex-end;gap:22px;margin-top:22px;display:flex}.site-footer__social a{color:#a88a5c;transition:color .2s}.site-footer__social a:hover{color:#ecd3a4}.site-footer__credit{border-top:1px solid var(--leather-rule);font:300 18px var(--serif);color:#b4935f;flex-wrap:wrap;grid-column:1/-1;justify-content:space-between;align-items:center;gap:8px 24px;margin-top:24px;padding:22px 0 26px;display:flex}.site-footer__mark{display:block}.site-footer__credit span{font:400 11px var(--mono);letter-spacing:.1em;text-transform:uppercase;color:#7f6744;align-self:center}@media (width<=760px){.site-footer__inner{grid-template-columns:1fr}.site-footer__art{max-width:320px;margin-inline:auto}.site-footer__links nav{align-items:center}.site-footer__social{justify-content:center}}:root[data-motion=off] :is(.marquee,.folder__paper){animation-play-state:paused}@media (prefers-reduced-motion:reduce){.preloader{display:none}.reveal{opacity:1;transition:none;transform:none}.hero *,.hero :before,.marquee,.folder__paper{animation:none!important}.hero-chip{color:var(--on-chip)}.hero-underline path{stroke-dashoffset:0}.hero-box__flap--back{transform:scaleY(-1)}.hero-card{transform:rotate(var(--tilt))}.work-project__note{transform:none}.scribble path{transition:none}.roles{height:auto;min-height:0}.roles__list{margin-top:40px}.roles__deck{padding:var(--gut);gap:var(--gut);display:grid;overflow:visible}.role-card{height:auto;position:relative;inset:auto;transform:none!important}.role-card__art{aspect-ratio:780/472}.role-card *,.role-card__inner{transition:none!important}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}
