@property --card-angle{syntax: "<angle>"; inherits: false; initial-value: 0deg;}@layer components{.site-header__mark{font-family:var(--font-display);font-size:var(--step-2);letter-spacing:var(--tracking-display);color:var(--ink-strong);text-decoration:none}.site-nav__list a{color:var(--ink-muted);text-decoration:none;padding-block:var(--space-3xs);border-bottom:2px solid transparent}.site-nav__list a:hover{color:var(--accent);border-bottom-color:var(--action)}.theme{place-items:center;min-width:44px;min-height:44px;margin:0;padding:0;border:0;border-radius:var(--radius);background:none;color:var(--ink-muted);cursor:pointer}.theme:hover{color:var(--accent)}.theme:focus-visible{outline:var(--focus-ring-width) solid var(--focus-ring-color);outline-offset:var(--focus-ring-offset)}.theme__icon{display:none}.theme__label{display:none;position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip-path:inset(50%)}:root:not([data-theme]) .theme__icon[data-value=system],:root[data-theme=light] .theme__icon[data-value=light],:root[data-theme=dark] .theme__icon[data-value=dark],:root:not([data-theme]) .theme__label[data-value=system],:root[data-theme=light] .theme__label[data-value=light],:root[data-theme=dark] .theme__label[data-value=dark]{display:block}.hero__title{font-size:var(--step-5)}.wordmark{display:block;width:auto;max-width:100%;height:1.26em;fill:currentColor;overflow:visible}@media(prefers-reduced-motion:no-preference){:root.js .wordmark path{stroke:currentColor;stroke-width:14;stroke-linejoin:round;stroke-dasharray:1;stroke-dashoffset:1;fill-opacity:0;animation:wordmark-draw 1.8s var(--ease-in-out) both}:root.js .wordmark path:nth-child(2){animation-delay:90ms}:root.js .wordmark path:nth-child(3){animation-delay:.18s}:root.js .wordmark path:nth-child(4){animation-delay:.27s}:root.js .wordmark path:nth-child(5){animation-delay:.36s}:root.js .wordmark path:nth-child(6){animation-delay:.45s}@keyframes wordmark-draw{60%{stroke-dashoffset:0;fill-opacity:0}to{stroke-dashoffset:0;stroke-width:0;fill-opacity:1}}}.hero__tagline{font-size:var(--step-1);color:var(--ink-muted);max-width:none}.hero__scene{display:none;position:absolute;inset:0;z-index:var(--z-scene);width:100%;height:100%;pointer-events:none}:root.js .hero__scene{display:block}@media(prefers-contrast:more){:root.js .hero__scene{display:none}}.button{display:inline-block;padding:var(--space-2xs) var(--space-s);border:1px solid var(--action);border-radius:var(--radius);background:transparent;color:var(--action-hover);font-size:var(--step--1);text-decoration:none}.button:hover{background:var(--action);color:var(--surface)}.button--primary{border-color:var(--accent);background:var(--accent);color:var(--surface);box-shadow:var(--shadow-1)}.button--primary:hover{background:color-mix(in srgb,var(--accent) 82%,var(--ink));color:var(--surface);box-shadow:var(--shadow-2),var(--glow-accent)}@media(prefers-reduced-motion:no-preference){.button{transition:background var(--transition),color var(--transition),box-shadow var(--transition)}}.contact-form input,.contact-form textarea{width:100%;padding:var(--space-2xs) var(--space-xs);border:1px solid var(--rule);border-radius:var(--radius);background:var(--surface);color:var(--ink);font:inherit}.contact-form textarea{resize:vertical}.contact-form :user-invalid{border-color:var(--accent)}.contact-form__error,.contact-form__status{margin:0;color:var(--accent);font-size:var(--step--1)}.contact-form__error:empty{display:none}.contact-form__note{margin:0;color:var(--ink-muted);font-size:var(--step--1)}.contact-form__trap{position:absolute;left:-100vw}.button:disabled{opacity:.6;cursor:progress}.card{--hue: var(--accent);--tilt-x: 0deg;--tilt-y: 0deg;--glare-x: 50%;--glare-y: 0%;--card-lift: 0px;position:relative;display:flex;flex-direction:column;border:1px solid var(--rule);border-radius:var(--radius);background:var(--surface);overflow:hidden}.card:before,.card:after{content:"";position:absolute;inset:0;z-index:var(--z-content);border-radius:inherit;opacity:0;pointer-events:none}.card:before{background:radial-gradient(circle at var(--glare-x) var(--glare-y),var(--glare),transparent 60%)}.card:after{padding:1px;background:conic-gradient(from var(--card-angle),transparent 55%,var(--hue),var(--accent-warm),transparent 95%);mask:linear-gradient(black 0 0) content-box exclude,linear-gradient(black 0 0)}.card:hover,.card:focus-within{box-shadow:var(--shadow-lift)}.card:hover:before,.card:hover:after,.card:focus-within:after{opacity:1}@media(prefers-reduced-motion:no-preference){:root.js .card{transform:perspective(50rem) rotateX(var(--tilt-x)) rotateY(var(--tilt-y)) translateY(var(--card-lift));transition:transform var(--dur-2) var(--ease-out),box-shadow var(--transition)}:root.js .card:hover,:root.js .card:focus-within{--card-lift: -4px}.card:before,.card:after{transition:opacity var(--transition)}.card:hover:after,.card:focus-within:after{animation:card-sweep 4s linear infinite}.card:hover .figure__dot,.card:focus-within .figure__dot{animation:figure-pipeline 2.4s var(--ease-in-out) infinite}.card:hover .figure__shield,.card:focus-within .figure__shield,.card:hover .figure__tick,.card:focus-within .figure__tick{animation:figure-shield 2.4s var(--ease-out) infinite}.card:hover .figure__typing,.card:focus-within .figure__typing{animation:figure-typing 1.2s var(--ease-in-out) infinite}.card:hover .figure__typing:nth-of-type(2),.card:focus-within .figure__typing:nth-of-type(2){animation-delay:.2s}.card:hover .figure__typing:nth-of-type(3),.card:focus-within .figure__typing:nth-of-type(3){animation-delay:.4s}.card:hover .figure__field,.card:focus-within .figure__field{animation:figure-field 2.4s var(--ease-out) infinite backwards}.card:hover .figure__field:nth-of-type(3),.card:focus-within .figure__field:nth-of-type(3){animation-delay:.2s}.card:hover .figure__field:nth-of-type(4),.card:focus-within .figure__field:nth-of-type(4){animation-delay:.35s}.card:hover .figure__field:nth-of-type(5),.card:focus-within .figure__field:nth-of-type(5){animation-delay:.5s}@keyframes card-sweep{to{--card-angle: 360deg}}@keyframes figure-pipeline{0%{transform:translate(-160px)}35%,50%{transform:translate(-80px)}85%,to{transform:none}}@keyframes figure-shield{0%{opacity:0;transform:translateY(-24px) scale(.6)}45%,to{opacity:1;transform:none}}@keyframes figure-typing{0%,to{opacity:1}50%{opacity:.25}}@keyframes figure-field{0%{transform:scaleX(0)}40%,to{transform:none}}}.card--ai{--hue: var(--hue-ai)}.card--devops{--hue: var(--hue-devops)}.card--cloud{--hue: var(--hue-cloud)}.card--ado{--hue: var(--hue-ado)}.card--chat{--hue: var(--hue-chat)}.card__link{color:var(--ink-strong);text-decoration:none}.card__link:after{content:"";position:absolute;inset:0}.card__link:hover{color:var(--accent)}.card__link:focus-visible{outline:none}.card:has(.card__link:focus-visible){outline:var(--focus-ring-width) solid var(--focus-ring-color);outline-offset:var(--focus-ring-offset)}.card__thumb{width:100%;aspect-ratio:600 / 480;object-fit:cover}.card__figure{display:grid;place-items:center;aspect-ratio:600 / 480;background:var(--surface-sunken);color:var(--action)}.tags{display:flex;flex-wrap:wrap;gap:var(--space-3xs);list-style:none}.tag{padding:0 var(--space-2xs);border:1px solid color-mix(in srgb,var(--hue) 45%,transparent);border-radius:999px;color:var(--hue);font-size:var(--step--1)}.glyph{width:38%;max-width:12rem;aspect-ratio:1}.figure{width:72%;max-width:18rem;overflow:visible}.figure__line{fill:none;stroke:var(--rule);stroke-width:2}.figure__node{fill:var(--surface);stroke:var(--hue);stroke-width:2}.figure__label{fill:var(--ink-muted);font-size:12px;text-anchor:middle}.figure__dot,.figure__typing{fill:var(--hue)}.figure__field{fill:color-mix(in srgb,var(--hue) 55%,var(--rule));transform-box:fill-box;transform-origin:left center}.figure__shield,.figure__tick{transform-box:fill-box;transform-origin:center}.figure__tick{fill:none;stroke:var(--hue);stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}.card__body{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-2xs);padding:var(--space-s)}.card__title{font-size:var(--step-1)}.card__meta{color:var(--ink-muted);font-size:var(--step--1);max-width:none}.pull-quote{margin-top:var(--space-xl);text-align:center}.pull-quote cite{display:block;margin-top:var(--space-2xs);font-family:var(--font-body);font-size:var(--step--1);font-style:normal;color:var(--ink-faint)}.services>li>ul{margin-top:var(--space-3xs);color:var(--ink-muted)}.sprite{position:absolute;width:0;height:0;overflow:hidden}.icon{width:1.25rem;height:1.25rem}.site-footer__env{color:var(--ink-faint);font-size:var(--step--1)}.site-footer__mark{font-family:var(--font-display);font-size:var(--step-2);letter-spacing:var(--tracking-display);color:var(--ink-strong);text-decoration:none}.site-footer__line,.site-footer__meta,.site-footer__privacy{color:var(--ink-muted);font-size:var(--step--1)}.site-footer__list a{color:var(--ink-muted)}.site-footer__list a:hover{color:var(--accent)}.site-header[data-scrolled]{box-shadow:var(--shadow-2)}@media(prefers-reduced-motion:no-preference){:root.js .site-header{transition:box-shadow var(--dur-2) var(--ease-out)}}.eyebrow{margin-bottom:var(--space-3xs);color:var(--ink-muted);font-size:var(--step--1);letter-spacing:.12em;text-transform:uppercase}.eyebrow__index{color:var(--accent);font-variant-numeric:tabular-nums}.evidence__value{font-family:var(--font-display);font-size:var(--step-4);color:var(--accent);font-variant-numeric:tabular-nums}.evidence__asof{color:var(--ink-muted);font-size:var(--step--1)}.now-building{border-block:1px solid var(--rule);background:var(--surface-sunken)}.now-building__inner{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3xs) var(--space-xs);padding-block:var(--space-xs);font-size:var(--step--1)}.now-building__dot{width:.625rem;height:.625rem;border-radius:50%;background:var(--hue)}.now-building__label{color:var(--ink-muted);font-weight:var(--weight-strong);letter-spacing:.12em;text-transform:uppercase}.now-building__link{color:var(--ink-strong);font-weight:var(--weight-strong)}.now-building__meta{color:var(--ink-muted)}@media(prefers-reduced-motion:no-preference){:root.js .now-building__dot{animation:now-building-pulse 2.4s var(--ease-in-out) infinite}@keyframes now-building-pulse{0%,to{box-shadow:0 0 color-mix(in srgb,var(--hue) 55%,transparent)}50%{box-shadow:0 0 0 .375rem transparent}}}}
