.top{z-index:40;background:var(--red-base);border-bottom:1px solid var(--ink);position:sticky;top:0}.top-inner{max-width:1440px;padding:0 var(--gutter);grid-template-columns:auto 1fr auto;align-items:center;gap:1.5rem;min-height:3.5rem;margin:0 auto;display:grid}.brand{font-family:var(--display);letter-spacing:-.01em;color:var(--ink);align-items:center;gap:.65rem;font-size:1.15rem;display:inline-flex}.brand-mark{background:var(--ink);width:9px;height:9px;display:inline-block;transform:rotate(45deg)}.nav{font-family:var(--mono);letter-spacing:.06em;color:var(--ink);justify-content:center;gap:2.25rem;font-size:.78rem;display:none}@media (width>=800px){.nav{display:flex}}.nav a{align-items:center;gap:.55rem;padding:.4rem 0;transition:color .2s;display:inline-flex}.nav a:hover{color:var(--cream)}.nav-num{color:var(--ink);opacity:.55;font-size:.62rem}.nav-ask{border:1px solid var(--ink);font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ink);align-items:center;gap:.4rem;padding:.45rem .9rem;font-size:.72rem;transition:background .2s,color .2s;display:inline-flex}.nav-ask:hover{background:var(--ink);color:var(--cream)}.hero{border-bottom:1px solid var(--ink)}.hero-inner{max-width:1440px;padding:clamp(3rem, 7vw, 6rem) var(--gutter) clamp(2rem, 5vw, 4rem);margin:0 auto}.hero-kicker{font-family:var(--mono);letter-spacing:.22em;text-transform:uppercase;color:var(--muted-on-red);align-items:center;gap:1rem;margin-bottom:2rem;font-size:.7rem;display:flex}.hero-rule{background:var(--line-on-red);flex:1;height:1px}.hero-title{font-family:var(--display);letter-spacing:-.03em;color:var(--ink);font-size:clamp(3rem,12.5vw,11rem);font-weight:400;line-height:.9}.hero-line{display:block;overflow:hidden}.hero-word{display:inline-block}.hero-em em{color:var(--cream);-webkit-text-stroke:0;font-style:italic}.hero-foot{border-top:1px solid var(--line-on-red);grid-template-columns:1fr;gap:2rem;margin-top:clamp(2.5rem,5vw,4.5rem);padding-top:2rem;display:grid}@media (width>=820px){.hero-foot{grid-template-columns:minmax(0,1.4fr) auto;align-items:end;gap:4rem}}.hero-lede{max-width:46ch;color:var(--ink-2);font-size:1.05rem}.hero-cta{flex-wrap:wrap;gap:.75rem;display:flex}.hero-index{border-top:1px solid var(--line-on-red);grid-template-columns:repeat(4,1fr);gap:2rem;margin-top:clamp(3rem,6vw,5rem);padding-top:1.25rem;display:none}@media (width>=720px){.hero-index{display:grid}}.hero-index li{font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--muted-on-red);flex-direction:column;gap:.35rem;font-size:.72rem;display:flex}.hero-index li span:first-child{color:var(--ink)}.band{border-bottom:1px solid var(--ink)}.band-inner{max-width:1440px;padding:var(--section-y) var(--gutter);margin:0 auto;position:relative}.band-red{background:var(--red-base);color:var(--ink)}.band-deep{background:var(--red-deep);color:var(--ink)}.band-ink{background:var(--ink);color:var(--cream);border-bottom-color:var(--ink)}.band-ink .band-title{color:var(--cream)}.band-ink .band-note,.band-ink .kicker{color:var(--muted-on-ink)}.band-deep .band-note{color:var(--muted-on-red)}.band-head{grid-template-columns:1fr;align-items:end;gap:1rem;margin-bottom:clamp(2rem,4vw,3.5rem);display:grid}@media (width>=820px){.band-head{grid-template-columns:minmax(0,1.6fr) auto;gap:3rem}}.band-title{font-family:var(--display);letter-spacing:-.025em;margin-top:.75rem;font-size:clamp(2.2rem,6vw,4.5rem);font-weight:400;line-height:.98}.band-title em{color:var(--cream);font-style:italic}.band-ink .band-title em{color:var(--red-bright)}.band-note{font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;white-space:nowrap;font-size:.72rem;line-height:1.7}.work-list{border-top:1px solid var(--line-on-ink)}.work-item{border-bottom:1px solid var(--line-on-ink)}.work-link{color:var(--cream);grid-template-columns:auto 1fr;grid-template-areas:"num main""tags tags""stat arrow";align-items:baseline;gap:.75rem 1.25rem;padding:1.5rem .25rem 1.5rem 0;transition:padding .3s,color .3s;display:grid}@media (width>=820px){.work-link{grid-template-columns:5rem minmax(0,1fr) minmax(0,1fr) 12rem auto;grid-template-areas:"num main tags stat arrow";gap:1.5rem;padding:1.75rem .25rem}}.work-link:hover{color:var(--red-bright);padding-left:1rem}.work-num{font-family:var(--mono);letter-spacing:.12em;color:var(--red-bright);grid-area:num;align-self:start;padding-top:.4rem;font-size:.72rem}.work-main{flex-direction:column;grid-area:main;gap:.35rem;display:flex}.work-title{font-family:var(--display);letter-spacing:-.02em;font-size:clamp(1.5rem,3.5vw,2.6rem);font-weight:400;line-height:1.05;transition:font-style .2s}.work-link:hover .work-title{font-style:italic}.work-blurb{font-family:var(--body);color:var(--muted-on-ink);max-width:44ch;font-size:.9rem;transition:color .3s}.work-link:hover .work-blurb{color:var(--cream);opacity:.85}.work-tags{flex-wrap:wrap;grid-area:tags;align-self:center;gap:.4rem;display:flex}.work-tags span{font-family:var(--mono);letter-spacing:.06em;border:1px solid var(--line-on-ink);border-radius:var(--radius-pill);color:var(--muted-on-ink);padding:.28rem .7rem;font-size:.68rem;transition:border-color .3s,color .3s}.work-link:hover .work-tags span{border-color:var(--red-bright);color:var(--cream)}.work-status{font-family:var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--muted-on-ink);grid-area:stat;align-self:center;align-items:center;gap:.5rem;font-size:.68rem;display:inline-flex}.work-status .dot{background:var(--cream);border-radius:50%;width:6px;height:6px}.work-status.live .dot{background:var(--red-bright);box-shadow:0 0 0 4px #d42a3238}.work-status.planned .dot{border:1px solid var(--muted-on-ink);background:0 0}.work-arrow{border:1px solid var(--line-on-ink);width:34px;height:34px;color:var(--cream);border-radius:50%;grid-area:arrow;place-self:center end;place-items:center;transition:transform .3s,border-color .3s,background .3s,color .3s;display:grid}.work-arrow svg{width:16px;height:16px}.work-link:hover .work-arrow{background:var(--red-bright);border-color:var(--red-bright);color:var(--ink);transform:translate(4px,-4px)}.work-peek{aspect-ratio:4/3;pointer-events:none;z-index:5;opacity:0;will-change:transform;width:300px;transition:opacity .3s;position:absolute;top:0;left:0}.work-peek.on{opacity:1}.peek-slide{opacity:0;transition:opacity .25s;position:absolute;inset:0}.peek-slide.on{opacity:1}.peek-slide img,.peek-placeholder{object-fit:cover;border:2px solid var(--cream);width:100%;height:100%;box-shadow:0 30px 60px -20px #0009}.peek-placeholder{background:linear-gradient(135deg, var(--red-base) 0 55%, var(--ink) 55% 100%);color:var(--cream);font-family:var(--display);grid-template-columns:1fr;align-content:space-between;justify-items:start;padding:1.25rem;display:grid}.peek-placeholder span:first-child{font-family:var(--mono);letter-spacing:.15em;font-size:.75rem}.peek-placeholder span:last-child{font-size:1.4rem;font-style:italic;line-height:1.1}.band-cta{border-top:1px solid var(--line-on-ink);grid-template-columns:1fr;align-items:center;gap:1.5rem;margin-top:3rem;padding-top:2.5rem;display:grid}@media (width>=720px){.band-cta{grid-template-columns:minmax(0,1fr) auto;gap:3rem}}.band-cta p{max-width:44ch;color:var(--muted-on-ink);font-size:.98rem}.btn-solid--cream{background:var(--cream);color:var(--ink);border-color:var(--cream)}.btn-solid--cream:hover{background:var(--red-bright);color:var(--ink);border-color:var(--red-bright)}.spread{grid-template-columns:1fr;gap:clamp(2rem,5vw,4rem);display:grid}@media (width>=900px){.spread{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr)}}.prose p{color:var(--ink-2);max-width:58ch;font-size:1.05rem;line-height:1.7}.prose p+p{margin-top:1.1rem}.prose .drop:first-letter{font-family:var(--display);float:left;color:var(--cream);padding:.15em .14em 0 0;font-size:4.2em;font-style:italic;line-height:.82}.signature{font-family:var(--display);font-size:1.4rem;font-style:italic;color:var(--ink)!important;margin-top:1.5rem!important}.stack-panel{border-top:1px solid var(--ink);padding-top:1.25rem}.stack{margin-top:1.25rem}.stack-row{border-bottom:1px solid var(--line-on-red);grid-template-columns:6rem minmax(0,1fr);gap:1rem;padding:.85rem 0;font-size:.95rem;display:grid}.stack-row dt{font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ink);opacity:.65;padding-top:.15rem;font-size:.72rem}.stack-row dd{color:var(--ink-2)}.now-strip{border-top:1px solid var(--ink);flex-wrap:wrap;align-items:baseline;gap:1.5rem 3rem;margin-top:3rem;padding-top:2rem;display:flex}.now-strip ul{font-family:var(--display);color:var(--ink);flex-wrap:wrap;gap:1.5rem 2rem;font-size:1.25rem;font-style:italic;display:flex}.now-strip li:before{content:"— ";color:var(--cream);margin-right:.15rem;font-style:normal}.contact-title{font-family:var(--display);letter-spacing:-.03em;color:var(--cream);margin-top:1rem;font-size:clamp(2.8rem,9vw,7rem);font-weight:400;line-height:.92}.contact-title em{color:var(--red-bright);font-style:italic}.contact-grid{border-top:1px solid var(--line-on-ink);grid-template-columns:1fr;gap:1rem 3rem;margin-top:clamp(2.5rem,5vw,4rem);padding-top:2rem;display:grid}@media (width>=820px){.contact-grid{grid-template-columns:1fr auto;align-items:end}}.contact-mail,.contact-gh{border-bottom:1px solid #0000;align-items:center;gap:.75rem;width:fit-content;padding-bottom:.4rem;transition:border-color .25s,transform .25s;display:inline-flex}.contact-mail{font-family:var(--display);letter-spacing:-.01em;color:var(--cream);font-size:clamp(1.6rem,4vw,2.8rem)}.contact-mail svg,.contact-gh svg{width:20px;height:20px;transition:transform .25s}.contact-mail:hover,.contact-gh:hover{border-color:var(--red-bright)}.contact-mail:hover svg,.contact-gh:hover svg{transform:translate(3px,-3px)}.contact-gh{font-family:var(--mono);letter-spacing:.08em;color:var(--muted-on-ink);font-size:.82rem}.contact-gh:hover{color:var(--cream)}.footer{background:var(--ink);color:var(--muted-on-ink);border-top:1px solid var(--ink)}.footer-inner{max-width:1440px;padding:1.5rem var(--gutter);font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;flex-wrap:wrap;justify-content:space-between;gap:.75rem 2rem;margin:0 auto;font-size:.7rem;display:flex}.reveal{opacity:0;transition:opacity .7s,transform .7s cubic-bezier(.16,1,.3,1);transform:translateY(14px)}.reveal.in{opacity:1;transform:none}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transition:none;transform:none}.work-peek{display:none}}
