:root{--ink:#222;--grey:#7b7b7b;--tint:#f8f8f8;--white:#fff;--line:#e6e6e6;--lilac:#ded6f5;--rose:#f7d6e8;--peach:#f8dfb5;--sage:#d2e6d5;--sans:"Inter", system-ui, sans-serif;--mono:"JetBrains Mono", ui-monospace, Menlo, monospace;--micro:.66rem;--sm:.85rem;--base:clamp(.95rem, .9rem + .2vw, 1rem);--h3:clamp(1.15rem, 1rem + .5vw, 1.4rem);--h2:clamp(2rem, 1.3rem + 2.6vw, 3.6rem);--display:clamp(2.8rem, 1.2rem + 6.6vw, 7rem);--pad:clamp(1.1rem, 4vw, 2.4rem);--band:clamp(4rem, 8vw, 7.5rem);--max:1280px}*{box-sizing:border-box}html{scroll-behavior:smooth}[id]{scroll-margin-top:80px}body{background:var(--white);color:var(--ink);font-family:var(--sans);font-size:var(--base);-webkit-font-smoothing:antialiased;margin:0;font-weight:400;line-height:1.6}h1,h2,h3{letter-spacing:-.03em;margin:0;font-weight:300;line-height:1.02}p{margin:0}a{color:inherit}img{max-width:100%;display:block}.wrap{width:100%;max-width:var(--max);padding-inline:var(--pad);margin-inline:auto}.micro{font-family:var(--mono);font-size:var(--micro);letter-spacing:.12em;text-transform:uppercase;color:var(--grey)}.muted{color:var(--grey)}.sm{font-size:var(--sm);line-height:1.6}.ul{background-image:linear-gradient(currentColor,currentColor);background-position:0 100%;background-repeat:no-repeat;background-size:0% 1px;padding-bottom:2px;text-decoration:none;transition:background-size .35s cubic-bezier(.4,0,.1,1)}.ul:hover,.ul.on{background-size:100% 1px}.site-header{z-index:30;background:color-mix(in srgb, var(--white) 90%, transparent);backdrop-filter:blur(10px);position:sticky;top:0}.site-header .wrap{align-items:center;gap:1.4rem;height:74px;display:flex}.logo{align-items:center;gap:.7rem;margin-right:auto;text-decoration:none;display:flex}.logo img{object-fit:contain;width:38px;height:38px}.logo span{font-family:var(--mono);font-size:var(--micro);letter-spacing:.16em;text-transform:uppercase}.nav{font-size:var(--sm);gap:1.5rem;display:none}.nav a{color:var(--grey);text-decoration:none;transition:color .25s}.nav a:hover{color:var(--ink)}@media (width>=860px){.nav{display:flex}}.book{font-size:var(--sm);white-space:nowrap;text-decoration:none}.hero{padding-block:clamp(1rem, 2.5vw, 2rem) var(--band);position:relative}.hero-grid{align-items:end;gap:1.5rem;display:grid}@media (width>=900px){.hero-grid{grid-template-columns:minmax(0,1fr) minmax(0,.82fr);gap:2.5rem}}.stats{gap:clamp(1.5rem,5vw,3.5rem);margin-bottom:clamp(1.6rem,4vw,2.8rem);display:flex}.stat-n{letter-spacing:-.04em;font-size:clamp(1.6rem,1.1rem + 1.8vw,2.6rem);font-weight:300;line-height:1}.stat-l{margin-top:.35rem}@media (width>=720px){.stat-l{white-space:nowrap}}.hero h1{font-size:var(--display)}.hero h1 .light{color:var(--grey)}.hero-sub{max-width:52ch;margin-top:1.4rem}.hero-cta{font-size:var(--sm);align-items:center;gap:.5rem;margin-top:1.1rem;display:inline-flex}.hero-cta .arrow{transition:transform .35s cubic-bezier(.4,0,.1,1)}.hero-cta:hover .arrow{transform:translate(3px)}.hero-photo{aspect-ratio:4/5;object-fit:cover;object-position:36% 48%;filter:grayscale()contrast(1.04);background:var(--tint);width:100%}@media (width>=900px){.hero-grid{align-items:start}.hero-photo{aspect-ratio:auto;height:clamp(340px,37vw,460px)}}.hero-foot{border-top:1px solid var(--line);align-items:center;gap:clamp(1rem,3vw,2rem);margin-top:clamp(1.4rem,3vw,2rem);padding-top:1.1rem;display:flex}.hero-foot>:last-child{margin-left:auto}.section{padding-block:var(--band)}.section.tinted{background:var(--tint)}.head{gap:1rem;margin-bottom:clamp(2rem,5vw,3.4rem);display:grid}@media (width>=860px){.head{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:end;gap:3rem}}.head h2{font-size:var(--h2);max-width:16ch}.head .aside{max-width:42ch}.eyebrow{align-items:center;gap:.5rem;margin-bottom:.9rem;display:flex}.eyebrow:before{content:"";background:var(--ink);border-radius:50%;width:6px;height:6px}.cards{grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:.6rem;display:grid}.card{border-radius:14px;flex-direction:column;min-height:320px;padding:1rem 1.05rem .9rem;transition:transform .4s cubic-bezier(.4,0,.1,1);display:flex}.card:hover{transform:translateY(-5px)}.card-top{justify-content:space-between;align-items:flex-start;gap:.5rem;display:flex}.card-top .micro{color:var(--ink)}.card-figure{flex:none;place-items:center;height:132px;display:grid}.card h3{font-size:var(--h3);letter-spacing:-.02em;margin-bottom:.4rem}.card p{font-size:var(--sm);color:#444;line-height:1.5}.card-foot{border-top:1px solid #22222224;justify-content:space-between;gap:.5rem;margin-top:auto;padding-top:.6rem;display:flex}.card-foot .micro{color:#22222280}.matrix{aspect-ratio:1;grid-template-columns:repeat(9,1fr);gap:3px;width:min(104px,45%);display:grid}.matrix i{opacity:.09;background:currentColor;border-radius:50%;transition:opacity .32s,transform .32s cubic-bezier(.34,1.4,.5,1);transform:scale(.55)}.matrix i.on{opacity:1;transform:scale(1)}.numbers{grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr));gap:.6rem;display:grid}.num{background:var(--white);border:1px solid var(--line);cursor:pointer;border-radius:14px;flex-direction:column;gap:.5rem;min-height:200px;padding:1.2rem 1.2rem 1.1rem;transition:border-color .35s,transform .35s cubic-bezier(.4,0,.1,1);display:flex}.num.on{border-color:var(--ink);transform:translateY(-3px)}.num-v{letter-spacing:-.04em;font-size:clamp(2rem,1.4rem + 2.2vw,3.2rem);font-weight:300;line-height:1}.num-v.phrase{font-size:clamp(1.5rem,1.15rem + 1.2vw,2.1rem)}.num-l{max-width:26ch}.num-more{font-size:var(--sm);align-self:flex-start;align-items:center;gap:.45rem;margin-top:auto;padding-top:1rem;text-decoration:none;display:inline-flex}.num-more .arrow{transition:transform .35s cubic-bezier(.4,0,.1,1)}.num-more:hover .arrow{transform:translate(3px)}.num-wide{isolation:isolate;background:var(--ink);color:var(--white);border-radius:14px;align-items:flex-end;min-height:clamp(250px,26vw,320px);margin-top:.6rem;padding:clamp(1.6rem,5vw,3rem);display:flex;position:relative;overflow:hidden}.num-wide:before{content:"";z-index:-1;filter:invert();opacity:.1;background:url(/assets/brand/pattern.jpg) 50%/300px;width:55%;position:absolute;inset:0 0 0 auto;mask-image:linear-gradient(90deg,#0000,#000 70%)}.num-wide .micro{color:#8e8e8e}.num-wide .num-v{margin-top:.5rem;font-size:clamp(2.6rem,1.6rem + 3.6vw,5rem)}.num-wide .num-l{color:#b5b5b5;max-width:40ch;margin-top:.6rem}.spot{width:100%;position:relative}.spot-slide{opacity:0;pointer-events:none;transition:opacity .6s,transform .6s cubic-bezier(.2,.6,.2,1);position:absolute;inset:auto 0 0;transform:translateY(10px)}.spot-slide.on{opacity:1;pointer-events:auto;position:relative;transform:none}.spot-logo{filter:grayscale()invert();opacity:.8;width:auto;height:22px}.spot-logo.is-light{filter:grayscale()}.spot .card-brand{margin-bottom:.9rem}.spot .card-brand .micro{color:#b5b5b5}.spot-dots{gap:.4rem;display:flex;position:absolute;bottom:clamp(1.6rem,5vw,3rem);right:clamp(1.6rem,5vw,3rem)}.spot-dot{cursor:pointer;background:#4a4a4a;border:0;border-radius:50%;width:6px;height:6px;padding:0;transition:background-color .3s,transform .3s}.spot-dot.on{background:var(--white);transform:scale(1.15)}.card-brand,.job-brand{align-items:center;gap:.5rem;display:flex}.job-brand{margin-bottom:.45rem}.card-logo,.job-logo{object-fit:contain;object-position:left center;filter:grayscale();opacity:.7;flex:none;width:auto;max-width:88px;height:18px}.card-logo.is-light,.job-logo.is-light{filter:grayscale()invert()}.job-logo{opacity:.85;max-width:120px;height:24px}.job-logo.mark{height:22px}.sr-only{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.logo-strip{--logo-gap:clamp(2rem, 4vw, 3.2rem);width:clamp(230px,26vw,340px);overflow:hidden;mask-image:linear-gradient(90deg,#0000,#000 14% 86%,#0000)}.logo-track{align-items:center;gap:var(--logo-gap);width:max-content;animation:26s linear infinite logo-slide;display:flex}@keyframes logo-slide{to{transform:translateX(calc(-50% - var(--logo-gap) / 2))}}.logo-strip:hover .logo-track{animation-play-state:paused}.logo-item{flex:none;place-items:center;width:96px;height:24px;display:grid}.logo-item.mark{width:24px;height:22px}.logo-item img{object-fit:contain;filter:grayscale();opacity:.55;width:100%;height:100%;transition:opacity .25s}.logo-item:hover img{opacity:1}.about{gap:1.4rem;display:grid}@media (width>=980px){.about{grid-template-columns:minmax(0,1.1fr) minmax(0,.95fr) minmax(0,1fr);align-items:start;gap:1.6rem}}.about-card{background:var(--white);border:1px solid var(--line);border-radius:14px;gap:.9rem;padding:1.1rem;display:grid}.about-card img{aspect-ratio:4/3;object-fit:cover;filter:grayscale();border-radius:8px;width:100%}.points{gap:.9rem;display:grid}.point{grid-template-columns:26px minmax(0,1fr);align-items:start;gap:.8rem;display:grid}.point-i{background:var(--ink);width:26px;height:26px;color:var(--white);border-radius:50%;place-items:center;font-size:.85rem;line-height:1;display:grid}.job{border-top:1px solid var(--line);align-items:start;gap:.5rem 2rem;padding-block:1.4rem;display:grid}.jobs .job:last-child{border-bottom:1px solid var(--line)}@media (width>=900px){.job{grid-template-columns:minmax(0,.9fr) minmax(0,1.4fr) 15rem;align-items:center}.job .tags{justify-content:flex-end}}.job-name{font-size:var(--h3);letter-spacing:-.02em}.job-when{align-items:center;gap:.45rem;margin-top:.2rem;display:flex}.job-when:before{content:"";background:var(--grey);border-radius:50%;flex:none;width:4px;height:4px}.tags{flex-wrap:wrap;gap:.4rem;display:flex}.tag{font-family:var(--mono);font-size:var(--micro);letter-spacing:.08em;text-transform:uppercase;border:1px solid var(--line);color:var(--grey);white-space:nowrap;border-radius:999px;padding:.3rem .7rem}.tag.solid{background:var(--ink);color:var(--white);border-color:var(--ink)}.marquee{overflow:hidden;mask-image:linear-gradient(90deg,#0000,#000 6% 94%,#0000)}.marquee-track{gap:.6rem;width:max-content;animation:52s linear infinite slide;display:flex}.marquee:hover .marquee-track{animation-play-state:paused}@keyframes slide{to{transform:translate(calc(-50% - .3rem))}}.marquee-item{aspect-ratio:4/3;background:var(--tint);border-radius:10px;flex:none;width:clamp(200px,22vw,300px);overflow:hidden}.marquee-item img,.marquee-item video{object-fit:cover;filter:grayscale();width:100%;height:100%}.contact{align-items:start;gap:clamp(2rem,5vw,3.5rem);display:grid}@media (width>=900px){.contact{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}.field{gap:.3rem;margin-bottom:1rem;display:grid}.field input,.field textarea{border:0;border-bottom:1px solid var(--line);color:inherit;font:inherit;font-size:var(--sm);background:0 0;padding:.55rem 0}.field input:focus-visible,.field textarea:focus-visible{border-bottom-color:var(--ink);outline:0}.field textarea{resize:vertical;min-height:72px}.btn{font-size:var(--sm);border:1px solid var(--ink);color:inherit;cursor:pointer;background:0 0;border-radius:999px;align-items:center;gap:.6rem;padding:.6rem 1.15rem;font-family:inherit;text-decoration:none;transition:background-color .3s,color .3s;display:inline-flex}.btn:hover,.btn-solid{background:var(--ink);color:var(--white)}.btn-solid:hover{color:var(--ink);background:0 0}.btn .arrow{transition:transform .35s cubic-bezier(.4,0,.1,1)}.btn:hover .arrow{transform:translate(2px,-2px)}.or{align-items:center;gap:.8rem;margin-block:1.6rem;display:flex}.or:before,.or:after{content:"";background:var(--line);flex:1;height:1px}.site-footer{background:var(--ink);color:var(--white);padding-block:clamp(2.5rem,6vw,4rem) 0}.site-footer .micro{color:#8e8e8e}.site-footer a{text-decoration:none}.foot-grid{align-items:start;gap:2.4rem;display:grid}@media (width>=780px){.foot-grid{grid-template-columns:minmax(0,1fr) 9rem 9rem;gap:clamp(2rem,5vw,4rem)}}.foot-mark{mix-blend-mode:screen;width:132px}.foot-tagline{max-width:30ch;margin-top:1rem}.foot-links{font-size:var(--sm);align-content:start;gap:.5rem;display:grid}.foot-links a{color:#d0d0d0;transition:color .25s}.foot-links a:hover{color:var(--white)}.foot-links .micro{margin-bottom:.3rem}.foot-bottom{border-top:1px solid #333;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.6rem 1.5rem;margin-top:clamp(2.5rem,6vw,4rem);padding-block:1.2rem;display:flex}.todo{font-family:var(--mono);color:#a8642a;background:#d68a3c21;border-bottom:1px dashed #a8642a80;padding:0 .22em;font-size:.82em}.site-footer .todo{color:#e0a866;background:#e0a86629}.rise>*{opacity:0;transition:opacity .8s cubic-bezier(.2,.6,.2,1),transform .8s cubic-bezier(.2,.6,.2,1);display:block;transform:translateY(.4em)}.rise.in>*{opacity:1;transform:none}.reveal{opacity:0;transition:opacity .65s,transform .65s cubic-bezier(.2,.6,.2,1);transform:translateY(14px)}.reveal.in{opacity:1;transform:none}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.rise>*,.reveal{transition:none;opacity:1!important;transform:none!important}.card:hover{transform:none}.matrix i{transition:none}.marquee{overflow-x:auto;mask-image:none}.marquee-track,.logo-track{animation:none}}.lang{text-transform:uppercase;border:1px solid var(--line);border-radius:999px;padding:.25rem .55rem;text-decoration:none;transition:border-color .25s,color .25s}.lang:hover{border-color:var(--ink);color:var(--ink)}.about-title{font-size:var(--h2);max-width:12ch}.about-body{max-width:38ch;margin-top:1.1rem}.about-cta{margin-top:1.6rem}.about-card .num-v{margin-top:0}.contact-links{margin-top:1.6rem}.form-note{min-height:1.2em;margin-top:.9rem}a.post-row{text-decoration:none;transition:opacity .3s}a.post-row:hover{opacity:.6}a.post-row .job-name{max-width:26ch}.post{padding-block:clamp(3rem, 7vw, 5.5rem) var(--band)}.post-title{font-size:var(--h2);max-width:22ch;margin-top:.4rem}.post-date{margin-top:1rem}.prose{max-width:62ch;margin-top:clamp(2rem,5vw,3rem)}.prose p{margin-bottom:1.2rem}.prose h2{font-size:var(--h3);margin:2.4rem 0 .8rem}.prose ul,.prose ol{margin-bottom:1.2rem;padding-left:1.2rem}.prose li{margin-bottom:.4rem}.prose a{text-underline-offset:3px;text-decoration:underline}.prose code{font-family:var(--mono);background:var(--tint);border-radius:4px;padding:.1em .35em;font-size:.9em}.post-back{margin-top:clamp(2.5rem,6vw,4rem);display:inline-block}.not-found{padding-block:clamp(4rem, 12vw, 9rem) var(--band)}.not-found h1{font-size:var(--h2);max-width:14ch;margin-top:.4rem}.not-found p{max-width:44ch;margin-top:1.2rem}.not-found-links{flex-wrap:wrap;gap:1.6rem;margin-top:clamp(2rem,5vw,3rem);display:flex}
