:root{--bg:oklch(15.5% .006 60);--bg-surface:oklch(19% .007 60);--bg-elevated:oklch(23.5% .008 60);--text-1:oklch(95% .008 80);--text-2:oklch(75% .01 70);--text-3:oklch(60% .01 70);--text-4:oklch(45% .01 70);--accent:oklch(71% .185 42);--accent-ink:oklch(18% .04 42);--accent-muted:oklch(71% .185 42/.14);--ok:oklch(76% .15 150);--border:oklch(95% .01 80/.08);--border-strong:oklch(95% .01 80/.16);--paper:oklch(94.5% .014 85);--paper-ink:oklch(19% .01 60);--paper-ink-2:oklch(42% .015 60);--paper-border:oklch(19% .01 60/.1);--font-display:"Clash Display", "Arial Narrow", system-ui, sans-serif;--font-body:"General Sans", system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono:"JetBrains Mono", ui-monospace, "Cascadia Mono", monospace;--text-display:clamp(4rem, 15.5vw, 17rem);--text-h1:clamp(2.75rem, 7vw + .5rem, 7.5rem);--text-h2:clamp(2rem, 4.2vw + .5rem, 4.75rem);--text-h3:clamp(1.375rem, 1.6vw + .75rem, 2.125rem);--text-lead:clamp(1.5rem, 2.6vw + .5rem, 3.25rem);--text-body-lg:clamp(1.125rem, .6vw + .9rem, 1.375rem);--text-body:clamp(1.0625rem, .3vw + .95rem, 1.1875rem);--text-label:clamp(.6875rem, .2vw + .62rem, .8125rem);--space-2xs:clamp(4px, .5vw, 6px);--space-xs:clamp(8px, 1vw, 12px);--space-sm:clamp(12px, 1.5vw, 16px);--space-md:clamp(16px, 2vw, 24px);--space-lg:clamp(24px, 3vw, 40px);--space-xl:clamp(40px, 5vw, 64px);--space-2xl:clamp(64px, 8vw, 120px);--space-3xl:clamp(96px, 12vw, 200px);--gutter:clamp(16px, 4vw, 56px);--max:1440px;--radius:10px;--radius-lg:18px;--ease-out:cubic-bezier(.16, 1, .3, 1);--ease-in-out:cubic-bezier(.76, 0, .24, 1);--ease-back:cubic-bezier(.34, 1.56, .64, 1);--dur-micro:.15s;--dur-sm:.25s;--dur-md:.4s;--dur-lg:.6s;color-scheme:dark}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;text-size-adjust:100%}html.lenis,html.lenis body{height:auto}.lenis.lenis-smooth{scroll-behavior:auto!important}body{background:var(--bg);color:var(--text-1);font-family:var(--font-body);font-size:var(--text-body);letter-spacing:-.011em;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;line-height:1.55;overflow-x:clip}h1,h2,h3,p,dl,dd,ol,ul,figure{margin:0}ol,ul{padding:0;list-style:none}h1,h2,h3{font-family:var(--font-display);word-spacing:.08em;text-wrap:balance;font-weight:600}p{text-wrap:pretty}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;padding:0}svg{display:block}::selection{background:var(--accent);color:var(--accent-ink)}:focus-visible{outline:2px solid var(--accent);outline-offset:4px;border-radius:4px}.mono{font-family:var(--font-mono);letter-spacing:0;font-feature-settings:"zero" 1}.label{font-family:var(--font-body);font-size:var(--text-label);letter-spacing:.1em;text-transform:uppercase;color:var(--text-3);font-weight:500;line-height:1.2}.label .mono{color:var(--accent);letter-spacing:0;margin-right:.6em}.skip-link{top:var(--space-sm);left:var(--space-sm);z-index:200;border-radius:var(--radius);background:var(--accent);color:var(--accent-ink);transition:transform var(--dur-sm) var(--ease-out);padding:10px 16px;font-weight:500;position:fixed;transform:translateY(-200%)}.skip-link:focus-visible{transform:none}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.sr-only{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.loader{z-index:100;background:var(--bg);place-items:center;animation:0s 5s forwards loader-failsafe;display:grid;position:fixed;inset:0}.no-loader .loader{display:none}.loader__inner{align-items:end;gap:var(--space-sm) var(--space-lg);width:min(600px, 100% - var(--gutter) * 2);grid-template-columns:1fr auto;display:grid}.loader__label{grid-column:1/-1}.loader__bar{grid-template-columns:repeat(20,1fr);gap:4px;height:36px;display:grid}.loader__bar span{background:var(--border-strong);transition:background var(--dur-micro) linear;border-radius:2px}.loader__bar span.is-on{background:var(--accent)}.loader__bar span.is-test{background:repeating-linear-gradient(135deg, var(--accent) 0 3px, transparent 3px 6px);animation:.9s steps(2,jump-none) infinite blink}.loader__count{font-size:var(--text-h3);font-variant-numeric:tabular-nums;color:var(--text-1)}@keyframes loader-failsafe{to{visibility:hidden;opacity:0}}.progress{z-index:60;background:var(--accent);transform-origin:0;height:2px;position:fixed;inset:0 0 auto;transform:scaleX(0)}@supports (animation-timeline:scroll()){.progress{animation:linear both progress-grow scroll(root)}}@keyframes progress-grow{to{transform:scaleX(1)}}.cursor{display:none}@media (hover:hover) and (pointer:fine){.cursor{z-index:90;background:var(--text-1);mix-blend-mode:difference;pointer-events:none;opacity:0;width:12px;height:12px;transition:opacity var(--dur-sm) var(--ease-out);border-radius:50%;margin:-6px 0 0 -6px;display:block;position:fixed;top:0;left:0}.cursor.is-visible{opacity:1}}.nav{z-index:50;align-items:center;gap:var(--space-md);padding:var(--space-md) var(--gutter);color:var(--text-1);transition:transform var(--dur-lg) var(--ease-out), color var(--dur-md) var(--ease-out);grid-template-columns:1fr auto 1fr;display:grid;position:fixed;inset:0 0 auto}.nav.is-hidden{transform:translateY(-110%)}.nav.is-light{color:var(--paper-ink)}.nav__mark{font-family:var(--font-display);letter-spacing:-.01em;justify-self:start;font-size:1.0625rem;font-weight:600}.nav__tag{border:1px solid var(--accent);letter-spacing:.04em;text-transform:uppercase;color:var(--accent);vertical-align:.12em;border-radius:999px;margin-left:.7em;padding:.15em .55em;font-size:.6875rem;font-weight:500}.nav.is-light .nav__tag{color:var(--paper-ink);border-color:currentColor}.nav__links{gap:var(--space-lg);font-size:.9375rem;display:flex}.nav__meta{font-variant-numeric:tabular-nums;opacity:.75;justify-self:end;align-items:center;gap:.6em;font-size:.8125rem;display:flex}.status-dot{background:var(--ok);width:7px;height:7px;animation:pulse 2.4s var(--ease-out) infinite;border-radius:50%;box-shadow:0 0 oklch(76% .15 150/.5)}@keyframes pulse{70%,to{box-shadow:0 0 0 8px oklch(76% .15 150/0)}}.nav__toggle{border:1px solid;border-radius:999px;justify-self:end;padding:8px 14px;font-size:.875rem;display:none}@media (width<=820px){.nav{grid-template-columns:1fr auto}.nav__links,.nav__meta{display:none}.nav__toggle{display:block}}.menu{z-index:45;padding:calc(var(--space-2xl) + var(--space-md)) var(--gutter) var(--space-lg);background:var(--bg-surface);clip-path:inset(0 0 100%);transition:clip-path var(--dur-lg) var(--ease-in-out);flex-direction:column;justify-content:space-between;display:flex;position:fixed;inset:0}.menu[hidden]{display:none}.menu.is-open{clip-path:inset(0)}.menu__list a{align-items:baseline;gap:var(--space-sm);padding-block:var(--space-xs);border-bottom:1px solid var(--border);font-family:var(--font-display);letter-spacing:-.03em;font-size:clamp(2.5rem,12vw,4rem);font-weight:600;line-height:1.05;display:flex}.menu__list .mono{letter-spacing:0;color:var(--accent);font-size:.8125rem}.menu__email{color:var(--text-2);font-size:.9375rem}.link-roll{vertical-align:bottom;line-height:1.3;display:inline-block;overflow:hidden}.link-roll>span{transition:transform var(--dur-md) var(--ease-out);display:inline-block;position:relative}.link-roll>span:after{content:attr(data-text);color:var(--accent);position:absolute;top:100%;left:0}@media (hover:hover){.link-roll:hover>span{transform:translateY(-100%)}}.btn{border:1px solid var(--border-strong);isolation:isolate;transition:color var(--dur-md) var(--ease-out), border-color var(--dur-md) var(--ease-out);border-radius:999px;align-items:center;gap:.75em;padding:.9em 1.4em;font-weight:500;display:inline-flex;position:relative;overflow:hidden}.btn:before{content:"";z-index:-1;background:var(--accent);transform-origin:100%;transition:transform var(--dur-md) var(--ease-out);position:absolute;inset:0;transform:scaleX(0)}@media (hover:hover){.btn:hover{color:var(--accent-ink);border-color:var(--accent)}.btn:hover:before{transform-origin:0;transform:scaleX(1)}}.btn__icon{fill:none;stroke:currentColor;stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round;width:1em;height:1em}.build{gap:var(--space-xs);width:min(280px,100%);display:grid}.build__bar{grid-template-columns:repeat(20,1fr);gap:3px;height:14px;display:grid}.build__bar span{background:var(--border-strong);border-radius:1.5px}.build__bar .is-on{background:var(--accent)}.build__bar .is-test{background:repeating-linear-gradient(135deg, var(--accent) 0 2px, transparent 2px 4px);transition:background var(--dur-sm)}.build__bar .is-test.is-testing{background:var(--accent);animation:.35s steps(2,jump-none) infinite blink}.build__bar .is-pending{outline:1px dashed var(--border-strong);outline-offset:-1px;background:0 0}.build__readout{font-variant-numeric:tabular-nums;color:var(--text-3);gap:.8em;font-size:.75rem;display:flex}.build__state{color:var(--accent);text-transform:uppercase;letter-spacing:.08em;margin-left:auto}.build__state.is-patching{color:var(--text-1)}.build__log{min-height:1.4em;color:var(--text-4);white-space:nowrap;text-overflow:ellipsis;font-size:.6875rem;overflow:hidden}@keyframes blink{50%{opacity:.25}}.chips{flex-wrap:wrap;gap:8px;display:flex}.chips li,.chip{border:1px solid var(--border-strong);color:var(--text-2);border-radius:999px;padding:5px 11px;font-size:.75rem;line-height:1.4}.chip{display:inline-block}.chip--ok{color:var(--ok);border-color:oklch(76% .15 150/.35)}.chip--beta{color:var(--accent);border-color:oklch(71% .185 42/.4)}.copy{border:1px solid var(--border-strong);color:var(--text-2);transition:border-color var(--dur-sm) var(--ease-out), color var(--dur-sm) var(--ease-out);border-radius:999px;padding:8px 14px;font-size:.8125rem}.copy.is-copied{border-color:var(--ok);color:var(--ok)}@media (hover:hover){.copy:hover{border-color:var(--text-1);color:var(--text-1)}}.hero{gap:var(--space-xl);min-height:100svh;padding:calc(var(--space-2xl) + var(--space-md)) var(--gutter) var(--space-lg);grid-template-rows:1fr auto auto auto;display:grid}.hero__overline{flex-wrap:wrap;align-self:end;gap:.4em 1.6em;display:flex}.hero__overline span:first-child{color:var(--accent)}.hero__title{font-size:var(--text-display);letter-spacing:-.045em;text-transform:uppercase;text-wrap:nowrap;font-weight:600;line-height:.84}.hero__line{display:block}.hero__line--offset{padding-left:.62em}.is-booting [data-beta],.is-booting [data-hero-fade]{visibility:hidden}.hero__title .char{text-align:center;transition:color var(--dur-md) var(--ease-out);display:inline-block}.hero__title .char.is-patching{color:var(--accent)}.hero__tag{vertical-align:top;letter-spacing:0;text-transform:none;color:var(--accent);margin-left:.08em;font-size:.22em;font-weight:500;line-height:1;animation:1.1s steps(2,jump-none) infinite blink;display:inline-block}.hero__foot{align-items:end;gap:var(--space-lg) var(--space-md);grid-template-columns:repeat(12,1fr);display:grid}.hero__lede{max-width:38ch;font-size:var(--text-body-lg);color:var(--text-2);grid-column:1/6;line-height:1.45}.hero__foot .build{grid-column:7/10}.hero__foot .btn{grid-column:10/13;justify-self:end}.hero__hint{color:var(--text-4);justify-self:end;font-size:.75rem}.hint-coarse{display:none}@media (pointer:coarse){.hint-fine{display:none}.hint-coarse{display:inline}}@media (width<=820px){.hero{gap:var(--space-lg)}.hero__title{font-size:19vw}.hero__line--offset{padding-left:.3em}.hero__lede,.hero__foot .build,.hero__foot .btn{grid-column:1/-1;justify-self:start}.hero__hint{justify-self:start}}.intro{width:min(var(--max), 100% - var(--gutter) * 2);padding-block:var(--space-3xl) var(--space-xl);margin-inline:auto}.intro__grid{gap:var(--space-md);grid-template-columns:repeat(12,1fr);display:grid}.intro__label{font-family:var(--font-body);grid-column:1/3;padding-top:.9em}.intro__text{font-family:var(--font-display);font-size:var(--text-lead);letter-spacing:-.022em;word-spacing:.06em;text-wrap:pretty;grid-column:3/13;font-weight:500;line-height:1.12}.now{margin-top:var(--space-2xl);border-top:1px solid var(--border);grid-template-columns:repeat(4,1fr);display:grid}.now__item{gap:var(--space-xs);padding:var(--space-md) var(--space-md) 0 0;display:grid}.now__item+.now__item{padding-left:var(--space-md);border-left:1px solid var(--border)}.now dd{font-size:var(--text-body);color:var(--text-1)}@media (width<=820px){.intro__label,.intro__text{grid-column:1/-1}.now{grid-template-columns:1fr 1fr}.now__item:nth-child(3){border-left:0;padding-left:0}.now__item:nth-child(n+3){margin-top:var(--space-md)}}.case{margin-top:var(--space-2xl);padding-block:var(--space-2xl) var(--space-3xl);background:var(--paper);color:var(--paper-ink)}.case .label{color:var(--paper-ink-2)}.case__inner{gap:var(--space-xl) var(--space-md);width:min(var(--max), 100% - var(--gutter) * 2);grid-template-columns:repeat(12,1fr);margin-inline:auto;display:grid}.case__text{top:var(--space-2xl);align-self:start;gap:var(--space-lg);grid-column:1/6;display:grid;position:sticky}.case__title{font-size:var(--text-h1);letter-spacing:-.035em;line-height:.92}.case__lede{max-width:44ch;font-size:var(--text-body-lg);color:var(--paper-ink-2);line-height:1.5}.case__facts>div{gap:var(--space-sm);padding-block:var(--space-sm);border-top:1px solid var(--paper-border);grid-template-columns:7.5rem 1fr;display:grid}.case__facts dt{padding-top:.3em}.case__diagram{gap:var(--space-sm);padding-top:var(--space-xl);grid-column:7/13;display:grid}.case__diagram svg{width:100%;height:auto}.case__diagram figcaption{color:var(--paper-ink-2);font-size:.75rem}.dg-lines path{fill:none;stroke:var(--paper-ink);stroke-opacity:.25}.dg-flow path{fill:none;stroke:var(--accent);stroke-width:2px;stroke-linecap:round;stroke-dasharray:3 22;animation:1.6s linear infinite flow}@keyframes flow{to{stroke-dashoffset:-25px}}.dg-box rect{fill:oklch(91.5% .016 85);stroke:var(--paper-ink);stroke-opacity:.18}.dg-box text{font-family:var(--font-mono);fill:var(--paper-ink);text-anchor:middle;font-size:13px}.dg-box--sm text{font-size:12px}.dg-box--accent rect{fill:var(--accent);stroke:none}.dg-box--accent text{fill:var(--accent-ink)}@media (width<=900px){.case__text,.case__diagram{grid-column:1/-1;position:static}.case__diagram{padding-top:0}}.work{width:min(var(--max), 100% - var(--gutter) * 2);padding-block:var(--space-3xl) var(--space-2xl);margin-inline:auto}.work__head{justify-content:space-between;align-items:baseline;gap:var(--space-sm) var(--space-lg);margin-bottom:var(--space-xl);flex-wrap:wrap;display:flex}.work__title{font-size:var(--text-h1);letter-spacing:-.035em;line-height:.92}.work__note{color:var(--text-3);font-size:.8125rem}.work__list{border-top:1px solid var(--border)}.work-item{align-items:baseline;gap:var(--space-xs) var(--space-md);padding-block:var(--space-lg);border-bottom:1px solid var(--border);transition:opacity var(--dur-md) var(--ease-out);grid-template-columns:4rem minmax(0,6fr) minmax(0,3fr);display:grid}.work-item__index{color:var(--accent);font-size:.8125rem}.work-item__body{gap:var(--space-xs);display:grid}.work-item__title{font-size:var(--text-h3);letter-spacing:-.02em;transition:transform var(--dur-md) var(--ease-out);line-height:1.05}.work-item__desc{max-width:58ch;color:var(--text-2)}.work-item__tags{text-align:right;color:var(--text-3);justify-self:end;font-size:.75rem}.work-item__media{margin-top:var(--space-sm);border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--bg-surface);aspect-ratio:16/10;grid-column:2/-1;overflow:hidden}.work-item__media svg{width:100%;height:100%}@media (hover:hover){.work__list:hover .work-item:not(:hover){opacity:.35}.work-item:hover .work-item__title{transform:translate(.35em)}}@media (width>=900px){.work-item{grid-template-columns:4rem minmax(0,5fr) minmax(0,2fr) minmax(0,3fr);align-items:start}.work-item__tags{padding-top:.5em}.work-item__media{grid-area:1/4;margin-top:0}}@media (width<=700px){.work-item{grid-template-columns:2.5rem 1fr}.work-item__tags{text-align:left;grid-column:2;justify-self:start}}.art-label{font-family:var(--font-mono);fill:var(--text-3);font-size:13px}.art-label--muted{fill:var(--text-4)}.art-label--accent{fill:var(--accent)}.art-label--ink{fill:var(--accent-ink)}.art-glyph{font-family:var(--font-mono);fill:var(--text-2);font-size:28px}.art-bars rect,.art-ledger rect{fill:var(--text-4)}.art-accent,.art-bars .art-accent,.art-ledger .art-accent,.art-tiles .art-accent{fill:var(--accent)}.art-axis{stroke:var(--border-strong)}.art-guide{stroke:var(--text-4);stroke-dasharray:4 6}.art-guide--accent{stroke:var(--accent)}.art-frames rect,.art-tiles rect{fill:var(--bg-elevated);stroke:var(--border)}.art-track{fill:var(--bg-elevated)}.art-range{fill:var(--accent-muted)}.art-playhead{stroke:var(--text-1);stroke-width:1.5px}.art-area{fill:var(--accent-muted)}.art-curve{fill:none;stroke:var(--accent);stroke-width:2.5px}.art-ring,.art-seg{fill:none;stroke-width:26px}.art-ring{stroke:var(--bg-elevated)}.art-seg--accent{stroke:var(--accent)}.art-seg--2{stroke:var(--text-2)}.art-seg--3{stroke:var(--text-3)}.art-seg--4{stroke:var(--text-4)}.stack{width:min(var(--max), 100% - var(--gutter) * 2);padding-block:var(--space-xl) var(--space-2xl);margin-inline:auto}.stack__head{gap:var(--space-md);margin-bottom:var(--space-xl);display:grid}.stack__title{max-width:18ch;font-size:var(--text-h2);letter-spacing:-.03em;line-height:1}.bento{grid-template-columns:repeat(12,1fr);gap:clamp(12px,1.4vw,20px);display:grid}.tile{gap:var(--space-md);padding:var(--space-lg);border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--bg-surface);transition:border-color var(--dur-md) var(--ease-out);flex-direction:column;display:flex}@media (hover:hover){.tile:hover{border-color:var(--border-strong)}}.tile--frontend{grid-column:1/8}.tile--path{grid-area:1/8/4/13}.tile--craft{grid-column:1/5}.tile--infra{grid-column:5/8}.tile--quote{grid-column:1/8}.tile__big,.tile__quote,.lab-card__title{word-spacing:.06em}.tile__big{font-family:var(--font-display);font-size:var(--text-h3);letter-spacing:-.02em;font-weight:500;line-height:1.1}.tile__list{color:var(--text-2);gap:.35em;display:grid}.tile__list li:before{content:"— ";color:var(--text-4)}.path{align-content:space-between;gap:var(--space-md);margin-top:var(--space-sm);flex:1;padding-left:1.25rem;display:grid;position:relative}.path:before{content:"";background:var(--border-strong);width:1px;position:absolute;top:.5em;bottom:.5em;left:3px}.path__step{font-size:var(--text-body-lg);color:var(--text-4);gap:2px;display:grid;position:relative}.path__step:before{content:"";background:var(--bg-elevated);width:7px;height:7px;box-shadow:0 0 0 1px var(--border-strong);border-radius:50%;position:absolute;top:.55em;left:-1.25rem}.path__step .mono{text-transform:uppercase;letter-spacing:.08em;font-size:.6875rem}.path__step.is-done{color:var(--text-2)}.path__step.is-done:before{background:var(--text-3)}.path__step.is-now{color:var(--text-1)}.path__step.is-now .mono{color:var(--accent)}.path__step.is-now:before{background:var(--accent);box-shadow:0 0 0 4px var(--accent-muted)}.tile--quote{background:var(--accent);color:var(--accent-ink);border-color:#0000;justify-content:center}.tile__quote{font-family:var(--font-display);font-size:var(--text-h3);letter-spacing:-.02em;font-weight:500;line-height:1.1}@media (width<=900px){.tile--frontend,.tile--path,.tile--quote{grid-area:auto/1/auto/-1}.tile--craft{grid-column:1/7}.tile--infra{grid-column:7/13}}@media (width<=600px){.tile--craft,.tile--infra{grid-column:1/-1}}.lab{padding-block:var(--space-2xl) var(--space-xl);border-top:1px solid var(--border)}.lab__head{gap:var(--space-md);width:min(var(--max), 100% - var(--gutter) * 2);margin:0 auto var(--space-xl);display:grid}.lab__title{font-size:var(--text-h2);letter-spacing:-.03em;line-height:1}.lab__track{gap:var(--space-md);padding:0 var(--gutter) var(--space-md);overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scroll-padding-inline:var(--gutter);scrollbar-width:thin;scrollbar-color:var(--text-4) transparent;cursor:grab;display:flex;overflow-x:auto}.lab__track.is-free{scroll-snap-type:none}.lab__track.is-dragging{scroll-snap-type:none;cursor:grabbing;user-select:none}.lab__track.is-dragging a{pointer-events:none}.lab-card{gap:var(--space-xs);aspect-ratio:4/5;padding:var(--space-lg);border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--bg-surface);scroll-snap-align:start;flex-direction:column;flex:0 0 clamp(300px,30vw,460px);display:flex;position:relative}.lab-card__glyph{color:var(--text-4);transition:color var(--dur-md) var(--ease-out), transform var(--dur-md) var(--ease-back);margin-bottom:auto;font-size:clamp(3rem,6vw,5rem);line-height:1}@media (hover:hover){.lab-card:hover .lab-card__glyph{color:var(--accent);transform:translateY(-4px)}}.lab-card__title{font-family:var(--font-display);font-size:var(--text-h3);letter-spacing:-.02em;font-weight:600;line-height:1.05}.lab-card__open:after{content:"";border-radius:inherit;position:absolute;inset:0}.lab-card__open:focus-visible{outline:none}.lab-card:has(.lab-card__open:focus-visible){outline:2px solid var(--accent);outline-offset:4px}@media (hover:hover){.lab-card:has(.lab-card__open):hover{border-color:var(--border-strong);background:var(--bg-elevated)}}.lab-card__desc{margin-bottom:var(--space-sm);color:var(--text-2)}.lab-card .chip{align-self:start}.lab-card--cta{border-style:dashed;border-color:var(--border-strong);background:0 0;padding:0}.lab-card__link{padding:var(--space-lg);border-radius:inherit;transition:background-color var(--dur-md) var(--ease-out), color var(--dur-md) var(--ease-out);flex:1;justify-content:space-between;align-items:flex-end;display:flex}.lab-card__link .btn__icon{width:1.75rem;height:1.75rem}@media (hover:hover){.lab-card__link:hover{background:var(--accent);color:var(--accent-ink)}}.contact{gap:var(--space-lg);width:min(var(--max), 100% - var(--gutter) * 2);padding-block:var(--space-3xl) var(--space-2xl);margin-inline:auto;display:grid}.contact__title{letter-spacing:-.045em;font-size:clamp(3.25rem,11vw,12rem);line-height:.86}.contact__lede{max-width:44ch;font-size:var(--text-body-lg);color:var(--text-2)}.contact__email{align-items:center;gap:var(--space-md);margin-top:var(--space-md);flex-wrap:wrap;display:flex}.contact__link{font-family:var(--font-display);letter-spacing:-.025em;overflow-wrap:anywhere;font-size:clamp(1.5rem,4.4vw,4rem);font-weight:500;position:relative}.contact__link:after{content:"";background:var(--accent);transform-origin:0;height:2px;transition:transform var(--dur-lg) var(--ease-out);position:absolute;bottom:-.08em;left:0;right:0;transform:scaleX(.12)}@media (hover:hover){.contact__link:hover:after{transform:scaleX(1)}}.contact__socials{gap:var(--space-lg);font-size:.9375rem;display:flex}.footer{justify-content:space-between;gap:var(--space-sm) var(--space-lg);padding:var(--space-md) var(--gutter) var(--space-lg);border-top:1px solid var(--border);color:var(--text-3);flex-wrap:wrap;font-size:.8125rem;display:flex}[data-split] .line-mask{margin-bottom:-.08em;padding-bottom:.08em;overflow:hidden}
