.Button-module__NoBVpa__button{--accent:var(--p-accent-fill);--on-accent:var(--p-on-accent);justify-content:center;align-items:center;gap:var(--sp-2);border-radius:var(--rad-full);font-weight:var(--fw-semibold);letter-spacing:var(--ls-tight);white-space:nowrap;cursor:pointer;transition:background-color var(--dur-fast)var(--ez-out),border-color var(--dur-fast)var(--ez-out),color var(--dur-fast)var(--ez-out),transform var(--dur-fast)var(--ez-out);line-height:1;display:inline-flex}.Button-module__NoBVpa__button:active{transform:translateY(1px)}.Button-module__NoBVpa__icon{transition:transform var(--dur-base)var(--ez-back);display:inline-block}.Button-module__NoBVpa__button:hover .Button-module__NoBVpa__icon{transform:translate(2px,-2px)}.Button-module__NoBVpa__sm{padding:var(--sp-2)var(--sp-4);font-size:var(--fs-xs)}.Button-module__NoBVpa__md{padding:var(--sp-3)var(--sp-5);font-size:var(--fs-sm)}.Button-module__NoBVpa__lg{padding:var(--sp-4)var(--sp-6);font-size:var(--fs-base)}.Button-module__NoBVpa__solid{background:var(--accent);color:var(--on-accent);border:var(--bw-thin)solid transparent}.Button-module__NoBVpa__solid:hover{background:var(--p-text);color:var(--p-bg)}.Button-module__NoBVpa__outline{color:var(--p-text);border:var(--bw-thin)solid var(--p-border-strong);background:0 0}.Button-module__NoBVpa__outline:hover{border-color:var(--accent);color:var(--accent)}.Button-module__NoBVpa__ghost{background:var(--p-bg-raised);color:var(--p-text);border:var(--bw-thin)solid var(--p-border)}.Button-module__NoBVpa__ghost:hover{background:var(--p-bg-sunken);border-color:var(--p-border-strong)}.Button-module__NoBVpa__link{color:var(--p-text-muted);background:0 0;border:none;padding-inline:0;position:relative}.Button-module__NoBVpa__link .Button-module__NoBVpa__label{position:relative}.Button-module__NoBVpa__link .Button-module__NoBVpa__label:after{content:"";transform-origin:0;width:100%;height:1px;transition:transform var(--dur-base)var(--ez-out);background:currentColor;position:absolute;bottom:-3px;left:0;transform:scaleX(0)}.Button-module__NoBVpa__link:hover{color:var(--p-text)}.Button-module__NoBVpa__link:hover .Button-module__NoBVpa__label:after{transform:scaleX(1)}
.Eyebrow-module__u3X0Da__eyebrow{align-items:center;gap:var(--sp-3);font-size:var(--fs-2xs);font-weight:var(--fw-semibold);letter-spacing:var(--ls-widest);text-transform:uppercase;color:var(--p-text-subtle);display:flex}.Eyebrow-module__u3X0Da__eyebrow:before{content:"";width:var(--sp-6);background:var(--p-accent);flex-shrink:0;height:1px}
.SectionHeading-module__sPcUnq__head{gap:var(--sp-6);margin-bottom:var(--sp-9);align-items:end;display:grid}.SectionHeading-module__sPcUnq__split{grid-template-columns:1fr}@media (min-width:900px){.SectionHeading-module__sPcUnq__split{gap:var(--sp-9);grid-template-columns:minmax(0,1.25fr) minmax(0,1fr)}}.SectionHeading-module__sPcUnq__stacked{grid-template-columns:1fr;justify-items:start}.SectionHeading-module__sPcUnq__headingGroup{gap:var(--sp-5);display:grid}.SectionHeading-module__sPcUnq__title{font-size:var(--fs-4xl);font-weight:var(--fw-regular);line-height:var(--lh-display);letter-spacing:var(--ls-tight);color:var(--p-text)}.SectionHeading-module__sPcUnq__emphasis{font-family:var(--ff-display);color:var(--p-accent-text);font-style:italic}.SectionHeading-module__sPcUnq__lead{max-width:58ch;font-size:var(--fs-lg);line-height:var(--lh-relaxed);color:var(--p-text-muted)}
.FeaturedProject-module__ykcRBW__section{border-top:var(--bw-thin)solid var(--p-border);position:relative}.FeaturedProject-module__ykcRBW__tick{top:calc(var(--bw-thin)*-1);left:max(var(--gutter),calc((100% - var(--layout-max))/2 + var(--gutter)));width:72px;height:var(--bw-thin);background:var(--p-accent);position:absolute}.FeaturedProject-module__ykcRBW__card{border:var(--bw-thin)solid var(--p-border);border-radius:var(--rad-xl);background:var(--p-bg-raised);transition:border-color var(--dur-base)var(--ez-out);flex-direction:column;display:flex;overflow:hidden}.FeaturedProject-module__ykcRBW__card:hover{border-color:var(--p-border-strong)}.FeaturedProject-module__ykcRBW__media{padding:clamp(var(--sp-5),3vw,var(--sp-8));border-bottom:var(--bw-thin)solid var(--p-border);background:linear-gradient(158deg,color-mix(in srgb,var(--p-accent)6%,transparent),color-mix(in srgb,var(--p-accent)2%,transparent)55%,color-mix(in srgb,var(--p-accent-3)4%,transparent)),var(--p-bg-sunken);place-items:center;display:grid;position:relative}.FeaturedProject-module__ykcRBW__frame{border:var(--bw-thin)solid var(--p-border-strong);border-radius:var(--rad-md);width:100%;box-shadow:var(--p-shadow-lg);margin:0;line-height:0;position:relative;overflow:hidden}.FeaturedProject-module__ykcRBW__image{width:100%;height:auto}.FeaturedProject-module__ykcRBW__tint{pointer-events:none;background:linear-gradient(155deg,color-mix(in srgb,var(--p-accent)14%,transparent),transparent 55%,color-mix(in srgb,var(--p-accent-3)10%,transparent));mix-blend-mode:soft-light;position:absolute;inset:0}.FeaturedProject-module__ykcRBW__fallback{aspect-ratio:4/3;width:100%;position:relative}.FeaturedProject-module__ykcRBW__fallback>*{position:absolute;inset:0}.FeaturedProject-module__ykcRBW__body{align-items:flex-start;gap:var(--sp-6);padding:clamp(var(--sp-6),3vw,var(--sp-8));flex-direction:column;display:flex}.FeaturedProject-module__ykcRBW__intro{gap:var(--sp-3);display:grid}.FeaturedProject-module__ykcRBW__header{font-size:var(--fs-2xs);font-weight:var(--fw-semibold);letter-spacing:var(--ls-widest);text-transform:uppercase;color:var(--p-text-subtle)}.FeaturedProject-module__ykcRBW__name{font-size:var(--fs-3xl);font-weight:var(--fw-medium);letter-spacing:var(--ls-tight);color:var(--p-text)}.FeaturedProject-module__ykcRBW__positioning{max-width:46ch;font-size:var(--fs-lg);line-height:var(--lh-snug);color:var(--p-text-muted)}.FeaturedProject-module__ykcRBW__story{gap:var(--sp-6);width:100%;padding-top:var(--sp-5);border-top:var(--bw-thin)solid var(--p-border);margin:0;display:grid}@media (min-width:760px){.FeaturedProject-module__ykcRBW__story{gap:var(--sp-8);grid-template-columns:repeat(2,minmax(0,1fr))}}.FeaturedProject-module__ykcRBW__story dt{align-items:center;gap:var(--sp-3);margin-bottom:var(--sp-3);font-family:var(--ff-mono);font-size:var(--fs-2xs);letter-spacing:var(--ls-wide);text-transform:uppercase;color:var(--p-text-subtle);display:flex}.FeaturedProject-module__ykcRBW__story dt:before{content:"";background:var(--p-accent);opacity:.6;flex-shrink:0;width:12px;height:1px}.FeaturedProject-module__ykcRBW__story dd{max-width:52ch;font-size:var(--fs-sm);line-height:var(--lh-relaxed);color:var(--p-text-muted);margin:0}.FeaturedProject-module__ykcRBW__group{gap:var(--sp-3);align-content:start;display:grid}.FeaturedProject-module__ykcRBW__groupLabel{font-family:var(--ff-mono);font-size:var(--fs-2xs);font-weight:var(--fw-semibold);letter-spacing:var(--ls-wide);text-transform:uppercase;color:var(--p-text-subtle)}.FeaturedProject-module__ykcRBW__groups{gap:var(--sp-6)var(--sp-8);width:100%;padding-top:var(--sp-5);border-top:var(--bw-thin)solid var(--p-border);grid-template-columns:repeat(auto-fit,minmax(min(100%,15rem),1fr));display:grid}.FeaturedProject-module__ykcRBW__bullets{gap:var(--sp-2);margin:0;padding:0;list-style:none;display:grid}.FeaturedProject-module__ykcRBW__bullets li{align-items:baseline;gap:var(--sp-3);font-size:var(--fs-sm);color:var(--p-text-muted);display:flex}.FeaturedProject-module__ykcRBW__bullets li:before{content:"";border-radius:var(--rad-full);background:var(--accent,var(--p-accent));opacity:.7;flex-shrink:0;width:4px;height:4px}.FeaturedProject-module__ykcRBW__chips{gap:var(--sp-2);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.FeaturedProject-module__ykcRBW__chips li{padding:var(--sp-1)var(--sp-3);border:var(--bw-thin)solid var(--p-border);border-radius:var(--rad-full);font-family:var(--ff-mono);font-size:var(--fs-2xs);letter-spacing:var(--ls-wide);color:var(--p-text-muted);transition:border-color var(--dur-fast)var(--ez-out)}.FeaturedProject-module__ykcRBW__card:hover .FeaturedProject-module__ykcRBW__chips li{border-color:var(--p-border-strong)}.FeaturedProject-module__ykcRBW__actions{align-items:center;gap:var(--sp-3)var(--sp-6);padding-top:var(--sp-5);border-top:var(--bw-thin)solid var(--p-border);flex-wrap:wrap;width:100%;margin-top:auto;display:flex}.FeaturedProject-module__ykcRBW__actions>:not(:first-child){position:relative}@media (min-width:480px){.FeaturedProject-module__ykcRBW__actions>:not(:first-child):before{content:"";left:calc(var(--sp-6)/-2);width:var(--bw-thin);background:var(--p-border);height:14px;position:absolute;top:50%;transform:translateY(-50%)}}
.OtherProjects-module__Id7hbW__section{position:relative}.OtherProjects-module__Id7hbW__grid{gap:var(--sp-5);grid-template-columns:1fr;margin:0;padding:0;list-style:none;display:grid}@media (min-width:720px){.OtherProjects-module__Id7hbW__grid{gap:var(--sp-6);grid-template-columns:repeat(2,minmax(0,1fr))}}.OtherProjects-module__Id7hbW__item{display:flex}.OtherProjects-module__Id7hbW__card{border:var(--bw-thin)solid var(--p-border);border-radius:var(--rad-xl);background:var(--p-bg-raised);width:100%;transition:border-color var(--dur-base)var(--ez-out),transform var(--dur-base)var(--ez-out),box-shadow var(--dur-base)var(--ez-out);flex-direction:column;display:flex;position:relative;overflow:hidden}.OtherProjects-module__Id7hbW__card:hover{border-color:var(--p-border-strong);box-shadow:var(--p-shadow-lg);transform:translateY(-4px)}.OtherProjects-module__Id7hbW__cardInert{cursor:default}.OtherProjects-module__Id7hbW__cardInert:hover{border-color:var(--p-border);box-shadow:none;transform:none}.OtherProjects-module__Id7hbW__stage{aspect-ratio:3/2;padding:clamp(var(--sp-4),2.4vw,var(--sp-6));border-bottom:var(--bw-thin)solid var(--p-border);background:linear-gradient(158deg,color-mix(in srgb,var(--accent,var(--p-accent))7%,transparent),color-mix(in srgb,var(--accent,var(--p-accent))2%,transparent)55%,color-mix(in srgb,var(--p-accent-3)4%,transparent)),var(--p-bg-sunken);place-items:center;display:grid;position:relative;overflow:hidden}.OtherProjects-module__Id7hbW__glow{pointer-events:none;background:radial-gradient(46% 56% at 50% 50%,color-mix(in srgb,var(--accent,var(--p-accent))16%,transparent),transparent 70%);opacity:.75;transition:opacity var(--dur-slow)var(--ez-out),transform var(--dur-slow)var(--ez-out);position:absolute;inset:0}.OtherProjects-module__Id7hbW__card:hover .OtherProjects-module__Id7hbW__glow{opacity:1;transform:scale(1.07)}.OtherProjects-module__Id7hbW__texture{pointer-events:none;background-image:radial-gradient(circle at 1px 1px,var(--p-border-strong)1px,transparent 0);opacity:.45;background-size:22px 22px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(130% 100% at 50% 0,#000,#0000 72%);mask-image:radial-gradient(130% 100% at 50% 0,#000,#0000 72%)}.OtherProjects-module__Id7hbW__frame{border:var(--bw-thin)solid var(--p-border-strong);border-radius:var(--rad-md);box-shadow:var(--p-shadow-lg);transition:transform var(--dur-slow)var(--ez-out);place-self:stretch stretch;margin:0;position:relative;overflow:hidden}.OtherProjects-module__Id7hbW__card:hover .OtherProjects-module__Id7hbW__frame{transform:translateY(-4px)}.OtherProjects-module__Id7hbW__image{object-fit:cover;object-position:top center}.OtherProjects-module__Id7hbW__tint{pointer-events:none;background:linear-gradient(155deg,color-mix(in srgb,var(--accent,var(--p-accent))14%,transparent),transparent 55%,color-mix(in srgb,var(--p-accent-3)10%,transparent));mix-blend-mode:soft-light;position:absolute;inset:0}.OtherProjects-module__Id7hbW__mark{width:clamp(3.25rem,20%,5rem);height:auto;color:var(--accent,var(--p-accent));opacity:.85;transition:transform var(--dur-slow)var(--ez-out),opacity var(--dur-slow)var(--ez-out);position:relative}.OtherProjects-module__Id7hbW__card:hover .OtherProjects-module__Id7hbW__mark{opacity:1;transform:translateY(-4px)rotate(-4deg)}.OtherProjects-module__Id7hbW__body{align-items:flex-start;gap:var(--sp-3);padding:clamp(var(--sp-4),2.2vw,var(--sp-6));flex-direction:column;flex:1;display:flex}.OtherProjects-module__Id7hbW__meta{justify-content:space-between;align-items:center;gap:var(--sp-4);width:100%;font-family:var(--ff-mono);font-size:var(--fs-2xs);letter-spacing:var(--ls-wide);text-transform:uppercase;color:var(--p-text-subtle);display:flex}.OtherProjects-module__Id7hbW__kind{align-items:center;gap:var(--sp-3);display:inline-flex}.OtherProjects-module__Id7hbW__kind:before{content:"";background:var(--accent,var(--p-accent));opacity:.65;flex-shrink:0;width:12px;height:1px}.OtherProjects-module__Id7hbW__year{opacity:.7}.OtherProjects-module__Id7hbW__name{font-size:var(--fs-2xl);font-weight:var(--fw-medium);letter-spacing:var(--ls-tight);color:var(--p-text)}.OtherProjects-module__Id7hbW__description{max-width:44ch;font-size:var(--fs-sm);line-height:var(--lh-relaxed);color:var(--p-text-muted)}.OtherProjects-module__Id7hbW__actions{justify-content:space-between;align-items:center;gap:var(--sp-2)var(--sp-4);width:100%;padding-top:var(--sp-4);border-top:var(--bw-thin)solid var(--p-border);flex-wrap:wrap;margin-top:auto;display:flex}.OtherProjects-module__Id7hbW__tags{align-items:center;gap:var(--sp-2);font-family:var(--ff-mono);font-size:var(--fs-2xs);letter-spacing:var(--ls-wide);color:var(--p-text-subtle);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.OtherProjects-module__Id7hbW__tags li+li:before{content:"·";margin-right:var(--sp-2);opacity:.6}.OtherProjects-module__Id7hbW__cta{align-items:center;gap:var(--sp-2);font-family:var(--ff-mono);font-size:var(--fs-2xs);letter-spacing:var(--ls-wide);text-transform:uppercase;color:var(--p-text-subtle);transition:color var(--dur-fast)var(--ez-out);display:inline-flex}.OtherProjects-module__Id7hbW__cta i{transition:transform var(--dur-base)var(--ez-back);font-style:normal}.OtherProjects-module__Id7hbW__card:hover .OtherProjects-module__Id7hbW__cta{color:var(--accent-text,var(--p-accent-text))}.OtherProjects-module__Id7hbW__card:hover .OtherProjects-module__Id7hbW__cta i{transform:translate(2px,-2px)}.OtherProjects-module__Id7hbW__cardInert .OtherProjects-module__Id7hbW__cta{opacity:.55}.OtherProjects-module__Id7hbW__cardInert:hover .OtherProjects-module__Id7hbW__cta{color:var(--p-text-subtle)}@media (prefers-reduced-motion:reduce){.OtherProjects-module__Id7hbW__card,.OtherProjects-module__Id7hbW__glow,.OtherProjects-module__Id7hbW__mark,.OtherProjects-module__Id7hbW__frame,.OtherProjects-module__Id7hbW__cta,.OtherProjects-module__Id7hbW__cta i{transition:none}.OtherProjects-module__Id7hbW__card:hover,.OtherProjects-module__Id7hbW__card:hover .OtherProjects-module__Id7hbW__glow,.OtherProjects-module__Id7hbW__card:hover .OtherProjects-module__Id7hbW__mark,.OtherProjects-module__Id7hbW__card:hover .OtherProjects-module__Id7hbW__frame,.OtherProjects-module__Id7hbW__card:hover .OtherProjects-module__Id7hbW__cta i{transform:none}}
.AboutSection-module__C18poW__inner{gap:var(--sp-8);align-items:start;display:grid}@media (min-width:1024px){.AboutSection-module__C18poW__inner{gap:var(--sp-10);grid-template-columns:minmax(0,.4fr) minmax(0,.6fr)}}.AboutSection-module__C18poW__aside{align-content:start;gap:var(--sp-6);display:grid}.AboutSection-module__C18poW__aside>:first-child{margin-bottom:0}.AboutSection-module__C18poW__aside h2{font-size:var(--fs-3xl)}@media (min-width:1024px) and (prefers-reduced-motion:no-preference){.AboutSection-module__C18poW__aside{top:calc(var(--sp-9) + var(--sp-4));align-self:start;position:sticky}}.AboutSection-module__C18poW__meta{gap:var(--sp-2);font-family:var(--ff-mono);font-size:var(--fs-2xs);letter-spacing:var(--ls-wide);line-height:var(--lh-relaxed);color:var(--p-text-meta);display:grid}.AboutSection-module__C18poW__body{align-content:start;gap:var(--sp-8);display:grid}.AboutSection-module__C18poW__copy{max-width:var(--measure);font-size:var(--fs-base);line-height:var(--lh-relaxed);color:var(--p-text-muted)}.AboutSection-module__C18poW__blocks{gap:var(--sp-7);margin:0;display:grid}.AboutSection-module__C18poW__block{gap:var(--sp-3);display:grid}.AboutSection-module__C18poW__blockLabel{font-family:var(--ff-mono);font-size:var(--fs-2xs);font-weight:var(--fw-regular);letter-spacing:var(--ls-wide);text-transform:uppercase;color:var(--p-text-meta)}.AboutSection-module__C18poW__blockBody{margin:0}.AboutSection-module__C18poW__chips{gap:var(--sp-2);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.AboutSection-module__C18poW__chips li{padding:var(--sp-1)var(--sp-3);border:var(--bw-thin)solid var(--p-border);border-radius:var(--rad-full);font-size:var(--fs-sm);color:var(--p-text);transition:border-color var(--dur-fast)var(--ez-out),color var(--dur-fast)var(--ez-out)}.AboutSection-module__C18poW__chips li:hover{border-color:var(--p-accent);color:var(--p-accent-text)}.AboutSection-module__C18poW__stack{gap:var(--sp-2);font-size:var(--fs-sm);line-height:var(--lh-relaxed);color:var(--p-text-muted);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.AboutSection-module__C18poW__stack li:not(:last-child):after{content:"·";margin-left:var(--sp-2);color:var(--p-text-meta)}@media (prefers-reduced-motion:reduce){.AboutSection-module__C18poW__chips li{transition:none}}
.ExperienceSection-module__jaB4NW__timeline{gap:0;margin:0;padding:0;list-style:none;display:grid}.ExperienceSection-module__jaB4NW__entry{gap:var(--sp-4);padding-block:var(--sp-7);border-top:var(--bw-thin)solid var(--p-border);display:grid;position:relative}.ExperienceSection-module__jaB4NW__entry:last-child{border-bottom:var(--bw-thin)solid var(--p-border)}@media (min-width:820px){.ExperienceSection-module__jaB4NW__entry{gap:var(--sp-4)var(--sp-8);grid-template-columns:clamp(7.5rem,11vw,9.5rem) minmax(0,1fr) auto;align-items:start}}.ExperienceSection-module__jaB4NW__rail{align-items:center;gap:var(--sp-2)var(--sp-4);flex-wrap:wrap;padding-right:4rem;display:flex}@media (min-width:820px){.ExperienceSection-module__jaB4NW__rail{align-content:start;gap:var(--sp-2);padding-top:var(--sp-2);padding-right:0;display:grid}}.ExperienceSection-module__jaB4NW__period{font-family:var(--ff-mono);font-size:var(--fs-2xs);letter-spacing:var(--ls-wide);text-transform:uppercase;color:var(--p-text-muted)}.ExperienceSection-module__jaB4NW__engagement{align-items:center;gap:var(--sp-2);font-family:var(--ff-mono);font-size:var(--fs-2xs);letter-spacing:var(--ls-wide);text-transform:uppercase;color:var(--p-text-meta);display:inline-flex}.ExperienceSection-module__jaB4NW__engagement:before{content:"";background:var(--p-border-strong);flex-shrink:0;width:10px;height:1px}.ExperienceSection-module__jaB4NW__detail{align-content:start;gap:var(--sp-5);display:grid}.ExperienceSection-module__jaB4NW__identity{gap:var(--sp-2);display:grid}.ExperienceSection-module__jaB4NW__organisation{font-family:var(--ff-mono);font-size:var(--fs-2xs);font-weight:var(--fw-regular);letter-spacing:var(--ls-widest);text-transform:uppercase;color:var(--p-text-meta)}.ExperienceSection-module__jaB4NW__role{font-size:var(--fs-2xl);font-weight:var(--fw-medium);letter-spacing:var(--ls-tight);color:var(--p-text)}.ExperienceSection-module__jaB4NW__summary{max-width:66ch;font-size:var(--fs-base);line-height:var(--lh-relaxed);color:var(--p-text-muted)}.ExperienceSection-module__jaB4NW__group{gap:var(--sp-3);display:grid}.ExperienceSection-module__jaB4NW__groupLabel{font-family:var(--ff-mono);font-size:var(--fs-2xs);font-weight:var(--fw-regular);letter-spacing:var(--ls-wide);text-transform:uppercase;color:var(--p-text-meta);margin:0}.ExperienceSection-module__jaB4NW__tags{gap:var(--sp-2)var(--sp-4);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.ExperienceSection-module__jaB4NW__tags li{align-items:center;gap:var(--sp-2);font-size:var(--fs-sm);color:var(--p-text-muted);display:inline-flex}.ExperienceSection-module__jaB4NW__tags li:before{content:"";border-radius:var(--rad-full);background:var(--p-border-strong);flex-shrink:0;width:3px;height:3px}.ExperienceSection-module__jaB4NW__chips{gap:var(--sp-2);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.ExperienceSection-module__jaB4NW__chips li{padding:var(--sp-1)var(--sp-3);border:var(--bw-thin)solid var(--p-border);border-radius:var(--rad-full);font-family:var(--ff-mono);font-size:var(--fs-2xs);letter-spacing:var(--ls-wide);color:var(--p-text-meta)}.ExperienceSection-module__jaB4NW__marker{top:var(--sp-7);font-family:var(--ff-display);font-size:var(--fs-2xl);color:var(--p-text-subtle);opacity:.5;line-height:1;position:absolute;right:0}@media (min-width:820px){.ExperienceSection-module__jaB4NW__marker{position:static}}
.ContactSection-module__e3oZtW__section{border-top:var(--bw-thin)solid var(--p-border);background:var(--p-bg-sunken)}.ContactSection-module__e3oZtW__inner{gap:var(--sp-6);justify-items:start;display:grid}.ContactSection-module__e3oZtW__title{font-size:var(--fs-5xl);font-weight:var(--fw-regular);line-height:var(--lh-display);letter-spacing:var(--ls-tight);color:var(--p-text)}.ContactSection-module__e3oZtW__emphasis{font-family:var(--ff-display);color:var(--p-accent-text);font-style:italic}.ContactSection-module__e3oZtW__action{align-items:center;gap:var(--sp-3);font-size:var(--fs-2xl);font-weight:var(--fw-medium);color:var(--p-text);border-bottom:var(--bw-thin)solid var(--p-border-strong);padding-bottom:var(--sp-2);transition:color var(--dur-fast)var(--ez-out),border-color var(--dur-fast)var(--ez-out);display:inline-flex}.ContactSection-module__e3oZtW__action:hover{color:var(--p-accent-text);border-color:var(--p-accent)}.ContactSection-module__e3oZtW__meta{gap:var(--sp-5);margin-top:var(--sp-4);font-size:var(--fs-sm);color:var(--p-text-muted);flex-wrap:wrap;display:flex}.ContactSection-module__e3oZtW__meta a{transition:color var(--dur-fast)var(--ez-out)}.ContactSection-module__e3oZtW__meta a:hover{color:var(--p-text)}
.ThemeToggle-module__qg-nNG__toggle{border-radius:var(--rad-full);border:var(--bw-thin)solid var(--p-border);background:var(--p-bg-raised);width:40px;height:40px;color:var(--p-text-muted);transition:color var(--dur-fast)var(--ez-out),border-color var(--dur-fast)var(--ez-out),background-color var(--dur-fast)var(--ez-out);place-items:center;display:grid;position:relative}.ThemeToggle-module__qg-nNG__toggle:hover{color:var(--p-accent-text);border-color:var(--p-border-strong)}.ThemeToggle-module__qg-nNG__icon{opacity:0;width:18px;height:18px;transition:opacity var(--dur-base)var(--ez-out),transform var(--dur-base)var(--ez-back);grid-area:1/1;place-items:center;display:grid;transform:rotate(-45deg)scale(.6)}.ThemeToggle-module__qg-nNG__icon[data-active=true]{opacity:1;transform:rotate(0)scale(1)}.ThemeToggle-module__qg-nNG__icon svg{width:100%;height:100%}
.CaseStudy-module__fouR2a__page{padding-bottom:var(--sp-12)}.CaseStudy-module__fouR2a__masthead{border-bottom:var(--bw-thin)solid var(--p-border);margin-bottom:var(--sp-9)}.CaseStudy-module__fouR2a__back{margin-bottom:var(--sp-7)}.CaseStudy-module__fouR2a__back a{align-items:center;gap:var(--sp-3);font-size:var(--fs-xs);font-weight:var(--fw-semibold);letter-spacing:var(--ls-wide);text-transform:uppercase;color:var(--p-text-subtle);transition:color var(--dur-fast)var(--ez-out);display:inline-flex}.CaseStudy-module__fouR2a__back a span{transition:transform var(--dur-base)var(--ez-back)}.CaseStudy-module__fouR2a__back a:hover{color:var(--p-text)}.CaseStudy-module__fouR2a__back a:hover span{transform:translate(-3px)}.CaseStudy-module__fouR2a__title{margin-top:var(--sp-4);font-size:var(--fs-5xl);font-weight:var(--fw-semibold);letter-spacing:var(--ls-tighter);line-height:var(--lh-display);color:var(--p-text)}.CaseStudy-module__fouR2a__kind{margin-top:var(--sp-3);font-size:var(--fs-lg);color:var(--p-text-muted)}.CaseStudy-module__fouR2a__facts{gap:var(--sp-5)var(--sp-8);margin:var(--sp-8)0 0;padding-top:var(--sp-6);border-top:var(--bw-thin)solid var(--p-border);flex-wrap:wrap;display:flex}.CaseStudy-module__fouR2a__facts dt{font-family:var(--ff-mono);font-size:var(--fs-2xs);letter-spacing:var(--ls-wide);text-transform:uppercase;color:var(--p-text-subtle)}.CaseStudy-module__fouR2a__facts dd{margin:var(--sp-2)0 0;font-size:var(--fs-sm);color:var(--p-text)}.CaseStudy-module__fouR2a__media{border:var(--bw-thin)solid var(--p-border);border-radius:var(--rad-xl);background:var(--p-bg-sunken);position:relative;overflow:hidden}.CaseStudy-module__fouR2a__image{width:100%;height:auto}.CaseStudy-module__fouR2a__fallback{aspect-ratio:16/9;position:relative}.CaseStudy-module__fouR2a__fallback>*{position:absolute;inset:0}.CaseStudy-module__fouR2a__body{gap:var(--sp-9);margin-top:var(--sp-10);display:grid}.CaseStudy-module__fouR2a__block{gap:var(--sp-4);display:grid}@media (min-width:900px){.CaseStudy-module__fouR2a__block{gap:var(--sp-6);grid-template-columns:12rem minmax(0,1fr);align-items:start}.CaseStudy-module__fouR2a__wide{grid-template-columns:12rem minmax(0,1fr)}}.CaseStudy-module__fouR2a__blockLabel{font-size:var(--fs-2xs);font-weight:var(--fw-semibold);letter-spacing:var(--ls-widest);text-transform:uppercase;color:var(--p-text-subtle);padding-top:.35em}.CaseStudy-module__fouR2a__blockBody{gap:var(--sp-4);max-width:68ch;font-size:var(--fs-base);line-height:var(--lh-relaxed);color:var(--p-text-muted);display:grid}.CaseStudy-module__fouR2a__lead{font-size:var(--fs-lg);color:var(--p-text)}.CaseStudy-module__fouR2a__steps{gap:var(--sp-7);counter-reset:step;margin:0;padding:0;list-style:none;display:grid}.CaseStudy-module__fouR2a__steps li{gap:var(--sp-2);display:grid}.CaseStudy-module__fouR2a__stepIndex{font-family:var(--ff-mono);font-size:var(--fs-2xs);letter-spacing:var(--ls-wide);color:var(--p-accent-text)}.CaseStudy-module__fouR2a__steps h3{font-size:var(--fs-lg);font-weight:var(--fw-medium);color:var(--p-text)}.CaseStudy-module__fouR2a__metrics{gap:var(--sp-5);grid-template-columns:repeat(auto-fit,minmax(min(100%,9rem),1fr));margin:0;padding:0;list-style:none;display:grid}.CaseStudy-module__fouR2a__metrics li{gap:var(--sp-2);padding:var(--sp-4);border:var(--bw-thin)solid var(--p-border);border-radius:var(--rad-md);background:var(--p-bg-raised);display:grid}.CaseStudy-module__fouR2a__metricValue{font-size:var(--fs-2xl);font-weight:var(--fw-medium);letter-spacing:var(--ls-tight);color:var(--p-text)}.CaseStudy-module__fouR2a__metricLabel{font-size:var(--fs-2xs);letter-spacing:var(--ls-wide);text-transform:uppercase;color:var(--p-text-subtle)}.CaseStudy-module__fouR2a__outcome{gap:var(--sp-3);margin:0;padding:0;list-style:none;display:grid}.CaseStudy-module__fouR2a__outcome li{align-items:baseline;gap:var(--sp-3);color:var(--p-text);display:flex}.CaseStudy-module__fouR2a__outcome li:before{content:"";background:var(--p-accent);opacity:.6;flex-shrink:0;width:12px;height:1px;margin-top:.7em}.CaseStudy-module__fouR2a__chips{gap:var(--sp-2);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.CaseStudy-module__fouR2a__chips li{padding:var(--sp-1)var(--sp-3);border:var(--bw-thin)solid var(--p-border);border-radius:var(--rad-full);font-family:var(--ff-mono);font-size:var(--fs-2xs);letter-spacing:var(--ls-wide);color:var(--p-text-muted)}.CaseStudy-module__fouR2a__next{margin-top:var(--sp-11);border-top:var(--bw-thin)solid var(--p-border)}.CaseStudy-module__fouR2a__next a{gap:var(--sp-2);padding-top:var(--sp-7);display:grid}.CaseStudy-module__fouR2a__nextLabel{font-family:var(--ff-mono);font-size:var(--fs-2xs);letter-spacing:var(--ls-widest);text-transform:uppercase;color:var(--p-text-subtle)}.CaseStudy-module__fouR2a__nextName{align-items:center;gap:var(--sp-3);font-size:var(--fs-3xl);font-weight:var(--fw-medium);letter-spacing:var(--ls-tight);color:var(--p-text);transition:color var(--dur-base)var(--ez-out);display:inline-flex}.CaseStudy-module__fouR2a__nextName i{font-style:normal;font-size:var(--fs-xl);transition:transform var(--dur-base)var(--ez-back)}.CaseStudy-module__fouR2a__next a:hover .CaseStudy-module__fouR2a__nextName{color:var(--p-accent-text)}.CaseStudy-module__fouR2a__next a:hover .CaseStudy-module__fouR2a__nextName i{transform:translate(4px,-4px)}.CaseStudy-module__fouR2a__nextKind{font-size:var(--fs-sm);color:var(--p-text-muted)}
.CaseStudyNav-module__uoEpeG__header{z-index:var(--z-nav);background:var(--p-bg-overlay);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:var(--bw-thin)solid var(--p-border);position:sticky;top:0}.CaseStudyNav-module__uoEpeG__nav{justify-content:space-between;align-items:center;gap:var(--sp-5);width:100%;max-width:var(--layout-max);padding:var(--sp-4)var(--gutter);margin-inline:auto;display:flex}.CaseStudyNav-module__uoEpeG__brand{font-size:var(--fs-lg);font-weight:var(--fw-bold);letter-spacing:var(--ls-tight);white-space:nowrap;color:var(--p-text)}.CaseStudyNav-module__uoEpeG__brand span{color:var(--p-accent-text)}
.Footer-module__FKcxpa__footer{width:100%;max-width:none;font-size:inherit;letter-spacing:normal;text-transform:none;color:inherit;border-top:var(--bw-thin)solid var(--p-border);margin:0;padding:0;display:block}.Footer-module__FKcxpa__inner{justify-content:space-between;align-items:center;gap:var(--sp-4);width:100%;max-width:var(--layout-max);padding:var(--sp-6)var(--gutter);font-size:var(--fs-xs);letter-spacing:var(--ls-wide);text-transform:uppercase;color:var(--p-text-subtle);flex-wrap:wrap;margin-inline:auto;display:flex}
.not-found-module__HS70Aa__page{min-height:100svh;padding-block:var(--sp-9);align-content:center;display:grid}.not-found-module__HS70Aa__inner{justify-items:start;gap:var(--sp-6);display:grid}.not-found-module__HS70Aa__code{align-items:center;gap:var(--sp-3);font-family:var(--ff-mono);font-size:var(--fs-2xs);letter-spacing:var(--ls-widest);text-transform:uppercase;color:var(--p-text-meta);display:flex}.not-found-module__HS70Aa__code:before{content:"";width:var(--sp-6);background:var(--p-accent);flex-shrink:0;height:1px}.not-found-module__HS70Aa__title{font-size:var(--fs-4xl);font-weight:var(--fw-regular);line-height:var(--lh-display);letter-spacing:var(--ls-tight);color:var(--p-text)}.not-found-module__HS70Aa__title em{font-family:var(--ff-display);color:var(--p-accent-text);font-style:italic}.not-found-module__HS70Aa__lead{max-width:var(--measure);font-size:var(--fs-base);line-height:var(--lh-relaxed);color:var(--p-text-muted)}.not-found-module__HS70Aa__links{gap:var(--sp-3)var(--sp-6);margin-top:var(--sp-3);padding-top:var(--sp-5);border-top:var(--bw-thin)solid var(--p-border);width:100%;font-size:var(--fs-sm);color:var(--p-text-muted);flex-wrap:wrap;display:flex}.not-found-module__HS70Aa__links a{transition:color var(--dur-fast)var(--ez-out)}.not-found-module__HS70Aa__links a:hover{color:var(--p-text)}@media (prefers-reduced-motion:reduce){.not-found-module__HS70Aa__links a{transition:none}}
