:root{--bg:#0f0d0a;--bg-raise:#14110d;--ink:#ece3d2;--ink-dim:#9c9080;--ink-faint:#6b6154;--line:#ece3d224;--line-soft:#ece3d212;--accent:#ff4f00;--accent-soft:#ff4f001f;--serif:"Fraunces", Georgia, serif;--text:"Newsreader", Georgia, serif;--mono:"Spline Sans Mono", ui-monospace, monospace;--pad:clamp(1.25rem, 4vw, 4rem);--measure:62ch}*{box-sizing:border-box}html{scroll-behavior:smooth;font-size:16px}@media (width>=1100px){html{font-size:18px}}@media (width>=1750px){html{font-size:20px}}body{background:var(--bg);color:var(--ink);font-family:var(--text);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;font-size:1.125rem;line-height:1.6}body:before{content:"";z-index:0;pointer-events:none;background:radial-gradient(80% 50% at 70% -10%,#ff4f0012,#0000 60%),radial-gradient(60% 40% at 10% 110%,#ff823c0a,#0000 60%);position:fixed;inset:0}::selection{background:var(--accent);color:#0f0d0a}a{color:inherit;text-decoration:none}main{z-index:1;position:relative}.grain{z-index:50;pointer-events:none;opacity:.055;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='300'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='300' height='300' filter='url(%23n)'/%3E%3C/svg%3E");animation:9s steps(6,end) infinite grain-shift;position:fixed;inset:-50%}@keyframes grain-shift{0%,to{transform:translate(0)}20%{transform:translate(-2%,3%)}40%{transform:translate(3%,-2%)}60%{transform:translate(-3%,-3%)}80%{transform:translate(2%,2%)}}.nav{z-index:40;padding:1.1rem var(--pad);font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;border-bottom:1px solid #0000;justify-content:space-between;align-items:center;gap:1.5rem;font-size:.72rem;transition:background .4s,border-color .4s,padding .4s;display:flex;position:fixed;top:0;left:0;right:0}.nav--scrolled{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom-color:var(--line-soft);background:#0f0d0ad9;padding-block:.8rem}.nav__brand{font-family:var(--serif);letter-spacing:0;text-transform:none;font-size:1rem;font-weight:500}.nav__mark{color:var(--accent);font-style:italic}.nav__links{gap:1.75rem;display:flex}.nav__links a,.nav__cta{color:var(--ink-dim);transition:color .25s;position:relative}.nav__links a:hover{color:var(--ink)}.nav__links a:after{content:"";background:var(--accent);transform-origin:100%;width:100%;height:1px;transition:transform .3s;position:absolute;bottom:-4px;left:0;transform:scaleX(0)}.nav__links a:hover:after{transform-origin:0;transform:scaleX(1)}.nav__cta{color:var(--accent);border:1px solid #ff4f0059;border-radius:2em;padding:.45em .9em;transition:background .25s,color .25s}.nav__cta:hover{background:var(--accent);color:#0f0d0a}@media (width<=760px){.nav__links{display:none}}.load{opacity:0;animation:.9s cubic-bezier(.16,1,.3,1) forwards load-up;transform:translateY(28px)}.load-1{animation-delay:.1s}.load-2{animation-delay:.25s}.load-3{animation-delay:.4s}.load-4{animation-delay:.6s}.load-5{animation-delay:.85s}@keyframes load-up{to{opacity:1;transform:translateY(0)}}.hero{flex-direction:column;justify-content:flex-end;min-height:100svh;display:flex;position:relative;overflow:hidden}.hero3d{z-index:0;pointer-events:none;opacity:0;animation:1.6s .5s forwards hero3d-in;position:absolute;inset:0}.hero3d canvas{display:block}@keyframes hero3d-in{to{opacity:1}}.hero__inner{z-index:1;padding:8rem var(--pad) 4rem;position:relative}@media (width<=760px){.hero3d{opacity:0;animation-name:hero3d-in-dim}@keyframes hero3d-in-dim{to{opacity:.5}}}.hero__kicker{font-family:var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--accent);margin:0 0 2rem;font-size:.75rem}.hero__title{font-family:var(--serif);font-optical-sizing:auto;letter-spacing:-.02em;margin:0;font-size:clamp(2.9rem,9.5vw,8rem);font-weight:330;line-height:.98}.hero__title span{display:block}.hero__title em{color:var(--accent);font-style:italic;font-weight:420}.hero__foot{justify-content:space-between;align-items:flex-end;gap:3rem;margin-top:3.5rem;display:flex}.hero__bio{max-width:46ch;color:var(--ink-dim);margin:0;font-size:1.2rem}.hero__scroll{font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-dim);flex-shrink:0;align-items:center;gap:.6em;font-size:.75rem;transition:color .25s;display:inline-flex}.hero__scroll:hover{color:var(--accent)}.hero__arrow{animation:2.2s ease-in-out infinite bob;display:inline-block}@keyframes bob{0%,to{transform:translateY(0)}50%{transform:translateY(5px)}}@media (width<=760px){.hero__foot{flex-direction:column;align-items:flex-start;gap:1.5rem}}.ticker{border-top:1px solid var(--line);border-bottom:1px solid var(--line);white-space:nowrap;padding:.85rem 0;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,#0000,#000 6% 94%,#0000);mask-image:linear-gradient(90deg,#0000,#000 6% 94%,#0000)}.ticker__track{animation:42s linear infinite ticker-scroll;display:inline-flex}.ticker:hover .ticker__track{animation-play-state:paused}@keyframes ticker-scroll{to{transform:translate(-50%)}}.ticker__item{font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;padding-right:3.5rem;font-size:.74rem}.ticker__name{color:var(--ink)}.ticker__note{color:var(--accent);margin-left:.9em}.ticker__note:before{content:"· ";color:var(--ink-faint)}section{padding:clamp(4.5rem, 9vw, 8rem) var(--pad)}.shead{align-items:baseline;gap:1.25rem;margin-bottom:clamp(2.5rem,5vw,4.5rem);display:flex}.shead__index{font-family:var(--mono);color:var(--accent);font-size:.8rem}.shead__label{font-family:var(--serif);letter-spacing:-.01em;margin:0;font-size:clamp(1.6rem,3.2vw,2.4rem);font-style:italic;font-weight:400}.shead__rule{background:var(--line);flex:1;align-self:center;height:1px}.shead__note{font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-faint);font-size:.72rem}@media (width<=760px){.shead__note{display:none}}.reveal{opacity:0;transition:opacity .8s cubic-bezier(.16,1,.3,1),transform .8s cubic-bezier(.16,1,.3,1);transform:translateY(26px)}.reveal.is-visible{opacity:1;transform:translateY(0)}.work{padding-bottom:2rem}.feat{border-top:1px solid var(--line);grid-template-columns:minmax(90px,1fr) minmax(0,4fr);gap:2rem;padding:clamp(2.5rem,5vw,4rem) 0;display:grid}.feat__num{font-family:var(--serif);color:#0000;-webkit-text-stroke:1px var(--ink-faint);font-size:clamp(3rem,7vw,6rem);font-weight:300;line-height:1;transition:color .4s,-webkit-text-stroke-color .4s}.feat:hover .feat__num{color:var(--accent);-webkit-text-stroke-color:var(--accent)}.feat__toprow{flex-wrap:wrap;align-items:baseline;gap:.75rem 1.5rem;margin-bottom:.75rem;display:flex}.feat__name{font-family:var(--serif);letter-spacing:-.015em;margin:0;font-size:clamp(1.9rem,4vw,3rem);font-weight:450}.feat__name a{transition:color .3s;position:relative}.feat__name a:hover{color:var(--accent)}.feat__ext{vertical-align:.7em;color:var(--accent);margin-left:.35em;font-size:.5em;transition:transform .3s;display:inline-block}.feat__name a:hover .feat__ext{transform:translate(3px,-3px)}.feat__status{font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--accent);background:var(--accent-soft);white-space:nowrap;border:1px solid #ff4f0040;border-radius:2em;padding:.35em .8em;font-size:.7rem}.feat__tagline{font-family:var(--serif);color:var(--ink-dim);margin:0 0 1rem;font-size:clamp(1.15rem,2vw,1.45rem);font-style:italic;font-weight:350}.feat__body{max-width:var(--measure);color:var(--ink-dim);margin:0}.feat__meta{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem 2rem;margin-top:1.75rem;display:flex}.feat__tech{flex-wrap:wrap;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.feat__tech li{font-family:var(--mono);letter-spacing:.06em;color:var(--ink-faint);border:1px solid var(--line-soft);border-radius:2em;padding:.3em .7em;font-size:.68rem;transition:color .25s,border-color .25s}.feat:hover .feat__tech li{color:var(--ink-dim);border-color:var(--line)}.feat__link{font-family:var(--mono);letter-spacing:.08em;color:var(--ink-dim);border-bottom:1px solid var(--line);padding-bottom:2px;font-size:.75rem;transition:color .25s,border-color .25s}.feat__link:hover{color:var(--accent);border-color:var(--accent)}@media (width<=760px){.feat{grid-template-columns:1fr;gap:1rem}.feat__num{font-size:2.2rem}}.log__table{border-top:1px solid var(--line)}.log__row{border-bottom:1px solid var(--line-soft);grid-template-columns:3rem minmax(140px,1fr) minmax(0,2.6fr) auto 2rem;align-items:baseline;gap:1.25rem;padding:1.15rem .75rem;transition:background .25s;display:grid;position:relative}.log__row:before{content:"";background:var(--accent);width:2px;transition:transform .25s;position:absolute;top:0;bottom:0;left:0;transform:scaleY(0)}.log__row:hover{background:var(--bg-raise)}.log__row:hover:before{transform:scaleY(1)}.log__idx{font-family:var(--mono);color:var(--ink-faint);font-size:.72rem}.log__name{font-family:var(--serif);font-size:1.25rem;font-weight:450;transition:color .25s}.log__row:hover .log__name{color:var(--accent)}.log__line{color:var(--ink-dim);font-size:1rem}.log__tags{white-space:nowrap;align-items:center;gap:.5rem;display:flex}.log__kind,.log__tag{font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;border-radius:2em;padding:.3em .7em;font-size:.65rem}.log__kind{color:var(--ink-faint);border:1px solid var(--line-soft)}.log__tag{color:var(--accent);background:var(--accent-soft)}.log__arrow{font-family:var(--mono);color:var(--ink-faint);text-align:right;transition:transform .25s,color .25s}.log__row:hover .log__arrow{color:var(--accent);transform:translate(3px,-3px)}.log__row--static:hover .log__arrow{transform:none}@media (width<=900px){.log__row{grid-template-columns:2.5rem 1fr auto;grid-template-areas:"idx name arrow""idx line line""idx tags tags";row-gap:.5rem}.log__idx{grid-area:idx}.log__name{grid-area:name}.log__line{grid-area:line}.log__tags{white-space:normal;flex-wrap:wrap;grid-area:tags}.log__arrow{grid-area:arrow}}.job{border-top:1px solid var(--line);grid-template-columns:minmax(180px,1fr) minmax(0,3fr);gap:2rem;padding:clamp(2rem,4vw,3.5rem) 0;display:grid}.job__company{font-family:var(--serif);margin:0;font-size:1.6rem;font-weight:450}.job__role{font-family:var(--serif);color:var(--accent);margin:.35rem 0 1rem;font-style:italic}.job__dates{font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-faint);margin:0;font-size:.72rem;line-height:1.9}.job__summary{max-width:var(--measure);margin:0 0 1.25rem;font-size:1.1rem}.job__points{max-width:var(--measure);margin:0;padding:0;list-style:none}.job__points li{color:var(--ink-dim);border-top:1px solid var(--line-soft);padding:.55rem 0 .55rem 1.6rem;position:relative}.job__points li:before{content:"→";color:var(--accent);font-family:var(--mono);font-size:.85rem;position:absolute;left:0}@media (width<=760px){.job{grid-template-columns:1fr;gap:1.25rem}}.proof__grid{background:var(--line);border:1px solid var(--line);grid-template-columns:repeat(3,1fr);gap:1px;display:grid}.proof__card{background:var(--bg);padding:2rem 1.75rem;transition:background .3s}.proof__card:hover{background:var(--bg-raise)}.proof__label{font-family:var(--serif);color:var(--accent);margin:0 0 1rem;font-size:1.35rem;font-style:italic;font-weight:420}.proof__body{color:var(--ink-dim);margin:0;font-size:1rem}@media (width<=900px){.proof__grid{grid-template-columns:1fr}}.contact{border-top:1px solid var(--line);text-align:center;padding-bottom:1.5rem}.contact__inner{padding:clamp(3rem,8vw,6rem) 0}.contact__kicker{font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-faint);margin:0 0 1.5rem;font-size:.72rem}.contact__title{font-family:var(--serif);letter-spacing:-.02em;margin:0 0 2.5rem;font-size:clamp(2.2rem,6vw,4.5rem);font-weight:330}.contact__title em{color:var(--accent);font-weight:420}.contact__email{font-family:var(--mono);letter-spacing:.02em;color:var(--ink);background:linear-gradient(var(--accent), var(--accent)) no-repeat 0 100% / 0% 2px;padding-bottom:6px;font-size:clamp(.95rem,2.4vw,1.35rem);transition:background-size .4s,color .3s;display:inline-block}.contact__email:hover{color:var(--accent);background-size:100% 2px}.contact__links{justify-content:center;gap:2.5rem;margin-top:2.5rem;display:flex}.contact__links a{font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-dim);font-size:.75rem;transition:color .25s}.contact__links a:hover{color:var(--accent)}.footer{border-top:1px solid var(--line-soft);font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-faint);justify-content:center;gap:1rem;padding-top:1.25rem;font-size:.68rem;display:flex}@media (width<=600px){.footer{flex-direction:column;align-items:center}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.load,.reveal{opacity:1;transition:none;animation:none;transform:none}.ticker__track,.grain,.hero__arrow{animation:none}}
