@layer components{.s{--s-void:#09090b;--s-surface:#131317;--s-surface-2:#1b1b20;--s-ink:#f5f3ef;--s-mute:#f5f3efb8;--s-faint:#f5f3ef85;--s-line:#f5f3ef1a;--s-line-hi:#f5f3ef33;--s-ember:#ff8e66;--s-ember-soft:#ff8e6624;--s-green:#39d353;--s-violet:#967cff;--s-teal:#40c4b4;--s-amber:#f0a85a;--s-ease:cubic-bezier(.23, 1, .32, 1);--s-radius:16px;background:var(--s-void);color:var(--s-ink);min-height:100dvh;font-family:var(--font-s-body), var(--font-sans), sans-serif;-webkit-font-smoothing:antialiased;flex-direction:column;font-size:1rem;line-height:1.6;display:flex}.s *,.s :before,.s :after{box-sizing:border-box}.s ::selection{background:var(--s-ember);color:#180c06}.s :focus-visible{outline:2px solid var(--s-ember);outline-offset:3px;border-radius:6px}.s-shell{flex:1 0 auto;width:min(100% - 2.5rem,68rem);margin-inline:auto;padding-bottom:6rem}@media (prefers-reduced-motion:no-preference){.s-shell>:nth-child(-n+2){opacity:0;animation:.62s forwards s-enter}.s-shell>:nth-child(2){animation-delay:.11s}}@keyframes s-enter{to{opacity:1}}@media (prefers-reduced-motion:no-preference){.s-shell>[data-reveal]{opacity:.45;transition:transform .7s var(--s-ease), opacity .52s ease;transform:translateY(40px)}.s-shell>[data-reveal][data-in]{opacity:1;transform:none}}.s-block{padding-top:clamp(4.5rem,9vw,7.5rem)}#work,#about{scroll-margin-top:5.25rem}@media (prefers-reduced-motion:no-preference){html:has(.s){scroll-behavior:smooth}}.s-block-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:.75rem 1.5rem;margin-bottom:clamp(1.75rem,3vw,2.5rem);display:flex}.s-block-head h2{max-width:20ch;font-size:clamp(1.75rem,4vw,2.75rem)}.s-block-head p{max-width:46ch;color:var(--s-mute);margin-top:.6rem;font-size:.95rem}.s-more{min-height:44px;color:var(--s-mute);white-space:nowrap;transition:background-size .24s var(--s-ease), color .16s ease;background-image:linear-gradient(currentColor,currentColor);background-position:0 calc(50% + .66em);background-repeat:no-repeat;background-size:0% 1px;align-items:center;gap:.4rem;font-size:.9rem;font-weight:500;display:inline-flex}.s-more:hover{color:var(--s-ink)}@media (hover:hover) and (pointer:fine){.s-more:hover,.s-more:focus-visible{background-size:calc(100% - 1.35rem) 1px}}.s-more svg{width:.95rem;height:.95rem}.s-panel{border-radius:var(--s-radius);background-color:var(--s-surface);background-clip:padding-box;border:1px solid #2e2e36;position:relative;box-shadow:inset 0 1px #ffffff0d}.s-tint{--s-hue:var(--s-violet);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='140' height='140' filter='url(%23n)' opacity='0.035'/%3E%3C/svg%3E"), radial-gradient(120% 90% at 88% 0%, color-mix(in srgb, var(--s-hue) 16%, transparent) 0%, transparent 62%);border-color:color-mix(in srgb, var(--s-hue) 16%, #2e2e36);background-repeat:repeat,no-repeat;background-size:140px 140px,100% 100%;background-clip:padding-box}.s-hue-violet{--s-hue:var(--s-violet)}.s-hue-teal{--s-hue:var(--s-teal)}.s-hue-amber{--s-hue:var(--s-amber)}.s-hue-ember{--s-hue:var(--s-ember)}.s-lift{transition:border-color .24s}@media (hover:hover) and (pointer:fine){.s-lift:hover{border-color:color-mix(in srgb, var(--s-hue,var(--s-ink)) 34%, #2e2e36)}}.s-btn{border:1px solid var(--s-ink);background:var(--s-ink);min-height:44px;color:var(--s-void);border-radius:999px;align-items:center;gap:.4rem;padding:.7rem 1.15rem;font-size:.9rem;font-weight:600;transition:opacity .16s;display:inline-flex}.s-btn:hover{opacity:.86}.s-btn svg{width:.95rem;height:.95rem}.s-mark-headout{background-color:#a778ff;flex:none;width:11.4rem;height:1.68rem;display:inline-block;transform:translateY(-8.1%);-webkit-mask:url(/assets/headout/logo.svg) 50%/contain no-repeat;mask:url(/assets/headout/logo.svg) 50%/contain no-repeat}.s-mark-vit{object-fit:contain;background:#f0eee9;border-radius:10px;flex:none;width:2.3rem;height:2.3rem;padding:.15rem;display:inline-block}.s-mark-rently{object-fit:contain;object-position:left center;flex:none;width:7.8rem;height:2.6rem;transform:translateY(-12.7%)}.s-mark-text{font-weight:600}.s-case-rule{background:var(--s-line-hi);width:1px;height:.9rem}.s-stack{flex-wrap:wrap;gap:.4rem;margin-top:1.4rem;display:flex}.s-stack li{border:1px solid var(--s-line);color:var(--s-mute);border-radius:999px;align-items:center;gap:.4rem;padding:.3rem .65rem;font-size:.8rem;display:inline-flex}.s-stack svg [fill]:not([fill=none]),.s-stack svg[fill]:not([fill=none]){fill:currentColor}.s-stack svg [stroke]:not([stroke=none]){stroke:currentColor}.s-stack svg [style*=fill]{fill:currentColor!important}.s-stack svg{width:.85rem;height:.85rem;color:var(--s-faint)}.s-metrics{border-top:1px solid var(--s-line);grid-template-columns:repeat(auto-fit,minmax(10rem,1fr));display:grid}.s-metrics>div{padding:1.1rem clamp(1.5rem,4vw,2.75rem)}.s-metrics>div+div{border-left:1px solid var(--s-line)}.s-metrics dd{font-family:var(--font-s-display), sans-serif;letter-spacing:-.03em;font-size:clamp(1.35rem,2.6vw,1.85rem);font-weight:700;line-height:1.1}.s-metrics dt{color:var(--s-faint);margin-top:.3rem;font-size:.78rem;line-height:1.35}.s-note .s-more{margin-top:1.5rem}.s-award-who .s-mark-headout{width:8.08rem;height:1.19rem}.s-award-who .s-mark-rently{width:5.55rem;height:1.85rem}.s-detail-head .s-metrics{border-top:1px solid var(--s-line);margin-top:2rem}.s-detail-head .s-metrics>div{padding-inline:0}.s-detail-head .s-metrics>div+div{padding-left:clamp(1rem,3vw,2rem)}@keyframes s-error-in{0%{opacity:0;transform:translateY(-2px)}}.s-wipe{transition:background-size .24s var(--s-ease), color .16s ease;background-image:linear-gradient(currentColor,currentColor);background-position:0 100%;background-repeat:no-repeat;background-size:0% 1px}@media (hover:hover) and (pointer:fine){.s-wipe:hover{background-size:100% 1px}}@media (max-width:899px){.s-block-head,.s-case-copy,.s-note,.s-close,.s-page-head,.s-side,.s-awards{text-align:center}.s-block-head,.s-close{justify-content:center}.s-block-head p,.s-block-head h2,.s-case-tagline,.s-case-problem,.s-case-outcome,.s-note p,.s-close h2,.s-close p,.s-page-head h1,.s-page-head p,.s-awards>p,.s-awards figcaption p{max-width:44ch;margin-inline:auto}.s-case-meta,.s-stack,.s-skills,.s-langs,.s-contrib-top,.s-legend,.s-award-head,.s-side ul{justify-content:center}.s-metrics>div,.s-media figcaption,.s-contrib figcaption{text-align:center}}@media (max-width:640px){.s-shell{width:min(100% - 1.75rem,68rem)}.s-case-rule,.s-hero-role>.s-case-rule{display:none}.s-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.s-metrics>div+div{border-left:0}.s-metrics>div:nth-child(2n){border-left:1px solid var(--s-line)}.s-metrics>div:nth-child(n+3){border-top:1px solid var(--s-line)}.s-metrics>div{padding-block:.8rem}.s-metrics dd{font-size:1.25rem}.s-detail-head .s-metrics>div:nth-child(2n){padding-left:clamp(1rem,3vw,2rem)}.s-stack,.s-case-cta{margin-top:1.1rem}}@media (prefers-reduced-motion:reduce){.s *,.s :before,.s :after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.s-lift:hover,.s-skill:hover,.s-awards button:hover,.s-awards button:hover img,.s-case:hover .s-device img{transform:none}}.s-stop-links .s-more:first-child{color:var(--s-ink)}.s-pet:after{content:"";z-index:-1;background:radial-gradient(closest-side,#00000080,#0000);border-radius:50%;width:46px;height:9px;position:absolute;bottom:4px;left:50%;translate:-50%}.s-pet{z-index:40;pointer-events:none;will-change:transform;position:fixed;inset:0 auto auto 0}.s-pet-hit{pointer-events:auto;cursor:grab;touch-action:none;background-color:#0000;background-image:-webkit-image-set(url(/assets/me/pet.webp) 2x);background-image:image-set("/assets/me/pet.webp" 2x);background-size:768px;background-position:var(--s-pet-col,0px) var(--s-pet-row,0px);background-repeat:no-repeat;border:0;width:96px;height:104px;padding:0;display:block}.s-pet-hit:active{cursor:grabbing}.s-pet-hit[data-flip]{scale:-1 1}.s-pet-bubble{white-space:nowrap;max-width:calc(100vw - 24px);font-family:var(--font-mono), ui-monospace, monospace;letter-spacing:-.01em;color:#121216;pointer-events:none;z-index:50;transform-origin:var(--bubble-tail-x,50%) bottom;background-color:#ffe040;border:2px solid #121216;border-radius:4px;padding:.45rem .75rem;font-size:.82rem;font-weight:700;line-height:1.25;animation:.18s cubic-bezier(.18,.89,.32,1.28) forwards s-pet-bubble-in;position:absolute;bottom:calc(100% + 8px);left:0;box-shadow:3px 3px #000000d9}.s-pet-bubble[data-exiting=true]{animation:.18s ease-in forwards s-pet-bubble-out}.s-pet-bubble:before{content:"";top:100%;left:var(--bubble-tail-x,50%);border-top:6px solid #121216;border-left:6px solid #0000;border-right:6px solid #0000;width:0;height:0;position:absolute;translate:-50%}.s-pet-bubble:after{content:"";top:calc(100% - 2px);left:var(--bubble-tail-x,50%);border-top:4px solid #ffe040;border-left:4px solid #0000;border-right:4px solid #0000;width:0;height:0;position:absolute;translate:-50%}@keyframes s-pet-bubble-in{0%{opacity:0;transform:scale(.6)translateY(6px)}to{opacity:1;transform:scale(1)translateY(0)}}@keyframes s-pet-bubble-out{0%{opacity:1;transform:scale(1)translateY(0)}to{opacity:0;transform:scale(.7)translateY(4px)}}}
