@property --ring-angle{syntax: "<angle>"; initial-value: 0deg; inherits: false;}:root{--violet: #7c3aed;--violet-bright: #8b4dff;--violet-deep: #5b21b6;--carbon: #161617;--carbon-soft: #232326;--page: 1080px;--mono: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace;--sans: system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif}:root,:root[data-theme=light]{color-scheme:light;--ink: #161617;--ink-soft: #4a4a4a;--ink-faint: #737373;--paper: #ffffff;--paper-alt: #f6f6f7;--paper-stripe: #efeff1;--rule: #e4e4e7;--accent-on-page: var(--violet);--invert-bg: var(--carbon);--invert-bg-soft: var(--carbon-soft);--invert-bg-raised: #2a2a2f;--invert-stripe: #1d1d21;--invert-ink: #f4f4f5;--invert-ink-soft: #b4b4b8;--invert-ink-faint: #8a8a90;--invert-ink-dim: #6f6f77;--invert-rule: #2e2e33;--invert-rule-strong: #34343a;--invert-rule-dashed: #3a3a41;--invert-accent: var(--violet-bright);--shot-bg: #f4f4f5;--todo-bg: #fdf0c8;--todo-ink: #6b4e00}:root[data-theme=dark]{color-scheme:dark;--ink: #f4f4f5;--ink-soft: #c4c4c9;--ink-faint: #9a9aa2;--paper: #121214;--paper-alt: #1a1a1d;--paper-stripe: #232326;--rule: #2e2e33;--accent-on-page: #a882ff;--invert-bg: #e8e8ea;--invert-bg-soft: #f1f1f3;--invert-bg-raised: #d8d8dc;--invert-stripe: #dcdce0;--invert-ink: #161617;--invert-ink-soft: #4a4a4a;--invert-ink-faint: #5f5f5f;--invert-ink-dim: #8e8e96;--invert-rule: #e4e4e7;--invert-rule-strong: #d4d4d8;--invert-rule-dashed: #c8c8cd;--invert-accent: var(--violet);--shot-bg: #26262a;--todo-bg: #4a3c10;--todo-ink: #f7e3a1}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:1rem;line-height:1.65;-webkit-font-smoothing:antialiased}h1,h2,h3{line-height:1.2;letter-spacing:-.02em;font-weight:600;margin:0;text-wrap:balance}p{margin:0;text-wrap:pretty}a{color:inherit}img,svg{max-width:100%;height:auto;display:block}:focus-visible{outline:2px solid var(--accent-on-page);outline-offset:3px;border-radius:2px}[data-logo-tone=light]{display:none}:root[data-theme=dark] [data-logo-tone=light]:not([data-on-invert]){display:initial}:root[data-theme=dark] [data-logo-tone=dark]:not([data-on-invert]){display:none}[data-logo-tone=light][data-on-invert]{display:initial}[data-logo-tone=dark][data-on-invert]{display:none}:root[data-theme=dark] [data-logo-tone=light][data-on-invert]{display:none}:root[data-theme=dark] [data-logo-tone=dark][data-on-invert]{display:initial}.shell{width:100%;max-width:var(--page);margin-inline:auto;padding-inline:clamp(1.25rem,5vw,2.5rem)}.section{padding-block:clamp(3.5rem,9vw,6.5rem)}.eyebrow{font-family:var(--mono);font-size:.82rem;letter-spacing:.14em;text-transform:uppercase;color:var(--accent-on-page);margin:0 0 2.25rem;display:flex;align-items:center;gap:.75rem}.eyebrow:after{content:"";flex:1;height:1px;background:color-mix(in srgb,var(--accent-on-page) 35%,transparent)}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.skip-link{position:absolute;left:-9999px;top:0;background:var(--ink);color:var(--paper);padding:.6rem 1rem;z-index:10}.skip-link:focus{left:.5rem;top:.5rem}@supports (animation-timeline: view()){@media(prefers-reduced-motion:no-preference){.reveal{animation:reveal-in linear both;animation-timeline:view();animation-range:entry 10% cover 28%}.hero .reveal{animation:none}}}@supports (animation-timeline: view()){@media(prefers-reduced-motion:no-preference){.stagger>*:nth-child(1){animation-delay:0ms}.stagger>*:nth-child(2){animation-delay:70ms}.stagger>*:nth-child(3){animation-delay:.14s}.stagger>*:nth-child(4){animation-delay:.21s}.stagger>*:nth-child(5){animation-delay:.28s}.stagger>*:nth-child(n+6){animation-delay:.35s}}}@keyframes reveal-in{0%{opacity:0;transform:translateY(1.25rem)}to{opacity:1;transform:none}}html{scroll-behavior:smooth;scroll-padding-top:4.5rem}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}.band--alt{background:var(--paper-alt);border-block:1px solid var(--rule)}.tag-list{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.4rem}.tag{font-family:var(--mono);font-size:.7rem;letter-spacing:.04em;padding:.22rem .55rem;border-radius:4px;background:var(--paper-alt);color:var(--ink-soft)}.link-row{display:flex;flex-wrap:wrap;gap:1rem;margin-top:auto;padding-top:1rem;border-top:1px solid var(--rule)}.link-row__item{font-size:.875rem;text-decoration:none;color:var(--ink-soft);transition:color .15s ease}.link-row__item--primary{color:var(--ink);font-weight:500}.link-row__item:hover{text-decoration:underline;text-underline-offset:3px}body:has(dialog[open]){overflow:hidden}.card{--accent: var(--accent-on-page);display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--rule);border-radius:12px;background:var(--paper);transition:box-shadow .2s ease}.card:hover{box-shadow:0 14px 32px -18px color-mix(in srgb,var(--accent) 55%,transparent)}.card__zoom{display:block;position:relative;width:100%;padding:0;border:0;background:none;cursor:zoom-in;font:inherit;color:inherit}.card__zoom-hint{position:absolute;right:.6rem;bottom:.6rem;font-family:var(--mono);font-size:.62rem;letter-spacing:.08em;text-transform:uppercase;padding:.25rem .6rem;border-radius:999px;background:color-mix(in srgb,var(--carbon) 78%,transparent);color:#fff;opacity:0;transition:opacity .2s ease;pointer-events:none}.card:hover .card__zoom-hint,.card__zoom:focus-visible .card__zoom-hint{opacity:1}.card__shot{width:100%;aspect-ratio:8 / 5;object-fit:cover;object-position:top center;border-bottom:1px solid var(--rule);background:var(--shot-bg);filter:saturate(.9);transition:transform .35s ease,filter .35s ease}.card:hover .card__shot{transform:scale(1.04);filter:saturate(1.05)}.card__shot--logo{display:grid;place-items:center;background:var(--shot-bg);filter:none}.card__shot--logo img{width:5.5rem;height:5.5rem;object-fit:contain}.card:hover .card__shot--logo{transform:none}.card__shot--empty{display:grid;place-items:center;font-family:var(--mono);font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-faint);background:repeating-linear-gradient(-45deg,var(--paper-alt),var(--paper-alt) 10px,var(--paper-stripe) 10px,var(--paper-stripe) 20px)}.card__body{display:flex;flex-direction:column;gap:.8rem;padding:1.4rem;flex:1}.card__head{display:flex;flex-wrap:wrap;align-items:baseline;gap:.5rem .75rem}.card__name{font-size:1.1rem}.card__badge{font-family:var(--mono);font-size:.63rem;letter-spacing:.06em;text-transform:uppercase;color:var(--accent);border:1px solid color-mix(in srgb,var(--accent) 35%,var(--rule));border-radius:999px;padding:.15rem .5rem}.card__status{display:inline-flex;align-items:center;gap:.35rem;font-family:var(--mono);font-size:.63rem;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-faint);background:var(--paper-alt);border-radius:999px;padding:.15rem .55rem}.card__status:before{content:"";width:.4rem;height:.4rem;border-radius:50%;background:var(--ink-faint)}.card__desc{color:var(--ink-soft);font-size:.94rem}.card__role{font-size:.88rem;color:var(--ink-faint)}.card__stack{margin-top:auto}.card__note{font-size:.85rem;color:var(--ink-faint);padding-left:.75rem;border-left:2px solid var(--accent)}.card .link-row__item:hover{color:var(--accent)}@media(prefers-reduced-motion:reduce){.card__shot,.card:hover .card__shot{transform:none;transition:none}}@media(min-width:56rem){.card--featured{grid-column:span 2;flex-direction:row}.card--featured .card__zoom,.card--featured .card__shot--logo{width:45%;flex-shrink:0}.card--featured .card__shot{width:100%;height:100%;aspect-ratio:auto}}.card-grid{list-style:none;margin:0;padding:0;display:grid;gap:1.25rem;grid-template-columns:repeat(auto-fill,minmax(min(100%,21rem),1fr))}.theme-toggle[data-astro-cid-x3pjskd3]{position:relative;display:grid;place-items:center;width:2.1rem;height:2.1rem;padding:0;border:1px solid var(--rule);border-radius:50%;background:transparent;color:var(--ink-soft);cursor:pointer;flex-shrink:0;transition:color .15s ease,border-color .15s ease}.theme-toggle[data-astro-cid-x3pjskd3]:hover{color:var(--accent-on-page);border-color:var(--accent-on-page)}.theme-toggle[data-astro-cid-x3pjskd3] svg[data-astro-cid-x3pjskd3]{grid-area:1 / 1}.theme-toggle__label[data-astro-cid-x3pjskd3]{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.theme-toggle__label--to-light[data-astro-cid-x3pjskd3],:root[data-theme=dark] .theme-toggle__label--to-dark[data-astro-cid-x3pjskd3]{display:none}:root[data-theme=dark] .theme-toggle__label--to-light[data-astro-cid-x3pjskd3]{display:initial}.theme-toggle__moon[data-astro-cid-x3pjskd3]{display:none}:root[data-theme=dark] .theme-toggle__moon[data-astro-cid-x3pjskd3]{display:block}:root[data-theme=dark] .theme-toggle__sun[data-astro-cid-x3pjskd3]{display:none}.nav[data-astro-cid-4lunwx2e]{position:sticky;top:0;z-index:20;background:color-mix(in srgb,var(--paper) 88%,transparent);backdrop-filter:blur(10px);border-bottom:1px solid var(--rule)}.nav__progress[data-astro-cid-4lunwx2e]{position:absolute;left:0;bottom:-1px;height:2px;width:100%;background:var(--accent-on-page);transform:scaleX(0);transform-origin:left;will-change:transform}.nav__inner[data-astro-cid-4lunwx2e]{display:flex;align-items:center;gap:1rem 1.5rem;min-height:3.5rem;flex-wrap:wrap;padding-block:.5rem}.nav__brand[data-astro-cid-4lunwx2e]{font-weight:600;font-size:.95rem;text-decoration:none;letter-spacing:-.01em;white-space:nowrap}.nav__list[data-astro-cid-4lunwx2e]{list-style:none;display:flex;flex-wrap:wrap;gap:.25rem 1.25rem;margin:0;padding:0;flex:1}.nav__link[data-astro-cid-4lunwx2e]{font-size:.875rem;color:var(--ink-soft);text-decoration:none;padding-block:.35rem;transition:color .15s ease}.nav__link[data-astro-cid-4lunwx2e]:hover,.nav__link[data-astro-cid-4lunwx2e][data-active]{color:var(--accent-on-page)}.nav__actions[data-astro-cid-4lunwx2e]{display:flex;align-items:center;gap:.6rem}.nav__cta[data-astro-cid-4lunwx2e]{font-size:.85rem;text-decoration:none;padding:.4rem .9rem;border-radius:999px;background:var(--ink);color:var(--paper);white-space:nowrap;transition:background-color .15s ease}.nav__cta[data-astro-cid-4lunwx2e]:hover,.nav__cta[data-astro-cid-4lunwx2e]:focus-visible,.nav__cta[data-astro-cid-4lunwx2e]:active{background:var(--violet-deep);color:#fff}.nav__burger[data-astro-cid-4lunwx2e],.nav__list-cta[data-astro-cid-4lunwx2e]{display:none}@media(max-width:34rem){.nav__cta[data-astro-cid-4lunwx2e]{display:none}}@media(max-width:48rem){.nav__burger[data-astro-cid-4lunwx2e]{display:grid;place-content:center;gap:4px;width:2.1rem;height:2.1rem;padding:0;border:1px solid var(--rule);border-radius:50%;background:transparent;cursor:pointer;flex-shrink:0}.nav__burger-bar[data-astro-cid-4lunwx2e]{display:block;width:14px;height:1.5px;border-radius:2px;background:var(--ink-soft);transition:transform .2s ease,opacity .15s ease}.nav__burger[data-astro-cid-4lunwx2e][aria-expanded=true] .nav__burger-bar[data-astro-cid-4lunwx2e]:first-child{transform:translateY(5.5px) rotate(45deg)}.nav__burger[data-astro-cid-4lunwx2e][aria-expanded=true] .nav__burger-bar[data-astro-cid-4lunwx2e]:nth-child(2){opacity:0}.nav__burger[data-astro-cid-4lunwx2e][aria-expanded=true] .nav__burger-bar[data-astro-cid-4lunwx2e]:last-child{transform:translateY(-5.5px) rotate(-45deg)}.nav__burger[data-astro-cid-4lunwx2e]:hover .nav__burger-bar[data-astro-cid-4lunwx2e]{background:var(--accent-on-page)}.nav__inner[data-astro-cid-4lunwx2e]{position:relative;flex-wrap:nowrap;gap:.6rem}.nav__actions[data-astro-cid-4lunwx2e]{margin-left:auto}.nav__brand[data-astro-cid-4lunwx2e]{min-width:0;overflow:hidden;text-overflow:ellipsis}.nav__list[data-astro-cid-4lunwx2e]{position:absolute;top:calc(100% + .5rem);right:0;left:0;flex-direction:column;align-items:stretch;gap:0;padding:.4rem;border:1px solid var(--rule);border-radius:12px;background:var(--paper);box-shadow:0 18px 40px -24px #00000073;visibility:hidden;opacity:0;transform:translateY(-.4rem);transition:opacity .18s ease,transform .18s ease,visibility .18s ease}.nav__list[data-astro-cid-4lunwx2e][data-open]{visibility:visible;opacity:1;transform:none}.nav__list[data-astro-cid-4lunwx2e]>li[data-astro-cid-4lunwx2e]{width:100%}.nav__link[data-astro-cid-4lunwx2e]{display:block;padding:.7rem .75rem;border-radius:8px}.nav__link[data-astro-cid-4lunwx2e]:hover,.nav__link[data-astro-cid-4lunwx2e][data-active]{background:var(--paper-alt)}.nav__list-cta[data-astro-cid-4lunwx2e]{display:block;margin-top:.2rem;border-top:1px solid var(--rule);padding-top:.2rem}.nav__list-cta[data-astro-cid-4lunwx2e] .nav__link[data-astro-cid-4lunwx2e]{color:var(--accent-on-page)}}@media(prefers-reduced-motion:reduce){.nav__list[data-astro-cid-4lunwx2e],.nav__burger-bar[data-astro-cid-4lunwx2e]{transition:none}}.footer__logo{width:8.5rem;height:auto}.footer[data-astro-cid-sz7xmlte]{border-top:1px solid var(--rule);background:var(--paper-alt);padding-block:3.5rem 2rem}.footer__top[data-astro-cid-sz7xmlte]{display:grid;gap:2.5rem;grid-template-columns:repeat(auto-fit,minmax(min(100%,14rem),1fr))}.footer__brand[data-astro-cid-sz7xmlte]{display:flex;flex-direction:column;gap:.85rem}.footer__logo[data-astro-cid-sz7xmlte]+[data-astro-cid-sz7xmlte]{margin-top:-.5rem}.footer__publisher[data-astro-cid-sz7xmlte]{font-size:.85rem;color:var(--ink-faint);max-width:28ch;margin-top:-1rem}.footer__publisher[data-astro-cid-sz7xmlte] strong[data-astro-cid-sz7xmlte]{color:var(--ink-soft);font-weight:600}.footer__contact[data-astro-cid-sz7xmlte]{font-family:var(--mono);font-size:.85rem;color:var(--ink-soft);text-decoration:none;justify-self:start;transition:color .15s ease}.footer__contact[data-astro-cid-sz7xmlte]:hover{color:var(--accent-on-page);text-decoration:underline;text-underline-offset:3px}.footer__nav-title[data-astro-cid-sz7xmlte]{font-family:var(--mono);font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-faint);margin-bottom:.2rem}.footer__nav[data-astro-cid-sz7xmlte]{display:flex;flex-direction:column;gap:.5rem;align-items:start;padding-top:1rem}@media(max-width:45rem){.footer__nav[data-astro-cid-sz7xmlte]{padding-top:0}}.footer__nav[data-astro-cid-sz7xmlte] a[data-astro-cid-sz7xmlte]{font-size:.9rem;text-decoration:none;color:var(--ink-soft);transition:color .15s ease}.footer__nav[data-astro-cid-sz7xmlte] a[data-astro-cid-sz7xmlte]:hover{color:var(--accent-on-page);text-decoration:underline;text-underline-offset:3px}.footer__bottom[data-astro-cid-sz7xmlte]{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.75rem 2rem;margin-top:3rem;padding-top:1.5rem;border-top:1px solid var(--rule)}.footer__copy[data-astro-cid-sz7xmlte]{font-size:.8rem;color:var(--ink-faint)}.colophon[data-astro-cid-sz7xmlte]{display:flex;flex-wrap:wrap;align-items:baseline;gap:.4rem;font-size:.78rem;color:var(--ink-faint)}.colophon__label[data-astro-cid-sz7xmlte]{font-family:var(--mono);letter-spacing:.06em;text-transform:uppercase;font-size:.68rem}.colophon__tech[data-astro-cid-sz7xmlte]{font-family:var(--mono);color:var(--ink-soft)}.colophon__sep[data-astro-cid-sz7xmlte]{color:var(--rule)}.colophon__note[data-astro-cid-sz7xmlte]{flex-basis:100%;color:var(--ink-faint)}@media(min-width:40rem){.colophon__note[data-astro-cid-sz7xmlte]{flex-basis:auto;padding-left:.5rem;border-left:1px solid var(--rule)}}.scroll-btn[data-astro-cid-6sqskfy5]{position:fixed;right:1.75rem;bottom:1.75rem;z-index:15;display:grid;place-items:center;width:2.75rem;height:2.75rem;border:1px solid var(--invert-bg);border-radius:50%;background:var(--invert-bg);color:var(--invert-ink);cursor:pointer;opacity:0;visibility:hidden;transform:translateY(.5rem);transition:opacity .2s ease,visibility .2s ease,transform .2s ease,border-color .15s ease,background-color .15s ease}.scroll-btn[data-astro-cid-6sqskfy5][data-visible]{opacity:1;visibility:visible;transform:none}.scroll-btn[data-astro-cid-6sqskfy5]:hover,.scroll-btn[data-astro-cid-6sqskfy5]:focus-visible,.scroll-btn[data-astro-cid-6sqskfy5]:active{border-color:var(--violet);background:var(--violet);color:#fff}@media(max-width:48rem){.scroll-btn[data-astro-cid-6sqskfy5]{display:none}}@media(prefers-reduced-motion:reduce){.scroll-btn[data-astro-cid-6sqskfy5]{transition:none}}
