@font-face{font-family:bricolage;src:url(../media/bricolage_grotesque.p.3u222osbua2pz.woff2)format("woff2");font-display:swap;font-weight:600 700}.bricolage_d3c10419-module__DFRaJq__className{font-family:bricolage,Bricolage Grotesque Fallback}.bricolage_d3c10419-module__DFRaJq__variable{--font-bricolage:"bricolage", Bricolage Grotesque Fallback}
@font-face{font-family:manrope;src:url(../media/manrope.p.20mgnwfeydruw.woff2)format("woff2");font-display:swap;font-weight:300 600}.manrope_3dd3fd-module__Q2XG9q__className{font-family:manrope,Manrope Fallback}.manrope_3dd3fd-module__Q2XG9q__variable{--font-manrope:"manrope", Manrope Fallback}
@font-face{unicode-range:U+100-17F;font-family:bricolageExt;src:url(../media/bricolage_grotesque_ext.3x8j2tq78w4lq.woff2)format("woff2");font-display:swap;font-weight:600 700}.bricolageext_23412d74-module__pPb3Ba__className{font-family:bricolageExt}.bricolageext_23412d74-module__pPb3Ba__variable{--font-bricolage-ext:"bricolageExt"}
@font-face{unicode-range:U+100-17F;font-family:manropeExt;src:url(../media/manrope_ext.1yo1ifovrq_pt.woff2)format("woff2");font-display:swap;font-weight:300 600}.manropeext_65fea9b8-module__BScs5G__className{font-family:manropeExt}.manropeext_65fea9b8-module__BScs5G__variable{--font-manrope-ext:"manropeExt"}
.SocialLinks-module__vkrBxa__row{align-items:center;gap:var(--space-md);display:flex}.SocialLinks-module__vkrBxa__link{color:var(--color-text-muted);transition:color var(--transition-fast);background:0 0;border:none;justify-content:center;align-items:center;padding:0;display:inline-flex}.SocialLinks-module__vkrBxa__link:hover{color:var(--color-accent)}
.Nav-module__DGUQXa__header{z-index:100;height:var(--header-height);position:sticky;top:0}.Nav-module__DGUQXa__header:before{content:"";z-index:-1;border-bottom:1px solid var(--color-border);background-color:#19181b99;position:absolute;inset:0;box-shadow:inset 0 1px #ffffff0f}@supports ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){.Nav-module__DGUQXa__header:before{-webkit-backdrop-filter:blur(16px)saturate(1.3);backdrop-filter:blur(16px)saturate(1.3);background-color:#19181b66}}.Nav-module__DGUQXa__nav{max-width:var(--max-width);height:100%;padding:0 var(--space-lg);justify-content:space-between;align-items:center;margin:0 auto;display:flex}.Nav-module__DGUQXa__logoLink{align-items:center;gap:var(--space-sm);transition:opacity var(--transition-fast);flex-shrink:0;display:inline-flex}.Nav-module__DGUQXa__logoLink:hover{opacity:.85}.Nav-module__DGUQXa__portrait{border:1px solid var(--color-border);border-radius:50%;flex-shrink:0;width:52px;height:52px;display:block;overflow:hidden}.Nav-module__DGUQXa__portrait img{object-fit:cover;width:100%;height:100%}.Nav-module__DGUQXa__logo{width:auto;height:calc(clamp(34px,2.6vw,44px)/1.12463);display:block}.Nav-module__DGUQXa__links{align-items:center;gap:var(--space-xl);display:flex}.Nav-module__DGUQXa__navList{align-items:center;gap:var(--space-xl);margin:0;padding:0;list-style:none;display:flex}.Nav-module__DGUQXa__link{font-family:var(--font-body);font-size:var(--text-sm);font-weight:var(--font-weight-medium);color:var(--color-text);padding-block:var(--space-2xs);transition:color var(--transition-fast)}.Nav-module__DGUQXa__link:hover{color:var(--color-accent)}.Nav-module__DGUQXa__linkActive{text-decoration:underline;text-decoration-thickness:1px;-webkit-text-decoration-color:var(--color-accent);text-decoration-color:var(--color-accent);text-underline-offset:.2em}.Nav-module__DGUQXa__hamburger{border-radius:var(--radius-button);width:44px;height:44px;color:var(--color-text);cursor:pointer;transition:color var(--transition-fast);background:0 0;border:none;justify-content:center;align-items:center;padding:0;display:none}.Nav-module__DGUQXa__hamburger:hover{color:var(--color-accent)}.Nav-module__DGUQXa__bars{width:22px;height:16px;display:block;position:relative}.Nav-module__DGUQXa__bars span{width:100%;height:2px;transition:transform var(--transition-base), opacity var(--transition-fast);background-color:currentColor;position:absolute;left:0}.Nav-module__DGUQXa__bars span:first-child{top:0}.Nav-module__DGUQXa__bars span:nth-child(2){top:7px}.Nav-module__DGUQXa__bars span:nth-child(3){top:14px}.Nav-module__DGUQXa__hamburger[aria-expanded=true] .Nav-module__DGUQXa__bars span:first-child{transform:translateY(7px)rotate(45deg)}.Nav-module__DGUQXa__hamburger[aria-expanded=true] .Nav-module__DGUQXa__bars span:nth-child(2){opacity:0}.Nav-module__DGUQXa__hamburger[aria-expanded=true] .Nav-module__DGUQXa__bars span:nth-child(3){transform:translateY(-7px)rotate(-45deg)}@media (prefers-reduced-motion:reduce){.Nav-module__DGUQXa__bars span{transition:none}}.Nav-module__DGUQXa__backdrop{z-index:49;touch-action:none;background-color:#0009;position:fixed;inset:0}.Nav-module__DGUQXa__bottomSheet{z-index:50;align-items:stretch;gap:var(--space-xs);padding:var(--space-md) var(--space-lg) calc(var(--space-2xl) + env(safe-area-inset-bottom,0px));background-color:var(--color-background);border-top:1px solid var(--color-border);border-top-left-radius:var(--radius-lg);border-top-right-radius:var(--radius-lg);max-height:calc(100vh - var(--space-3xl));max-height:calc(100svh - var(--space-3xl));overscroll-behavior:contain;animation:Nav-module__DGUQXa__slideUp var(--transition-slow) both;flex-direction:column;display:flex;position:fixed;bottom:0;left:0;right:0;overflow-y:auto;box-shadow:inset 0 1px #ffffff14,0 -12px 40px #00000080}@keyframes Nav-module__DGUQXa__slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.Nav-module__DGUQXa__grip{width:40px;height:4px;margin-bottom:var(--space-sm);border-radius:var(--radius-full);background-color:var(--color-border);flex-shrink:0;align-self:center}.Nav-module__DGUQXa__sheetNavList{gap:var(--space-2xs);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.Nav-module__DGUQXa__sheetLink{font-family:var(--font-heading);font-size:var(--text-3xl);font-weight:var(--font-weight-semibold);color:var(--color-text);padding-block:var(--space-sm);transition:color var(--transition-fast);display:block}.Nav-module__DGUQXa__sheetLink:hover,.Nav-module__DGUQXa__sheetLink[aria-current=page]{color:var(--color-accent)}.Nav-module__DGUQXa__sheetCta{width:100%;margin-top:var(--space-sm);text-align:center;justify-content:center}.Nav-module__DGUQXa__sheetSocials{padding-block:var(--space-sm);justify-content:center}.Nav-module__DGUQXa__sheetClose{width:100%}@media (max-width:767.98px){.Nav-module__DGUQXa__links{display:none}.Nav-module__DGUQXa__hamburger{display:flex}}@media print{.Nav-module__DGUQXa__header{display:none}}
.NightLayer-module__DQX-Fq__layer{pointer-events:none;position:absolute;inset:0;overflow:hidden}.NightLayer-module__DQX-Fq__layer picture,.NightLayer-module__DQX-Fq__layer img{object-fit:cover;object-position:center;width:100%;height:100%;display:block}.NightLayer-module__DQX-Fq__layer:after{content:"";background-color:rgba(0, 0, 0, var(--night-dim,0));position:absolute;inset:0}
.Footer-module__UDEoiW__footer{isolation:isolate;padding-block:max(var(--space-3xl), var(--chat-footprint));border-top:1px solid #ffffff14;position:relative}.Footer-module__UDEoiW__night{--night-dim:.5;z-index:-1}.Footer-module__UDEoiW__inner{max-width:var(--max-width);margin:calc(-1 * var(--scrim-bleed)) auto;padding-inline:var(--space-lg);align-items:flex-start;gap:var(--space-lg);flex-direction:column;display:flex}.Footer-module__UDEoiW__mark{align-items:center;gap:var(--space-sm);display:flex}.Footer-module__UDEoiW__portrait{border:1px solid var(--color-border);border-radius:50%;flex-shrink:0;width:56px;height:56px;display:block;overflow:hidden}.Footer-module__UDEoiW__portrait img{object-fit:cover;width:100%;height:100%}.Footer-module__UDEoiW__logo{width:auto;height:49.7942px;display:block}.Footer-module__UDEoiW__row{align-items:center;gap:var(--space-xs) var(--space-sm);flex-wrap:wrap;display:flex}.Footer-module__UDEoiW__name{font-size:var(--text-sm);font-weight:var(--font-weight-medium);color:var(--color-text-muted)}.Footer-module__UDEoiW__sep{font-size:var(--text-sm);color:var(--color-text-muted);-webkit-user-select:none;user-select:none}.Footer-module__UDEoiW__sep:before{content:"·"}@media (max-width:767.98px){.Footer-module__UDEoiW__sep{display:none}}.Footer-module__UDEoiW__year{font-size:var(--text-sm);color:var(--color-text-muted)}.Footer-module__UDEoiW__contactLink{font-size:var(--text-sm);color:var(--color-text);padding-block:var(--space-2xs);transition:color var(--transition-fast)}.Footer-module__UDEoiW__contactLink:hover{color:var(--color-accent)}.Footer-module__UDEoiW__copyright{max-width:none;padding-top:var(--space-lg);border-top:1px solid var(--color-border);font-size:var(--text-xs);color:var(--color-text-muted);align-self:stretch;margin:0}
.Atmosphere-module__vJ__KG__night{z-index:-2;pointer-events:none;position:fixed;inset:0}.Atmosphere-module__vJ__KG__night picture,.Atmosphere-module__vJ__KG__night img{object-fit:cover;object-position:center;width:100%;height:100%;display:block}.Atmosphere-module__vJ__KG__starfield{z-index:-1;pointer-events:none;opacity:.85;mix-blend-mode:screen;background-repeat:no-repeat;background-image:radial-gradient(1.5px 1.5px at 5% 7%, #ffffffe6, transparent), radial-gradient(1px 1px at 17% 5%, #fff9, transparent), radial-gradient(1px 1px at 29% 9%, #ffffffb3, transparent), radial-gradient(2px 2px at 43% 6%, #fff8ebf2, transparent), radial-gradient(1px 1px at 56% 4%, #ffffff8c, transparent), radial-gradient(1.5px 1.5px at 68% 8%, #fffc, transparent), radial-gradient(1px 1px at 81% 6%, #fff9, transparent), radial-gradient(1px 1px at 93% 9%, #ffffffb3, transparent), radial-gradient(1px 1px at 9% 19%, #fff9, transparent), radial-gradient(1.5px 1.5px at 22% 22%, #ffffffd9, transparent), radial-gradient(1px 1px at 34% 17%, rgba(var(--color-accent-rgb), .75), transparent), radial-gradient(1px 1px at 47% 21%, #fff9, transparent), radial-gradient(1px 1px at 61% 18%, #ffffffb3, transparent), radial-gradient(2px 2px at 73% 23%, #fffc, transparent), radial-gradient(1px 1px at 86% 19%, #ffffff8c, transparent), radial-gradient(1px 1px at 97% 16%, #ffffffa6, transparent), radial-gradient(1.5px 1.5px at 4% 33%, #fffc, transparent), radial-gradient(1px 1px at 15% 30%, #ffffff8c, transparent), radial-gradient(1px 1px at 27% 35%, #ffffffb3, transparent), radial-gradient(1px 1px at 39% 31%, #fff9, transparent), radial-gradient(1.5px 1.5px at 52% 34%, #ffffffd9, transparent), radial-gradient(1px 1px at 64% 30%, #fff9, transparent), radial-gradient(1px 1px at 78% 36%, rgba(var(--color-accent-rgb), .65), transparent), radial-gradient(1px 1px at 91% 32%, #ffffffb3, transparent), radial-gradient(1px 1px at 7% 46%, #fff9, transparent), radial-gradient(2px 2px at 20% 49%, #fffc, transparent), radial-gradient(1px 1px at 33% 45%, #ffffff8c, transparent), radial-gradient(1px 1px at 46% 48%, #ffffffb3, transparent), radial-gradient(1.5px 1.5px at 59% 44%, #ffffffd9, transparent), radial-gradient(1px 1px at 71% 49%, #fff9, transparent), radial-gradient(1px 1px at 84% 45%, #ffffffa6, transparent), radial-gradient(1px 1px at 96% 48%, #fff9, transparent), radial-gradient(1.5px 1.5px at 6% 60%, #fffc, transparent), radial-gradient(1px 1px at 18% 57%, #ffffff8c, transparent), radial-gradient(1px 1px at 31% 62%, rgba(var(--color-accent-rgb), .65), transparent), radial-gradient(1px 1px at 44% 58%, #fff9, transparent), radial-gradient(2px 2px at 57% 61%, #fffc, transparent), radial-gradient(1px 1px at 70% 57%, #fff9, transparent), radial-gradient(1px 1px at 83% 62%, #ffffffb3, transparent), radial-gradient(1px 1px at 95% 59%, #ffffff8c, transparent), radial-gradient(1px 1px at 10% 73%, #fff9, transparent), radial-gradient(1.5px 1.5px at 24% 76%, #ffffffd9, transparent), radial-gradient(1px 1px at 37% 72%, #ffffff8c, transparent), radial-gradient(1px 1px at 50% 75%, #ffffffb3, transparent), radial-gradient(1px 1px at 63% 71%, #fff9, transparent), radial-gradient(2px 2px at 77% 76%, #fffc, transparent), radial-gradient(1px 1px at 89% 73%, rgba(var(--color-accent-rgb), .6), transparent), radial-gradient(1px 1px at 14% 88%, #fff9, transparent), radial-gradient(1.5px 1.5px at 28% 91%, #fffc, transparent), radial-gradient(1px 1px at 42% 87%, #ffffff8c, transparent), radial-gradient(1px 1px at 55% 92%, #ffffffa6, transparent), radial-gradient(1px 1px at 69% 88%, #fff9, transparent), radial-gradient(1px 1px at 82% 92%, #ffffffb3, transparent), radial-gradient(1px 1px at 94% 89%, #ffffff8c, transparent), radial-gradient(1px 1px at 11% 13%, #ffffff80, transparent), radial-gradient(1px 1px at 25% 28%, #ffffff73, transparent), radial-gradient(1px 1px at 38% 14%, #ffffff8c, transparent), radial-gradient(1px 1px at 51% 11%, #ffffff80, transparent), radial-gradient(1px 1px at 63% 26%, #ffffff73, transparent), radial-gradient(1.5px 1.5px at 76% 16%, #ffffffb3, transparent), radial-gradient(1px 1px at 88% 28%, #ffffff80, transparent), radial-gradient(1px 1px at 2% 25%, #ffffff73, transparent), radial-gradient(1px 1px at 9% 40%, #ffffff80, transparent), radial-gradient(1px 1px at 21% 38%, #ffffff73, transparent), radial-gradient(1px 1px at 35% 42%, rgba(var(--color-accent-rgb), .55), transparent), radial-gradient(1px 1px at 48% 38%, #ffffff80, transparent), radial-gradient(1px 1px at 60% 41%, #ffffff73, transparent), radial-gradient(1px 1px at 72% 43%, #ffffff8c, transparent), radial-gradient(1.5px 1.5px at 85% 38%, #ffffffb3, transparent), radial-gradient(1px 1px at 98% 41%, #ffffff73, transparent), radial-gradient(1px 1px at 4% 52%, #ffffff80, transparent), radial-gradient(1px 1px at 16% 67%, #ffffff73, transparent), radial-gradient(1px 1px at 29% 53%, #ffffff8c, transparent), radial-gradient(1px 1px at 41% 68%, #ffffff80, transparent), radial-gradient(1px 1px at 54% 52%, #ffffff73, transparent), radial-gradient(1.5px 1.5px at 66% 67%, #ffffffb3, transparent), radial-gradient(1px 1px at 79% 53%, #ffffff80, transparent), radial-gradient(1px 1px at 92% 68%, #ffffff73, transparent), radial-gradient(1px 1px at 12% 80%, #ffffff80, transparent), radial-gradient(1px 1px at 26% 66%, rgba(var(--color-accent-rgb), .55), transparent), radial-gradient(1px 1px at 39% 81%, #ffffff73, transparent), radial-gradient(1px 1px at 52% 66%, #ffffff80, transparent), radial-gradient(1px 1px at 64% 81%, #ffffff8c, transparent), radial-gradient(1px 1px at 77% 67%, #ffffff73, transparent), radial-gradient(1.5px 1.5px at 90% 81%, #ffffffb3, transparent), radial-gradient(1px 1px at 3% 86%, #ffffff80, transparent), radial-gradient(1px 1px at 20% 84%, #ffffff73, transparent), radial-gradient(1px 1px at 47% 79%, #ffffff8c, transparent), radial-gradient(1px 1px at 73% 84%, #ffffff80, transparent), radial-gradient(1px 1px at 58% 84%, #ffffff73, transparent);position:fixed;inset:-28vh 0}.Atmosphere-module__vJ__KG__nova{border-radius:var(--radius-full);background-color:rgba(var(--color-accent-rgb), .95);width:3px;height:3px;box-shadow:0 0 7px 1px rgba(var(--color-accent-rgb), .7);opacity:0;position:absolute}.Atmosphere-module__vJ__KG__nova:first-child{top:24%;left:72%}.Atmosphere-module__vJ__KG__nova:nth-child(2){top:58%;left:27%}.Atmosphere-module__vJ__KG__nova:nth-child(3){top:40%;left:13%}.Atmosphere-module__vJ__KG__nova:nth-child(4){top:70%;left:60%}.Atmosphere-module__vJ__KG__nova:nth-child(5){top:30%;left:47%}@media (prefers-reduced-motion:no-preference){.Atmosphere-module__vJ__KG__nova{animation:ease-in-out infinite Atmosphere-module__vJ__KG__nova}.Atmosphere-module__vJ__KG__nova:first-child{animation-duration:11s;animation-delay:0s}.Atmosphere-module__vJ__KG__nova:nth-child(2){animation-duration:14s;animation-delay:2.5s}.Atmosphere-module__vJ__KG__nova:nth-child(3){animation-duration:12s;animation-delay:5s}.Atmosphere-module__vJ__KG__nova:nth-child(4){animation-duration:15s;animation-delay:7.5s}.Atmosphere-module__vJ__KG__nova:nth-child(5){animation-duration:13s;animation-delay:10s}}@keyframes Atmosphere-module__vJ__KG__nova{0%,to{opacity:0;transform:scale(.5)}4%{opacity:.9;transform:scale(1)}11%{opacity:0;transform:scale(.7)}}@supports (animation-timeline:scroll()){@media (prefers-reduced-motion:no-preference){.Atmosphere-module__vJ__KG__starfield{animation:linear both Atmosphere-module__vJ__KG__drift;animation-timeline:scroll(root)}}}@keyframes Atmosphere-module__vJ__KG__drift{0%{transform:translateY(0)}to{transform:translateY(-20vh)}}.Atmosphere-module__vJ__KG__grain{z-index:1;pointer-events:none;mix-blend-mode:soft-light;opacity:.06;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");background-repeat:repeat;position:fixed;inset:0}
.ChatMessages-module__Kp1_fa__messages{padding:var(--space-md) var(--space-md);gap:var(--space-md);flex-direction:column;flex:1;display:flex;overflow-y:auto}.ChatMessages-module__Kp1_fa__messages::-webkit-scrollbar{width:3px}.ChatMessages-module__Kp1_fa__messages::-webkit-scrollbar-track{background:0 0}.ChatMessages-module__Kp1_fa__messages::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:2px}.ChatMessages-module__Kp1_fa__userMsg{background-color:var(--color-surface-raised);border:1px solid var(--color-border);border-radius:var(--radius-md);border-bottom-right-radius:var(--radius-sm);max-width:80%;padding:var(--space-sm) var(--space-md);align-self:flex-end}.ChatMessages-module__Kp1_fa__assistantMsg{align-self:flex-start;max-width:92%}.ChatMessages-module__Kp1_fa__msgText{font-family:var(--font-body);font-size:var(--text-base);font-weight:400;line-height:var(--line-height-relaxed);color:var(--color-text);white-space:pre-wrap;word-break:break-word;margin:0}.ChatMessages-module__Kp1_fa__markdown{font-family:var(--font-body);font-size:var(--text-base);font-weight:400;line-height:var(--line-height-relaxed);color:var(--color-text);word-break:break-word}.ChatMessages-module__Kp1_fa__markdown>:first-child{margin-top:0}.ChatMessages-module__Kp1_fa__markdown>:last-child{margin-bottom:0}.ChatMessages-module__Kp1_fa__markdown p{margin:0 0 var(--space-sm)}.ChatMessages-module__Kp1_fa__markdown strong{color:var(--color-text);font-weight:600}.ChatMessages-module__Kp1_fa__markdown em{font-style:italic}.ChatMessages-module__Kp1_fa__markdown ul,.ChatMessages-module__Kp1_fa__markdown ol{margin:var(--space-xs) 0 var(--space-sm);padding-left:var(--space-md)}.ChatMessages-module__Kp1_fa__markdown li{margin:var(--space-2xs) 0}.ChatMessages-module__Kp1_fa__markdown li::marker{color:var(--color-accent)}.ChatMessages-module__Kp1_fa__markdown a{color:var(--color-text);text-decoration:underline;-webkit-text-decoration-color:var(--color-border);text-decoration-color:var(--color-border);text-underline-offset:.15em}.ChatMessages-module__Kp1_fa__markdown a:hover{color:var(--color-accent);-webkit-text-decoration-color:var(--color-accent);text-decoration-color:var(--color-accent)}.ChatMessages-module__Kp1_fa__markdown code{font-family:var(--font-mono);background-color:var(--color-background);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:.1em .35em;font-size:.875em}.ChatMessages-module__Kp1_fa__markdown pre{background-color:var(--color-background);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-sm);margin:0 0 var(--space-sm);overflow-x:auto}.ChatMessages-module__Kp1_fa__markdown pre code{font-size:var(--text-sm);background:0 0;border:none;padding:0}.ChatMessages-module__Kp1_fa__markdown h1,.ChatMessages-module__Kp1_fa__markdown h2,.ChatMessages-module__Kp1_fa__markdown h3,.ChatMessages-module__Kp1_fa__markdown h4{font-family:var(--font-heading);font-weight:600;line-height:var(--line-height-normal);margin:var(--space-md) 0 var(--space-xs);color:var(--color-text)}.ChatMessages-module__Kp1_fa__markdown h1{font-size:var(--text-lg)}.ChatMessages-module__Kp1_fa__markdown h2,.ChatMessages-module__Kp1_fa__markdown h3,.ChatMessages-module__Kp1_fa__markdown h4{font-size:var(--text-base)}.ChatMessages-module__Kp1_fa__markdown blockquote{margin:0 0 var(--space-sm);padding-left:var(--space-md);border-left:2px solid var(--color-border);color:var(--color-text-muted)}.ChatMessages-module__Kp1_fa__markdown hr{border:none;border-top:1px solid var(--color-border);margin:var(--space-md) 0}.ChatMessages-module__Kp1_fa__typing{padding:var(--space-sm) var(--space-xs);align-self:flex-start;align-items:center;gap:5px;display:flex}@keyframes ChatMessages-module__Kp1_fa__blink{0%,to{opacity:.2}50%{opacity:1}}.ChatMessages-module__Kp1_fa__dot{background-color:var(--color-accent);border-radius:50%;width:6px;height:6px;animation:1.3s ease-in-out infinite ChatMessages-module__Kp1_fa__blink;display:block}.ChatMessages-module__Kp1_fa__dot:nth-child(2){animation-delay:.2s}.ChatMessages-module__Kp1_fa__dot:nth-child(3){animation-delay:.4s}
.ChatOpenButton-module__YJdDmG__cta{font-family:var(--font-body);font-size:var(--text-base);color:var(--color-text-muted);margin:0}.ChatOpenButton-module__YJdDmG__btn{font-family:var(--font-body);font-size:var(--text-base);color:var(--color-accent);cursor:pointer;text-underline-offset:3px;transition:text-decoration-color var(--transition-base);background:0 0;border:none;padding:0;-webkit-text-decoration:underline #0000;text-decoration:underline #0000}.ChatOpenButton-module__YJdDmG__btn:hover{-webkit-text-decoration-color:var(--color-accent);text-decoration-color:var(--color-accent)}
.ChatInput-module__CGrquW__form{padding:var(--space-sm) var(--space-md);border-top:1px solid var(--color-border);flex-shrink:0}.ChatInput-module__CGrquW__charCount{font-family:var(--font-body);font-size:var(--text-xs);color:var(--color-text-muted);text-align:right;margin:0 0 var(--space-2xs) 0}.ChatInput-module__CGrquW__inputRow{align-items:flex-end;gap:var(--space-xs);background-color:var(--color-background);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:var(--space-2xs) var(--space-2xs) var(--space-2xs) var(--space-md);transition:border-color var(--transition-fast);display:flex}.ChatInput-module__CGrquW__inputRow:hover{border-color:var(--color-text-muted)}.ChatInput-module__CGrquW__inputRow:focus-within{border-color:var(--color-accent)}.ChatInput-module__CGrquW__input{font-family:var(--font-body);font-weight:400;line-height:var(--line-height-relaxed);color:var(--color-text);resize:none;background:0 0;border:none;flex:1;align-self:center;min-height:20px;max-height:72px;padding:0;overflow-y:auto}.ChatInput-module__CGrquW__input:focus-visible{outline:none}.ChatInput-module__CGrquW__input::placeholder{color:var(--color-text-muted)}.ChatInput-module__CGrquW__input:disabled{opacity:.5;cursor:not-allowed}.ChatInput-module__CGrquW__send{background-color:var(--color-accent);width:48px;height:48px;color:var(--color-text-inverse);cursor:pointer;transition:background-color var(--transition-fast), opacity var(--transition-fast);border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.ChatInput-module__CGrquW__send:hover:not(:disabled){background-color:var(--color-accent-hover)}.ChatInput-module__CGrquW__send:disabled{opacity:.35;cursor:not-allowed}.ChatInput-module__CGrquW__exhausted{align-items:center;gap:var(--space-xs);padding:var(--space-md) var(--space-md) var(--space-md);border-top:1px solid var(--color-border);text-align:center;flex-direction:column;flex-shrink:0;display:flex}.ChatInput-module__CGrquW__exhaustedText{font-family:var(--font-body);font-size:var(--text-sm);color:var(--color-text-muted);margin:0}.ChatInput-module__CGrquW__exhaustedLink{font-family:var(--font-body);font-size:var(--text-sm);color:var(--color-accent);border:1px solid rgba(var(--color-accent-rgb), .25);border-radius:var(--radius-button);padding:var(--space-xs) var(--space-md);transition:background-color var(--transition-base);background:0 0;font-weight:500;text-decoration:none;display:inline-block}.ChatInput-module__CGrquW__exhaustedLink:hover{background-color:rgba(var(--color-accent-rgb), .15)}.ChatInput-module__CGrquW__errorState{padding:var(--space-md);border-top:1px solid var(--color-border);font-family:var(--font-body);font-size:var(--text-sm);color:var(--color-text-muted);text-align:center;flex-shrink:0}
.Hero-module__fqhYwW__hero{min-height:34rem;padding-top:calc(var(--header-height) + var(--space-sm));padding-bottom:var(--space-2xl);flex-direction:column;justify-content:center;display:flex;position:relative;overflow:hidden}@media (min-width:768px){.Hero-module__fqhYwW__hero{min-height:clamp(560px,82svh,860px);padding-top:calc(var(--header-height) + var(--space-2xl))}}.Hero-module__fqhYwW__grid{z-index:1;width:100%;max-width:var(--max-width);padding-inline:var(--space-lg);grid-template-columns:minmax(0,1fr);align-items:center;margin-inline:auto;display:grid;position:relative}.Hero-module__fqhYwW__text{gap:var(--space-md);max-width:var(--max-width-narrow);flex-direction:column;display:flex}@media (min-width:768px){.Hero-module__fqhYwW__text{max-width:32.25rem}}.Hero-module__fqhYwW__titleGroup{display:block}.Hero-module__fqhYwW__kicker{font-family:var(--font-body);font-size:var(--text-sm);font-weight:var(--font-weight-medium);text-transform:uppercase;letter-spacing:.04em;color:var(--color-accent);display:block}.Hero-module__fqhYwW__title{margin-top:var(--space-2xs);font-family:var(--font-heading);font-size:calc(1.3 * var(--text-3xl));font-weight:var(--font-weight-bold);letter-spacing:-.02em;line-height:var(--line-height-tight);max-width:18ch;color:var(--color-text)}.Hero-module__fqhYwW__lead{font-family:var(--font-body);font-size:var(--text-xl);color:var(--color-text-soft);max-width:56ch}.Hero-module__fqhYwW__positioning{font-family:var(--font-body);font-size:var(--text-base);line-height:var(--line-height-relaxed);color:var(--color-text-muted)}.Hero-module__fqhYwW__actions{align-items:stretch;gap:var(--space-sm);margin-top:var(--space-2xs);flex-direction:column;display:flex}@media (min-width:768px){.Hero-module__fqhYwW__actions{flex-flow:wrap;align-items:center}}.Hero-module__fqhYwW__still{--still-dim:.38;z-index:0;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000 80%,#0000);mask-image:linear-gradient(#000 80%,#0000)}.Hero-module__fqhYwW__still:after{content:"";background-color:rgba(0, 0, 0, var(--still-dim,.38));position:absolute;inset:0}@media (min-width:768px){.Hero-module__fqhYwW__still[data-focus=right]{left:-18vw}.Hero-module__fqhYwW__still[data-focus=left]{right:-18vw}}.Hero-module__fqhYwW__still picture,.Hero-module__fqhYwW__still img{object-fit:cover;object-position:center;width:100%;height:100%;display:block}
.ChatWidget-module__SOsc1a__root{bottom:var(--space-lg);right:var(--space-lg);z-index:110;align-items:flex-end;gap:var(--space-sm);pointer-events:none;flex-direction:column;display:flex;position:fixed}:root[data-menu-open] .ChatWidget-module__SOsc1a__root{display:none}.ChatWidget-module__SOsc1a__collapsed{align-items:flex-end;gap:var(--space-sm);pointer-events:none;flex-direction:column;display:flex}.ChatWidget-module__SOsc1a__collapsed>*{pointer-events:auto}.ChatWidget-module__SOsc1a__hint{font-family:var(--font-body);font-size:var(--text-xs);color:var(--color-text-muted);background-color:var(--color-background);border:1px solid var(--color-border);border-radius:var(--radius-full);padding:var(--space-2xs) var(--space-sm);white-space:nowrap;box-shadow:inset 0 1px 0 #ffffff14, var(--shadow-sm);animation:ChatWidget-module__SOsc1a__fadeIn var(--transition-base) both;font-weight:400}@keyframes ChatWidget-module__SOsc1a__fadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.ChatWidget-module__SOsc1a__trigger{border:1px solid var(--color-border);cursor:pointer;width:52px;height:52px;box-shadow:var(--shadow-md);transition:border-color var(--transition-base), box-shadow var(--transition-base), transform var(--transition-fast);background:0 0;border-radius:50%;padding:0;animation:3s infinite ChatWidget-module__SOsc1a__borderPulse;overflow:hidden}.ChatWidget-module__SOsc1a__trigger:hover{border-color:var(--color-accent);transform:scale(1.06)}.ChatWidget-module__SOsc1a__triggerNoPulse{animation:none}@keyframes ChatWidget-module__SOsc1a__borderPulse{0%,to{border-color:rgba(var(--color-accent-rgb), .5)}50%{border-color:var(--color-accent)}}@keyframes ChatWidget-module__SOsc1a__slideUp{0%{opacity:0;transform:translateY(10px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.ChatWidget-module__SOsc1a__panel{width:var(--max-width-chat);max-width:calc(100vw - var(--space-2xl));height:620px;max-height:calc(100vh - var(--space-3xl));background-color:var(--color-background);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:inset 0 1px 0 #ffffff14, var(--shadow-lg);pointer-events:auto;transform-origin:100% 100%;animation:ChatWidget-module__SOsc1a__slideUp var(--transition-slow) both;flex-direction:column;display:flex;overflow:hidden}.ChatWidget-module__SOsc1a__panelHeader{padding:var(--space-md) var(--space-md);border-bottom:1px solid var(--color-border);flex-shrink:0;justify-content:space-between;align-items:center;display:flex}.ChatWidget-module__SOsc1a__panelHeading{align-items:center;gap:var(--space-sm);display:flex}.ChatWidget-module__SOsc1a__panelPortrait{border:1px solid var(--color-border);border-radius:50%;flex-shrink:0;width:32px;height:32px;display:block;overflow:hidden}.ChatWidget-module__SOsc1a__panelTitle{font-family:var(--font-body);font-size:var(--text-sm);color:var(--color-text-muted);font-weight:500}.ChatWidget-module__SOsc1a__closeBtn{color:var(--color-text-muted);cursor:pointer;padding:var(--space-2xs);border-radius:var(--radius-sm);transition:color var(--transition-fast);background:0 0;border:none;justify-content:center;align-items:center;display:flex}.ChatWidget-module__SOsc1a__closeBtn:hover{color:var(--color-text)}@media print{.ChatWidget-module__SOsc1a__root{display:none!important}}@media (max-width:767.98px){.ChatWidget-module__SOsc1a__root{bottom:var(--space-md);right:var(--space-md)}.ChatWidget-module__SOsc1a__panel{width:calc(100vw - var(--space-xl));height:75vh}}
.WhatIDo-module__qpOWOq__section{padding:var(--space-3xl) var(--space-lg);max-width:var(--max-width);margin:0 auto}.WhatIDo-module__qpOWOq__header{gap:var(--space-sm);max-width:var(--max-width-narrow);flex-direction:column;display:flex}.WhatIDo-module__qpOWOq__header.copy-scrim{margin-bottom:calc(var(--space-xl) - var(--scrim-bleed))}.WhatIDo-module__qpOWOq__heading{font-family:var(--font-heading);font-size:var(--text-3xl);font-weight:var(--font-weight-semibold);line-height:var(--line-height-tight);color:var(--color-text)}.WhatIDo-module__qpOWOq__grid{gap:var(--space-md);grid-template-columns:1fr;display:grid}@media (min-width:768px){.WhatIDo-module__qpOWOq__grid{grid-template-columns:repeat(2,1fr)}}@media (min-width:1024px){.WhatIDo-module__qpOWOq__grid{grid-template-columns:repeat(3,1fr)}}.WhatIDo-module__qpOWOq__card{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-xl);transition:background-color var(--transition-base);position:relative;box-shadow:inset 0 1px #ffffff14}.WhatIDo-module__qpOWOq__card:hover{background-color:var(--color-surface-raised)}.WhatIDo-module__qpOWOq__cardTitle{font-family:var(--font-body);font-size:var(--text-base);color:var(--color-text);margin-bottom:var(--space-sm);font-weight:600}.WhatIDo-module__qpOWOq__cardBody{font-family:var(--font-body);font-size:var(--text-sm);font-weight:400;line-height:var(--line-height-relaxed);color:var(--color-text-muted)}
.SelectedWork-module__XzVA3q__section{padding:var(--space-3xl) var(--space-lg);max-width:var(--max-width);border-top:1px solid var(--color-border);margin:0 auto}.SelectedWork-module__XzVA3q__header{gap:var(--space-sm);max-width:var(--max-width-narrow);flex-direction:column;display:flex}.SelectedWork-module__XzVA3q__header.copy-scrim{margin-bottom:calc(var(--space-xl) - var(--scrim-bleed))}.SelectedWork-module__XzVA3q__heading{font-family:var(--font-heading);font-size:var(--text-3xl);font-weight:var(--font-weight-semibold);line-height:var(--line-height-tight);color:var(--color-text)}.SelectedWork-module__XzVA3q__grid{gap:var(--space-md);margin-bottom:var(--space-xl);grid-template-columns:1fr;display:grid}@media (min-width:768px){.SelectedWork-module__XzVA3q__grid{grid-template-columns:repeat(2,1fr)}}@media (min-width:1024px){.SelectedWork-module__XzVA3q__grid{grid-template-columns:repeat(3,1fr)}}.SelectedWork-module__XzVA3q__card{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-xl);transition:background-color var(--transition-base);flex-direction:column;text-decoration:none;display:flex;position:relative;box-shadow:inset 0 1px #ffffff14}.SelectedWork-module__XzVA3q__card:hover{background-color:var(--color-surface-raised)}.SelectedWork-module__XzVA3q__client{font-family:var(--font-heading);font-size:var(--text-2xl);font-weight:var(--font-weight-semibold);line-height:var(--line-height-normal);color:var(--color-text);margin-bottom:var(--space-sm)}.SelectedWork-module__XzVA3q__challenge{font-family:var(--font-body);font-size:var(--text-sm);font-weight:400;line-height:var(--line-height-relaxed);color:var(--color-text-muted);margin-bottom:var(--space-lg);flex-grow:1}.SelectedWork-module__XzVA3q__result{font-family:var(--font-body);font-size:var(--text-lg);color:var(--color-accent);margin-bottom:var(--space-md);font-weight:600}.SelectedWork-module__XzVA3q__tags{gap:var(--space-xs);margin:0 0 var(--space-lg);flex-wrap:wrap;padding:0;list-style:none;display:flex}.SelectedWork-module__XzVA3q__tag{font-family:var(--font-body);font-size:var(--text-xs);letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-muted);border:1px solid var(--color-border);border-radius:var(--radius-full);padding:var(--space-2xs) var(--space-sm);font-weight:500}.SelectedWork-module__XzVA3q__cardLink{font-family:var(--font-body);font-size:var(--text-sm);color:var(--color-text);margin-top:auto;font-weight:500}.SelectedWork-module__XzVA3q__footer{text-align:center}.SelectedWork-module__XzVA3q__allLink{font-family:var(--font-body);font-size:var(--text-base);color:var(--color-text-muted);transition:color var(--transition-fast);font-weight:500}.SelectedWork-module__XzVA3q__allLink:hover{color:var(--color-accent)}
.HomePage-module__U-qX-a__chatCta.copy-scrim{max-width:var(--max-width);padding:var(--space-xl) var(--space-lg) var(--space-section);margin:0 auto}
