:root{--ink:#000;--ink-soft:#0e0e0e;--paper:#fff;--paper-tint:#f2fbf7;--rule:#d9d9d9;--grey-100:#e6e6e6;--grey-300:#b3b3b3;--grey-500:#666;--grey-600:#4d4d4d;--sage-200:#e1eadd;--sage-300:#cddcc7;--sage-500:#a4b09f;--sage-600:#909a8b;--sage-700:#676e64;--mint-100:#f4fef9;--mint-200:#d1fae2;--mint-300:#75f1a8;--mint-500:#19e76e;--mint-600:#00b86b;--mint-700:#0f8b42;--mint-800:#0a5c2c;--orchid-100:#fff6ff;--orchid-300:#ffd6fe;--orchid-500:#ffa9fd;--orchid-600:#cc87ca;--veil:#ffffffb8;--face-display:var(--font-inter-tight), ui-sans-serif, system-ui, sans-serif;--face-mono:var(--font-chivo-mono), ui-monospace, monospace;--weight-regular:400;--weight-semibold:600;--weight-bold:700;--font-size-mega:3.75rem;--line-height-mega:4rem;--letter-spacing-mega:-.03em;--font-size-title:2.75rem;--line-height-title:3rem;--font-size-headline:2.125rem;--line-height-headline:2.5rem;--font-size-heading:1.375rem;--line-height-heading:1.625rem;--font-size-subheading:1.125rem;--line-height-subheading:1.5rem;--font-size-intro:1.125rem;--line-height-intro:1.5rem;--font-size-summary:1.125rem;--line-height-summary:1.5rem;--font-size-copy:.875rem;--line-height-copy:1.5;--font-size-nav:1rem;--line-height-nav:1.5rem;--font-size-label:.875rem;--line-height-label:1.125rem;--font-size-label-sm:.75rem;--line-height-label-sm:1.125rem;--font-size-tag:.625rem;--line-height-tag:.875rem;--font-size-wordmark:1.375rem;--letter-spacing-wordmark:-.01em;--letter-spacing-display:-.03em;--letter-spacing-ui:-.02em;--space-px:1px;--space-0-5:.125rem;--space-1:.25rem;--space-1-5:.375rem;--space-2:.5rem;--space-2-5:.625rem;--space-3:.75rem;--space-3-5:.875rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-7:1.75rem;--space-8:2rem;--space-9:2.25rem;--space-10:2.5rem;--space-12:3rem;--space-14:3.5rem;--space-16:4rem;--space-20:5rem;--space-24:6rem;--space-28:7rem;--space-32:8rem;--measure-xs:24rem;--measure-sm:28rem;--measure-md:32rem;--measure-lg:36rem;--measure-xl:42rem;--measure-2xl:56rem;--frame-max:81rem;--frame-gutter:1rem;--announce-height:2.5rem;--nav-height:2.375rem;--nav-space:.75rem;--nav-link-x:.75rem;--nav-link-y:.4375rem;--caret-size:.625rem;--hero-min:31.25rem;--hero-title-nudge:-.5rem;--hero-visual-width:110%;--hero-visual-scale:.9;--cell-pad:1.5rem;--logo-row:4.5rem;--menu-width:60rem;--menu-shadow:0 16px 40px #0000000f;--tag-pad-x:.375rem;--tag-pad-y:.125rem;--stats-left:58%;--stats-top:24%;--dot-size:.375rem;--hover-dim:.7;--z-raised:2;--z-overlay:40;--z-nav:50;--dash-pattern:3 3;--dash-travel:-12;--step-delay:80ms;--lead-delay:.1s;--easing-snap:cubic-bezier(.5, .2, .4, 1);--easing-wave:cubic-bezier(.455, .03, .515, .955);--fill-duration:.236s;--line-duration:2s;--rise-duration:.8s;--rise-distance:1.25rem;--highlight-duration:.8s;--highlight-delay:.3s;--block-duration:.7s;--block-flash-duration:1.6s;--roll-duration:1.8s;--bob-duration:5s;--bob-distance:-6px;--flow-duration:1.2s;--packet-duration:3.6s;--blink-duration:1.4s;--nudge:.25rem;--sweep-height:2px;--ticker-duration:40s;--ship-text-xs:8px;--ship-text-sm:9px;--ship-text-md:10px;--ship-text-lg:12px;--ship-text-xl:15px;--ship-ease:var(--easing-snap);--ship-fade-duration:.4s;--ship-type-duration:1.1s;--ship-move-duration:.6s;--ship-grow-duration:.52s;--ship-draw-duration:.9s;--ship-draw-delay:.3s;--ship-assemble-duration:.7s;--ship-ping-duration:.9s;--ship-ping-scale:2.6;--ship-stagger:90ms;--ship-stagger-tight:45ms;--ship-shift:6px;--px-text-xs:8px;--px-text-sm:9px;--px-text-score:20px;--px-ping-duration:2.4s;--px-ping-scale:2.4;--px-fill-duration:3.2s;--px-wave-duration:3s;--px-wave-step:.22s;--px-wave-low:.3;--px-scan-duration:2.4s;--px-drift-duration:7s;--px-flag-duration:4s;--px-flag-travel:14px;--px-tick-length:12;--resume-width:52rem;--resume-gutter:8.5rem;--resume-name-size:2.25rem;--resume-name-line-height:1.05;--resume-bullet:var(--space-1-5);--resume-backdrop:#00000073;--talk-width:28rem;--talk-area-height:5.5rem;--z-chat:60;--chat-offset:var(--space-4);--chat-width:26rem;--chat-height:40rem;--chat-launcher-height:3rem;--chat-mark-size:1.125rem;--chat-label-mark-size:.75rem;--chat-control-size:2.25rem;--chat-input-max:8rem;--chat-bubble-max:88%;--chat-bubble-radius:1rem;--chat-tail-width:.625rem;--chat-tail-height:1rem;--chat-tail-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 16' preserveAspectRatio='none'%3E%3Cpath d='M0 0Q1 13 10 16H0Z'/%3E%3C/svg%3E");--chat-reply-fill:var(--sage-200);--chat-reply-fill-hover:var(--sage-300);--chat-inner-radius:.625rem;--chat-control-radius:.375rem;--chat-text-size:.875rem;--chat-text-line-height:1.4;--chat-caret-width:.5em;--chat-caret-height:1em;--chat-card-media:6rem;--chat-link-offset:.2em;--chat-shadow:0 24px 60px #0000001f;--chat-rise-duration:.32s;--chat-glow-duration:2.4s;--typing-duration:1s}@media (min-width:48rem){:root{--font-size-mega:5.5rem;--line-height-mega:5rem;--letter-spacing-mega:-.02em;--font-size-title:4rem;--line-height-title:4.375rem;--font-size-headline:3rem;--line-height-headline:3.75rem;--font-size-heading:1.5rem;--line-height-heading:1.875rem;--font-size-intro:1.5rem;--line-height-intro:2rem;--font-size-summary:1.25rem;--line-height-summary:1.75rem;--font-size-copy:1rem;--font-size-label:1rem;--line-height-label:1.5rem;--font-size-label-sm:.875rem;--font-size-tag:.6875rem;--font-size-wordmark:1.625rem;--nav-space:1.5rem;--cell-pad:2.5rem;--logo-row:5.625rem;--chat-offset:var(--space-6)}}.home{background-color:var(--paper);color:var(--ink);font-family:var(--face-display)}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.frame{width:100%;max-width:var(--frame-max);padding-inline:var(--frame-gutter);margin-inline:auto;position:relative}.frame__edges{inset-block:0;inset-inline:var(--frame-gutter);pointer-events:none;display:none;position:absolute}.grid-line{z-index:1;pointer-events:none;position:absolute}.grid-line--top,.grid-line--bottom{background:var(--rule);height:1px;left:0;right:0}.grid-line--left,.grid-line--right{background:var(--rule);width:1px;top:0;bottom:0}.grid-line--top{top:0}.grid-line--bottom{bottom:0}.grid-line--left{left:0}.grid-line--right{right:0}.grid-line--bleed-left{left:-100vw}.grid-line--bleed-up{top:-100vh}.grid-line--bleed-down{bottom:-100vh}.grid-line:before{content:"";background:var(--line-cover,var(--paper));transform-origin:100%;position:absolute;inset:0}.grid-line--left:before,.grid-line--right:before{transform-origin:bottom}[data-inview] .grid-line--top:before,[data-inview] .grid-line--bottom:before{animation:line-wipe-x var(--line-duration) var(--easing-snap) var(--line-delay,0s) forwards}[data-inview] .grid-line--left:before,[data-inview] .grid-line--right:before{animation:line-wipe-y var(--line-duration) var(--easing-snap) var(--line-delay,0s) forwards}.rise{opacity:0;translate:0 var(--rise-distance)}[data-inview] .rise{animation:rise-in var(--rise-duration) var(--easing-snap) var(--rise-delay,0s) forwards}.highlight{background-image:linear-gradient(var(--mint-500), var(--mint-500));background-repeat:no-repeat;background-size:0 100%}[data-inview] .highlight{animation:highlight-grow var(--highlight-duration) var(--easing-wave) var(--highlight-delay) forwards}.color-block{z-index:var(--z-raised);background-color:var(--mint-500);pointer-events:none;transform-origin:var(--block-origin,left);display:none;position:absolute;scale:0 1}.color-block--flash{--block-keyframes:block-flash;--block-time:var(--block-flash-duration)}[data-inview] .color-block{animation:var(--block-keyframes,block-grow) var(--block-time,var(--block-duration)) var(--easing-snap) var(--block-delay,0s) forwards}.roll{line-height:1;display:inline-flex}.roll__digit{height:1em;display:inline-block;position:relative;overflow:hidden}.roll__strip{transition:translate var(--roll-duration) var(--easing-snap) var(--roll-delay,0s);flex-direction:column;display:flex;translate:0}[data-inview] .roll__strip{translate:0 calc(var(--digit) * -10%)}.roll__cell{height:1em}.chevron{flex-shrink:0;width:1em;height:1em}.fill-btn{width:max-content;font-family:var(--face-mono);text-transform:uppercase;outline-offset:0;transition:color var(--fill-duration) var(--easing-snap), outline-color var(--fill-duration) var(--easing-snap);outline:1px solid;display:block}.fill-btn--solid{background-color:var(--ink);color:var(--paper);outline-color:var(--ink)}.fill-btn--outline{background-color:var(--paper);color:var(--ink);outline-color:var(--grey-100)}.fill-btn--outline:hover,.fill-btn--outline:focus-visible{outline-color:var(--ink)}.fill-btn--full{width:100%}.fill-btn__inner{white-space:nowrap;justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.fill-btn--md .fill-btn__inner{gap:var(--space-3);padding:var(--space-3) var(--space-4);font-size:var(--font-size-label);line-height:var(--line-height-label);letter-spacing:var(--letter-spacing-ui)}.fill-btn--sm .fill-btn__inner{gap:var(--space-2);padding:var(--space-1) var(--space-2);font-size:var(--font-size-label-sm);line-height:var(--line-height-label-sm);letter-spacing:var(--letter-spacing-ui)}.fill-btn__fill{height:var(--sweep-height);background-color:var(--mint-500);transform-origin:0;transition:scale var(--fill-duration) var(--easing-snap);position:absolute;inset:auto 0 0;scale:0 1}.fill-btn:hover .fill-btn__fill,.fill-btn:focus-visible .fill-btn__fill{scale:1}.fill-btn__label{position:relative}.fill-btn__icon{margin-bottom:var(--space-px);transition:translate var(--fill-duration) var(--easing-snap);position:relative}.fill-btn:hover .fill-btn__icon{translate:var(--nudge) 0}.button-row{gap:var(--space-4);flex-direction:column;display:flex}.tag-pill{width:fit-content;padding:var(--space-1) var(--space-2);border:1px solid var(--sage-600);background-color:var(--paper-tint);color:var(--sage-700);font-family:var(--face-mono);font-size:var(--font-size-label);text-transform:uppercase;-webkit-user-select:none;user-select:none;line-height:1;display:inline-flex}.brand{align-items:center;gap:var(--space-2);color:var(--ink);display:flex}.brand--inverse{color:var(--paper)}.brand__mark{height:var(--space-5);aspect-ratio:4/5;fill:currentColor;flex-shrink:0}.brand__cell{transition:fill var(--fill-duration) var(--easing-snap);transition-delay:calc(var(--step-delay) * var(--cell-index) / 2)}.brand:hover .brand__cell{fill:var(--mint-500)}.brand__word{font-size:var(--font-size-wordmark);letter-spacing:var(--letter-spacing-wordmark);font-weight:700;line-height:1}.section-head{gap:var(--space-4);padding:var(--space-12) var(--space-6);flex-direction:column;display:flex;position:relative}.section-head--center{align-items:center;gap:var(--space-6);text-align:center}.section-head__title{font-size:var(--font-size-title);font-weight:var(--weight-semibold);line-height:var(--line-height-title);letter-spacing:var(--letter-spacing-display);text-wrap:balance}.section-head__title--wide{max-width:var(--measure-2xl)}.section-head__lead{max-width:var(--measure-xl);font-size:var(--font-size-summary);line-height:var(--line-height-summary);letter-spacing:var(--letter-spacing-ui);text-wrap:pretty}.card-title{font-size:var(--font-size-heading);font-weight:var(--weight-semibold);line-height:var(--line-height-heading);letter-spacing:var(--letter-spacing-ui)}.card-text{max-width:var(--measure-sm);color:var(--grey-600);font-size:var(--font-size-copy);line-height:var(--line-height-copy)}.announce{background-color:var(--mint-500);color:var(--ink)}.announce__link{justify-content:center;align-items:center;column-gap:var(--space-2);min-height:var(--announce-height);max-width:var(--frame-max);padding:var(--space-2) var(--frame-gutter);font-size:var(--font-size-copy);line-height:var(--line-height-copy);text-align:center;flex-wrap:wrap;margin-inline:auto;display:flex}.announce__cta{align-items:center;gap:var(--space-1);font-family:var(--face-mono);text-underline-offset:var(--space-1);text-transform:uppercase;text-decoration:underline;text-decoration-thickness:1px;display:inline-flex}.announce__icon{transition:translate var(--fill-duration) var(--easing-snap)}.announce__link:hover .announce__icon{translate:var(--nudge) 0}.site-nav{z-index:var(--z-nav);background-color:var(--paper);position:sticky;top:0}.site-nav__frame{padding-block:var(--nav-space)}.site-nav__bar{height:var(--nav-height);justify-content:space-between;align-items:center;display:flex}.site-nav__start{align-items:center;gap:var(--space-6);display:flex;position:relative}.site-nav__home{align-items:center;display:flex}.site-nav__links,.site-nav__secondary{align-items:center;gap:var(--space-0-5);display:none;position:relative}.site-nav__end{align-items:center;gap:var(--space-2);display:flex}.site-nav__outline{display:none}.site-nav__toggle{width:var(--space-9);height:var(--space-9);margin-left:var(--space-2);padding:var(--space-3) var(--space-2);cursor:pointer;flex-direction:column;justify-content:space-between;display:flex}.site-nav__toggle-line{background-color:var(--ink);width:100%;height:1px;transition:translate var(--fill-duration) var(--easing-snap), rotate var(--fill-duration) var(--easing-snap);display:block}.site-nav__toggle--open .site-nav__toggle-line:first-child{translate:0 calc(var(--space-1-5) - .5px);rotate:45deg}.site-nav__toggle--open .site-nav__toggle-line:last-child{translate:0 calc(var(--space-1-5) * -1 + .5px);rotate:-45deg}.site-nav__veil{z-index:var(--z-overlay);background-color:var(--veil);position:fixed;inset:0}.nav-link{align-items:center;gap:var(--space-1);padding:var(--nav-link-y) var(--nav-link-x);color:var(--ink);font-size:var(--font-size-nav);line-height:var(--line-height-nav);cursor:pointer;display:flex;position:relative;overflow:hidden}.nav-link__fill{height:var(--sweep-height);background-color:var(--mint-500);transform-origin:0;transition:scale var(--fill-duration) var(--easing-snap);position:absolute;inset:auto 0 0;scale:0 1}.nav-link:hover .nav-link__fill,.nav-link__fill--active{scale:1}.nav-link__label{position:relative}.nav-link__caret{width:var(--caret-size);height:var(--caret-size);color:var(--sage-700);transition:rotate var(--fill-duration) var(--easing-snap), color var(--fill-duration) var(--easing-snap);position:relative}.nav-link:hover .nav-link__caret,.nav-link__caret--open{color:var(--ink);rotate:180deg}.mega-menu{z-index:var(--z-nav);padding-top:var(--space-3);position:absolute;top:100%;left:0}.mega-menu__panel{width:var(--menu-width);max-width:calc(100vw - var(--frame-gutter) * 2);border:1px solid var(--rule);background-color:var(--paper);box-shadow:var(--menu-shadow)}.mega-menu__heading{padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--rule);background-color:var(--paper-tint);font-family:var(--face-mono);font-size:var(--font-size-label-sm);line-height:var(--line-height-label-sm)}.mega-menu__cards{grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.mega-menu__card,.mega-menu__group{border-right:1px solid var(--rule)}.mega-menu__card:last-child,.mega-menu__group:last-child{border-right:0}.mega-menu__card-link{gap:var(--space-3);height:100%;padding:var(--space-4);transition:background-color var(--fill-duration) var(--easing-snap);flex-direction:column;display:flex}.mega-menu__card-link:hover,.mega-menu__link:hover{background-color:var(--paper-tint)}.mega-menu__icon{width:var(--space-12);height:var(--space-12)}.mega-menu__card-title{font-size:var(--font-size-copy);font-weight:var(--weight-semibold);line-height:var(--line-height-subheading)}.mega-menu__card-text{color:var(--grey-500);font-size:var(--font-size-label-sm);line-height:var(--line-height-label-sm)}.mega-menu__groups{border-top:1px solid var(--rule);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.mega-menu__links{padding-block:var(--space-2);flex-direction:column;display:flex}.mega-menu__link{padding:var(--space-2) var(--space-4);font-size:var(--font-size-copy);transition:background-color var(--fill-duration) var(--easing-snap);display:block}.mobile-menu{height:calc(100dvh - var(--nav-height) - var(--nav-space) * 2);background-color:var(--paper);position:absolute;top:100%;left:0;right:0;overflow-y:auto}.mobile-menu__frame{padding-top:var(--space-4);padding-bottom:calc(var(--space-4) + var(--announce-height));flex-direction:column;display:flex}.mobile-menu__group{padding-block:var(--space-2);border-bottom:1px solid var(--rule)}.mobile-menu__link{padding-block:var(--space-2);font-size:var(--font-size-heading);font-weight:var(--weight-semibold);line-height:var(--line-height-heading);display:block}.mobile-menu__sublinks{padding-bottom:var(--space-2);flex-direction:column;display:flex}.mobile-menu__sublink{padding-block:var(--space-1-5);color:var(--grey-500);font-size:var(--font-size-copy);display:block}.mobile-menu__actions{gap:var(--space-2);padding-top:var(--space-6);flex-direction:column;display:flex}.hero{width:100%;position:relative;overflow:hidden}.hero__frame{align-content:center;column-gap:var(--space-6);padding-block:var(--space-12);grid-template-columns:minmax(0,1fr);display:grid}.hero__edge{inset-block:0;inset-inline:var(--frame-gutter);z-index:3;pointer-events:none;display:none;position:absolute}.hero__copy{z-index:var(--z-raised);gap:var(--space-4);flex-direction:column;display:flex;position:relative}.hero__row{position:relative}.hero__guides{pointer-events:none;display:none;position:absolute;inset:0}.hero__title{margin-top:var(--hero-title-nudge);font-size:var(--font-size-mega);font-weight:var(--weight-semibold);line-height:var(--line-height-mega);letter-spacing:var(--letter-spacing-mega);flex-direction:column;display:flex}.hero__body{font-size:var(--font-size-intro);line-height:var(--line-height-intro);letter-spacing:var(--letter-spacing-ui);text-wrap:pretty}.hero__actions{gap:var(--space-2);padding:var(--space-px);flex-direction:column;display:flex}.hero__actions .fill-btn{width:100%}.hero__block--title-end{--block-origin:right;width:var(--space-32);height:var(--space-8);top:100%;right:0}.hero__block--title-top{top:calc(var(--space-4) * -1);width:var(--space-8);height:var(--space-4);right:0}.hero__block--body-start{bottom:0;left:calc(var(--space-12) * -1);width:var(--space-8);height:var(--space-4)}.hero__block--actions-start{--block-origin:right;top:100%;left:calc(var(--space-28) * -1);width:var(--space-28);height:var(--space-8)}.hero__visual{z-index:1;display:none;position:relative}.hero__visual-inner{max-width:var(--measure-lg);margin-inline:auto}.ship__text{font-family:var(--face-mono)}.ship__text--xs{font-size:var(--ship-text-xs);text-transform:uppercase}.ship__text--sm{font-size:var(--ship-text-sm)}.ship__text--md{font-size:var(--ship-text-md);text-transform:uppercase}.ship__text--lg{font-size:var(--ship-text-lg)}.ship__text--xl{font-size:var(--ship-text-xl);font-weight:var(--weight-semibold)}.ship__text--light{fill:var(--paper)}.ship__text--dim{fill:var(--grey-300)}.ship__text--muted{fill:var(--grey-500)}.ship__text--accent{fill:var(--mint-500)}.ship__text--ink,.ship__terminal-body{fill:var(--ink)}.ship__terminal-bar{fill:var(--ink-soft)}.ship__dot{fill:var(--grey-600)}.ship__dot--accent{fill:var(--mint-500)}.ship__type-cover{fill:var(--ink);transform-box:fill-box;transform-origin:100%;transition:transform var(--ship-type-duration) steps(var(--chars), end)}.ship__type-cover.is-on{transform:scaleX(0)}.ship__cursor{fill:var(--mint-500);animation:px-blink var(--blink-duration) steps(1) infinite}.ship__cursor--typing{transition:transform var(--ship-type-duration) steps(var(--chars), end)}.ship__cursor--typing.is-on{transform:translateX(var(--travel))}.ship__cursor-slot,.ship__output{opacity:0;transition:opacity var(--ship-fade-duration) var(--ship-ease), transform var(--ship-fade-duration) var(--ship-ease)}.ship__output{transform:translateX(calc(var(--ship-shift) * -1))}.ship__cursor-slot.is-on,.ship__output.is-on{opacity:1;transform:none}.ship__track{fill:none;stroke:var(--grey-300);stroke-dasharray:var(--dash-pattern)}.ship__track-fill{fill:none;stroke:var(--mint-500);stroke-width:2px;stroke-dasharray:1;transition:stroke-dashoffset var(--ship-move-duration) var(--ship-ease)}.ship__node{fill:var(--paper);stroke:var(--ink);transition:fill var(--ship-fade-duration) var(--ship-ease)}.ship__stage.is-on .ship__node{fill:var(--mint-500)}.ship__ping{fill:none;stroke:var(--mint-500);opacity:0;transform-box:fill-box;transform-origin:50%}.ship__stage.is-on .ship__ping{animation:ship-ping var(--ship-ping-duration) var(--easing-wave) 1}.ship__stage-name{fill:var(--grey-500);transition:fill var(--ship-fade-duration) var(--ship-ease)}.ship__stage.is-on .ship__stage-name{fill:var(--ink)}.ship__packet{fill:var(--mint-500);stroke:var(--ink);opacity:0;transform:translate(var(--x), var(--y));transition:transform var(--ship-move-duration) var(--ship-ease), opacity var(--ship-fade-duration) var(--ship-ease)}.ship__packet.is-on{opacity:1}.ship__window,.ship__window-bar{fill:var(--paper);stroke:var(--ink)}.ship__window-dot{fill:var(--grey-100);transition:fill var(--ship-fade-duration) var(--ship-ease)}.ship__browser.is-live .ship__window-dot--accent{fill:var(--mint-500)}.ship__url{fill:var(--paper-tint);stroke:var(--grey-100)}.ship__badge{opacity:0;transform:translateY(calc(var(--ship-shift) * -1));transition:opacity var(--ship-fade-duration) var(--ship-ease), transform var(--ship-fade-duration) var(--ship-ease)}.ship__badge.is-on{opacity:1;transform:none}.ship__badge-body{fill:var(--mint-500)}.ship__badge-dot{fill:var(--ink);animation:chat-glow var(--chat-glow-duration) var(--easing-wave) infinite}.ship__sidebar{fill:var(--paper-tint)}.ship__nav{fill:var(--grey-100);transition:fill var(--ship-fade-duration) var(--ship-ease)}.ship__nav.is-on{fill:var(--mint-500)}.ship__card{fill:var(--paper);stroke:var(--grey-100)}.ship__skeleton{fill:var(--grey-100);animation:chat-glow var(--chat-glow-duration) var(--easing-wave) infinite;transition:opacity var(--ship-fade-duration) var(--ship-ease)}.ship__kpi.is-on .ship__skeleton{opacity:0;animation:none}.ship__kpi-value{opacity:0;transform:translateY(var(--ship-shift));transition:opacity var(--ship-fade-duration) var(--ship-ease) calc(var(--i) * var(--ship-stagger)), transform var(--ship-fade-duration) var(--ship-ease) calc(var(--i) * var(--ship-stagger))}.ship__kpi.is-on .ship__kpi-value{opacity:1;transform:none}.ship__axis{stroke:var(--grey-100)}.ship__bar{fill:var(--mint-300);transform-box:fill-box;transform-origin:bottom;transition:transform var(--ship-grow-duration) var(--ship-ease) calc(var(--i) * var(--ship-stagger-tight));transform:scaleY(0)}.ship__bar--peak{fill:var(--mint-500)}.ship__chart.is-on .ship__bar{transform:scaleY(1)}.ship__trend{fill:none;stroke:var(--ink);stroke-width:1.5px;stroke-dasharray:1;stroke-dashoffset:1px;transition:stroke-dashoffset var(--ship-draw-duration) var(--easing-wave) var(--ship-draw-delay)}.ship__chart.is-on .ship__trend{stroke-dashoffset:0}.ship__trend-head{fill:var(--ink);opacity:0;transition:opacity var(--ship-fade-duration) var(--ship-ease) calc(var(--ship-draw-delay) + var(--ship-draw-duration))}.ship__chart.is-on .ship__trend-head{opacity:1}.ship__row-status,.ship__row-bar{fill:var(--grey-100);transition:fill var(--ship-fade-duration) var(--ship-ease) calc(var(--i) * var(--ship-stagger))}.ship__rows.is-on .ship__row-status{fill:var(--mint-500)}.ship__rows.is-on .ship__row-bar{fill:var(--grey-300)}.ship__mark{animation:px-bob var(--bob-duration) var(--easing-wave) infinite}.ship__cell{fill:var(--ink);opacity:.12;transform:translate(var(--dx), var(--dy));transition:transform var(--ship-assemble-duration) var(--ship-ease) calc(var(--i) * var(--ship-stagger)), opacity var(--ship-assemble-duration) var(--ship-ease) calc(var(--i) * var(--ship-stagger))}.ship__cell--cursor{fill:var(--mint-500)}.ship__mark.is-on .ship__cell{opacity:1;transform:none}.ship__mark.is-on .ship__cell--cursor{animation:px-blink var(--blink-duration) steps(1) var(--ship-assemble-duration) infinite}.ship__caption{opacity:0;transition:opacity var(--ship-fade-duration) var(--ship-ease) var(--ship-assemble-duration)}.ship__mark.is-on .ship__caption{opacity:1}.ship__spark{animation:px-bob var(--bob-duration) var(--easing-wave) calc(var(--i) * var(--step-delay) * -6) infinite}.ship__spark--mint{fill:var(--mint-500)}.ship__spark--ink{fill:var(--ink)}.ship__spark--orchid{fill:var(--orchid-500)}.stack-grid{padding-bottom:var(--space-16);position:relative}.stack-grid__top{top:0;inset-inline:var(--frame-gutter);height:1px;position:absolute}.stack-grid__list{grid-template-columns:repeat(2,minmax(0,1fr));display:grid;position:relative}.stack-grid__item{height:var(--logo-row);justify-content:center;align-items:center;gap:var(--space-3);transition:background-color var(--fill-duration) var(--easing-snap);display:flex;position:relative}.stack-grid__item:hover{background-color:var(--paper-tint)}.stack-grid__icon{width:var(--space-6);height:var(--space-6);filter:grayscale();transition:filter var(--fill-duration) var(--easing-snap);flex-shrink:0;position:relative}.stack-grid__item:hover .stack-grid__icon{filter:none}.stack-grid__image{object-fit:contain}.stack-grid__name{font-size:var(--font-size-subheading);font-weight:var(--weight-semibold);line-height:var(--line-height-subheading);letter-spacing:var(--letter-spacing-ui)}.platform{padding-top:var(--space-12);background-color:var(--paper);position:relative;overflow:hidden}.platform__feature{background-color:var(--paper-tint);display:grid;position:relative}.platform__feature-copy{z-index:var(--z-raised);justify-content:center;gap:var(--space-6);padding:var(--cell-pad);flex-direction:column;display:flex;position:relative}.platform__feature-title{font-size:var(--font-size-headline);font-weight:var(--weight-semibold);line-height:var(--line-height-headline);letter-spacing:var(--letter-spacing-display)}.platform__highlight{margin-left:calc(var(--cell-pad) * -1);padding-left:var(--cell-pad);padding-right:var(--space-6);display:inline-block;position:relative}.platform__feature-body{max-width:var(--measure-sm);font-size:var(--font-size-subheading);line-height:var(--line-height-subheading);letter-spacing:var(--letter-spacing-ui);text-wrap:pretty}.platform__feature-visual{padding:0 var(--cell-pad) var(--cell-pad);position:relative}.platform__stats{top:var(--stats-top);left:var(--stats-left);gap:var(--space-1);flex-direction:column;display:flex;position:absolute}.platform__stat{align-items:center;gap:var(--space-1-5);width:max-content;margin-left:calc(var(--tag-pad-x) * var(--stat-index) * 2);padding:var(--tag-pad-y) var(--tag-pad-x);border:1px solid var(--mint-500);background-color:var(--paper);font-family:var(--face-mono);font-size:var(--font-size-tag);line-height:var(--line-height-tag);text-transform:uppercase;display:flex}.platform__columns{display:grid;position:relative}.platform__column{flex-direction:column;display:flex;position:relative}.platform__column-copy{gap:var(--space-4);padding:var(--cell-pad);flex-direction:column;display:flex}.platform__column-cta{margin-top:var(--space-4)}.platform__column-body{margin-top:auto;position:relative}.platform__column-visual{padding:var(--space-8) var(--cell-pad)}.platform__divider{display:none}.project-row{position:relative}.project-row__link{justify-content:space-between;align-items:center;gap:var(--space-4);padding:var(--space-5) var(--cell-pad);transition:background-color var(--fill-duration) var(--easing-snap);display:flex}.project-row__link:hover{background-color:var(--paper-tint)}.project-row__start{align-items:center;gap:var(--space-3);display:flex}.project-row__avatar{width:var(--space-6);height:var(--space-6);background-color:var(--ink);color:var(--paper);font-family:var(--face-mono);font-size:var(--font-size-label-sm);flex-shrink:0;place-items:center;display:grid}.project-row__avatar--accent{background-color:var(--mint-500);color:var(--ink)}.project-row__glyph{height:var(--space-3);fill:currentColor}.project-row__title{font-size:var(--font-size-copy);font-weight:var(--weight-semibold)}.project-row__action{align-items:center;gap:var(--space-2);font-family:var(--face-mono);font-size:var(--font-size-label-sm);text-transform:uppercase;white-space:nowrap;display:flex}.project-row__icon{transition:translate var(--fill-duration) var(--easing-snap)}.project-row__link:hover .project-row__icon{translate:var(--nudge) 0}.services{position:relative;overflow:hidden}.services__grid{display:grid;position:relative}.services__item{flex-direction:column;display:flex;position:relative}.services__copy{gap:var(--space-4);padding:var(--cell-pad) var(--cell-pad) 0;flex-direction:column;display:flex}.services__heading{gap:var(--space-4);flex-direction:column;display:flex}.services__cta{flex-shrink:0}.services__visual{width:100%;max-width:var(--measure-sm);padding:var(--space-10) var(--cell-pad);margin-inline:auto}.services__divider{display:none}.scale{padding-bottom:var(--space-12);position:relative;overflow:hidden}.scale__head{gap:var(--space-6);padding:var(--cell-pad);flex-direction:column;display:flex;position:relative}.scale__copy{max-width:var(--measure-xl);gap:var(--space-6);flex-direction:column;display:flex}.scale__body{max-width:var(--measure-lg);font-size:var(--font-size-copy);line-height:var(--line-height-copy);text-wrap:pretty}.scale__cta{flex-shrink:0}.scale__cards{gap:var(--space-6);padding-top:var(--space-4);display:grid;position:relative}.scale__card{gap:var(--space-4);padding:var(--cell-pad);flex-direction:column;display:flex}.scale__card--tint{background-color:var(--paper-tint)}.scale__card-title{font-size:var(--font-size-subheading);font-weight:var(--weight-semibold);line-height:var(--line-height-subheading);letter-spacing:var(--letter-spacing-ui)}.scale__card-text{max-width:var(--measure-md);font-size:var(--font-size-copy);line-height:var(--line-height-copy)}.scale__card-cta{margin-top:var(--space-2)}.patterns{padding-bottom:var(--space-16);background-color:var(--paper-tint);position:relative;overflow:hidden}.patterns__break{display:none}.patterns__grid-wrap{position:relative}.patterns__grid{display:grid}.patterns__item{gap:var(--space-4);padding:var(--cell-pad);flex-direction:column;display:flex;position:relative}.patterns__divider{display:none}.patterns__wide{gap:var(--space-4);padding:var(--cell-pad);flex-direction:column;display:flex;position:relative}.patterns__wide-copy{gap:var(--space-4);flex-direction:column;display:flex}.patterns__wide .card-text{max-width:var(--measure-xl)}.patterns__wide-cta{flex-shrink:0}.closing{padding-bottom:var(--space-16);position:relative;overflow:hidden}.closing__body{align-items:center;gap:var(--space-8);padding:var(--space-16) var(--space-6);text-align:center;flex-direction:column;display:flex;position:relative}.site-foot{background-color:var(--ink);color:var(--paper)}.site-foot__frame{justify-content:space-between;align-items:center;gap:var(--space-6);padding-block:var(--space-8);display:flex}.site-foot__home{align-items:center;display:flex}.site-foot__socials{align-items:center;gap:var(--space-3);display:flex}.site-foot__social{width:var(--space-9);height:var(--space-9);border:1px solid var(--grey-600);transition:border-color var(--fill-duration) var(--easing-snap);place-items:center;display:grid}.site-foot__social:hover,.site-foot__social:focus-visible{border-color:var(--mint-500)}.site-foot__social-icon{width:var(--space-5);height:var(--space-5);filter:invert()}.scene{width:100%;height:auto;display:block;overflow:visible}.px-text{font-family:var(--face-mono)}.px-text--xs{font-size:var(--px-text-xs);text-transform:uppercase}.px-text--xs-code{font-size:var(--px-text-xs)}.px-text--sm{font-size:var(--px-text-sm)}.px-text--score{fill:var(--ink);font-size:var(--px-text-score);font-weight:var(--weight-semibold)}.px-text--light{fill:var(--paper)}.px-text--dim{fill:var(--grey-300)}.px-text--muted{fill:var(--grey-500)}.px-text--ink{fill:var(--ink)}.px-text--accent{fill:var(--mint-500)}.px-panel__body,.px-panel__bar{fill:var(--paper);stroke:var(--ink)}.px-panel__dot{fill:var(--grey-100)}.px-panel__dot--accent{fill:var(--mint-500)}.px-panel__title{fill:var(--grey-500)}.px-panel--terminal .px-panel__body{fill:var(--ink)}.px-panel--terminal .px-panel__bar{fill:var(--ink-soft)}.px-panel--terminal .px-panel__dot{fill:var(--grey-600)}.px-panel--terminal .px-panel__dot--accent{fill:var(--mint-500)}.px-panel--terminal .px-panel__title{fill:var(--grey-300)}.px-chip__box{fill:var(--paper);stroke:var(--ink)}.px-chip__text{fill:var(--ink);font-family:var(--face-mono);text-transform:uppercase}.px-chip--mint .px-chip__box{fill:var(--mint-100);stroke:var(--mint-600)}.px-chip--mint .px-chip__text{fill:var(--mint-800)}.px-chip--orchid .px-chip__box{fill:var(--orchid-100);stroke:var(--orchid-600)}.px-chip--ink .px-chip__box{fill:var(--ink)}.px-chip--ink .px-chip__text{fill:var(--paper)}.px-node__body{stroke:var(--ink)}.px-node--ink .px-node__body{fill:var(--ink)}.px-node--mint .px-node__body{fill:var(--mint-500)}.px-node--pale .px-node__body{fill:var(--mint-200)}.px-node--orchid .px-node__body{fill:var(--orchid-500)}.px-node--ghost .px-node__body{fill:var(--paper)}.px-node__ping{fill:none;stroke:var(--mint-500);opacity:0;transform-box:fill-box;transform-origin:50%;animation:px-ping var(--px-ping-duration) var(--easing-wave) calc(var(--px-ping-duration) * var(--delay) * -1) infinite}.px-node--orchid .px-node__ping{stroke:var(--orchid-500)}.px-track{fill:none;stroke-dasharray:var(--dash-pattern)}.px-track--rule{stroke:var(--grey-300)}.px-track--mint{stroke:var(--mint-500)}.px-track--orchid{stroke:var(--orchid-600)}.px-track--flow{animation:px-dash var(--flow-duration) linear infinite}.px-packet{opacity:0;stroke:var(--ink);animation:px-travel var(--packet-duration) linear calc(var(--packet-duration) * var(--delay) * -1) infinite}.px-packet--mint{fill:var(--mint-500)}.px-packet--orchid{fill:var(--orchid-500)}.px-packet--ink{fill:var(--ink);stroke:var(--paper)}.px-spark{animation:px-bob var(--bob-duration) var(--easing-wave) calc(var(--bob-duration) * var(--delay) * -1) infinite}.px-spark--mint{fill:var(--mint-500)}.px-spark--ink{fill:var(--ink)}.px-spark--orchid{fill:var(--orchid-500)}.px-spark--pale{fill:var(--mint-200)}.px-mark__cell{fill:var(--ink)}.px-mark__cell--cursor{fill:var(--mint-500)}.px-mark--blink .px-mark__cell--cursor{animation:px-blink var(--blink-duration) steps(1) infinite}.px-tile__body{fill:var(--paper);stroke:var(--grey-300)}.px-cursor{animation:px-drift var(--px-drift-duration) var(--easing-wave) calc(var(--px-drift-duration) * var(--delay) * -1) infinite}.px-cursor__arrow{fill:var(--ink);stroke:var(--paper);stroke-linejoin:round}.px-cursor--mint .px-cursor__arrow{fill:var(--mint-600)}.px-cursor--orchid .px-cursor__arrow{fill:var(--orchid-600)}.px-caret{fill:var(--mint-500);animation:px-blink var(--blink-duration) steps(1) infinite}.px-bar-track,.px-rule{fill:var(--grey-100);stroke:var(--grey-100)}.px-progress{transform:scaleX(var(--fill,1));transform-box:fill-box;transform-origin:0;animation:px-fill var(--px-fill-duration) var(--easing-snap) calc(var(--px-fill-duration) * var(--delay,0) * -1) infinite}.px-progress--mint{fill:var(--mint-500)}.px-progress--orchid{fill:var(--orchid-500)}.px-progress--plain,.px-threshold{fill:var(--ink)}.px-scan{fill:var(--mint-100);stroke:var(--mint-500);animation:px-scan var(--px-scan-duration) steps(var(--rows), jump-none) infinite}.px-column{fill:var(--mint-300);transform-box:fill-box;transform-origin:bottom;animation:px-grow var(--px-fill-duration) var(--easing-wave) calc(var(--i) * var(--step-delay) * -2) infinite}.px-column--accent{fill:var(--mint-500)}.px-wave{animation:px-wave var(--px-wave-duration) var(--easing-wave) calc(var(--i) * var(--px-wave-step)) infinite}.px-draft{fill:none;stroke:var(--orchid-600);stroke-dasharray:var(--dash-pattern)}.px-draft--block{fill:var(--orchid-100)}.px-built{fill:var(--paper);stroke:var(--ink)}.px-built-block--header{fill:var(--ink)}.px-built-block--media{fill:var(--mint-200)}.px-built-block--title{fill:var(--grey-600)}.px-built-block--text{fill:var(--grey-300)}.px-built-block--button{fill:var(--mint-500)}.px-page__hero{fill:var(--mint-100)}.px-page__line{fill:var(--grey-300)}.px-page__button{fill:var(--mint-500)}.px-page--orchid .px-page__hero{fill:var(--orchid-100)}.px-page--orchid .px-page__button{fill:var(--orchid-500)}.px-flag__track{fill:var(--grey-300);animation:px-flag-track var(--px-flag-duration) steps(1) infinite}.px-flag__knob{fill:var(--paper);stroke:var(--ink);animation:px-flag-knob var(--px-flag-duration) var(--easing-snap) infinite}.px-score{fill:var(--mint-500);animation:px-wave var(--px-wave-duration) linear calc(var(--px-wave-duration) * var(--i) / var(--count)) infinite}.px-check__box{fill:var(--mint-100);stroke:var(--ink);animation:px-check-box var(--px-wave-duration) var(--easing-snap) calc(var(--i) * var(--px-wave-step)) infinite}.px-check__tick{fill:none;stroke:var(--mint-700);stroke-width:1.5px;stroke-dasharray:var(--px-tick-length);stroke-dashoffset:0;animation:px-tick var(--px-wave-duration) var(--easing-snap) calc(var(--i) * var(--px-wave-step)) infinite}.px-instance{fill:var(--grey-100)}.px-instance--busy{fill:var(--mint-500)}.px-icon{stroke:var(--ink)}.px-icon--ink{fill:var(--ink)}.px-icon--mint{fill:var(--mint-500)}.px-icon--pale{fill:var(--mint-200)}@media (min-width:40rem){.button-row{flex-direction:row}.site-nav__outline{display:block}.stack-grid__list{grid-template-columns:repeat(3,minmax(0,1fr))}.services__heading,.patterns__wide{flex-direction:row;justify-content:space-between;align-items:flex-start}.patterns__grid{grid-template-columns:repeat(2,minmax(0,1fr))}.patterns__divider{display:block}}@media (min-width:48rem){.frame__edges,.hero__edge,.hero__visual,.color-block{display:block}.fill-btn--sm .fill-btn__inner{min-height:var(--space-9);padding:var(--space-2) var(--space-4)}.brand__mark{height:var(--space-6)}.section-head{padding-block:var(--space-16)}.section-head--roomy{padding-block:var(--space-20)}.section-head--tall{padding-block:var(--space-24)}.section-head__title--wide{padding-inline:var(--space-14)}.hero,.hero__frame{min-height:var(--hero-min)}.hero__copy{gap:var(--space-8)}.hero__title{padding-bottom:var(--space-2)}.hero__actions{padding-block:var(--space-0-5)}.hero__actions .fill-btn{width:max-content}.stack-grid__list{grid-template-columns:repeat(5,minmax(0,1fr))}.stack-grid__icon{width:var(--space-7);height:var(--space-7)}.platform__highlight{padding-right:var(--space-10)}.platform__columns{grid-template-columns:repeat(3,minmax(0,1fr))}.platform__divider{display:block}.platform__column:last-child .platform__divider,.platform__divider-mobile{display:none}.services__grid{grid-template-columns:repeat(2,minmax(0,1fr))}.services__item:nth-child(odd) .services__divider{display:block}.scale__head{padding-block:var(--space-16);flex-direction:row;justify-content:space-between;align-items:flex-start}.scale__cards{grid-template-columns:repeat(2,minmax(0,1fr))}.scale__card{padding:var(--space-6)}.patterns__break{display:inline}.closing{padding-bottom:var(--space-24)}.closing__body{padding-block:var(--space-20)}}@media (min-width:64rem){.site-nav__secondary{display:flex}.hero__frame{grid-template-columns:repeat(12,minmax(0,1fr));padding-block:0}.hero__copy,.hero__visual{grid-column:span 6}.hero__guides{display:block}.hero__actions{gap:var(--space-4);flex-direction:row}.hero__visual-inner{width:var(--hero-visual-width);max-width:none;transform:translate(-50%, -50%) scale(var(--hero-visual-scale));position:absolute;top:50%;left:50%}.platform{padding-top:var(--space-16)}.platform__feature{grid-template-columns:repeat(2,minmax(0,1fr))}.platform__feature-copy{padding-block:var(--space-20)}.platform__feature-visual{padding:var(--cell-pad)}.patterns__grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (min-width:80rem){.site-nav__links{display:flex}.site-nav__toggle,.mobile-menu{display:none}}.chat-mark{height:var(--chat-mark-size);aspect-ratio:8/7;flex-shrink:0}.chat-mark__bubble{fill:currentColor}.chat-mark__cursor{fill:var(--mint-500);animation:px-blink var(--blink-duration) steps(1) infinite}.chat-icon{width:var(--space-4);height:var(--space-4)}.chat-launcher{right:var(--chat-offset);bottom:var(--chat-offset);z-index:var(--z-chat);align-items:center;gap:var(--space-3);height:var(--chat-launcher-height);padding-inline:var(--space-4);background-color:var(--ink);color:var(--paper);outline:1px solid var(--ink);box-shadow:var(--chat-shadow);font-family:var(--face-mono);font-size:var(--font-size-label);line-height:var(--line-height-label);letter-spacing:var(--letter-spacing-ui);text-transform:uppercase;cursor:pointer;transition:color var(--fill-duration) var(--easing-snap), outline-color var(--fill-duration) var(--easing-snap), opacity var(--fill-duration) var(--easing-snap), translate var(--fill-duration) var(--easing-snap), visibility 0s linear var(--fill-duration);display:flex;position:fixed;overflow:hidden}.chat-launcher--hidden{visibility:hidden;opacity:0;translate:0 var(--rise-distance);pointer-events:none}.chat-launcher__fill{height:var(--sweep-height);background-color:var(--mint-500);transform-origin:0;transition:scale var(--fill-duration) var(--easing-snap);position:absolute;inset:auto 0 0;scale:0 1}.chat-launcher:hover .chat-launcher__fill,.chat-launcher:focus-visible .chat-launcher__fill{scale:1}.chat-launcher__mark,.chat-launcher__label{position:relative}.chat-panel{z-index:var(--z-chat);background-color:var(--paper);color:var(--ink);font-family:var(--face-display);animation:chat-rise var(--chat-rise-duration) var(--easing-snap) both;flex-direction:column;display:flex;position:fixed;inset:0}.chat-panel__head{align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--rule);display:flex}.chat-panel__mark{height:var(--space-6)}.chat-panel__titles{gap:var(--space-0-5);flex-direction:column;flex:1;min-width:0;display:flex}.chat-panel__title{font-size:var(--font-size-subheading);font-weight:var(--weight-semibold);line-height:var(--line-height-subheading);letter-spacing:var(--letter-spacing-ui)}.chat-panel__status{align-items:center;gap:var(--space-1-5);color:var(--sage-700);font-family:var(--face-mono);font-size:var(--font-size-tag);line-height:var(--line-height-tag);text-transform:uppercase;display:flex}.chat-panel__dot{width:var(--dot-size);height:var(--dot-size);background-color:var(--mint-500);animation:chat-glow var(--chat-glow-duration) var(--easing-wave) infinite}.chat-panel__tools{align-items:center;gap:var(--space-2);display:flex}.chat-panel__reset{padding:var(--space-1) var(--space-2);outline:1px solid var(--grey-100);color:var(--grey-600);font-family:var(--face-mono);font-size:var(--font-size-label-sm);line-height:var(--line-height-label-sm);text-transform:uppercase;cursor:pointer;transition:color var(--fill-duration) var(--easing-snap), outline-color var(--fill-duration) var(--easing-snap)}.chat-panel__reset:hover,.chat-panel__reset:focus-visible{color:var(--ink);outline-color:var(--ink)}.chat-panel__close{width:var(--chat-control-size);height:var(--chat-control-size);color:var(--ink);cursor:pointer;transition:background-color var(--fill-duration) var(--easing-snap);place-items:center;display:grid}.chat-panel__close:hover,.chat-panel__close:focus-visible{background-color:var(--paper-tint)}.chat-panel__log{overscroll-behavior:contain;padding:var(--space-4);flex:1;overflow-y:auto}.chat-intro{gap:var(--space-1-5);flex-direction:column;display:flex}.chat-intro__heading{font-size:var(--font-size-subheading);font-weight:var(--weight-semibold);line-height:var(--line-height-subheading);letter-spacing:var(--letter-spacing-ui)}.chat-intro__text{color:var(--grey-500);font-size:var(--chat-text-size);line-height:var(--chat-text-line-height)}.chat-intro__suggestions{gap:var(--space-1-5);margin-top:var(--space-2-5);flex-direction:column;display:flex}.chat-suggestion{justify-content:space-between;align-items:center;gap:var(--space-3);width:100%;padding:var(--space-2) var(--space-3);outline:1px solid var(--grey-100);background-color:var(--paper);color:var(--ink);font-size:var(--chat-text-size);line-height:var(--chat-text-line-height);text-align:left;cursor:pointer;transition:outline-color var(--fill-duration) var(--easing-snap);display:flex;position:relative;overflow:hidden}.chat-suggestion:hover,.chat-suggestion:focus-visible{outline-color:var(--ink)}.chat-suggestion__fill{height:var(--sweep-height);background-color:var(--mint-500);transform-origin:0;transition:scale var(--fill-duration) var(--easing-snap);position:absolute;inset:auto 0 0;scale:0 1}.chat-suggestion:hover .chat-suggestion__fill,.chat-suggestion:focus-visible .chat-suggestion__fill{scale:1}.chat-suggestion__label{position:relative}.chat-suggestion__icon{color:var(--sage-700);transition:translate var(--fill-duration) var(--easing-snap), color var(--fill-duration) var(--easing-snap);position:relative}.chat-suggestion:hover .chat-suggestion__icon,.chat-suggestion:focus-visible .chat-suggestion__icon{translate:var(--nudge) 0;color:var(--ink)}.chat-thread{gap:var(--space-5);flex-direction:column;display:flex}.chat-message{max-width:var(--chat-bubble-max);align-items:flex-start;gap:var(--space-1-5);flex-direction:column;display:flex}.chat-message--user{align-self:flex-end;align-items:flex-end}.chat-message__author{align-items:center;gap:var(--space-1-5);color:var(--sage-700);font-family:var(--face-mono);font-size:var(--font-size-tag);line-height:var(--line-height-tag);text-transform:uppercase;display:inline-flex}.chat-message__mark{height:var(--chat-label-mark-size);color:var(--ink)}.chat-message__mark .chat-mark__cursor{animation:none}.chat-bubble{border-radius:var(--chat-bubble-radius);position:relative}.chat-message--user .chat-bubble{margin-right:var(--chat-tail-width);background-color:var(--ink);color:var(--paper)}.chat-message--assistant .chat-bubble{margin-left:var(--chat-tail-width);background-color:var(--chat-reply-fill);color:var(--ink)}.chat-bubble--tail:before{content:"";width:var(--chat-tail-width);height:var(--chat-tail-height);background-color:inherit;-webkit-mask:var(--chat-tail-mask) no-repeat center / 100% 100%;mask:var(--chat-tail-mask) no-repeat center / 100% 100%;position:absolute;bottom:0}.chat-message--user .chat-bubble--tail{border-bottom-right-radius:0}.chat-message--user .chat-bubble--tail:before{right:calc(var(--chat-tail-width) * -1)}.chat-message--assistant .chat-bubble--tail{border-bottom-left-radius:0}.chat-message--assistant .chat-bubble--tail:before{left:calc(var(--chat-tail-width) * -1);scale:-1 1}.chat-message__bubble{padding:var(--space-2-5) var(--space-3-5);font-size:var(--chat-text-size);line-height:var(--chat-text-line-height);white-space:pre-wrap;overflow-wrap:anywhere}.chat-message--assistant:has(.chat-message__projects){width:100%}.chat-link{color:inherit;text-decoration:underline;-webkit-text-decoration-color:var(--mint-600);text-decoration-color:var(--mint-600);text-underline-offset:var(--chat-link-offset);transition:text-decoration-color var(--fill-duration) var(--easing-snap)}.chat-link:hover,.chat-link:focus-visible{text-decoration-color:currentColor}.chat-message__projects{gap:var(--space-2);flex-direction:column;width:100%;display:flex}.chat-project{grid-template-columns:var(--chat-card-media) 1fr;gap:var(--space-3);padding:var(--space-2);transition:background-color var(--fill-duration) var(--easing-snap);display:grid}.chat-message--assistant .chat-project:hover,.chat-message--assistant .chat-project:focus-visible{background-color:var(--chat-reply-fill-hover)}.chat-project__media{aspect-ratio:1;border-radius:var(--chat-inner-radius);background-color:var(--paper);position:relative;overflow:hidden}.chat-project__media-fill{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.chat-project__body{gap:var(--space-1);flex-direction:column;min-width:0;display:flex}.chat-project__metric{color:var(--sage-700);font-family:var(--face-mono);font-size:var(--font-size-tag);line-height:var(--line-height-tag);text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap;overflow:hidden}.chat-project__title{font-size:var(--font-size-copy);font-weight:var(--weight-semibold);line-height:var(--line-height-copy);letter-spacing:var(--letter-spacing-ui)}.chat-project__summary{color:var(--grey-500);font-size:var(--font-size-label-sm);line-height:var(--line-height-label-sm);-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.chat-project__cta{align-items:center;gap:var(--space-1);font-family:var(--face-mono);font-size:var(--font-size-tag);line-height:var(--line-height-tag);text-transform:uppercase;margin-top:auto;display:inline-flex}.chat-project__icon{transition:translate var(--fill-duration) var(--easing-snap)}.chat-project:hover .chat-project__icon,.chat-project:focus-visible .chat-project__icon{translate:var(--nudge) 0}.chat-message--assistant:has(.chat-contact){width:100%}.chat-contact{align-self:stretch;gap:var(--space-2);padding:var(--space-4);flex-direction:column;display:flex}.chat-contact__eyebrow{align-items:center;gap:var(--space-1-5);color:var(--sage-700);font-family:var(--face-mono);font-size:var(--font-size-tag);line-height:var(--line-height-tag);text-transform:uppercase;display:flex}.chat-contact__eyebrow:before{content:"";width:var(--dot-size);height:var(--dot-size);background-color:var(--mint-500)}.chat-contact__heading{font-size:var(--font-size-subheading);font-weight:var(--weight-semibold);line-height:var(--line-height-subheading);letter-spacing:var(--letter-spacing-ui)}.chat-contact__text{color:var(--grey-500);font-size:var(--font-size-copy);line-height:var(--line-height-copy)}.chat-contact__address{justify-content:space-between;align-items:center;gap:var(--space-3);margin-block:var(--space-1);padding:var(--space-2) var(--space-2) var(--space-2) var(--space-3);border-radius:var(--chat-inner-radius);background-color:var(--paper);display:flex}.chat-contact__email{min-width:0;font-family:var(--face-mono);font-size:var(--font-size-label-sm);line-height:var(--line-height-label-sm);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.chat-contact__copy{padding:var(--space-1) var(--space-2);border-radius:var(--chat-control-radius);outline:1px solid var(--grey-100);background-color:var(--paper);color:var(--grey-600);font-family:var(--face-mono);font-size:var(--font-size-tag);line-height:var(--line-height-tag);text-transform:uppercase;cursor:pointer;transition:color var(--fill-duration) var(--easing-snap), outline-color var(--fill-duration) var(--easing-snap);flex-shrink:0}.chat-contact__copy:hover,.chat-contact__copy:focus-visible{color:var(--ink);outline-color:var(--ink)}.chat-contact__action,.chat-contact__action .fill-btn__inner{border-radius:var(--chat-inner-radius)}.chat-message--failed .chat-message__bubble{background-color:var(--grey-100);color:var(--grey-600)}.chat-message__caret{width:var(--chat-caret-width);height:var(--chat-caret-height);margin-left:var(--space-0-5);vertical-align:text-bottom;background-color:var(--mint-500);animation:px-blink var(--blink-duration) steps(1) infinite;display:inline-block}.chat-typing{align-items:center;gap:var(--space-1);height:1lh;display:flex}.chat-typing__cell{width:var(--dot-size);height:var(--dot-size);background-color:var(--mint-600);animation:chat-typing var(--typing-duration) var(--easing-wave) infinite}.chat-typing__cell:nth-child(2){animation-delay:calc(var(--step-delay) * 2)}.chat-typing__cell:nth-child(3){animation-delay:calc(var(--step-delay) * 4)}.chat-composer{padding:var(--space-3) var(--space-4);border-top:1px solid var(--rule)}.chat-composer__field{align-items:flex-end;gap:var(--space-2);padding:var(--space-1) var(--space-1) var(--space-1) var(--space-3);outline:1px solid var(--grey-100);background-color:var(--paper);transition:outline-color var(--fill-duration) var(--easing-snap);display:flex}.chat-composer__field:focus-within{outline-color:var(--ink)}.chat-composer__input{min-width:0;max-height:var(--chat-input-max);padding-block:var(--space-1-5);color:var(--ink);font:inherit;font-size:var(--font-size-nav);line-height:var(--line-height-nav);field-sizing:content;resize:none;background-color:#0000;border:0;outline:none;flex:1}.chat-composer__input::placeholder{color:var(--grey-500)}.chat-composer__button{width:var(--chat-control-size);height:var(--chat-control-size);background-color:var(--ink);color:var(--paper);cursor:pointer;transition:color var(--fill-duration) var(--easing-snap);flex-shrink:0;place-items:center;display:grid;position:relative;overflow:hidden}.chat-composer__button .chat-icon{position:relative}.chat-composer__fill{height:var(--sweep-height);background-color:var(--mint-500);transform-origin:0;transition:scale var(--fill-duration) var(--easing-snap);position:absolute;inset:auto 0 0;scale:0 1}.chat-composer__button:hover:not(:disabled) .chat-composer__fill,.chat-composer__button:focus-visible:not(:disabled) .chat-composer__fill{scale:1}.chat-composer__button:disabled{background-color:var(--grey-100);color:var(--grey-300);cursor:not-allowed}.chat-composer__button--stop{background-color:var(--paper);color:var(--ink);outline:1px solid var(--ink)}.chat-composer__button--stop:hover,.chat-composer__button--stop:focus-visible{background-color:var(--paper-tint)}@media (min-width:40rem){.chat-panel{inset:auto var(--chat-offset) var(--chat-offset) auto;width:var(--chat-width);height:min(var(--chat-height), calc(100dvh - var(--chat-offset) * 2));outline:1px solid var(--ink);box-shadow:var(--chat-shadow)}}@media (prefers-reduced-motion:reduce){.home *,.home :before,.home :after{transition-duration:0s!important;animation-duration:0s!important;animation-iteration-count:1!important;animation-delay:0s!important}}@keyframes line-wipe-x{to{transform:scaleX(0)}}@keyframes line-wipe-y{to{transform:scaleY(0)}}@keyframes rise-in{to{opacity:1;translate:0}}@keyframes highlight-grow{to{background-size:100% 100%}}@keyframes block-grow{to{scale:1}}@keyframes block-flash{45%,60%{scale:1}to{scale:0 1}}@keyframes px-bob{50%{translate:0 var(--bob-distance)}}@keyframes px-dash{to{stroke-dashoffset:var(--dash-travel)}}@keyframes px-blink{50%{opacity:0}}@keyframes chat-rise{0%{opacity:0;translate:0 var(--rise-distance)}}@keyframes chat-glow{50%{opacity:.35}}@keyframes chat-typing{0%,to{opacity:.3;translate:0}50%{opacity:1;translate:0 calc(var(--space-1) * -1)}}@keyframes px-ping{0%{opacity:.8;transform:scale(1)}60%,to{opacity:0;transform:scale(var(--px-ping-scale))}}@keyframes px-fill{0%{transform:scaleX(0)}55%,to{transform:scaleX(var(--fill,1))}}@keyframes px-grow{0%,to{transform:scaleY(1)}50%{transform:scaleY(.55)}}@keyframes px-wave{0%,to{opacity:var(--px-wave-low)}30%,50%{opacity:1}}@keyframes px-scan{0%{transform:translateY(0)}to{transform:translateY(var(--distance))}}@keyframes px-drift{0%,to{transform:translate(0)}33%{transform:translate(var(--a))}66%{transform:translate(var(--b))}}@keyframes px-flag-track{0%{fill:var(--grey-300)}50%{fill:var(--mint-500)}}@keyframes px-flag-knob{0%,45%,to{transform:translate(0)}50%,95%{transform:translateX(var(--px-flag-travel))}}@keyframes px-tick{0%,12%{stroke-dashoffset:var(--px-tick-length)}28%,86%{stroke-dashoffset:0}to{stroke-dashoffset:var(--px-tick-length)}}@keyframes px-check-box{0%,12%,to{fill:var(--paper)}28%,86%{fill:var(--mint-100)}}@keyframes ship-ping{0%{opacity:.9;transform:scale(1)}to{opacity:0;transform:scale(var(--ship-ping-scale))}}@keyframes px-travel{0%{translate:var(--from);opacity:0}15%,85%{opacity:1}to{translate:var(--to);opacity:0}}@media (min-width:48rem){:root{--hero-title-nudge:0rem;--font-size-mega:4.5rem;--line-height-mega:4.875rem}.hero__title,.hero__body,.hero__actions{padding:var(--space-2) var(--space-3)}.hero__body{padding-right:var(--space-6)}}@media not (min-width:48rem){:root{--font-size-mega:2.75rem;--line-height-mega:3rem;--font-size-title:2.125rem;--line-height-title:2.5rem;--font-size-headline:1.75rem;--line-height-headline:2.125rem;--font-size-heading:1.25rem;--line-height-heading:1.625rem;--font-size-subheading:1rem;--line-height-subheading:1.375rem;--font-size-intro:1rem;--line-height-intro:1.5rem;--font-size-summary:1rem;--line-height-summary:1.5rem;--font-size-wordmark:1.25rem;--cell-pad:1.25rem;--logo-row:3.75rem;--space-12:2.5rem;--space-16:3rem;--space-20:3.5rem;--space-24:4rem}}@media (48rem<=width<85.3125rem){:root{--font-size-mega:4.5rem;--line-height-mega:4.875rem;--font-size-title:3.25rem;--line-height-title:3.625rem;--font-size-headline:2.5rem;--line-height-headline:3rem;--font-size-heading:1.375rem;--line-height-heading:1.75rem;--font-size-intro:1.25rem;--line-height-intro:1.75rem;--font-size-summary:1.125rem;--line-height-summary:1.625rem;--font-size-wordmark:1.5rem;--cell-pad:2rem;--logo-row:5rem;--hero-min:28rem;--space-16:3.5rem;--space-20:4.25rem;--space-24:5rem}}@media (64rem<=width<90rem){:root{--hero-visual-scale:.8}}@media (64rem<=width<85.3125rem){:root{--hero-visual-scale:.72}}@media (48rem<=width<93rem){.hero{--hero-side-space:calc(var(--frame-gutter) + max(0px, (100cqw - var(--frame-max)) / 2));container-type:inline-size}.hero__block--body-start{left:calc(min(var(--space-12), var(--hero-side-space)) * -1);width:min(var(--space-8), var(--hero-side-space))}.hero__block--actions-start{left:calc(min(var(--space-28), var(--hero-side-space)) * -1);width:min(var(--space-28), var(--hero-side-space))}}@media not (min-width:85.375rem){:root{--frame-max:78.75rem}}@media (prefers-reduced-motion:reduce){.ship *{transition-delay:0s!important}.scene *{animation:none!important}}.resume{width:min(var(--resume-width), 100% - var(--space-8));max-width:none;max-height:calc(100dvh - var(--space-8));border:1px solid var(--ink);background-color:var(--paper);box-shadow:var(--chat-shadow);color:var(--ink);font-family:var(--face-display);margin:auto;padding:0;overflow:hidden}.resume[open]{animation:chat-rise var(--chat-rise-duration) var(--easing-snap) both;flex-direction:column;display:flex}.resume::backdrop{background-color:var(--resume-backdrop)}html:has(.resume[open]){overflow:hidden}.resume__toolbar{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-2) var(--space-2) var(--space-4);border-bottom:1px solid var(--ink);display:flex}.resume__title{align-items:center;gap:var(--space-2);font-family:var(--face-mono);font-size:var(--font-size-label-sm);line-height:var(--line-height-label-sm);text-transform:uppercase;display:flex}.resume__dot{width:var(--dot-size);height:var(--dot-size);background-color:var(--mint-500)}.resume__actions{align-items:center;gap:var(--space-2);display:flex}.resume__email{display:none}.resume__close{width:var(--chat-control-size);height:var(--chat-control-size);color:var(--ink);cursor:pointer;transition:background-color var(--fill-duration) var(--easing-snap);place-items:center;display:grid}.resume__close:hover,.resume__close:focus-visible{background-color:var(--paper-tint)}.resume__scroll{overscroll-behavior:contain;overflow-y:auto}.cv{padding:var(--space-6) var(--space-5);-webkit-print-color-adjust:exact;print-color-adjust:exact;flex-direction:column;display:flex}.cv__head{gap:var(--space-4);padding-bottom:var(--space-6);border-bottom:1px solid var(--ink);display:grid}.cv__name{font-size:var(--resume-name-size);font-weight:var(--weight-semibold);line-height:var(--resume-name-line-height);letter-spacing:var(--letter-spacing-display)}.cv__role{margin-top:var(--space-1-5);color:var(--sage-700);font-family:var(--face-mono);font-size:var(--font-size-label-sm);line-height:var(--line-height-label-sm);text-transform:uppercase}.cv__status{justify-self:start;align-items:center;gap:var(--space-1-5);padding:var(--tag-pad-y) var(--space-2);border:1px solid var(--sage-300);background-color:var(--mint-100);color:var(--mint-800);font-family:var(--face-mono);font-size:var(--font-size-label-sm);line-height:var(--line-height-label-sm);text-transform:uppercase;display:inline-flex}.cv__status-dot{width:var(--dot-size);height:var(--dot-size);background-color:var(--mint-500)}.cv__headline{max-width:var(--measure-xl);font-size:var(--font-size-summary);line-height:var(--line-height-summary);letter-spacing:var(--letter-spacing-ui);text-wrap:pretty}.cv__contact{gap:var(--space-1) var(--space-5);font-family:var(--face-mono);font-size:var(--font-size-label-sm);line-height:var(--line-height-label-sm);flex-wrap:wrap;display:flex}.cv__link{color:var(--ink);text-decoration:underline;-webkit-text-decoration-color:var(--mint-600);text-decoration-color:var(--mint-600);text-underline-offset:var(--chat-link-offset)}.cv__link:hover,.cv__link:focus-visible{text-decoration-color:currentColor}.cv__stats{border-top:1px solid var(--grey-100);border-left:1px solid var(--grey-100);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.cv__stat{justify-content:flex-end;gap:var(--space-1);padding:var(--space-3) var(--space-4);border-right:1px solid var(--grey-100);border-bottom:1px solid var(--grey-100);flex-direction:column-reverse;display:flex}.cv__stat-value{font-size:var(--font-size-heading);font-weight:var(--weight-semibold);line-height:var(--line-height-heading);letter-spacing:var(--letter-spacing-ui)}.cv__stat-label{color:var(--grey-500);font-family:var(--face-mono);font-size:var(--font-size-tag);line-height:var(--line-height-tag);text-transform:uppercase}.cv__section{gap:var(--space-3);padding-block:var(--space-6);border-bottom:1px solid var(--rule);display:grid}.cv__section:last-child{border-bottom:0}.cv__label{align-self:start;align-items:center;gap:var(--space-2);color:var(--sage-700);font-family:var(--face-mono);font-size:var(--font-size-label-sm);font-weight:var(--weight-regular);line-height:var(--line-height-label-sm);text-transform:uppercase;display:flex}.cv__label:before{content:"";width:var(--dot-size);height:var(--dot-size);background-color:var(--mint-500);flex-shrink:0}.cv__body{gap:var(--space-5);flex-direction:column;min-width:0;display:flex}.cv__entry{gap:var(--space-1-5);break-inside:avoid;flex-direction:column;display:flex}.cv__row{justify-content:space-between;align-items:baseline;gap:var(--space-1) var(--space-3);flex-wrap:wrap;display:flex}.cv__title{font-size:var(--font-size-subheading);font-weight:var(--weight-semibold);line-height:var(--line-height-subheading);letter-spacing:var(--letter-spacing-ui)}.cv__org{color:var(--grey-600);font-weight:var(--weight-regular)}.cv__period,.cv__metric,.cv__stack{font-family:var(--face-mono);font-size:var(--font-size-tag);line-height:var(--line-height-tag);text-transform:uppercase}.cv__period,.cv__stack{color:var(--grey-500)}.cv__metric{padding:var(--tag-pad-y) var(--tag-pad-x);border:1px solid var(--mint-500)}.cv__meta{color:var(--grey-600);font-size:var(--font-size-label-sm);line-height:var(--line-height-label-sm)}.cv__text{font-size:var(--font-size-copy);line-height:var(--line-height-copy);text-wrap:pretty}.cv__points{gap:var(--space-1);font-size:var(--font-size-copy);line-height:var(--line-height-copy);flex-direction:column;display:flex}.cv__points li{grid-template-columns:var(--resume-bullet) minmax(0, 1fr);gap:var(--space-2-5);display:grid}.cv__points li:before{content:"";width:var(--resume-bullet);height:var(--resume-bullet);margin-top:calc((1lh - var(--resume-bullet)) / 2);background-color:var(--ink)}.cv__skills{gap:var(--space-4);display:grid}.cv__skill-group{gap:var(--space-2);display:grid}.cv__skill-label{color:var(--grey-500);font-family:var(--face-mono);font-size:var(--font-size-tag);line-height:var(--line-height-tag);text-transform:uppercase}.cv__chips{gap:var(--space-1-5);flex-wrap:wrap;display:flex}.cv__chip{padding:var(--tag-pad-y) var(--space-2);border:1px solid var(--grey-100);font-family:var(--face-mono);font-size:var(--font-size-label-sm);line-height:var(--line-height-label-sm)}.cv__chip--core{border-color:var(--mint-600);background-color:var(--mint-100);color:var(--mint-800)}@media not (min-width:40rem){.resume{border:0;width:100%;max-height:100dvh}}@media (min-width:40rem){.resume__email{display:block}.cv{padding:var(--space-8) var(--space-10)}.cv__stats{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (min-width:48rem){.cv__section{grid-template-columns:var(--resume-gutter) minmax(0, 1fr);gap:var(--space-6)}}@media print{@page{size:A4;margin:12mm}html:has(.resume[open]) .home>:not(.resume){display:none}.resume[open]{width:100%;max-height:none;box-shadow:none;border:0;animation:none;display:block;position:static;overflow:visible}.resume::backdrop,.resume__toolbar{display:none}.resume__scroll{overflow:visible}.cv{padding:0}.cv__section{grid-template-columns:var(--resume-gutter) minmax(0, 1fr);gap:var(--space-6);padding-block:var(--space-4)}.cv__stats{grid-template-columns:repeat(4,minmax(0,1fr))}}.talk{width:min(var(--talk-width), 100% - var(--space-8));max-width:none;max-height:calc(100dvh - var(--space-8));border:1px solid var(--ink);background-color:var(--paper);box-shadow:var(--chat-shadow);color:var(--ink);font-family:var(--face-display);margin:auto;padding:0;overflow-y:auto}.talk[open]{animation:chat-rise var(--chat-rise-duration) var(--easing-snap) both}.talk::backdrop{background-color:var(--resume-backdrop)}html:has(.talk[open]){overflow:hidden}.talk__head{align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-3) var(--space-3) var(--space-5);border-bottom:1px solid var(--rule);display:flex}.talk__mark{height:var(--space-6)}.talk__title{font-size:var(--font-size-subheading);font-weight:var(--weight-semibold);line-height:var(--line-height-subheading);letter-spacing:var(--letter-spacing-ui);flex:1}.talk__close{width:var(--chat-control-size);height:var(--chat-control-size);color:var(--ink);cursor:pointer;transition:background-color var(--fill-duration) var(--easing-snap);place-items:center;display:grid}.talk__close:hover,.talk__close:focus-visible{background-color:var(--paper-tint)}.talk__body{gap:var(--space-4);padding:var(--space-5);flex-direction:column;display:flex}.talk__intro{color:var(--grey-600);font-size:var(--chat-text-size);line-height:var(--chat-text-line-height)}.talk__field{gap:var(--space-1-5);flex-direction:column;display:flex}.talk__label{color:var(--sage-700);font-family:var(--face-mono);font-size:var(--font-size-tag);line-height:var(--line-height-tag);text-transform:uppercase}.talk__input{width:100%;padding:var(--space-2-5) var(--space-3);outline:1px solid var(--grey-100);background-color:var(--paper);color:var(--ink);font:inherit;font-size:var(--font-size-nav);line-height:var(--line-height-nav);transition:outline-color var(--fill-duration) var(--easing-snap);border:0}.talk__input::placeholder{color:var(--grey-500)}.talk__input:focus{outline-color:var(--ink)}.talk__input:user-invalid{outline-color:var(--orchid-600)}.talk__input--area{resize:vertical;min-height:var(--talk-area-height)}.talk__error{padding:var(--space-2-5) var(--space-3);background-color:var(--orchid-100);color:var(--ink);font-size:var(--chat-text-size);line-height:var(--chat-text-line-height)}.talk__link{text-decoration:underline;-webkit-text-decoration-color:var(--mint-600);text-decoration-color:var(--mint-600);text-underline-offset:var(--chat-link-offset)}.talk .fill-btn:disabled{cursor:progress;opacity:var(--hover-dim)}@media not (min-width:40rem){.talk{border-width:1px 0 0;width:100%;max-height:100dvh;margin-bottom:0}}.ticker{padding-block:var(--space-4);background-color:var(--ink);color:var(--paper);font-family:var(--face-mono);font-size:var(--font-size-label-sm);line-height:var(--line-height-label-sm);overflow:hidden}.ticker__track{gap:var(--space-12);width:max-content;animation:ticker-scroll var(--ticker-duration) linear infinite;display:flex}.ticker--reverse .ticker__track{animation-direction:reverse}.ticker:hover .ticker__track{animation-play-state:paused}.ticker__entry{align-items:center;gap:var(--space-2);white-space:nowrap;display:flex}.ticker__prompt,.ticker__status{color:var(--mint-500)}@keyframes ticker-scroll{to{transform:translateX(calc(-50% - var(--space-12) / 2))}}
