.shipped h1,.shipped h2:not(.kicker){font-family:var(--font-display), "Bricolage Grotesque", sans-serif;text-transform:lowercase;letter-spacing:-.03em;line-height:.96}.shipped p{text-wrap:pretty}.shipped .page-hero{padding:clamp(48px,7vw,88px) clamp(24px,5vw,48px) clamp(30px,4vw,48px)}.shipped .page-hero h1{letter-spacing:-.04em;max-width:16ch;line-height:.94}.shipped .page-hero .lead{max-width:62ch;margin-top:22px}.shipped .grid-section{padding:clamp(24px,3vw,40px) 0 clamp(56px,8vw,96px)}.shipped .grid{grid-template-columns:repeat(3,1fr);gap:22px;margin:0;padding:0;list-style:none;display:grid}@media (max-width:900px){.shipped .grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:560px){.shipped .grid{grid-template-columns:1fr}}.shipped .grid>li,.shipped .pcard-shell{height:100%}.shipped.product-page .product-listing-hero{border-bottom:2px solid var(--ink);background:var(--ink);color:var(--paper);--sel-bg:var(--yellow);--sel-fg:var(--ink);padding:clamp(40px,6vw,72px) 0 clamp(42px,6vw,72px)}.shipped.product-page .product-listing-hero>.wrap{grid-template-columns:minmax(260px,.72fr) minmax(0,1.28fr);align-items:center;gap:clamp(32px,5vw,72px);display:grid}.shipped.product-page .product-listing-summary{flex-direction:column;align-items:flex-start;min-width:0;display:flex}.shipped.product-page .product-listing-logo{aspect-ratio:1;border:2px solid var(--ink);background:var(--paper);border-radius:4px;flex:none;place-items:center;width:clamp(72px,8vw,96px);margin-bottom:clamp(22px,3vw,32px);display:grid;overflow:hidden}.shipped.product-page .product-listing-logo img{object-fit:contain;width:100%;height:100%}.shipped.product-page .product-listing-logo>a{width:100%;height:100%;display:block}.shipped.product-page .product-listing-title{min-width:0}.shipped.product-page .product-listing-title h1{max-width:16ch;font-size:var(--d-300);letter-spacing:-.04em}.shipped.product-page .product-listing-title p{max-width:58ch;color:var(--hairline);font-size:var(--t-300);font-weight:var(--w-regular);line-height:var(--hero-subtext-line-height);margin-top:14px}.shipped.product-page .product-listing-actions{flex-direction:column;align-items:flex-start;gap:16px;margin-top:clamp(48px,5vw,64px);display:flex}.shipped.product-page .product-listing-status{flex-wrap:wrap;justify-content:flex-start;gap:8px;margin-top:24px;display:flex}.shipped.product-page .product-listing-hero .product-status-chip{color:var(--paper);border-color:#ffffff61}.shipped.product-page .product-listing-hero .product-status-chip .status-mark{color:var(--paper)}.shipped.product-page .product-listing-hero .btn.outline{padding-inline:16px}.shipped.product-page .product-gallery{min-width:0}.shipped.product-page .product-gallery__stage{aspect-ratio:4/3;border:1px solid var(--ink-2-edge);background:var(--ink-2);border-radius:4px;position:relative;overflow:hidden}.shipped.product-page .product-shot{background:var(--paper);margin:0;position:absolute;inset:0;overflow:hidden}.shipped.product-page .product-shot img{object-fit:contain;object-position:top center}.shipped.product-page .product-shot figcaption{z-index:2;border-top:2px solid var(--ink);border-left:2px solid var(--ink);background:var(--paper);max-width:min(80%,560px);color:var(--ink-soft);font-family:var(--font-mono), "IBM Plex Mono", monospace;font-size:var(--t-100);letter-spacing:var(--label-tracking);padding:7px 11px;position:absolute;bottom:0;right:0}.shipped.product-page .product-gallery__rail{z-index:4;box-shadow:none;scroll-snap-type:x proximity;scrollbar-width:none;background:0 0;border:0;align-items:flex-end;gap:12px;margin:0;padding:0;display:flex;position:absolute;bottom:18px;left:18px;right:18px;overflow-x:auto}.shipped.product-page .product-gallery__rail::-webkit-scrollbar{display:none}.shipped.product-page .product-gallery__rail button{aspect-ratio:4/3;border:1px solid var(--ink-2-edge);background:var(--paper);cursor:pointer;scroll-snap-align:start;border-radius:2px;flex:none;width:78px;position:relative;overflow:hidden}.shipped.product-page .product-gallery__rail button.is-active{z-index:1;border:3px solid var(--yellow);width:90px}.shipped.product-page .product-gallery__rail button:after{z-index:1;content:"";background:var(--ink-soft);opacity:.48;pointer-events:none;position:absolute;inset:0}.shipped.product-page .product-gallery__rail button.is-active:after{opacity:0}.shipped.product-page .product-gallery__rail img{object-fit:cover;object-position:top center}.shipped.product-page .product-listing-body{padding-bottom:clamp(56px,8vw,96px)}.shipped.product-page .product-listing-section{--product-section-gap:clamp(22px, 3vw, 32px);--product-section-space:clamp(36px, 5vw, 64px);align-items:start;gap:var(--product-section-gap);padding:var(--product-section-space) 0;border-bottom:1px solid var(--hairline);grid-template-columns:1fr;display:grid}.shipped.product-page .product-listing-section>.kicker{margin-bottom:0}.shipped.product-page .builder-filmstrip{border:1px solid var(--hairline-2);background:var(--paper-2);isolation:isolate;border-radius:4px;min-width:0;position:relative;overflow:hidden}.shipped.product-page .builder-filmstrip__stage{--builder-pointer-x:50%;isolation:isolate;perspective:1450px;cursor:ew-resize;touch-action:none;-webkit-user-select:none;user-select:none;background:linear-gradient(90deg, var(--hairline-2) 1px, transparent 1px) 50% 0 / 25% 100%, repeating-linear-gradient(0deg, transparent 0, transparent 79px, var(--hairline-2) 80px, transparent 81px), radial-gradient(circle at var(--builder-pointer-x) 48%, color-mix(in srgb, var(--yellow) 30%, transparent), transparent 34%), var(--paper-2);height:clamp(248px,25vw,324px);position:relative;overflow:hidden}.shipped.product-page .builder-filmstrip__stage:before,.shipped.product-page .builder-filmstrip__stage:after{z-index:5;pointer-events:none;content:"";position:absolute;inset:0}.shipped.product-page .builder-filmstrip__stage:before{opacity:.27;background:repeating-radial-gradient(circle at 12% 18%, color-mix(in srgb, var(--ink) 17%, transparent) 0 .5px, transparent .7px 4px), repeating-radial-gradient(circle at 78% 71%, color-mix(in srgb, var(--paper) 35%, transparent) 0 .5px, transparent .8px 5px);mix-blend-mode:multiply}.shipped.product-page .builder-filmstrip__stage:after{z-index:4;background:linear-gradient(90deg, color-mix(in srgb, var(--ink) 13%, transparent), transparent 14%, transparent 86%, color-mix(in srgb, var(--ink) 13%, transparent))}.shipped.product-page .builder-filmstrip__deck{z-index:2;transform-style:preserve-3d;margin:0;padding:0;list-style:none;position:absolute;inset:0}.shipped.product-page .builder-filmstrip__item{--builder-focus:0;aspect-ratio:.72;width:clamp(128px,13vw,168px);transform-style:preserve-3d;will-change:transform, opacity, filter;position:absolute;top:50%;left:50%}.shipped.product-page .builder-filmstrip__card{border:1px solid var(--hairline);appearance:none;background:var(--paper);width:100%;height:100%;box-shadow:0 calc(6px + var(--builder-focus) * 12px) calc(12px + var(--builder-focus) * 18px) color-mix(in srgb, var(--ink) 24%, transparent), inset 0 0 0 1px var(--paper);cursor:pointer;border-radius:4px;outline:none;padding:6px;text-decoration:none;display:block;position:relative;overflow:hidden}.shipped.product-page .builder-filmstrip__card:before{z-index:3;border:1px solid color-mix(in srgb, var(--ink) 14%, transparent);pointer-events:none;content:"";position:absolute;inset:4px}.shipped.product-page .builder-filmstrip__card[aria-current=true]{border-color:var(--ink)}.shipped.product-page .builder-filmstrip__card:focus-visible{box-shadow:0 18px 30px color-mix(in srgb, var(--ink) 28%, transparent), 0 0 0 3px color-mix(in srgb, var(--yellow) 48%, transparent)}.shipped.product-page .builder-filmstrip__portrait{border:1px solid var(--hairline-2);background:var(--yellow);position:absolute;inset:6px 6px 34%;overflow:hidden}.shipped.product-page .builder-filmstrip__portrait img{object-fit:cover;filter:sepia(calc((1 - var(--builder-focus)) * .24)) saturate(calc(.66 + var(--builder-focus) * .34)) contrast(1.04);transform:scale(calc(1.04 + (1 - var(--builder-focus)) * .06))}.shipped.product-page .builder-filmstrip__footer{background:var(--ink);height:calc(34% - 6px);color:var(--paper);text-align:center;grid-template-columns:minmax(0,1fr);align-items:center;padding:8px;display:grid;position:absolute;bottom:6px;left:6px;right:6px}.shipped.product-page .builder-filmstrip__identity{align-content:center;justify-items:center;gap:4px;width:100%;min-width:0;display:grid}.shipped.product-page .builder-filmstrip__footer h3{min-width:0;color:inherit;font-size:var(--t-200);font-weight:var(--w-medium);letter-spacing:0;text-transform:none;white-space:normal;-webkit-line-clamp:2;-webkit-box-orient:vertical;line-height:1.08;display:-webkit-box;overflow:hidden}.shipped.product-page .builder-filmstrip__linkedin{min-width:0;max-width:100%;color:color-mix(in srgb, var(--paper) 72%, transparent);font-family:var(--font-mono), "IBM Plex Mono", monospace;font-size:var(--t-000);letter-spacing:-.02em;text-transform:none;transform-origin:50%;justify-content:center;align-items:center;gap:4px;line-height:1.05;display:flex;transform:scale(.86)}.shipped.product-page .builder-filmstrip__linkedin svg{width:10px;height:10px;color:var(--paper);flex:none}.shipped.product-page .builder-filmstrip__linkedin>span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.shipped.product-page .product-builders:has(+.product-problem){border-bottom:0}.shipped.product-page .product-problem{border-bottom:0;margin-block:0;padding-inline:0}.shipped.product-page .product-problem__inlay{--problem-quote-clearance:clamp(72px, 10vw, 128px);isolation:isolate;background:var(--ink);color:var(--paper);--sel-bg:var(--yellow);--sel-fg:var(--ink);border-radius:4px;padding:clamp(28px,4vw,48px);position:relative;overflow:hidden}.shipped.product-page .product-problem__inlay:before{content:"“";z-index:0;color:var(--paper);font-family:var(--font-body), "Instrument Sans", sans-serif;width:var(--problem-quote-clearance);font-size:max(var(--d-figure), var(--d-poster));font-weight:var(--w-bold);opacity:.12;pointer-events:none;line-height:1;position:absolute;top:-24px;left:16px}.shipped.product-page .product-problem__inlay>*{z-index:1;position:relative}.shipped.product-page .product-problem__inlay>p{max-width:62ch;margin-left:var(--problem-quote-clearance);color:var(--paper);font-family:var(--font-display), "Bricolage Grotesque", sans-serif;font-size:var(--t-300);letter-spacing:-.015em;line-height:1.35}.shipped.product-page .product-listing-hero:has(.product-stack-ticker){padding-bottom:0}.shipped.product-page .product-stack-ticker{border-top:1px solid color-mix(in srgb, var(--paper) 22%, transparent);border-bottom:0;border-left:0;border-right:0;margin-top:clamp(32px,4.5vw,56px);padding:clamp(14px,1.6vw,20px) 0}.shipped.product-page .product-stack-ticker__inner{align-items:center;gap:clamp(16px,2vw,28px);padding-left:clamp(24px,5vw,48px);display:flex}.shipped.product-page .product-stack-ticker__label{color:var(--paper);font-size:var(--t-000);font-weight:var(--w-regular);flex:none;margin:0}.shipped.product-page .product-stack-ticker__label:before{background:var(--paper)}.shipped.product-page .product-stack-ticker__rail{flex:auto;min-width:0;overflow:hidden}.shipped.product-page .product-stack-ticker__track{width:max-content;animation:product-stack-marquee calc(var(--stack-count,8) * 2.6s) linear infinite;display:flex}.shipped.product-page .product-stack-ticker:hover .product-stack-ticker__track,.shipped.product-page .product-stack-ticker:focus-within .product-stack-ticker__track{animation-play-state:paused}@keyframes product-stack-marquee{0%{transform:translate(0,0)}to{transform:translate(-50%)}}.shipped.product-page .product-stack-ticker ul{flex:none;align-items:center;gap:clamp(40px,5vw,72px);margin:0;padding:0 clamp(20px,2.5vw,36px);list-style:none;display:flex}.shipped.product-page .product-stack-ticker li{align-items:center;min-height:32px;display:flex}.shipped.product-page .product-stack-ticker li>a{color:var(--paper);align-items:center;text-decoration:none;display:inline-flex}.shipped.product-page .product-stack-ticker [data-brand-logo]{object-fit:contain;opacity:.82;width:auto;max-width:200px;height:30px;transition:opacity .16s}.shipped.product-page .product-stack-ticker a:hover [data-brand-logo],.shipped.product-page .product-stack-ticker a:focus-visible [data-brand-logo]{opacity:1}.shipped.product-page .product-stack-ticker [data-brand-logo]{filter:brightness(0)invert()}.shipped.product-page .product-stack-ticker [data-brand-logo=socketio]{filter:invert()}.shipped.product-page .product-stack-ticker [data-brand-logo=typescript]{filter:none}.shipped.product-page .product-stack-ticker [data-brand-logo=threejs]{opacity:1}.shipped.product-page .product-stack-ticker .tool-brand-lockup img{filter:none}.shipped.product-page .product-stack-ticker .tool-brand-lockup{align-items:center;gap:8px;display:inline-flex}.shipped.product-page .product-stack-ticker .tool-brand-lockup .tool-brand-lockup__mark{width:26px;height:26px}.shipped.product-page .product-stack-ticker .tool-brand-lockup .tool-brand-lockup__wordmark{width:auto;height:19px}.shipped.product-page .product-stack-ticker .tool-brand-lockup__text-wordmark,.shipped.product-page .product-stack-ticker .tool-brand-lockup__brevo-wordmark{color:var(--paper);font-family:var(--font-display), "Bricolage Grotesque", sans-serif;font-size:var(--t-500);font-weight:var(--w-medium);letter-spacing:-.03em;line-height:1}@media (prefers-reduced-motion:reduce){.shipped.product-page .product-stack-ticker__rail{overflow-x:auto}.shipped.product-page .product-stack-ticker__track{width:100%;animation:none}.shipped.product-page .product-stack-ticker ul[aria-hidden=true]{display:none}}.shipped.product-page .product-artifacts{border-bottom:0}.shipped.product-page .product-artifacts ol{counter-reset:product-artifact;border-top:1px solid var(--hairline);width:100%;max-width:72ch;margin:0;padding:0;list-style:none}.shipped.product-page .product-artifacts li{border-bottom:1px solid var(--hairline);counter-increment:product-artifact;grid-template-columns:28px 20px minmax(0,1fr);align-items:center;gap:10px;min-width:0;padding:14px 0;display:grid}.shipped.product-page .product-artifacts li:last-child{border-bottom:0}.shipped.product-page .product-artifacts li:before{color:var(--ink-soft);font-family:var(--font-mono), "IBM Plex Mono", monospace;font-size:var(--t-100);content:counter(product-artifact, decimal-leading-zero) "."}.shipped.product-page .product-artifacts__favicon{background-position:50%;background-repeat:no-repeat;background-size:contain;width:18px;height:18px;display:block}.shipped.product-page .product-artifacts a{width:fit-content;min-width:0;color:var(--ink);align-items:center;gap:8px;text-decoration:none;display:inline-flex}.shipped.product-page .product-artifacts a:hover,.shipped.product-page .product-artifacts a:focus-visible{color:var(--ink-soft)}.shipped.product-page .product-artifacts strong{font-size:var(--t-300);font-weight:var(--w-medium)}.shipped.product-page .product-build-story__action{justify-content:center;padding-top:40px;display:flex}.shipped.product-page .product-build-story{border-bottom:0}.shipped.product-page .product-build-story__copy{max-width:72ch}.shipped.product-page .product-build-story p{color:var(--ink-soft);font-size:var(--t-300);margin-bottom:18px;line-height:1.68}.shipped.product-page .product-build-story p:last-child{margin-bottom:0}.shipped.product-page .product-related-products{border-top:1px solid var(--hairline);margin-top:clamp(64px,8vw,96px);padding-top:clamp(44px,6vw,72px)}.shipped.product-page .product-related-products>h2{max-width:none;font-size:var(--d-100);white-space:nowrap}.shipped.product-page .product-related-products>ul{grid-template-columns:repeat(4,minmax(0,1fr));align-items:stretch;gap:18px;margin:clamp(26px,4vw,40px) 0 0;padding:0;list-style:none;display:grid}.shipped.product-page .product-related-products li{min-width:0;height:100%;container-type:inline-size}.shipped.product-page .product-related-products .fcard{width:100%;height:100%;box-shadow:4px 4px 0 var(--hairline-2)}.shipped.product-page .product-related-products .fname{flex-direction:column;align-items:flex-start;gap:8px;padding:12px 14px 14px}.shipped.product-page .product-related-products .fname .nm{font-size:var(--t-600)}.shipped.product-page .product-related-products .fname .fmeta{margin-left:0}.shipped.product-page .product-related-program{border:2px solid var(--ink);background:var(--ink);height:100%;min-height:calc(75cqi + 82px);color:var(--paper);box-shadow:4px 4px 0 var(--hairline-2);--sel-bg:var(--yellow);--sel-fg:var(--ink);border-radius:4px;flex-direction:column;align-items:flex-start;padding:clamp(16px,2vw,22px);text-decoration:none;transition:transform .35s cubic-bezier(.34,1.56,.64,1),border-color .25s,box-shadow .35s cubic-bezier(.16,.8,.3,1);display:flex}.shipped.product-page .product-related-program:hover,.shipped.product-page .product-related-program:focus-visible{border-color:var(--ink);box-shadow:4px 4px 0 var(--hairline-2);transform:translateY(-5px)scale(1.03)}.shipped.product-page .product-related-program:focus-visible{outline-color:var(--yellow)}.shipped.product-page .product-related-program__mark{border:2px dashed var(--paper);place-items:center;width:100%;min-height:clamp(68px,6vw,80px);display:grid}.shipped.product-page .product-related-program__mark svg{width:46px;height:46px;stroke:var(--paper);stroke-width:1.8px;stroke-linecap:round}.shipped.product-page .product-related-program h3{max-width:12ch;color:var(--paper);font-family:var(--font-display), "Bricolage Grotesque", sans-serif;font-size:var(--t-600);font-weight:var(--w-medium);letter-spacing:-.02em;margin-top:18px;line-height:1}.shipped.product-page .product-related-program>span:last-child{background:var(--paper);color:var(--ink);font-weight:var(--w-medium);border-radius:2px;margin-top:auto;padding:12px 16px}@media (max-width:900px){.shipped.product-page .product-related-products>ul{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:820px){.shipped.product-page .product-listing-hero>.wrap{grid-template-columns:1fr;align-items:start}}@media (max-width:650px){.shipped.product-page .builder-filmstrip__stage{cursor:ns-resize;background:linear-gradient(90deg, var(--hairline-2) 1px, transparent 1px) 50% 0 / 50% 100%, repeating-linear-gradient(0deg, transparent 0, transparent 87px, var(--hairline-2) 88px, transparent 89px), radial-gradient(circle at 50% 50%, color-mix(in srgb, var(--yellow) 30%, transparent), transparent 35%), var(--paper-2);height:420px}.shipped.product-page .builder-filmstrip__item{width:132px}}@media (max-width:640px){.shipped.product-page .product-related-products>h2{font-size:var(--t-500)}.shipped.product-page .product-listing-logo{border-radius:4px;width:64px}.shipped.product-page .product-listing-title p{margin-top:10px}.shipped.product-page .product-gallery__stage{margin-inline:-8px}.shipped.product-page .product-gallery__rail{gap:9px;bottom:12px;left:12px;right:12px}.shipped.product-page .product-gallery__rail button{width:62px}.shipped.product-page .product-gallery__rail button.is-active{width:72px}.shipped.product-page .product-listing-section{gap:22px}.shipped.product-page .product-related-products>ul{grid-template-columns:1fr}.shipped.product-page .builder-filmstrip{margin-inline:-8px}.shipped.product-page .builder-filmstrip__footer{padding:6px}}@media (prefers-reduced-motion:reduce){.shipped.product-page .builder-filmstrip__item{will-change:auto}.shipped.product-page .product-related-program{transition:none}.shipped.product-page .product-related-program:hover,.shipped.product-page .product-related-program:focus-visible{transform:none}}
