@font-face{font-family:Sora;font-style:normal;font-weight:200 600;font-display:swap;src:url(/fonts/sora-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Sora;font-style:normal;font-weight:200 600;font-display:swap;src:url(/fonts/sora-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}:root{--abyss:#0b0d11;--stone:#14171e;--stone2:#1b1f28;--mist:#e9ecf3;--silver:#98a0b2;--glow:#7c93ff;--glow-2:#c4a6ff;--edge:#e9ecf317;--edge-lit:#e9ecf32e;--r-sm:14px;--r-md:28px;--r-lg:44px;--r-xl:72px;--sans:"Sora", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--gutter:clamp(20px, 4vw, 56px);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html{overflow-x:clip}body{background:var(--abyss);color:var(--silver);font-family:var(--sans);-webkit-font-smoothing:antialiased;margin:0;font-size:16.5px;font-weight:300;line-height:1.62;overflow-x:clip}.wrap{max-width:78rem;padding:0 var(--gutter);z-index:1;margin:0 auto;position:relative}.topbar{z-index:50;-webkit-backdrop-filter:blur(18px)saturate(140%);background:#0b0d11ad;padding:14px 0;position:sticky;top:0}.topbar .wrap{justify-content:space-between;align-items:center;gap:20px;display:flex}.wordmark{white-space:nowrap;letter-spacing:.01em;color:var(--mist);align-items:center;gap:.6rem;font-size:.95rem;font-weight:500;text-decoration:none;display:inline-flex}.logo{flex:none;display:block}.topbar nav{letter-spacing:.04em;gap:6px;font-size:.8rem;font-weight:400;display:flex}.topbar nav a{color:var(--silver);border:1px solid #0000;border-radius:100px;padding:7px 16px;text-decoration:none;transition:color .35s,border-color .35s,background-color .35s}.topbar nav a:hover{color:var(--mist);border-color:var(--edge-lit);background:#e9ecf30a}.flow{z-index:0;pointer-events:none;opacity:.85;height:150vh;position:absolute;inset:-10% -20% auto}.flow-band{animation:46s ease-in-out infinite alternate drift}.flow-band:nth-of-type(2){animation-duration:62s;animation-direction:alternate-reverse}.flow-band:nth-of-type(3){animation-duration:78s}@keyframes drift{0%{transform:translate(-2.5%,-1.5%)scale(1)}to{transform:translate(2.5%,1.5%)scale(1.06)}}.hero{padding:clamp(2.6rem,8vh,5rem) 0 clamp(2.2rem,6vh,4rem);position:relative;overflow:hidden}.hero .wrap{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:clamp(2rem,5vw,5rem);display:grid}.hero-mark{color:var(--mist);opacity:.92}.hero-mark .logo{width:clamp(280px,34vw,560px);height:auto}.hero-icon{border-radius:22.5%;width:clamp(160px,20vw,300px);height:auto;display:block;box-shadow:0 40px 90px -40px #000c}@media (width<=44rem){.topbar nav{gap:2px;font-size:.76rem}.topbar nav a{padding:6px 10px}.hero-meta{gap:1.1rem 1.6rem}}@media (width<=60rem){.hero .wrap{grid-template-columns:minmax(0,1fr)}.hero-mark{grid-row:1;justify-self:start}.hero-mark .logo{width:min(72vw,340px)}.hero-icon{width:min(46vw,190px)}}.hero h1{letter-spacing:-.045em;color:var(--mist);max-width:14ch;margin:0;font-size:clamp(2.9rem,8.4vw,8rem);font-weight:200;line-height:.98}.hero h1 em{background:linear-gradient(104deg, var(--glow) 0%, var(--glow-2) 62%, var(--mist) 100%);color:#0000;-webkit-background-clip:text;background-clip:text;font-style:normal;font-weight:300}.hero-sub{color:var(--silver);max-width:34ch;margin:clamp(1.6rem,4vw,2.6rem) 0 0;font-size:clamp(1.05rem,1.7vw,1.3rem);font-weight:300}.hero-meta{letter-spacing:.16em;text-transform:uppercase;color:#98a0b2b8;flex-wrap:wrap;gap:2.4rem;margin-top:clamp(2rem,5vw,3.4rem);font-size:.78rem;display:flex}.section{padding:clamp(3rem,7vw,5.5rem) 0}.section-label{letter-spacing:.2em;text-transform:uppercase;color:#98a0b2a8;margin-bottom:2rem;font-size:.74rem}main h1{letter-spacing:-.035em;color:var(--mist);margin:0 0 .5rem;font-size:clamp(2rem,4.4vw,3rem);font-weight:200;line-height:1.06}h2{letter-spacing:-.025em;color:var(--mist);margin:2.6rem 0 .7rem;font-size:clamp(1.5rem,2.8vw,2.1rem);font-weight:300;line-height:1.14}h3{color:var(--mist);margin:2rem 0 .3rem;font-size:1rem;font-weight:500}p{max-width:40rem;margin:0 0 1.15em}strong{color:var(--mist);font-weight:500}a{color:var(--mist);text-underline-offset:4px;text-decoration-color:#7c93ff8c;text-decoration-thickness:1px;transition:text-decoration-color .35s}a:hover{-webkit-text-decoration-color:var(--glow);text-decoration-color:var(--glow)}ul{max-width:40rem;padding-left:1.2em}li{margin:.5em 0}li::marker{color:var(--glow)}.lede{letter-spacing:-.02em;color:var(--mist);max-width:28ch;margin-bottom:1.4rem;font-size:clamp(1.2rem,2.2vw,1.6rem);font-weight:250;line-height:1.35}.updated,.mono-note{letter-spacing:.16em;text-transform:uppercase;color:#98a0b2b3;margin:0 0 2.4rem;font-size:.76rem}.index{max-width:none;margin:0;padding:0;list-style:none}.entry{border-radius:var(--r-lg);border:1px solid var(--edge);background:radial-gradient(120% 180% at 8% 0%, #7c93ff1f 0%, transparent 58%), linear-gradient(168deg, var(--stone2) 0%, var(--stone) 100%);color:inherit;grid-template-columns:108px minmax(0,1fr) auto;align-items:center;gap:clamp(1.4rem,3vw,2.6rem);padding:clamp(1.6rem,3vw,2.4rem);text-decoration:none;transition:transform .5s cubic-bezier(.16,.8,.28,1),border-color .5s,box-shadow .5s;display:grid}.entry:hover{border-color:var(--edge-lit);transform:translateY(-4px);box-shadow:0 30px 70px -30px #7c93ff59}.entry img{border-radius:var(--r-md);width:108px;height:108px;display:block}.entry-title{letter-spacing:-.03em;color:var(--mist);margin:0 0 .45rem;font-size:clamp(1.5rem,3vw,2.3rem);font-weight:250;line-height:1.05}.entry-note{max-width:36rem;margin:0;font-size:.95rem}.entry-meta{letter-spacing:.16em;text-transform:uppercase;color:#98a0b2ad;text-align:right;white-space:nowrap;font-size:.74rem}@media (width<=52rem){.entry{grid-template-columns:72px minmax(0,1fr);gap:1.2rem}.entry img{border-radius:var(--r-sm);width:72px;height:72px}.entry-meta{text-align:left;grid-column:1/-1}}.shots{margin:0 calc(var(--gutter) * -1);padding:1rem var(--gutter) 2rem;scroll-snap-type:x mandatory;scrollbar-width:none;gap:clamp(14px,2vw,24px);display:flex;overflow-x:auto}.shots::-webkit-scrollbar{display:none}.shots img{border-radius:var(--r-md);border:1px solid var(--edge);scroll-snap-align:start;flex:none;width:clamp(190px,22vw,250px);transition:transform .55s cubic-bezier(.16,.8,.28,1),box-shadow .55s;display:block}.shots img:hover{transform:translateY(-8px);box-shadow:0 40px 80px -36px #7c93ff66}footer{color:#98a0b29e;padding:clamp(3rem,6vw,5rem) 0 clamp(3.5rem,7vw,6rem);font-size:.82rem}footer p{max-width:44rem;margin:0 0 .7em}.reveal{opacity:0;transition:opacity .9s,transform .9s cubic-bezier(.16,.8,.28,1);transform:translateY(26px)}.reveal.is-in{opacity:1;transform:none}@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transition:none;transform:none}.flow-band{animation:none}.entry:hover,.shots img:hover{transform:none}}.spotlight{position:relative}.spotlight:before{content:"";z-index:0;pointer-events:none;opacity:var(--glow-on,0);background:radial-gradient(var(--glow-size,320px) circle at var(--mx,50%) var(--my,50%), #7c93ff29, transparent 68%);transition:opacity .5s;position:absolute;inset:0}.hero{background:linear-gradient(122deg,#0c1020 0%,#1c1838 34%,#2a1c36 62%,#101a26 100%) 0 0/320% 320%;animation:22s ease-in-out infinite hero-breathe}@keyframes hero-breathe{0%,to{background-position:0%}50%{background-position:100%}}.hero h1 em{background:linear-gradient(100deg, var(--glow) 0%, var(--glow-2) 26%, var(--mist) 44%, var(--glow-2) 62%, var(--glow) 100%);background-size:260% 100%;-webkit-background-clip:text;background-clip:text;animation:11s ease-in-out infinite text-flow}@keyframes text-flow{0%,to{background-position:0 0}50%{background-position:100% 0}}.entry{isolation:isolate;-webkit-backdrop-filter:blur(14px)saturate(140%);background:radial-gradient(120% 180% at 8% 0,#7c93ff1a 0%,#0000 58%),linear-gradient(168deg,#1b1f28b8 0%,#14171eb8 100%);position:relative}.entry:after{content:"";z-index:-1;border-radius:calc(var(--r-lg) + 1.5px);opacity:0;background:linear-gradient(122deg,#7c93ffbf 0%,#c4a6ff61 44%,#0000 76%);transition:opacity .55s;position:absolute;inset:-1.5px}.entry:hover:after{opacity:1}.section#work{position:relative;overflow:clip}.section#work:before{content:"";z-index:-1;pointer-events:none;background:radial-gradient(46% 60% at 22% 40%,#7c93ff29,#0000 70%),radial-gradient(40% 55% at 78% 65%,#c4a6ff1f,#0000 72%);position:absolute;inset:-10% -20%}.tilt{will-change:transform;transition:transform .6s cubic-bezier(.16,.8,.28,1)}.shots>.tilt{scroll-snap-align:start;flex:none}@media (prefers-reduced-motion:reduce){.hero,.hero h1 em{animation:none}.spotlight:before{display:none}.tilt{transition:none}}.tape{z-index:20;pointer-events:none;flex-direction:column;align-items:center;gap:.7rem;display:flex;position:fixed;top:50%;right:clamp(16px,2.4vw,34px);transform:translateY(-50%)}.tape-readout{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.tape-label{margin-top:-.2rem}.tape-window{width:62px;height:330px;padding-right:74px;position:relative;overflow:hidden;-webkit-mask-image:linear-gradient(#0000,#000 26% 74%,#0000);mask-image:linear-gradient(#0000,#000 26% 74%,#0000)}.tape-window:after{content:"";background:linear-gradient(#0000,#e9ecf342 30% 70%,#0000);width:1px;position:absolute;inset:0 auto 0 0}.tape-strip{will-change:transform;flex-direction:column;display:flex}.tape-mark{align-items:center;gap:8px;padding-left:1px;display:flex;position:relative}.tape-tick{background:#e9ecf366;flex:none;width:8px;height:1px}.tape-number{letter-spacing:.1em;color:#98a0b2b8;font-variant-numeric:tabular-nums;font-size:.64rem}.tape-readout{border:1px solid var(--edge);-webkit-backdrop-filter:blur(10px);letter-spacing:.04em;min-width:56px;color:var(--mist);text-align:center;font-variant-numeric:tabular-nums;background:#14171e8c;border-radius:100px;padding:5px 10px;font-size:.72rem}.tape-label{letter-spacing:.24em;text-transform:uppercase;color:#98a0b280;font-size:.6rem}@media (width<=74rem){.tape{display:none}}@media (prefers-reduced-motion:reduce){.tape-strip{transition:none}}
