.hero-figure[data-astro-cid-dyjhzzjc]{gap:var(--space-2);min-width:0;margin:0;display:grid}.hero-figure__svg[data-astro-cid-dyjhzzjc]{aspect-ratio:360/440;width:100%;height:auto;display:block;overflow:visible}.hero-figure__mark[data-astro-cid-dyjhzzjc]{fill:var(--color-accent)}.hero-figure__eyebrow[data-astro-cid-dyjhzzjc],.hero-figure__count[data-astro-cid-dyjhzzjc],.hero-figure__step-index[data-astro-cid-dyjhzzjc]{font-family:var(--font-mono);letter-spacing:.1em;fill:var(--color-fg-muted);font-size:11px;font-weight:500}.hero-figure__count[data-astro-cid-dyjhzzjc]{letter-spacing:.12em}.hero-figure__panel[data-astro-cid-dyjhzzjc]{fill:var(--color-paper-2);stroke:var(--color-rule);stroke-width:1px}.hero-figure__grid[data-astro-cid-dyjhzzjc] line[data-astro-cid-dyjhzzjc]{stroke:var(--color-rule);stroke-width:.75px;opacity:.7}.hero-figure__area[data-astro-cid-dyjhzzjc]{fill:var(--color-accent);opacity:.09}.hero-figure__price[data-astro-cid-dyjhzzjc]{fill:none;stroke:var(--color-accent);stroke-width:2px;stroke-linecap:round;stroke-linejoin:round}.hero-figure__bar[data-astro-cid-dyjhzzjc]{fill:var(--color-ink);opacity:.16}.hero-figure__bar--keep[data-astro-cid-dyjhzzjc]{fill:var(--color-accent);opacity:.45}.hero-figure__crosshair[data-astro-cid-dyjhzzjc]{stroke:var(--color-accent);stroke-width:1px;stroke-dasharray:3 4;opacity:.35}.hero-figure__signals[data-astro-cid-dyjhzzjc] circle[data-astro-cid-dyjhzzjc]{fill:var(--color-paper);stroke:var(--color-accent);stroke-width:1.6px}.hero-figure__focus[data-astro-cid-dyjhzzjc]{fill:var(--color-accent);stroke:var(--color-paper);stroke-width:2px}.hero-figure__rail-line[data-astro-cid-dyjhzzjc]{stroke:var(--color-rule);stroke-width:1px}.hero-figure__step-dot[data-astro-cid-dyjhzzjc]{fill:var(--color-paper);stroke:var(--color-ink);stroke-width:1.2px}.hero-figure__step-label[data-astro-cid-dyjhzzjc]{font-family:var(--font-mono);letter-spacing:.04em;fill:var(--color-ink);font-size:12px;font-weight:500}.hero-figure__step--last[data-astro-cid-dyjhzzjc] .hero-figure__step-dot[data-astro-cid-dyjhzzjc]{fill:var(--color-accent);stroke:var(--color-accent)}.hero-figure__step--last[data-astro-cid-dyjhzzjc] .hero-figure__step-index[data-astro-cid-dyjhzzjc],.hero-figure__step--last[data-astro-cid-dyjhzzjc] .hero-figure__step-label[data-astro-cid-dyjhzzjc]{fill:var(--color-accent)}.hero-figure__caption[data-astro-cid-dyjhzzjc]{font-size:var(--text-xs);color:var(--color-fg-muted);gap:.2rem;max-width:46ch;line-height:1.5;display:grid}.hero-figure__disclaimer[data-astro-cid-dyjhzzjc]{font-style:italic}@media (prefers-reduced-motion:no-preference){.hero-figure__price[data-astro-cid-dyjhzzjc]{stroke-dasharray:1;stroke-dashoffset:1px;animation:1.5s cubic-bezier(.65,0,.35,1) .2s forwards hero-draw}.hero-figure__area[data-astro-cid-dyjhzzjc]{opacity:0;animation:.8s .5s forwards hero-area}.hero-figure__bar[data-astro-cid-dyjhzzjc]{transform-box:fill-box;transform-origin:bottom;animation:hero-bar .55s cubic-bezier(.2, .7, .2, 1) calc(.35s + var(--i) * 45ms) forwards;transform:scaleY(0)}.hero-figure__signals[data-astro-cid-dyjhzzjc] circle[data-astro-cid-dyjhzzjc]{transform-box:fill-box;transform-origin:50%;opacity:0;animation:hero-pop .4s ease calc(.8s + var(--i) * .18s) forwards;transform:scale(.6)}.hero-figure__step[data-astro-cid-dyjhzzjc]{opacity:0;animation:hero-step .45s ease calc(.4s + var(--i) * .12s) forwards;transform:translate(-4px)}@keyframes hero-draw{to{stroke-dashoffset:0}}@keyframes hero-area{to{opacity:.09}}@keyframes hero-bar{to{transform:scaleY(1)}}@keyframes hero-pop{to{opacity:1;transform:scale(1)}}@keyframes hero-step{to{opacity:1;transform:none}}}.hero[data-astro-cid-ge2uvauf]{gap:var(--space-5);min-width:0;padding-top:clamp(2rem,4vw,4rem);padding-bottom:var(--space-5);display:grid}.hero__grid[data-astro-cid-ge2uvauf]{row-gap:var(--space-5);align-items:center}.hero__copy[data-astro-cid-ge2uvauf]{gap:var(--space-3);grid-column:1/-1;align-content:start;min-width:0;display:grid}.hero__eyebrow[data-astro-cid-ge2uvauf]{margin:0}.hero__title[data-astro-cid-ge2uvauf]{font-size:var(--text-display);line-height:var(--leading-display);letter-spacing:-.03em;overflow-wrap:break-word;margin:0}.hero__title[data-astro-cid-ge2uvauf] em[data-astro-cid-ge2uvauf]{color:var(--color-accent-strong)}.hero__subtitle[data-astro-cid-ge2uvauf]{max-width:46ch;font-size:var(--text-lg);color:var(--color-ink-soft);margin:0;line-height:1.5}.hero__actions[data-astro-cid-ge2uvauf]{align-items:center;gap:var(--space-2) var(--space-4);margin-top:var(--space-1);flex-wrap:wrap;display:flex}.hero__figure[data-astro-cid-ge2uvauf]{grid-column:1/-1;justify-self:end;min-width:0;max-width:30rem}@media (width>=64rem){.hero__copy[data-astro-cid-ge2uvauf]{grid-column:1/span 7}.hero__figure[data-astro-cid-ge2uvauf]{grid-column:9/-1;max-width:none}}.contents[data-astro-cid-6mtlfr2e]{padding-top:var(--space-2);border-top:1px solid var(--color-rule-strong);gap:.25rem;display:grid}.contents__label[data-astro-cid-6mtlfr2e]{margin:0}.contents__list[data-astro-cid-6mtlfr2e]{column-gap:var(--grid-gap);grid-template-columns:repeat(2,minmax(0,1fr));margin:0;padding:0;list-style:none;display:grid}.contents__list[data-astro-cid-6mtlfr2e] a[data-astro-cid-6mtlfr2e]{min-height:44px;color:var(--color-ink);border-bottom:1px solid var(--color-rule);font-size:var(--text-sm);align-items:baseline;gap:.6rem;padding-block:.55rem;font-weight:500;text-decoration:none;display:flex}.contents__list[data-astro-cid-6mtlfr2e] a[data-astro-cid-6mtlfr2e]:hover{color:var(--color-accent);border-bottom-color:var(--color-accent)}@media (width>=64rem){.contents[data-astro-cid-6mtlfr2e]{column-gap:var(--space-4);grid-template-columns:auto minmax(0,1fr);align-items:start}.contents__label[data-astro-cid-6mtlfr2e]{padding-top:.85rem}.contents__list[data-astro-cid-6mtlfr2e]{grid-template-columns:repeat(6,minmax(0,1fr))}.contents__list[data-astro-cid-6mtlfr2e] a[data-astro-cid-6mtlfr2e]{border-bottom:0;padding-bottom:.4rem}}.feature[data-astro-cid-pr64pldb]{--f-ink:#f4f1ec;--f-muted:#b6b0a6;--f-rule:#34383c;--f-accent:#ff6b6b;gap:var(--space-5);background:var(--color-surface-dark);color:var(--f-ink);border-radius:var(--radius-sm);grid-template-columns:minmax(0,1fr);padding:clamp(1.5rem,4vw,3.5rem);display:grid;position:relative;overflow:hidden}.feature[data-astro-cid-pr64pldb]:before{content:"";background:var(--f-accent);width:4px;position:absolute;inset-block:0;inset-inline-start:0}.feature[data-astro-cid-pr64pldb]:hover{background:#15181b}.feature__copy[data-astro-cid-pr64pldb]{gap:var(--space-2);align-content:start;min-width:0;display:grid}.feature__label[data-astro-cid-pr64pldb]{flex-wrap:wrap;align-items:center;gap:.6rem 1rem;margin:0;display:flex}.feature__label[data-astro-cid-pr64pldb] .eyebrow[data-astro-cid-pr64pldb]{color:var(--f-accent)}.feature__status[data-astro-cid-pr64pldb]{border:1px solid var(--f-rule);font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.1em;text-transform:uppercase;color:var(--f-muted);padding:.15rem .6rem}.feature__title[data-astro-cid-pr64pldb]{letter-spacing:.04em;margin:0;font-size:clamp(3rem,2rem + 5vw,5.5rem);line-height:1}.feature__link[data-astro-cid-pr64pldb]{color:inherit;text-decoration:none}.feature__link[data-astro-cid-pr64pldb]:after{content:"";position:absolute;inset:0}.feature__tagline[data-astro-cid-pr64pldb]{font-family:var(--font-display);font-style:italic;font-size:var(--text-lg);color:var(--f-ink);margin:0}.feature__summary[data-astro-cid-pr64pldb]{max-width:52ch;color:var(--f-muted);margin:0}.feature__tags[data-astro-cid-pr64pldb]{font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.08em;text-transform:uppercase;color:var(--f-muted);flex-wrap:wrap;gap:.35rem 1rem;margin:0;padding:0;list-style:none;display:flex}.feature__more[data-astro-cid-pr64pldb]{margin:var(--space-1) 0 0;font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.1em;text-transform:uppercase;color:var(--f-accent)}.feature__stack[data-astro-cid-pr64pldb]{align-content:center;min-width:0;margin:0;padding:0;list-style:none;display:grid}.feature__stack[data-astro-cid-pr64pldb] li[data-astro-cid-pr64pldb]{align-items:baseline;gap:var(--space-2);border-top:1px solid var(--f-rule);padding-block:1.1rem;display:flex}.feature__stack[data-astro-cid-pr64pldb] li[data-astro-cid-pr64pldb]:last-child{border-bottom:1px solid var(--f-rule)}.feature__stack-index[data-astro-cid-pr64pldb]{font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.08em;color:var(--f-accent)}.feature__stack-name[data-astro-cid-pr64pldb]{font-family:var(--font-display);font-size:var(--text-xl)}@media (width>=64rem){.feature[data-astro-cid-pr64pldb]{column-gap:var(--grid-gap);grid-template-columns:repeat(12,minmax(0,1fr));align-items:stretch}.feature__copy[data-astro-cid-pr64pldb]{grid-column:1/span 7}.feature__stack[data-astro-cid-pr64pldb]{grid-column:9/-1}}.writing-list[data-astro-cid-foar4myp]{border-bottom:1px solid var(--color-rule);margin:0;padding:0;list-style:none}.writing-list__item[data-astro-cid-foar4myp]{padding-block:var(--space-3);border-top:1px solid var(--color-rule);grid-template-columns:minmax(0,1fr);row-gap:.35rem;min-width:0;display:grid;position:relative}.writing-list__date[data-astro-cid-foar4myp]{margin:0}.writing-list__title[data-astro-cid-foar4myp]{font-size:var(--text-xl);overflow-wrap:break-word;margin:0}.writing-list__link[data-astro-cid-foar4myp]{color:inherit;text-decoration:none}.writing-list__link[data-astro-cid-foar4myp]:after{content:"";position:absolute;inset:0}.writing-list__item[data-astro-cid-foar4myp]:hover .writing-list__link[data-astro-cid-foar4myp]{color:var(--color-accent)}.writing-list__summary[data-astro-cid-foar4myp]{max-width:58ch;color:var(--color-ink-soft);margin:0}@media (width>=64rem){.writing-list__item[data-astro-cid-foar4myp]{column-gap:var(--grid-gap);grid-template-columns:repeat(12,minmax(0,1fr));align-items:baseline}.writing-list__date[data-astro-cid-foar4myp]{grid-column:1/span 2}.writing-list__title[data-astro-cid-foar4myp]{grid-column:3/span 4}.writing-list__summary[data-astro-cid-foar4myp]{grid-column:7/span 5}}.contact-cta[data-astro-cid-tv4n2zuu]{--c-ink:#f4f1ec;--c-muted:#b6b0a6;--c-rule:#34383c;background:var(--color-surface-dark);color:var(--c-ink)}.contact-cta__inner[data-astro-cid-tv4n2zuu]{gap:var(--space-4);padding-block:var(--space-section);grid-template-columns:minmax(0,1fr);display:grid}.contact-cta__index[data-astro-cid-tv4n2zuu]{color:var(--color-accent-on-dark);margin:0}.contact-cta__main[data-astro-cid-tv4n2zuu]{gap:var(--space-2);justify-items:start;min-width:0;display:grid}.contact-cta__kicker[data-astro-cid-tv4n2zuu]{color:var(--color-accent-on-dark)}.contact-cta__lead[data-astro-cid-tv4n2zuu]{max-width:22ch;font-family:var(--font-display);font-size:var(--text-3xl);letter-spacing:-.02em;text-wrap:balance;color:var(--c-ink);margin:0;line-height:1.05}.contact-cta__intro[data-astro-cid-tv4n2zuu]{max-width:48ch;color:var(--c-muted);margin:0}.contact-cta[data-astro-cid-tv4n2zuu] .btn-primary[data-astro-cid-tv4n2zuu]{margin-top:var(--space-1);background:var(--c-ink);color:var(--color-surface-dark);border-color:var(--c-ink)}.contact-cta[data-astro-cid-tv4n2zuu] .btn-primary[data-astro-cid-tv4n2zuu]:hover{background:var(--color-accent-on-dark);border-color:var(--color-accent-on-dark);color:var(--color-surface-dark)}.contact-cta__profiles[data-astro-cid-tv4n2zuu]{gap:var(--space-1);align-content:start;min-width:0;display:grid}.contact-cta__profiles[data-astro-cid-tv4n2zuu] .meta-label[data-astro-cid-tv4n2zuu]{color:var(--c-muted)}.ecosystem__list[data-astro-cid-tv4n2zuu]{border-top:1px solid var(--c-rule);margin:0;padding:0;list-style:none;display:grid}.ecosystem__list[data-astro-cid-tv4n2zuu] li[data-astro-cid-tv4n2zuu]{border-bottom:1px solid var(--c-rule)}.ecosystem__list[data-astro-cid-tv4n2zuu] a[data-astro-cid-tv4n2zuu]{min-height:52px;font-size:var(--text-lg);color:var(--c-ink);overflow-wrap:break-word;justify-content:space-between;align-items:center;text-decoration:none;display:flex}.ecosystem__list[data-astro-cid-tv4n2zuu] a[data-astro-cid-tv4n2zuu]:hover{color:var(--color-accent-on-dark)}@media (width>=64rem){.contact-cta__inner[data-astro-cid-tv4n2zuu]{column-gap:var(--grid-gap);grid-template-columns:repeat(12,minmax(0,1fr))}.contact-cta__index[data-astro-cid-tv4n2zuu]{grid-column:1/span 1}.contact-cta__main[data-astro-cid-tv4n2zuu]{grid-column:2/span 7}.contact-cta__profiles[data-astro-cid-tv4n2zuu]{grid-column:10/-1;align-self:end}}.home-section[data-astro-cid-zkhec6xw]{padding-top:var(--space-section);scroll-margin-top:5rem}.home-section--last[data-astro-cid-zkhec6xw]{padding-bottom:var(--space-section)}.band[data-astro-cid-zkhec6xw],.contact-section[data-astro-cid-zkhec6xw]{scroll-margin-top:5rem}.band[data-astro-cid-zkhec6xw]{margin-top:var(--space-section);background:var(--color-paper-2);border-block:1px solid var(--color-rule)}.band__inner[data-astro-cid-zkhec6xw]{padding-block:var(--space-section)}.home-projects[data-astro-cid-zkhec6xw]{margin-top:var(--space-4)}.profile[data-astro-cid-zkhec6xw]{row-gap:var(--space-4);align-items:start}.profile__sheet[data-astro-cid-zkhec6xw]{grid-column:1/-1;min-width:0}.profile__text[data-astro-cid-zkhec6xw]{gap:var(--space-4);grid-column:1/-1;min-width:0;display:grid}.profile__lead[data-astro-cid-zkhec6xw]{font-family:var(--font-display);font-size:var(--text-xl);letter-spacing:-.01em;text-wrap:pretty;margin:0;line-height:1.3}.profile__links[data-astro-cid-zkhec6xw]{align-items:center;gap:var(--space-2) var(--space-4);flex-wrap:wrap;margin:0;display:flex}.writing-empty[data-astro-cid-zkhec6xw]{gap:var(--space-2);padding-block:var(--space-4);border-top:1px dashed var(--color-rule-strong);border-bottom:1px dashed var(--color-rule-strong);justify-items:start;display:grid}.writing-empty__text[data-astro-cid-zkhec6xw]{max-width:24ch;font-family:var(--font-display);font-style:italic;font-size:var(--text-xl);margin:0;line-height:1.2}.writing-empty__link[data-astro-cid-zkhec6xw]{min-height:44px;font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.1em;text-transform:uppercase;color:var(--color-accent);align-items:center;gap:.5rem;font-weight:500;text-decoration:none;display:inline-flex}.writing-empty__link[data-astro-cid-zkhec6xw]:hover{color:var(--color-accent-strong);text-underline-offset:4px;text-decoration:underline}@media (width>=64rem){.profile__sheet[data-astro-cid-zkhec6xw]{grid-column:1/span 4}.profile__text[data-astro-cid-zkhec6xw]{grid-column:6/-1}.profile__lead[data-astro-cid-zkhec6xw]{font-size:clamp(1.6rem,1.1rem + 1.1vw,2.1rem);line-height:1.22}}
