:root{--bg:#f5f5f5;--bg-elevated:#fff;--red:red;--red-hot:#e60000;--red-dim:#ff000014;--ink:#0a0a0a;--ink-muted:#5a5a5a;--ink-faint:#8a8a8a;--rule:#0a0a0a1a;--font-display:"JetBrains Mono", ui-monospace, monospace;--font-body:"IBM Plex Mono", ui-monospace, monospace;--ease:cubic-bezier(.22, 1, .36, 1);--max:74rem;--gutter:clamp(1.25rem, 4vw, 2.75rem);--inset:max(var(--gutter), calc((100% - var(--max)) / 2));--lean:-8deg}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:var(--font-body);color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;font-size:1.0625rem;font-weight:400;line-height:1.55;overflow-x:hidden}img{max-width:100%;height:auto;display:block}a{color:inherit;text-decoration:none}ul{list-style:none}i{font-style:normal}.page-bg{z-index:-1;pointer-events:none;background:radial-gradient(ellipse 70% 45% at 85% 0%, var(--red-dim), transparent 55%), linear-gradient(115deg, transparent 60%, #ff000008 100%), var(--bg);position:fixed;inset:0}.page-bg:after{content:"";opacity:.4;background-image:linear-gradient(var(--rule) 1px, transparent 1px), linear-gradient(90deg, var(--rule) 1px, transparent 1px);background-size:72px 72px;position:absolute;inset:0;mask-image:linear-gradient(115deg,#000 0%,#0000 70%)}.site-header{z-index:100;padding:1rem var(--gutter);backdrop-filter:blur(14px);border-bottom:1px solid var(--rule);background:#f5f5f5e0;justify-content:space-between;align-items:center;gap:1rem;display:flex;position:sticky;top:0}.brand{font-family:var(--font-display);letter-spacing:-.03em;align-items:center;gap:.65rem;font-size:.8125rem;font-weight:700;display:inline-flex}.brand-mark{object-fit:contain;flex-shrink:0;width:1.75rem;height:1.75rem}.brand span{display:none}@media (width>=520px){.brand span{display:inline}}.nav{font-family:var(--font-display);align-items:center;gap:clamp(1rem,3vw,1.75rem);display:flex}.nav a{letter-spacing:.02em;color:var(--ink-muted);transition:color .2s var(--ease);align-items:baseline;gap:.4rem;font-size:.75rem;font-weight:500;display:inline-flex}.nav a i{color:var(--red);font-size:.65rem}.nav a:hover,.nav a[aria-current=page]{color:var(--ink)}.nav-toggle{border:1px solid var(--rule);color:var(--ink);cursor:pointer;background:0 0;border-radius:0;justify-content:center;align-items:center;width:2.5rem;height:2.5rem;display:none}.nav-toggle span{background:var(--ink);width:1rem;height:1px;display:block;position:relative}.nav-toggle span:before,.nav-toggle span:after{content:"";background:var(--ink);width:100%;height:1px;position:absolute;left:0}.nav-toggle span:before{top:-5px}.nav-toggle span:after{top:5px}@media (width<=640px){.nav-toggle{display:flex}.nav{padding:.5rem var(--gutter) 1rem;border-bottom:1px solid var(--rule);background:#fffffffa;flex-direction:column;align-items:stretch;gap:0;display:none;position:absolute;top:100%;left:0;right:0}.nav.is-open{display:flex}.nav a{border-bottom:1px solid var(--rule);padding:.75rem 0}}.btn{font-family:var(--font-display);letter-spacing:.02em;cursor:pointer;transition:background .25s var(--ease), color .25s var(--ease), border-color .25s var(--ease);border:none;align-items:center;gap:.5rem;padding:.9rem 1.35rem;font-size:.75rem;font-weight:600;display:inline-flex}.btn-primary{background:var(--red);color:#fff;clip-path:polygon(0 0,100% 0,96% 100%,0 100%)}.btn-primary:hover{background:var(--red-hot)}.btn-ghost{color:var(--ink);border:1px solid var(--rule);background:0 0}.btn-ghost:hover{border-color:var(--ink)}.link-underline{display:inline-block;position:relative}.link-underline:after{content:"";background:var(--red);transform-origin:0;width:100%;height:1px;transition:transform .35s var(--ease);position:absolute;bottom:-2px;left:0;transform:scaleX(0)}.link-underline:hover:after{transform:scaleX(1)}.wrap{width:min(100% - 2 * var(--gutter), var(--max));margin-inline:auto}.section-label{font-family:var(--font-display);letter-spacing:.16em;text-transform:uppercase;color:var(--red);margin-bottom:1rem;font-size:.7rem;font-weight:600}.section-title{font-family:var(--font-display);letter-spacing:-.05em;margin-bottom:.85rem;font-size:clamp(1.85rem,4.5vw,3rem);font-weight:700;line-height:1.1}.section-lead{color:var(--ink-muted);max-width:34rem;font-size:.98rem}.js .reveal{opacity:0;transition:opacity .75s var(--ease), transform .75s var(--ease);transform:translateY(1.4rem)skewY(.4deg)}.js .reveal.is-visible{opacity:1;transform:translateY(0)skewY(0)}.reveal-delay-1{transition-delay:.1s}.reveal-delay-2{transition-delay:.2s}.reveal-delay-3{transition-delay:.3s}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.js .reveal{opacity:1;transition:none;transform:none}}.hero{text-align:center;place-items:center;min-height:min(100svh - 4rem,52rem);padding-block:clamp(4rem,10vw,7rem);display:grid;position:relative;overflow:hidden}.hero-visual{z-index:0;pointer-events:none;place-items:center;display:grid;position:absolute;inset:0}.hero-glow{aspect-ratio:1;background:radial-gradient(closest-side,#ff00001a,#0000);width:min(90vw,48rem)}.hero-mark{width:clamp(3.5rem,8vw,5.5rem);transform:rotate(var(--lean));margin-bottom:clamp(1.25rem,3vw,2rem)}.hero-inner{z-index:1;flex-direction:column;align-items:center;display:flex;position:relative}.hero-brand{font-family:var(--font-display);letter-spacing:-.06em;margin:0;font-size:clamp(2.6rem,11vw,8rem);font-weight:800;line-height:.9}.hero-brand-line{display:block}.hero-brand .accent{color:var(--red)}.hero-headline{font-family:var(--font-display);letter-spacing:-.03em;color:var(--ink-muted);max-width:40ch;margin-top:clamp(1.5rem,3vw,2.25rem);font-size:clamp(1rem,1.8vw,1.25rem);font-weight:500;line-height:1.4}.hero-ctas{flex-wrap:wrap;gap:.65rem;display:flex}.hero .hero-ctas{justify-content:center;margin-top:2rem}.products{padding-top:clamp(3.5rem,8vw,5.5rem);padding-bottom:clamp(2rem,5vw,3rem)}.products-intro{margin-bottom:clamp(2.5rem,6vw,4rem)}.product-stack{border-top:1px solid var(--rule)}.product{padding:clamp(2.25rem, 5vw, 3.5rem) var(--inset);border-bottom:1px solid var(--rule);transition:background .35s var(--ease);grid-template-columns:auto 1fr;gap:clamp(1rem,3vw,2.5rem);display:grid;position:relative}.product:before{content:"";background:var(--red);transform-origin:top;width:3px;transition:transform .4s var(--ease);position:absolute;top:0;bottom:0;left:0;transform:scaleY(0)}.product:hover{background:#ffffffa6}.product:hover:before{transform:scaleY(1)}.product--shift .product-main{margin-left:0}@media (width>=800px){.product--shift .product-main{margin-left:clamp(2rem,10vw,8rem)}}.product-index{font-family:var(--font-display);letter-spacing:-.06em;color:#0000;-webkit-text-stroke:1px #ff000073;padding-top:.15rem;font-size:clamp(2rem,5vw,3.5rem);font-weight:800;line-height:1}.product-title-row{flex-wrap:wrap;align-items:baseline;gap:.75rem 1.25rem;margin-bottom:.85rem;display:flex}.product-name{font-family:var(--font-display);letter-spacing:-.05em;font-size:clamp(1.6rem,3.5vw,2.5rem);font-weight:700;line-height:1.05}.product-meta{font-family:var(--font-display);letter-spacing:.14em;text-transform:uppercase;color:var(--red);font-size:.7rem}.product-body{color:var(--ink-muted);max-width:38rem;margin-bottom:1.1rem;font-size:.95rem}.product-link{font-family:var(--font-display);color:var(--ink);letter-spacing:.02em;border-bottom:1px solid var(--red);transition:color .2s var(--ease);padding-bottom:.15rem;font-size:.75rem;font-weight:600}.product-link:hover{color:var(--red)}.studio{border-top:1px solid var(--rule);padding:clamp(4.5rem,11vw,7.5rem) 0;position:relative;overflow:hidden}.studio-slash{height:40%;transform:skewY(var(--lean));pointer-events:none;background:linear-gradient(115deg,#0000 20%,#ff00000f 50%,#0000 80%);position:absolute;inset:20% -20% auto}.studio-inner{gap:2rem;display:grid;position:relative}@media (width>=800px){.studio-inner{grid-template-columns:1.1fr .9fr;align-items:end;gap:4rem}}.studio-title{font-family:var(--font-display);letter-spacing:-.045em;max-width:22ch;font-size:clamp(1.5rem,3.2vw,2.25rem);font-weight:700;line-height:1.2}.studio-copy{color:var(--ink-muted);max-width:28rem;margin-bottom:1.5rem;font-size:1rem}.page-hero{padding:clamp(3rem,8vw,5rem) 0 clamp(2rem,4vw,3rem);position:relative}.page-title{font-family:var(--font-display);letter-spacing:-.06em;margin-bottom:1.25rem;font-size:clamp(3rem,12vw,7rem);font-weight:800;line-height:.9;position:relative}.page-title-ghost{color:#0000;-webkit-text-stroke:1px #ff000040;z-index:-1;user-select:none;position:absolute;top:-.15em;left:.05em}.page-lead{color:var(--ink-muted);max-width:30rem}.team-list{border-top:1px solid var(--rule)}.person{padding:clamp(2rem, 5vw, 3.25rem) var(--inset);border-bottom:1px solid var(--rule);transition:background .3s var(--ease);grid-template-columns:auto 1fr;align-items:start;gap:1rem 1.5rem;display:grid}.person:hover{background:#ffffffa6}@media (width>=800px){.person{grid-template-columns:4.5rem minmax(10rem,.9fr) 1.2fr;align-items:center;gap:2rem 3rem}}.person-index{font-family:var(--font-display);color:var(--red);letter-spacing:.08em;padding-top:.35rem;font-size:.75rem;font-weight:600}.person-role{font-family:var(--font-display);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-faint);margin-bottom:.35rem;font-size:.7rem}.person-name{font-family:var(--font-display);letter-spacing:-.05em;font-size:clamp(1.6rem,3.5vw,2.4rem);font-weight:700;line-height:1.05}.person-detail{grid-column:2}@media (width>=800px){.person-detail{grid-column:auto}}.person-bio{color:var(--ink-muted);max-width:34rem;font-size:.95rem}.person-links{font-family:var(--font-display);margin-top:.85rem;font-size:.75rem;font-weight:500}.person-links a{color:var(--red)}.person-links a:hover{color:var(--red-hot)}.team-cta{text-align:center;padding:clamp(3rem,8vw,5rem) 0}.team-cta p{color:var(--ink-muted);margin-bottom:1.25rem}.contact-block{padding-bottom:clamp(4rem,10vw,7rem)}.contact-mega{padding:clamp(2.5rem, 6vw, 4rem) var(--inset);border-block:1px solid var(--rule);transition:background .3s var(--ease);display:block}.contact-mega:hover{background:#fff}.contact-mega:hover .contact-mega-value{color:var(--red)}.contact-mega-label{font-family:var(--font-display);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-faint);margin-bottom:.75rem;font-size:.7rem;display:block}.contact-mega-value{font-family:var(--font-display);letter-spacing:-.05em;word-break:break-word;transition:color .25s var(--ease);font-size:clamp(1.4rem,5.5vw,3.5rem);font-weight:700;line-height:1.1;display:block}.contact-row{gap:0;padding-top:0;display:grid}@media (width>=700px){.contact-row{grid-template-columns:1fr 1fr}}.contact-tile{border-bottom:1px solid var(--rule);transition:color .25s var(--ease);padding:clamp(2rem,4vw,3rem) 0;display:block}@media (width>=700px){.contact-tile{padding-right:2rem}.contact-tile+.contact-tile{border-left:1px solid var(--rule);padding-left:2rem}}.contact-tile:hover .contact-tile-value{color:var(--red)}.contact-tile-value{font-family:var(--font-display);letter-spacing:-.03em;transition:color .25s var(--ease);font-size:clamp(1.1rem,2.4vw,1.45rem);font-weight:600;display:block}.site-footer{border-top:1px solid var(--rule);padding:2.5rem 0 3rem}.footer-inner{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1.5rem 2.5rem;display:flex}.footer-brand{font-family:var(--font-display);margin-bottom:.5rem;font-size:.85rem;font-weight:700}.footer-meta{color:var(--ink-faint);font-size:.8rem}.footer-links{font-family:var(--font-display);flex-wrap:wrap;gap:1rem 1.5rem;font-size:.75rem;display:flex}.footer-links a{color:var(--ink-muted);transition:color .2s var(--ease)}.footer-links a:hover{color:var(--red)}.product-links{flex-wrap:wrap;align-items:baseline;gap:.75rem 1.5rem;display:flex}.product-link--quiet{color:var(--ink-muted);border-bottom-color:var(--rule)}.product-link--quiet:hover{border-bottom-color:var(--red)}.home-blog{border-top:1px solid var(--rule);padding-block:clamp(3.5rem,8vw,5.5rem)}.home-blog .section-title{margin-bottom:clamp(1.5rem,4vw,2.25rem)}.post-card--feature{border:1px solid var(--rule);background:#ffffff80;grid-template-columns:1fr;padding:clamp(1.5rem,4vw,2.5rem)}.home-blog-cta{margin-top:clamp(1.5rem,4vw,2rem)}.post-card-title a{transition:color .2s var(--ease)}.post-card-title a:hover{color:var(--red)}.post-meta{font-family:var(--font-display);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-faint);flex-wrap:wrap;align-items:center;gap:.35rem .6rem;margin-bottom:.85rem;font-size:.7rem;display:flex}.post-meta-tag{color:var(--red)}.draft-badge{font-family:var(--font-display);letter-spacing:.1em;text-transform:uppercase;color:var(--red);border:1px dashed var(--red);padding:.1rem .45rem;font-size:.62rem;font-weight:600;display:inline-block}.blog-list{margin-bottom:clamp(3rem,8vw,5rem)}.blog-empty{border-top:1px solid var(--rule);padding:clamp(2.5rem,6vw,4rem) 0 clamp(4rem,10vw,7rem)}.blog-empty-title{font-family:var(--font-display);letter-spacing:-.05em;margin-bottom:.75rem;font-size:clamp(1.4rem,3.5vw,2.25rem);font-weight:700}.blog-empty-copy{color:var(--ink-muted);max-width:34rem}.blog-empty-copy a{color:var(--red)}.post-crumbs a{transition:color .2s var(--ease)}.post-crumbs a:hover{color:var(--red-hot)}.post-title{font-family:var(--font-display);letter-spacing:-.06em;max-width:18ch;margin-bottom:1.25rem;font-size:clamp(2.2rem,6.5vw,4.4rem);font-weight:800;line-height:1}.post-hero .page-lead{max-width:40rem;margin-bottom:1.5rem}.post-hero .post-meta{margin-bottom:0}.post-body{border-top:1px solid var(--rule);gap:2.5rem;padding:clamp(2rem,5vw,3rem) 0 clamp(4rem,10vw,6rem);display:grid}@media (width>=960px){.post-body{grid-template-columns:minmax(0,42rem) minmax(15rem,19rem);justify-content:space-between;align-items:start;gap:4rem}}.post-product{background:var(--bg-elevated);border:1px solid var(--rule);border-top:3px solid var(--red);padding:1.5rem}@media (width>=960px){.post-product{position:sticky;top:6rem}}.post-product-name{font-family:var(--font-display);letter-spacing:-.05em;margin-bottom:.65rem;font-size:1.6rem;font-weight:700;line-height:1.1}.post-product-copy{color:var(--ink-muted);margin-bottom:1.25rem;font-size:.88rem}.post-footer{border-top:1px solid var(--rule);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1.25rem;padding-top:2rem;display:flex}@media (width>=960px){.post-footer{grid-column:1/-1}}.post-tags{font-family:var(--font-display);letter-spacing:.08em;text-transform:uppercase;flex-wrap:wrap;gap:.5rem;font-size:.68rem;display:flex}.post-tags a{border:1px solid var(--rule);color:var(--ink-muted);transition:color .2s var(--ease), border-color .2s var(--ease);padding:.25rem .6rem;display:inline-block}.post-tags a:hover{color:var(--red);border-color:var(--red)}.post-card-tags{margin-bottom:1.1rem}.blog-hero-links{margin-top:1.25rem}.post-author{border-top:1px solid var(--rule);margin-top:clamp(2.5rem,6vw,3.5rem);padding:1.5rem 0 0}.post-author .contact-mega-label{margin-bottom:.5rem}.post-author-name{font-family:var(--font-display);letter-spacing:-.04em;margin-bottom:.4rem;font-size:1.35rem;font-weight:700;line-height:1.15}.post-author-copy{color:var(--ink-muted);max-width:34rem;font-size:.92rem}.tag-list{border-top:1px solid var(--rule);margin-bottom:clamp(3rem,8vw,5rem)}.tag-row{padding:clamp(1.1rem, 3vw, 1.6rem) var(--inset);border-bottom:1px solid var(--rule);transition:background .3s var(--ease);justify-content:space-between;align-items:baseline;gap:1rem;display:flex}.tag-row:hover{background:#ffffffa6}.tag-row-name{font-family:var(--font-display);letter-spacing:-.04em;transition:color .2s var(--ease);font-size:clamp(1.15rem,2.6vw,1.6rem);font-weight:700}.tag-row:hover .tag-row-name{color:var(--red)}.tag-row-count{font-family:var(--font-display);letter-spacing:.12em;text-transform:uppercase;color:var(--red);white-space:nowrap;font-size:.7rem}.prose{color:#2b2b2b;font-size:1rem;line-height:1.75}.prose>*+*{margin-top:1.15rem}.prose h2,.prose h3{font-family:var(--font-display);color:var(--ink);letter-spacing:-.04em;line-height:1.2}.prose h2{margin-top:2.75rem;font-size:clamp(1.35rem,2.6vw,1.7rem);font-weight:700}.prose h2:before{content:"/ ";color:var(--red)}.prose h3{margin-top:2rem;font-size:1.15rem;font-weight:600}.prose h2+*,.prose h3+*{margin-top:.75rem}.prose a{color:var(--ink);border-bottom:1px solid var(--red);transition:color .2s var(--ease)}.prose a:hover{color:var(--red)}.prose strong{color:var(--ink);font-weight:600}.prose ul,.prose ol{padding-left:1.4rem}.prose ul li{list-style:none;position:relative}.prose ul li:before{content:"—";color:var(--red);position:absolute;left:-1.4rem}.prose ol{list-style:decimal}.prose ol li::marker{color:var(--red);font-family:var(--font-display)}.prose li+li{margin-top:.4rem}.prose blockquote{border-left:3px solid var(--red);font-family:var(--font-display);color:var(--ink);padding:.25rem 0 .25rem 1.25rem;font-weight:500}.prose code{font-family:var(--font-display);background:var(--bg-elevated);border:1px solid var(--rule);padding:.05rem .35rem;font-size:.9em}.prose hr{border:0;border-top:1px solid var(--rule);margin:2.5rem 0}.not-found-ctas{justify-content:center}@view-transition{navigation:auto}.site-header{view-transition-name:site-header}::view-transition-old(root){animation:vt-out .22s var(--ease) both}::view-transition-new(root){animation:vt-in .45s var(--ease) both}@keyframes vt-out{to{opacity:0}}@keyframes vt-in{0%{opacity:0;transform:translateY(.5rem)}}.hero-mark{animation:hero-mark-in 1.6s var(--ease) both, hero-float 14s ease-in-out 1.6s infinite alternate}@keyframes hero-mark-in{0%{opacity:0;transform:rotate(calc(var(--lean) - 6deg)) scale(.94)}}@keyframes hero-float{0%{transform:rotate(var(--lean)) translateY(0)}to{transform:rotate(calc(var(--lean) + 2deg)) translateY(-.35rem)}}.js .hero-brand.is-visible .hero-brand-line{animation:line-in .9s var(--ease) both}.js .hero-brand.is-visible .hero-brand-line+.hero-brand-line{animation-delay:.14s}@keyframes line-in{0%{opacity:0;translate:0 .35em}}.product-index{transition:color .45s var(--ease), -webkit-text-stroke-color .45s var(--ease)}.product:hover .product-index{color:var(--red);-webkit-text-stroke-color:var(--red)}.reading-progress{z-index:200;background:var(--red);transform-origin:0;pointer-events:none;height:2px;position:fixed;top:0;left:0;right:0;transform:scaleX(0)}@media (prefers-reduced-motion:reduce){::view-transition-old(root),::view-transition-new(root),.hero-mark,.js .hero-brand.is-visible .hero-brand-line{animation:none}.product-index{transition:none}}
