@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:optional;src:url(/_astro/inter-latin-400-normal.C38fXH4l.woff2)format("woff2")}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:optional;src:url(/_astro/inter-latin-600-normal.LgqL8muc.woff2)format("woff2")}@font-face{font-family:Inter;font-style:normal;font-weight:700;font-display:optional;src:url(/_astro/inter-latin-700-normal.Yt3aPRUw.woff2)format("woff2")}:root{color-scheme:dark;--bg:#0b1020;--bg-elev:#141b2e;--text:#eef3fb;--text-dim:#c9d3e6;--line:#2c3854;--accent:#7dd3fc;--accent-strong:#e0f2fe;--warm:#fbbf24;--focus:#fbbf24;--rink:#dbeafe57;--rink-blue:#7dd3fc66;--rink-red:#fda4af42;--max:72rem;--measure:68ch;--font:"Inter", "Segoe UI", sans-serif;--header:3.6rem;--cta-fg:#082033;--cta-bg-hover:color-mix(in srgb, #020617 12%, var(--accent))}@media (prefers-color-scheme:light){:root:not([data-theme]){color-scheme:light;--bg:#f6f7fb;--bg-elev:#fff;--text:#141820;--text-dim:#343c4d;--line:#d5dce8;--accent:#075985;--accent-strong:#0c4a6e;--warm:#b45309;--focus:#b45309;--rink:#07598533;--rink-blue:#07598547;--rink-red:#9f123929;--cta-fg:#f8fafc}}:root[data-theme=light]{color-scheme:light;--bg:#f6f7fb;--bg-elev:#fff;--text:#141820;--text-dim:#343c4d;--line:#d5dce8;--accent:#075985;--accent-strong:#0c4a6e;--warm:#b45309;--focus:#b45309;--rink:#07598533;--rink-blue:#07598547;--rink-red:#9f123929;--cta-fg:#f8fafc}:root[data-theme=dark]{color-scheme:dark}*{box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:var(--font);color:var(--text);background:var(--bg);margin:0;font-size:1.025rem;line-height:1.6}img{max-width:100%;height:auto}h1,h2,h3{letter-spacing:-.02em;font-weight:600;line-height:1.2}h1{margin:0 0 .7rem;font-size:clamp(1.9rem,3.1vw,2.85rem)}h2{margin:0 0 .85rem;font-size:clamp(1.3rem,1.6vw,1.65rem)}h3{margin:0 0 .35rem;font-size:1.08rem}h2 a,h3 a{text-decoration:none}h2 a:hover,h3 a:hover{text-underline-offset:.18rem;text-decoration:underline}p{margin:0 0 .9rem}a{color:var(--accent-strong)}a:hover{color:var(--accent)}:focus-visible{outline:3px solid var(--focus);outline-offset:3px}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip{background:var(--bg-elev);color:var(--text);z-index:10;padding:.6rem .9rem;position:absolute;top:.75rem;left:.75rem;transform:translateY(-150%)}.skip:focus{transform:none}.wrap{width:min(var(--max), calc(100% - 2rem));margin-inline:auto}.measure{max-width:var(--measure)}.wrap.measure{max-width:min(var(--max), calc(100% - 2rem))}.eyebrow{color:var(--text-dim);margin:0 0 .35rem;font-size:.98rem;font-weight:400}.eyebrow+.eyebrow{margin-bottom:.85rem}.eyebrow-name{color:var(--text);font-weight:600}.lede{color:var(--text-dim);max-width:40rem;font-size:1.125rem}.stack>*+*{margin-top:1rem}.section{padding:4.5rem 0}.stat{color:var(--text-dim);margin:0 0 .35rem;font-size:.95rem}.placeholder{background:var(--bg-elev);border:1px dashed var(--line);border-radius:14px;padding:1rem 1.1rem}@media (width<=699px){.section{padding:3rem 0}}.muted{color:var(--text-dim)}.list{margin:0;padding-left:1.15rem}.list li+li{margin-top:.35rem}.pill-row,.tag-row{flex-wrap:wrap;gap:.4rem;margin:0;padding:0;list-style:none;display:flex}.pill,.tag{border:1px solid var(--line);color:var(--text-dim);border-radius:999px;padding:.15rem .65rem;font-size:.92rem;display:inline-block}.site-header{z-index:5;background:color-mix(in srgb, var(--bg) 76%, transparent);border-bottom:1px solid color-mix(in srgb, var(--line) 50%, transparent);backdrop-filter:blur(8px);position:sticky;top:0}.header-inner{min-height:var(--header);justify-content:space-between;align-items:center;gap:1rem;display:flex}.logo{color:var(--text);align-items:center;min-height:44px;font-weight:700;text-decoration:none;display:inline-flex}.logo span{color:var(--accent)}.menu{position:relative}.menu summary{cursor:pointer;border:1px solid color-mix(in srgb, var(--line) 80%, transparent);min-width:44px;min-height:44px;color:var(--text-dim);border-radius:999px;align-items:center;padding:0 .75rem;list-style:none;display:inline-flex}.menu summary::-webkit-details-marker{display:none}.nav-desktop{display:none}.nav-panel{align-items:center;gap:.25rem;display:none}.menu[open] .nav-panel{background:var(--bg-elev);border:1px solid var(--line);border-radius:12px;flex-direction:column;align-items:stretch;min-width:14rem;padding:.4rem;display:flex;position:absolute;top:calc(100% + .4rem);right:0}.nav-panel a{color:var(--text-dim);border-radius:8px;align-items:center;min-height:44px;padding:0 .7rem;font-weight:400;text-decoration:none;display:inline-flex}.nav-panel a[aria-current=page],.footer-grid a[aria-current=page]{color:var(--text);text-underline-offset:.25rem;font-weight:700;text-decoration:underline}.cta,.nav-panel a.cta,.nav-panel a.cta[aria-current=page]{background:var(--accent);color:var(--cta-fg);border-radius:999px;align-items:center;min-height:44px;padding:.55rem .95rem;font-weight:600;text-decoration:none;display:inline-flex}.cta:hover,.cta:focus-visible,.cta:active,.nav-panel a.cta:hover,.nav-panel a.cta:focus-visible,.nav-panel a.cta:active,.nav-panel a.cta[aria-current=page]:hover,.nav-panel a.cta[aria-current=page]:focus-visible,.nav-panel a.cta[aria-current=page]:active{color:var(--cta-fg);background:var(--cta-bg-hover)}.nav-panel a.cta[aria-current=page]{outline:2px solid var(--text);outline-offset:2px}.header-end{align-items:center;gap:.35rem;margin-left:auto;display:flex}.header-tools{align-items:center;gap:.35rem;display:flex}.icon-btn{border:1px solid var(--line);min-width:40px;min-height:40px;color:var(--text);font:inherit;letter-spacing:.03em;cursor:pointer;background:0 0;border-radius:999px;justify-content:center;align-items:center;gap:.28rem;padding:0 .55rem;font-size:.72rem;font-weight:700;line-height:1;text-decoration:none;display:inline-flex}.icon-btn:hover,.icon-btn:focus-visible,.icon-btn:active{color:var(--text);background:color-mix(in srgb, var(--text) 8%, transparent);text-decoration:none}.tool-icon{flex:none;width:1.05rem;height:1.05rem}.theme-toggle{padding:0;display:none}html.js .theme-toggle{display:inline-flex}.icon-sun{display:none}.icon-moon{display:block}@media (prefers-color-scheme:dark){html:not([data-theme]) .icon-sun{display:block}html:not([data-theme]) .icon-moon{display:none}}html[data-theme=dark] .icon-sun{display:block}html[data-theme=dark] .icon-moon,html[data-theme=light] .icon-sun{display:none}html[data-theme=light] .icon-moon{display:block}@media (width>=900px){.menu{display:none}.nav-desktop{background:0 0;border:0;flex-direction:row;min-width:0;padding:0;display:flex;position:static}}main{position:relative}.hero{isolation:isolate;padding:2.6rem 0 4.25rem;position:relative;overflow:hidden}.hero-grid,.split{z-index:1;gap:1.75rem;display:grid;position:relative}.faceoff{aspect-ratio:1;justify-self:center;width:min(100%,15rem);position:relative}.faceoff-ring{pointer-events:none;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.faceoff-ring .rink-red{stroke-width:.7px}.faceoff-photo{border-radius:50%;position:absolute;inset:.42rem;overflow:hidden}.portrait{aspect-ratio:1;object-fit:cover;object-position:center 34%;width:118%;max-width:none;height:118%;position:absolute;top:-6%;left:-9%}@media (width>=800px){.hero{padding:3rem 0 4.75rem}.hero-grid{grid-template-columns:minmax(15rem,20rem) minmax(0,1fr);align-items:center;gap:2.5rem}.faceoff{grid-area:1/1;justify-self:start;width:100%}.hero-copy{grid-area:1/2;justify-self:start;max-width:42rem}.split{grid-template-columns:1.2fr .8fr;align-items:start}}.hero-cta{margin:1.15rem 0 0}.hero h1 br{display:none}@media (width>=800px){.hero h1 br{display:inline}}.hero-copy{position:relative}.hero-copy:before{content:"";z-index:-1;background:color-mix(in srgb, var(--bg) 86%, transparent);pointer-events:none;-webkit-mask-composite:source-in;position:absolute;inset:0;-webkit-mask-image:linear-gradient(90deg,#0000,#000 .55rem calc(100% - .55rem),#0000),linear-gradient(#000 0 calc(100% - .4rem),#0000);mask-image:linear-gradient(90deg,#0000,#000 .55rem calc(100% - .55rem),#0000),linear-gradient(#000 0 calc(100% - .4rem),#0000);mask-composite:intersect}.card-grid,.project-list{gap:1.75rem 2.5rem;display:grid}.product-group{margin-top:2.25rem}@media (width>=800px){.card-grid{grid-template-columns:1fr 1fr}}.card,.project,.quote,.legal{background:0 0;border:0;border-radius:0;padding:0}.project{border-bottom:1px solid color-mix(in srgb, var(--line) 70%, transparent);padding:.15rem 0 1.2rem}.card a,.text-link{text-underline-offset:.18rem}.quote{margin:0 0 1.35rem}.quote p{letter-spacing:-.02em;margin:0;font-size:1.3rem;font-weight:600}.filters{flex-wrap:wrap;gap:.4rem;margin:0 0 1rem;display:flex;position:relative}.filters>span{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.filters a{border:1px solid var(--line);min-height:44px;color:var(--text);border-radius:999px;align-items:center;padding:0 .8rem;text-decoration:none;display:inline-flex}.filters a:hover,.filters a:focus-visible,.filters a:active{color:var(--text);background:color-mix(in srgb, var(--text) 8%, transparent)}.work:not(:has(.filters :target)) a[href=\#work-all],.work:has(#work-all:target) a[href=\#work-all],.work:has(#work-sac:target) a[href=\#work-sac],.work:has(#work-btp:target) a[href=\#work-btp],.work:has(#work-cds:target) a[href=\#work-cds],.work:has(#work-ai:target) a[href=\#work-ai],.work:has(#work-finance:target) a[href=\#work-finance],.work:has(#work-data:target) a[href=\#work-data]{background:var(--accent);color:var(--cta-fg);border-color:var(--accent)}.work:not(:has(.filters :target)) a[href=\#work-all]:hover,.work:not(:has(.filters :target)) a[href=\#work-all]:focus-visible,.work:not(:has(.filters :target)) a[href=\#work-all]:active,.work:has(#work-all:target) a[href=\#work-all]:hover,.work:has(#work-all:target) a[href=\#work-all]:focus-visible,.work:has(#work-all:target) a[href=\#work-all]:active,.work:has(#work-sac:target) a[href=\#work-sac]:hover,.work:has(#work-sac:target) a[href=\#work-sac]:focus-visible,.work:has(#work-sac:target) a[href=\#work-sac]:active,.work:has(#work-btp:target) a[href=\#work-btp]:hover,.work:has(#work-btp:target) a[href=\#work-btp]:focus-visible,.work:has(#work-btp:target) a[href=\#work-btp]:active,.work:has(#work-cds:target) a[href=\#work-cds]:hover,.work:has(#work-cds:target) a[href=\#work-cds]:focus-visible,.work:has(#work-cds:target) a[href=\#work-cds]:active,.work:has(#work-ai:target) a[href=\#work-ai]:hover,.work:has(#work-ai:target) a[href=\#work-ai]:focus-visible,.work:has(#work-ai:target) a[href=\#work-ai]:active,.work:has(#work-finance:target) a[href=\#work-finance]:hover,.work:has(#work-finance:target) a[href=\#work-finance]:focus-visible,.work:has(#work-finance:target) a[href=\#work-finance]:active,.work:has(#work-data:target) a[href=\#work-data]:hover,.work:has(#work-data:target) a[href=\#work-data]:focus-visible,.work:has(#work-data:target) a[href=\#work-data]:active{color:var(--cta-fg);background:var(--cta-bg-hover);border-color:var(--cta-bg-hover)}.work:has(#work-sac:target) .project:not([data-tags~=sac]),.work:has(#work-btp:target) .project:not([data-tags~=btp]),.work:has(#work-cds:target) .project:not([data-tags~=cds]),.work:has(#work-ai:target) .project:not([data-tags~=ai]),.work:has(#work-finance:target) .project:not([data-tags~=finance]),.work:has(#work-data:target) .project:not([data-tags~=data-pipelines]){display:none}.meta{color:var(--text-dim);margin:0 0 .4rem;font-size:.95rem}.product-head,.app-head{align-items:center;gap:.8rem;display:flex}.product-head img,.app-head img{object-fit:cover;background:#eef3fb;border-radius:12px;flex:none;width:48px;height:48px}.section-more{margin:1.15rem 0 0;font-size:.95rem}.site-footer{border-top:1px solid var(--line);color:var(--text-dim);text-align:center;padding:2rem 0 3rem}.footer-grid{flex-wrap:wrap;justify-content:center;align-items:center;gap:.35rem;display:flex}.footer-grid a{justify-content:center;align-items:center;min-width:24px;min-height:44px;padding:0 .55rem;display:inline-flex}.slogan{width:100%;color:var(--text);text-align:center;margin:0}.todo{border-style:dashed}.cred-list{max-width:none;margin:0;padding:0;list-style:none}.cred-list a{min-height:44px;color:var(--text);border-top:1px solid color-mix(in srgb, var(--line) 75%, transparent);flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.15rem 1.25rem;padding:.55rem 0;text-decoration:none;display:flex}.cred-list li:last-child a{border-bottom:1px solid color-mix(in srgb, var(--line) 75%, transparent)}.cred-list a:hover{color:var(--accent-strong)}.cred-code{color:var(--text-dim);font-size:.9rem}.about-home{align-items:start;gap:1.25rem;display:grid}.about-copy{min-width:0}.ice-frame{aspect-ratio:4/5;width:min(100%,28rem);margin:0;position:relative}.ice-photo{object-fit:cover;object-position:94% 48%;width:100%;max-width:none;height:100%;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000 0% 78%,#0000 100%);mask-image:linear-gradient(#000 0% 78%,#0000 100%);-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.story-cta{text-align:center;margin:1.15rem 0 0}.contact-close{text-align:center}.close-actions{flex-wrap:wrap;justify-content:center;align-items:center;gap:.75rem;margin-top:1.15rem;display:flex}.close-actions .cta{box-sizing:border-box;height:44px;padding-top:0;padding-bottom:0}.cta.cta-secondary,.cta.cta-secondary:hover,.cta.cta-secondary:focus-visible,.cta.cta-secondary:active{color:var(--text);border:1.5px solid var(--text);background:0 0;gap:.45rem}.cta.cta-secondary:hover,.cta.cta-secondary:focus-visible,.cta.cta-secondary:active{background:color-mix(in srgb, var(--text) 8%, transparent);color:var(--text)}.mail-icon{flex:none;width:1.15rem;height:1.15rem}@media (width>=1100px){.about-home{grid-template-columns:minmax(0,1.15fr) minmax(18rem,1fr);align-items:center;column-gap:1.25rem}.ice-frame{grid-area:1/2;width:100%}.about-copy{grid-area:1/1}.ice-photo{-webkit-mask-composite:source-in;-webkit-mask-image:linear-gradient(90deg,#0000 0%,#000 8%),linear-gradient(#000 0% 82%,#0000 100%);mask-image:linear-gradient(90deg,#0000 0%,#000 8%),linear-gradient(#000 0% 82%,#0000 100%);mask-composite:intersect}}@supports (animation-timeline:view()){@media (prefers-reduced-motion:no-preference){.story-cta .cta{animation-name:story-in;animation-duration:auto;animation-timing-function:linear;animation-fill-mode:both;animation-timeline:view();animation-range:entry cover 28%}}}@keyframes story-in{0%{opacity:0;translate:0 .65rem}to{opacity:1;translate:0}}.about-hero{background:var(--bg);height:46vh;min-height:18rem;max-height:22rem;position:relative;overflow:hidden}.about-hero img{object-fit:cover;object-position:68% top;border-radius:0;width:100%;max-width:none;height:100%;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000 50%,#0000006b 66%,#00000014 80%,#0000 100%);mask-image:linear-gradient(#000 50%,#0000006b 66%,#00000014 80%,#0000 100%)}@media (width<=799px){.about-hero img{-webkit-mask-image:linear-gradient(#000 28%,#00000038 52%,#0000 74%);mask-image:linear-gradient(#000 28%,#00000038 52%,#0000 74%)}}.about-hero-copy{z-index:1;padding-bottom:.35rem;position:absolute;bottom:0;left:0;right:0}.about-hero-copy .eyebrow{margin-bottom:.45rem}.about-display{letter-spacing:-.03em;color:var(--text);margin:0;font-size:clamp(2.5rem,6vw,5rem);font-weight:700;line-height:1.02}.about-accent{color:var(--accent)}.about-body{padding:1.5rem 0 4.5rem}.about-page .about-copy{max-width:51.25rem;margin-inline:auto}.about-spread{display:flow-root}.about-page .about-copy:after{content:"";clear:both;display:block}.about-page .about-copy figure{margin:0}.about-shot img,.about-breakout img{border-radius:2px;width:100%;height:auto;display:block}.about-shot,.about-breakout{margin:1.35rem 0 1.65rem}.about-sources{clear:both;flex-wrap:wrap;gap:.65rem 1.5rem;margin:1.35rem 0 .35rem;font-size:1.05rem;display:flex}.about-sources a{color:var(--text);border-bottom:2px solid var(--accent);padding-bottom:.12rem;font-weight:600;text-decoration:none}.about-sources a:hover,.about-sources a:focus-visible{color:var(--accent-strong)}.about-breakout{clear:both}.about-cta{text-align:center;margin-top:1.35rem}@media (width<=699px){.about-body{padding:1.15rem 0 3rem}}@media (width>=800px){.about-hero{height:65vh;min-height:28rem;max-height:none}.about-page .about-copy .about-shot{shape-outside:inset(0 round 2px);shape-margin:1.15rem;width:48%;margin:.15rem 0 .45rem}.about-page .about-copy .about-shot img{object-fit:cover}.about-page .about-copy .about-shot-right{float:right;margin-left:1.35rem}.about-page .about-copy .about-shot-right img{aspect-ratio:5/2;object-position:center 44%}.about-page .about-copy .about-shot-left{float:left;margin-right:1.35rem}.about-page .about-copy .about-shot-left img{aspect-ratio:5/2;object-position:center 62%}.about-page .about-copy .about-breakout{width:calc(100% + 5rem);margin:1.85rem -2.5rem 2rem}.about-breakout img{aspect-ratio:2;object-fit:cover;object-position:center 12%}}.rink{pointer-events:none;z-index:0;width:100%;position:absolute;top:0;left:0;overflow:hidden}.rink-hero{height:100%}.rink-svg{width:100%;height:100%;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000 0% 42%,#0000008c 78%,#00000047 100%);mask-image:linear-gradient(#000 0% 42%,#0000008c 78%,#00000047 100%)}.rink-ice{-webkit-mask-image:none;mask-image:none}.rink-narrow{display:none}.zamboni-defs{position:absolute}@media (width<=799px){.rink-wide{display:none}.rink-narrow{display:block}}.rink-board{stroke:var(--rink);stroke-width:.45px}.rink-blue{stroke:var(--rink-blue);stroke-width:.7px}.rink-red{stroke:var(--rink-red);stroke-width:.35px}#rink-route{fill:none;stroke:none}.rink-zamboni{color:color-mix(in srgb, var(--accent) 62%, var(--text));opacity:.3}.rink-zamboni-still{display:none}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.rink-zamboni-lap{display:none}.rink-zamboni-still{display:inline}}
