:root{--font-display:"Jersey 10", ui-monospace, monospace;--font-sans:"Figtree", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--ink:#1d1d1f;--ink-soft:#6e6e73;--paper:#fff;--paper-alt:#fafafa;--rule:#e5e5e7;--nav-ink-rest:var(--ink);--ink-invert:#f5f5f7;--ink-invert-soft:#f5f5f7b8;--glass-rgb:22 22 24;--glass-alpha:.55;--glass-rule:#ffffff1a;--glass-blur:20px;--glass-lift:0 8px 28px;--glass-shadow-alpha:.28;--nav-h:56px;--nav-h-min:48px;--nav-float-y:14px;--nav-float-x:16px;--nav-item-h:30px;--nav-gap:clamp(.875rem, 2vw, 1.5rem);--nav-mark-w:68px;--nav-mark-w-min:24px;--accent:#f3534e;--radius:4px;--section-y:clamp(6rem, 14vw, 12rem);--gutter:clamp(1.25rem, 5vw, 3rem);--measure:54rem}@property --stuck{syntax:"<number>";inherits:true;initial-value:0}.nav.is-over-dark{--nav-ink-rest:var(--ink-invert)}.nav{z-index:50;font-family:var(--font-sans);--nav-ink:color-mix(in srgb, var(--ink-invert) calc(var(--stuck,0) * 100%), var(--nav-ink-rest));padding:calc(var(--nav-float-y) * var(--stuck,0)) calc(var(--nav-float-x) * var(--stuck,0)) 0;position:fixed;inset:0 0 auto}.nav-inner{align-items:center;gap:var(--nav-gap);--h:calc(var(--nav-h) - (var(--nav-h) - var(--nav-h-min)) * var(--stuck,0));height:var(--h);max-width:calc(76rem - 28rem * var(--stuck,0));padding-inline:calc((var(--h) - var(--nav-item-h)) / 2);border:1px solid color-mix(in srgb, var(--glass-rule) calc(var(--stuck,0) * 100%), transparent);border-radius:calc(var(--radius) * var(--stuck,0));box-shadow:var(--glass-lift) rgb(0 0 0/calc(var(--glass-shadow-alpha) * var(--stuck,0)));margin:0 auto;display:flex;position:relative}.nav-inner:before{content:"";z-index:-1;border-radius:inherit;background:rgb(var(--glass-rgb) / calc(var(--glass-alpha) * var(--stuck,0)));backdrop-filter:saturate(180%) blur(calc(var(--glass-blur) * var(--stuck,0)));position:absolute;inset:0}.nav-brand{width:calc(var(--nav-mark-w) - (var(--nav-mark-w) - var(--nav-mark-w-min)) * var(--stuck,0));flex:none;align-items:center;height:100%;display:flex;position:relative}.nav-mark{height:auto;image-rendering:crisp-edges;image-rendering:pixelated;position:absolute;top:50%;left:0;transform:translateY(-50%)}.nav-mark-word{width:var(--nav-mark-w);opacity:calc(1.5 - var(--stuck,0) * 2.5)}.nav-mark-sprite{width:var(--nav-mark-w-min);opacity:calc(var(--stuck,0) * 2.5 - 1)}.nav-sections{align-items:center;gap:var(--nav-gap);scrollbar-width:none;margin:0 auto;display:flex;overflow-x:auto}.nav-sections::-webkit-scrollbar{display:none}.nav-section{color:var(--nav-ink);opacity:.7;white-space:nowrap;font-size:.75rem;text-decoration:none;transition:color .2s}.nav-section:hover{color:var(--ink-invert)}.nav-actions{align-items:center;gap:var(--nav-gap);margin-left:auto;display:flex}.nav-center{flex:1;align-items:center;min-width:0;display:flex}.nav-sections~.nav-actions,.nav-center~.nav-actions{margin-left:0}.nav-link{color:var(--nav-ink);letter-spacing:.01em;opacity:.86;white-space:nowrap;font-size:.75rem;font-weight:500;text-decoration:none;transition:opacity .2s}.nav-link:hover{opacity:1}.nav-cta{height:var(--nav-item-h);border-radius:var(--radius);background:var(--accent);color:#fff;white-space:nowrap;flex:none;align-items:center;padding:0 .9rem;font-size:.75rem;font-weight:500;text-decoration:none;transition:opacity .2s;display:inline-flex}.nav-cta:hover{opacity:.88}.dg-figure{max-width:var(--dg-max,44rem);margin:0 auto}.dg-frame{border:1px solid var(--rule);border-radius:var(--radius);background:var(--paper-alt);color:var(--ink);padding:clamp(1.5rem,4vw,2.5rem)}.dg-caption{color:var(--ink-soft);text-align:center;text-wrap:pretty;margin-top:.875rem;font-size:.875rem;line-height:1.5}.dg{width:100%;height:auto;display:block}.dg *{vector-effect:non-scaling-stroke}.dg line,.dg path,.dg circle{fill:none;stroke:currentColor;stroke-width:1.75px;stroke-linecap:round;stroke-linejoin:round}.dg-joints circle{fill:currentColor;stroke:none}.dg-body line,.dg-body circle{stroke:color-mix(in srgb, currentColor 14%, transparent);stroke-width:15px;stroke-linecap:round}.dg-axis{stroke:color-mix(in srgb, currentColor 25%, transparent);stroke-width:1px;stroke-dasharray:3 4}.dg-curve{stroke:color-mix(in srgb, currentColor 40%, transparent)}.dg-curve.is-accent{stroke:var(--accent)}.dg-arrow line,.dg-arrow path{stroke:color-mix(in srgb, currentColor 55%, transparent)}.dg-arrow.is-dashed line{stroke-dasharray:5 5}.dg-arrow.is-accent line,.dg-arrow.is-accent path{stroke:var(--accent)}.dg-label{fill:currentColor;stroke:none;font-family:var(--font-sans);text-anchor:middle;font-size:14px;font-weight:600}.dg-label.dg-sub{fill:color-mix(in srgb, currentColor 55%, transparent);font-size:12px;font-weight:400}.dg-pupil,.dg-points circle,.dg-node,.dg-rec,.dg-ctrl{fill:currentColor;stroke:none}.dg-spark{fill:var(--paper-alt);stroke:none}.dg-faint{stroke:color-mix(in srgb, currentColor 22%, transparent)}.dg-wire polyline{fill:none;stroke:color-mix(in srgb, currentColor 32%, transparent);stroke-width:1px}.dg-points circle{fill:var(--accent)}.dg-user.is-solid circle,.dg-user.is-solid path{fill:color-mix(in srgb, currentColor 10%, transparent)}.dg-link line{stroke:color-mix(in srgb, currentColor 30%, transparent);stroke-dasharray:4 4}.dg-node,.dg-rec{fill:var(--accent)}.dg-wave{stroke:var(--accent);stroke-width:1.5px}.dg-signal path{stroke:color-mix(in srgb, currentColor 45%, transparent)}.dg-sync path{stroke:var(--accent);stroke-width:1.5px}.dg-cloud ellipse,.dg-stream rect{fill:none;stroke:currentColor;stroke-width:1.75px}.dg-ghost line,.dg-ghost path,.dg-ghost circle{stroke:color-mix(in srgb, currentColor 20%, transparent);fill:none}.dg-cage polyline{fill:none;stroke:var(--accent);stroke-width:1.25px}.dg-ctrl{fill:var(--accent)}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}body{background:var(--paper);color:var(--ink);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;font-size:17px;line-height:1.5}img{max-width:100%;display:block}main{display:flow-root}a{color:inherit}h1,h2,h3,p{text-wrap:pretty;margin:0}.skip-link{top:-100%;left:var(--gutter);z-index:100;background:var(--ink);color:var(--paper);border-radius:.5rem;padding:.75rem 1rem;font-size:.875rem;text-decoration:none;position:absolute}.skip-link:focus{top:.5rem}:focus-visible{outline-offset:3px;outline:2px solid}.hero{min-height:100svh;padding:calc(var(--nav-h) + 2rem) var(--gutter) 3rem;color:var(--ink-invert);text-align:center;background:#11131a;place-items:center;display:grid;position:relative;overflow:hidden}.hero-art{object-fit:cover;opacity:.85;width:100%;height:100%;position:absolute;inset:0}.hero-scrim{background:linear-gradient(#080a0e59 0%,#080a0e0f 22% 78%,#080a0e73 100%);position:absolute;inset:0}.hero-content{max-width:var(--measure);position:relative}.hero-eyebrow{color:var(--ink-invert-soft);letter-spacing:.18em;text-transform:uppercase;margin-bottom:1.25rem;font-size:.75rem;font-weight:600}.hero-title{font-family:var(--font-display);letter-spacing:.01em;font-size:clamp(2.5rem,8vw,6.5rem);font-weight:400;line-height:.95}.hero-sub{max-width:30rem;color:var(--ink-invert-soft);margin:1.5rem auto 0;font-size:clamp(1.0625rem,1.6vw,1.3125rem);line-height:1.45}.hero-actions{flex-wrap:wrap;justify-content:center;align-items:center;gap:.75rem 1.5rem;margin-top:2rem;display:flex}.btn{border-radius:var(--radius);background:var(--btn-fill,var(--ink));color:var(--btn-ink,var(--paper));align-items:center;padding:.7rem 1.5rem;font-size:1rem;font-weight:500;text-decoration:none;transition:transform .2s,opacity .2s;display:inline-flex}.btn:hover{opacity:.88}.btn-quiet{color:var(--btn-fill,var(--ink));background:0 0;padding:.7rem 0;font-size:1rem;font-weight:500;text-decoration:none}.btn-quiet:after{content:" ›"}.btn-quiet:hover{text-underline-offset:4px;text-decoration:underline}@media (prefers-reduced-motion:no-preference){.btn:active{transform:scale(.97)}}.site-footer{padding:var(--section-y) var(--gutter) 2.5rem;border-top:1px solid var(--rule);background:var(--paper-alt)}.footer-inner{flex-wrap:wrap;gap:3rem clamp(3rem,10vw,8rem);max-width:76rem;margin:0 auto;display:flex}.footer-brand{flex:none}.footer-wordmark{width:132px;height:auto;image-rendering:crisp-edges;image-rendering:pixelated;opacity:.6}.footer-nav{flex-wrap:wrap;gap:2.5rem clamp(2.5rem,6vw,5rem);display:flex}.footer-col{flex-direction:column;gap:.6rem;display:flex}.footer-col-title{color:var(--ink);letter-spacing:.06em;text-transform:uppercase;margin-bottom:.25rem;font-size:.75rem;font-weight:600}.footer-link{color:var(--ink-soft);font-size:.875rem;text-decoration:none;transition:color .2s}.footer-link:hover{color:var(--ink)}.footer-fine{border-top:1px solid var(--rule);max-width:76rem;color:var(--ink-soft);flex-wrap:wrap;gap:.5rem 1.5rem;margin:4rem auto 0;padding-top:1.5rem;font-size:.75rem;display:flex}.footer-fine p{margin:0}@media (width<=600px){.footer-wordmark{width:104px}}.hero,.story-dark{--btn-fill:var(--ink-invert);--btn-ink:#11131a}.story{padding:var(--section-y) var(--gutter);text-align:center;scroll-margin-top:var(--nav-h-min)}.story>*{max-width:var(--measure);margin-inline:auto}.story-alt{background:var(--paper-alt)}.story-dark{color:var(--ink-invert);background:#11131a}.story-shot{padding-bottom:0}.story-shot>*{max-width:1200px}.story-shot img{width:100%;height:auto;display:block}.story-mark{width:96px;height:auto;image-rendering:crisp-edges;image-rendering:pixelated;margin-bottom:2rem}.story-eyebrow{color:var(--accent);letter-spacing:.18em;text-transform:uppercase;margin-bottom:1rem;font-size:.75rem;font-weight:600}.story-title{letter-spacing:-.02em;font-size:clamp(2rem,5vw,3.5rem);font-weight:650;line-height:1.05}.story-body{max-width:36rem;color:var(--ink-soft);margin-top:1.5rem;font-size:clamp(1.0625rem,1.5vw,1.25rem);line-height:1.55}.story-dark .story-body{color:var(--ink-invert-soft)}.story-body em{color:var(--ink);font-style:normal;font-weight:600}.story-figure{margin-top:3.5rem}.contrast,.cards{text-align:left;grid-template-columns:repeat(auto-fit,minmax(16rem,1fr));gap:1.25rem;margin-top:3.5rem;display:grid}.contrast-col{border:1px solid var(--rule);border-radius:var(--radius);background:var(--paper);padding:clamp(1.5rem,3vw,2.25rem)}.contrast-col.is-ours{border-color:var(--accent)}.contrast-head{letter-spacing:-.01em;font-size:1.125rem;font-weight:650}.contrast-col.is-ours .contrast-head{color:var(--accent)}.contrast-body{color:var(--ink-soft);margin-top:.75rem;line-height:1.55}.closer{padding:var(--section-y) var(--gutter);color:var(--ink-invert);text-align:center;background:#11131a;justify-items:center;gap:.5rem;display:grid}.closer-title{letter-spacing:-.02em;font-size:clamp(2rem,5vw,3.5rem);font-weight:650;line-height:1.05}.card-meta{color:var(--ink-soft);margin-top:.35rem;font-size:.8125rem}.card-link{color:var(--accent);margin-top:1.25rem;font-weight:600;text-decoration:none;display:inline-block}.card-link:after{content:" ›"}.card-links{flex-wrap:wrap;justify-content:center;gap:0 1.5rem;display:flex}.card-link.is-off{color:var(--ink-soft);opacity:.45;cursor:default}.card-link.is-off:hover{text-decoration:none}.card-link:hover{text-underline-offset:4px;text-decoration:underline}.dg-spin path{stroke:var(--accent);stroke-width:1.5px}.tier-pick{border:1px solid color-mix(in srgb, currentColor 18%, transparent);border-radius:var(--radius);flex-wrap:wrap;gap:2px;margin-top:2rem;padding:3px;display:inline-flex}.tier-pick input{opacity:0;pointer-events:none;position:absolute}.tier-pick label{border-radius:calc(var(--radius) - 1px);cursor:pointer;opacity:.65;padding:.45rem 1rem;font-size:.875rem;font-weight:500;transition:background-color .18s,opacity .18s}.tier-pick label:hover{opacity:1}.tier-pick input:checked+label{background:color-mix(in srgb, currentColor 16%, transparent);opacity:1}.tier-pick input:focus-visible+label{outline-offset:2px;outline:2px solid}.price-grid{text-align:left;grid-template-columns:repeat(auto-fit,minmax(14rem,1fr));gap:1rem;max-width:56rem;margin:2rem auto 0;display:grid}.price-card{border:1px solid color-mix(in srgb, currentColor 16%, transparent);border-radius:var(--radius);padding:1.5rem}.price-card h3{font-size:1.125rem;font-weight:600}.price-what{opacity:.7;margin-top:.25rem;font-size:.875rem}.price-value{letter-spacing:-.01em;margin-top:1rem;font-size:1.25rem;font-weight:600;display:none}#pricing:has(#tier-student:checked) [data-tier=student],#pricing:has(#tier-indie:checked) [data-tier=indie],#pricing:has(#tier-studio-co:checked) [data-tier=studio-co],#pricing:has(#tier-business:checked) [data-tier=business]{display:block}.price-fine{opacity:.7;margin-top:1.75rem;font-size:.8125rem}
