@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-cyrillic-ext-wght-normal-X_5orZeX.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-cyrillic-wght-normal-DiZS0aHC.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-symbols2-wght-normal-CO5SzqOn.woff2)format("woff2-variations");unicode-range:U+2000-2001,U+2004-2008,U+200A,U+23B8-23BD,U+2500-259F}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-vietnamese-wght-normal-DadHysG0.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-latin-ext-wght-normal-Bwz-egvJ.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-latin-wght-normal-XN7g48iV.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter Tight Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-tight-cyrillic-ext-wght-normal-okcGN4Nq.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Tight Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-tight-cyrillic-wght-normal-BS41q_Tv.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter Tight Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-tight-greek-ext-wght-normal-DQgQPNk4.woff2)format("woff2-variations");unicode-range:U+1F??}@font-face{font-family:Inter Tight Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-tight-greek-wght-normal-sS1B39LI.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter Tight Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-tight-vietnamese-wght-normal-TKKdAiBA.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter Tight Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-tight-latin-ext-wght-normal-B4u9PlvR.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter Tight Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-tight-latin-wght-normal-DX-nOvPD.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--color-primary:#282828;--color-secondary:#b3b3af;--color-accent:#fa3600;--color-neutral:#fff;--color-surface:#fff;--color-on-surface:#282828;--color-border:#e5e7eb;--color-muted:#f5f5f1;--color-meta:#7d7d78;--font-display:"BT Grotesk", "Inter Tight Variable", system-ui, sans-serif;--font-mono:"Geistmono", "Geist Mono Variable", ui-monospace, monospace;--space-xs:8px;--space-sm:18px;--space-md:36px;--space-lg:72px;--space-xl:164px;--rounded-md:8px;--rounded-full:9999px;--header-h:72px;--gutter:clamp(16px, 4vw, 56px);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}body{background:var(--color-neutral);color:var(--color-on-surface);font-family:var(--font-mono);letter-spacing:-.02em;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;font-size:15px;font-weight:500;line-height:1.53}h1,h2,h3,p,ol,ul{margin:0}ol,ul{padding:0;list-style:none}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit}svg{display:block}:focus-visible{outline:2px solid var(--color-accent);outline-offset:3px}::selection{background:var(--color-accent);color:var(--color-neutral)}.headline-display,.headline-lg,.headline-md,.headline-sm{font-family:var(--font-display);color:var(--color-primary)}.headline-display{letter-spacing:-.02em;font-size:clamp(40px,4.4vw + 12px,62px);font-weight:700;line-height:1}.headline-lg{letter-spacing:-.02em;font-size:clamp(30px,2.6vw + 14px,44px);font-weight:600;line-height:1}.headline-md{letter-spacing:0;font-size:20px;font-weight:600;line-height:1.2}.headline-sm{letter-spacing:0;font-size:18px;font-weight:600;line-height:1.22}.body-lg{letter-spacing:-.02em;font-size:16px;line-height:1.48}.body-md{letter-spacing:-.02em;font-size:15px;line-height:1.53}.body-sm{letter-spacing:-.01em;font-size:13px;line-height:1.45}.label-md{letter-spacing:.02em;font-size:13px;line-height:1.35}.label-sm{letter-spacing:.03em;text-transform:uppercase;font-size:12px;line-height:1.3}.muted{color:var(--color-meta)}.accent{color:var(--color-accent)}.brand{text-transform:none}.eyebrow{margin-bottom:var(--space-sm)}.container{width:100%;max-width:1440px;padding-inline:var(--gutter);margin-inline:auto}.section{padding-block:var(--space-xl) 0}.section-tight{padding-bottom:var(--space-xl)}.section-head{margin-bottom:var(--space-lg);max-width:720px}.section-head-split{justify-content:space-between;align-items:flex-end;gap:var(--space-md);max-width:none;display:flex}.btn{justify-content:space-between;align-items:center;gap:var(--space-sm);border:1px solid var(--color-primary);font-family:var(--font-mono);letter-spacing:0;white-space:nowrap;cursor:pointer;isolation:isolate;border-radius:0;font-size:15px;font-weight:500;line-height:1.4;transition:color .15s;display:inline-flex;position:relative;overflow:hidden}.btn-lg{min-width:182px;height:75px;padding:0 38px}.btn-sm{height:44px;padding:0 20px;font-size:13px}.btn-primary{background:var(--color-primary);color:var(--color-neutral)}.btn-secondary{background:var(--color-neutral);color:var(--color-primary)}.btn-secondary.is-filled{color:var(--color-neutral)}.btn-arrow{transition:transform .2s}.btn:hover .btn-arrow{transform:translate(4px)}.btn-row{flex-wrap:wrap;display:flex}.btn-row .btn+.btn{border-left-width:0}.btn-link{text-underline-offset:5px;white-space:nowrap;font-size:15px;text-decoration:underline;text-decoration-thickness:1px}.btn-link:hover{-webkit-text-decoration-color:var(--color-accent);text-decoration-color:var(--color-accent)}.skip-link{top:8px;left:var(--gutter);z-index:200;background:var(--color-primary);color:var(--color-neutral);padding:10px 16px;font-size:13px;transition:transform .2s;position:fixed;transform:translateY(-160%)}.skip-link:focus{transform:none}main:focus{outline:none}.site-header{z-index:50;background:var(--color-neutral);border-bottom:1px solid var(--color-border);position:sticky;top:0}.header-inner{height:var(--header-h);align-items:center;gap:var(--space-md);grid-template-columns:1fr auto 1fr;display:grid}.logo{font-family:var(--font-display);letter-spacing:-.02em;color:var(--color-primary);align-items:center;gap:10px;font-size:20px;font-weight:700;display:inline-flex}.logo-link{justify-self:start}.header-nav{border-left:1px solid var(--color-border);align-self:stretch;display:flex}.nav-link{isolation:isolate;border-right:1px solid var(--color-border);letter-spacing:.02em;align-items:center;padding:0 28px;font-size:13px;transition:color .15s;display:flex;position:relative}.nav-link.is-filled{color:var(--color-neutral)}.nav-link.is-active:after{content:"";background:var(--color-accent);width:5px;height:5px;position:absolute;top:8px;right:8px}.header-cta{justify-self:end}.menu-toggle{border:1px solid var(--color-primary);cursor:pointer;background:0 0;justify-self:end;height:44px;padding:0 16px;font-size:13px;display:none}.mobile-menu{border-top:1px solid var(--color-border);background:var(--color-neutral);height:calc(100svh - var(--header-h));overscroll-behavior:contain;overflow-y:auto}html.menu-open{overflow:hidden}.mobile-menu nav{padding-block:var(--space-md);flex-direction:column;display:flex}.mobile-menu .btn{margin-top:var(--space-md)}.mobile-link{align-items:baseline;gap:var(--space-sm);padding-block:var(--space-sm);border-bottom:1px solid var(--color-border);font-family:var(--font-display);letter-spacing:-.02em;font-size:36px;font-weight:600;display:flex}.mobile-link.is-active{color:var(--color-accent)}.hero{gap:var(--space-md);height:min(calc(100svh - var(--header-h)), 980px);min-height:680px;padding-block:var(--space-sm) 0;grid-template-rows:auto minmax(0,1fr) auto auto;display:grid}.hero-meta{justify-content:space-between;gap:var(--space-sm);display:flex}.hero-figure{min-height:0;position:relative}.blueprint{width:100%;height:100%;position:absolute;inset:0}.hero-bottom{align-items:end;gap:var(--space-lg);grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);display:grid}.hero-title{max-width:13ch}.hero-side{gap:var(--space-md);flex-direction:column;max-width:480px;display:flex}.bp-ink,.bp-grid,.bp-dash,.bp-accent,.bp-accent-ring,.bp-fill{fill:none;stroke-width:1px;vector-effect:non-scaling-stroke}.bp-ink{stroke:var(--color-primary)}.bp-fill{fill:var(--color-surface);stroke:var(--color-primary)}.bp-grid{stroke:var(--color-secondary)}.bp-dash{stroke:var(--color-secondary);stroke-dasharray:4 4}.bp-accent,.bp-accent-ring{stroke:var(--color-accent)}.bp-accent-fill{fill:var(--color-accent)}.bp-ink-fill{fill:var(--color-primary)}.bp-text{fill:var(--color-primary);stroke:none;font-family:var(--font-mono);letter-spacing:.06em;font-size:11px}.bp-accent .bp-text{fill:var(--color-accent)}.services,.principles{border-top:1px solid var(--color-primary);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.principles{grid-template-columns:repeat(4,minmax(0,1fr))}.service,.principle{gap:var(--space-sm);padding:var(--space-md) var(--space-md) 0;border-left:1px solid var(--color-border);flex-direction:column;display:flex}.service:first-child,.principle:first-child{border-left:0;padding-left:0}.service-list{margin-top:var(--space-xs)}.service-list li{border-top:1px solid var(--color-border);padding-block:12px}.project-list{border-bottom:1px solid var(--color-border)}.project{gap:var(--space-lg);padding-block:var(--space-md);border-top:1px solid var(--color-border);grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);display:grid}.project-compact{grid-template-columns:minmax(0,360px) minmax(0,1fr)}.project-figure{background:var(--color-muted);border:1px solid var(--color-border);aspect-ratio:16/10;padding:var(--space-md);place-items:center;display:grid}.glyph{width:100%;height:100%}.project-body{gap:var(--space-xs);flex-direction:column;align-self:center;display:flex}.project-meta{gap:var(--space-sm);margin-bottom:var(--space-xs);display:flex}.project-meta span:first-child{color:var(--color-accent)}.project-summary{max-width:56ch;margin-top:var(--space-xs)}.project-outcome{font-weight:500}.chips{gap:var(--space-xs);margin-top:var(--space-sm);flex-wrap:wrap;display:flex}.chip{background:var(--color-muted);color:var(--color-primary);border-radius:var(--rounded-full);letter-spacing:.02em;padding:6px 12px;font-size:13px;line-height:1.35;display:inline-block}.process{row-gap:var(--space-lg);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.process-step{gap:var(--space-xs);padding:var(--space-md) var(--space-md) 0 0;border-top:1px solid var(--color-secondary);flex-direction:column;display:flex;position:relative}.process-tick{background:var(--color-primary);width:9px;height:9px;position:absolute;top:-5px;left:0}.process-step:first-child .process-tick{background:var(--color-accent)}.cta-band{margin-top:var(--space-xl);border-top:1px solid var(--color-border)}.cta-inner{padding-block:var(--space-xl)}.cta-title{max-width:18ch;margin-bottom:var(--space-lg)}.cta-title .muted{color:var(--color-secondary)}.page-header{padding-block:var(--space-lg)}.page-header-body{align-items:end;gap:var(--space-lg);padding-top:var(--space-lg);border-top:1px solid var(--color-primary);grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);display:grid}.page-intro{max-width:440px}.about-story{gap:var(--space-lg);padding-top:var(--space-md);border-top:1px solid var(--color-border);grid-template-columns:minmax(0,1fr) minmax(0,2fr);display:grid}.about-story-body{gap:var(--space-md);flex-direction:column;max-width:720px;display:flex}.about-story-body .headline-md{font-size:clamp(20px,1.4vw + 10px,28px);line-height:1.25}.models{gap:var(--space-sm);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.card{align-items:flex-start;gap:var(--space-sm);min-height:240px;padding:var(--space-sm);background:var(--color-surface);color:var(--color-on-surface);border:1px solid var(--color-border);border-radius:var(--rounded-md);flex-direction:column;display:flex}.card .headline-md{margin-top:auto}.contact{gap:var(--space-lg);grid-template-columns:minmax(0,1fr) minmax(0,2fr);align-items:start;display:grid}.contact-side{gap:var(--space-md);top:calc(var(--header-h) + var(--space-md));flex-direction:column;display:flex;position:sticky}.contact-side .label-sm{margin-bottom:var(--space-xs)}.contact-steps li{gap:var(--space-sm);border-top:1px solid var(--color-border);padding-block:12px;display:flex}.contact-steps li .label-sm{margin:0}.calendar-frame{border:1px solid var(--color-border);min-width:0}.calendar-bar{padding:12px var(--space-sm);border-bottom:1px solid var(--color-border);justify-content:space-between;display:flex}.calendar-embed{width:100%;min-height:640px;overflow:auto}.calendar-gate{justify-content:center;align-items:flex-start;gap:var(--space-md);min-height:360px;padding:var(--space-lg) var(--space-md);background:var(--color-muted);flex-direction:column;display:flex}.calendar-gate p{max-width:44ch}.not-found-links{max-width:720px;margin-bottom:var(--space-lg)}.legal{gap:var(--space-lg);grid-template-columns:minmax(0,1fr) minmax(0,2fr);align-items:start;display:grid}.legal-side{top:calc(var(--header-h) + var(--space-md));position:sticky}.legal-side .label-sm{margin-bottom:var(--space-xs)}.legal-toc{margin-top:var(--space-md)}.legal-toc a{gap:var(--space-sm);border-top:1px solid var(--color-border);padding-block:10px;display:flex}.legal-toc a:hover{text-underline-offset:4px;text-decoration:underline}.legal-toc .label-sm{margin:0}.legal-body{max-width:720px}.legal-section{padding-block:var(--space-md);border-top:1px solid var(--color-border);scroll-margin-top:calc(var(--header-h) + var(--space-sm))}.legal-section:first-child{border-top:0;padding-top:0}.legal-section h2{align-items:baseline;gap:var(--space-sm);margin-bottom:var(--space-sm);display:flex}.legal-text>*+*{margin-top:12px}.legal-text ul{padding-left:20px;list-style:square}.legal-text li+li{margin-top:var(--space-xs)}.legal-text a{text-underline-offset:4px;text-decoration:underline}.legal-text a:hover{-webkit-text-decoration-color:var(--color-accent);text-decoration-color:var(--color-accent)}.preloader{z-index:200;background:var(--color-neutral);place-items:center;display:grid;position:fixed;inset:0}.preloader-inner{width:min(240px, calc(100vw - 2 * var(--gutter)));flex-direction:column;gap:12px;display:flex}.preloader-figure{width:100%;height:auto;margin-bottom:var(--space-xs);display:block;overflow:visible}.preloader-text{fill:var(--color-secondary)}.preloader-bar{background:var(--color-border);height:1px;position:relative}.preloader-bar span{background:var(--color-accent);transform-origin:0;position:absolute;inset:0;transform:scaleX(0)}.preloader-meta{letter-spacing:.03em;color:var(--color-meta);font-variant-numeric:tabular-nums;justify-content:space-between;font-size:12px;line-height:1.3;display:flex}.preloader-stage{color:var(--color-primary);align-items:center;gap:8px;display:inline-flex}.preloader-stage i{background:var(--color-accent);width:6px;height:6px}.cookie-banner{left:var(--gutter);bottom:var(--gutter);z-index:90;width:min(420px, calc(100vw - 2 * var(--gutter)));padding:var(--space-sm);background:var(--color-surface);border:1px solid var(--color-primary);flex-direction:column;gap:12px;display:flex;position:fixed}.cookie-link{text-underline-offset:3px;text-decoration:underline}.cookie-actions{margin-top:var(--space-xs);display:flex}.cookie-actions .btn+.btn{border-left-width:0}.site-footer{border-top:1px solid var(--color-primary);padding-top:var(--space-lg);overflow:hidden}.footer-grid{gap:var(--space-md);grid-template-columns:minmax(0,2fr) repeat(3,minmax(0,1fr));display:grid}.footer-intro{align-items:flex-start;gap:var(--space-md);flex-direction:column;max-width:360px;display:flex}.footer-list{gap:var(--space-xs);margin-top:var(--space-sm);flex-direction:column;font-size:13px;display:flex}.footer-list a:hover{text-underline-offset:4px;text-decoration:underline}.footer-wordmark{margin-top:var(--space-lg)}.footer-bottom{justify-content:space-between;gap:var(--space-xs) var(--space-md);margin-top:var(--space-md);padding-block:var(--space-sm) var(--space-md);border-top:1px solid var(--color-border);flex-wrap:wrap;display:flex}.footer-legal{gap:var(--space-xs) var(--space-sm);flex-wrap:wrap;display:flex}.footer-legal button{font:inherit;letter-spacing:inherit;text-transform:inherit;cursor:pointer;background:0 0;border:0;padding:0}.footer-legal :is(a,button):hover{color:var(--color-primary);text-underline-offset:3px;text-decoration:underline}@media (width<=1024px){:root{--space-xl:112px}.header-inner{grid-template-columns:1fr auto}.header-nav,.header-cta{display:none}.menu-toggle{display:block}.hero{height:auto;min-height:0}.hero-figure{aspect-ratio:1600/600}.hero-bottom,.page-header-body,.about-story,.contact{gap:var(--space-md);grid-template-columns:minmax(0,1fr)}.services,.models{grid-template-columns:minmax(0,1fr)}.service,.service:first-child{padding:var(--space-md) 0;border-left:0;border-bottom:1px solid var(--color-border)}.principles,.process{grid-template-columns:repeat(2,minmax(0,1fr))}.principle:nth-child(odd){border-left:0;padding-left:0}.principle{padding-bottom:var(--space-md)}.project,.project-compact{gap:var(--space-md);grid-template-columns:minmax(0,.8fr) minmax(0,1fr)}.contact-side,.legal-side{position:static}.legal{gap:var(--space-md);grid-template-columns:minmax(0,1fr)}.footer-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.footer-intro{grid-column:1/-1;max-width:none}}@media (width<=720px){:root{--space-lg:48px;--space-xl:80px}.hero-meta span:last-child{display:none}.hero-figure{aspect-ratio:4/3}.btn-row{flex-direction:column;align-items:stretch}.btn-row .btn+.btn{border-top-width:0;border-left-width:1px}.principles,.process{grid-template-columns:minmax(0,1fr)}.principle,.principle:first-child{padding:var(--space-md) 0;border-left:0;border-bottom:1px solid var(--color-border)}.section-head-split{flex-direction:column;align-items:flex-start}.project,.project-compact{grid-template-columns:minmax(0,1fr)}.process-step{padding-right:0}.footer-grid{grid-template-columns:minmax(0,1fr)}.legal-toc{display:none}.calendar-gate{padding:var(--space-md) var(--space-sm)}.cookie-banner{width:auto;bottom:12px;left:12px;right:12px}.cookie-actions .btn{flex:1;justify-content:center}}@media (prefers-reduced-motion:reduce){*{transition:none!important}}:root{--ease-out:cubic-bezier(.2, .7, .2, 1);--ease-draw:cubic-bezier(.6, 0, .2, 1)}.page{animation:page-in .5s var(--ease-out)}@keyframes page-in{0%{opacity:0}}.preloader-stage i{animation:1.2s ease-in-out infinite blink}.preloader.is-leaving{animation:preloader-out .7s var(--ease-draw) forwards}.preloader.is-leaving .preloader-inner{animation:.3s forwards preloader-fade}@keyframes preloader-out{to{clip-path:inset(0 0 100%)}}@keyframes preloader-fade{to{opacity:0;transform:translateY(-12px)}}.cookie-banner{animation:banner-in .6s var(--ease-out) .8s both}@keyframes banner-in{0%{opacity:0;transform:translateY(16px)}}.pixel-fill{z-index:-1;pointer-events:none;width:100%;height:100%;image-rendering:pixelated;position:absolute;inset:0}.cursor{z-index:100;pointer-events:none;opacity:0;width:100vw;height:100vh;transition:opacity .2s;position:fixed;inset:0}.cursor.is-on{opacity:1}.cursor line{stroke:var(--color-accent);stroke-width:1px}.cursor rect{fill:var(--color-accent)}[data-reveal]{--d:0s}[data-reveal=true]:not(.is-visible){opacity:0;transform:translateY(24px)}[data-reveal=true]{transition:opacity .8s var(--ease-out) var(--d), transform .8s var(--ease-out) var(--d)}[data-reveal=mask]{clip-path:inset(-.2em -.2em -.3em);transition:clip-path 1s var(--ease-out) var(--d), transform 1s var(--ease-out) var(--d)}[data-reveal=mask]:not(.is-visible){clip-path:inset(0 0 100%);transform:translateY(.5em)}[data-reveal=line]{position:relative}[data-reveal=line]:before{content:"";background:var(--color-accent);transform-origin:0;pointer-events:none;height:1px;position:absolute;top:-1px;left:0;right:0;transform:scaleX(0)}[data-reveal=line].is-visible:before{animation:rule-sweep 1.6s var(--ease-draw) forwards}@keyframes rule-sweep{60%{opacity:1;transform:scaleX(1)}to{opacity:0;transform:scaleX(1)}}.draw{stroke-dasharray:1;stroke-dashoffset:1px}.fill-in{fill-opacity:0}.fade-in{opacity:0}.is-visible .draw{animation:draw .9s var(--ease-draw) var(--d) forwards}.is-visible .draw-slow{animation-duration:1.4s}.is-visible .draw.fill-in{animation:draw .9s var(--ease-draw) var(--d) forwards, fill-in .4s ease calc(var(--d) + .5s) forwards}.is-visible .fade-in{animation:fade-in .5s ease var(--d) forwards}@keyframes draw{to{stroke-dashoffset:0}}@keyframes fill-in{to{fill-opacity:1}}@keyframes fade-in{to{opacity:1}}.bp-scan{transition:opacity .4s}.bp-scan.is-done{opacity:0}.bp-scan-text{fill:var(--color-accent)}.bp-march line{animation:1.2s linear infinite march}@keyframes march{to{stroke-dashoffset:-8px}}.is-visible .bp-pulse{transform-box:fill-box;transform-origin:50%;animation:draw .9s var(--ease-draw) var(--d) forwards, pulse 2.4s ease-in-out calc(var(--d) + 1s) infinite}@keyframes pulse{50%{opacity:.35;transform:scale(1.35)}}.system .bp-text{font-size:13px}.system .sys-sub{fill:var(--color-meta)}.sys-hit{fill:#0000}.sys-accent-top,.sys-muted-face{stroke:var(--color-primary);stroke-width:1px;vector-effect:non-scaling-stroke}.sys-accent-top{fill:var(--color-accent)}.sys-muted-face{fill:var(--color-muted)}.sys-packet{fill:var(--color-accent)}.sys-zone :is(polygon,path,ellipse,line,rect){transition:stroke .4s,fill .4s}@media (hover:hover){.system:has(.sys-zone:hover) .sys-zone:not(:hover) :is(.bp-fill,.bp-ink,.bp-grid,.bp-accent,.bp-accent-ring,.sys-muted-face,.sys-accent-top){stroke:#dcdcd8}.system:has(.sys-zone:hover) .sys-zone:not(:hover) :is(.bp-accent-fill,.bp-ink-fill,.sys-accent-top){fill:#e6e6e2}.system:has(.sys-zone:hover) .sys-zone:not(:hover) .sys-muted-face{fill:var(--color-surface)}}.core-layer{transition:transform .7s var(--ease-out)}@media (hover:hover){.sys-core:hover .core-layer-0{transform:translateY(-16px)}.sys-core:hover .core-layer-2{transform:translateY(16px)}}.system.is-medium .bp-text{font-size:22px}.system.is-compact .bp-text{font-size:28px}.system.is-medium .sys-sub,.system.is-compact .sys-label-side{display:none}.glyph-orbit{transform-box:view-box;transform-origin:160px 100px;animation:9s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (hover:hover){.project:hover .glyph-blink{animation:.8s steps(2,end) infinite blink}.project:hover .project-figure{background:#efefe9}}@keyframes blink{50%{opacity:.15}}.project-figure{transition:background-color .4s}.ticker{border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border);padding-block:14px;animation:.8s 1.3s both fade-in;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,#0000,#000 6% 94%,#0000);mask-image:linear-gradient(90deg,#0000,#000 6% 94%,#0000)}.ticker-track{width:max-content;animation:40s linear infinite ticker;display:flex}.ticker:hover .ticker-track{animation-play-state:paused}.ticker-track>span{gap:var(--space-md);padding-right:var(--space-md);color:var(--color-meta);display:inline-flex}@keyframes ticker{to{transform:translate(-50%)}}.scroll-text span{opacity:clamp(.2, calc(var(--p,999) - var(--i)), 1);transition:opacity .15s linear}.wordmark{touch-action:pan-y;width:100%;height:auto;overflow:visible}.wm-guide{stroke-dasharray:3 5}.wm-outline,.wm-knockout,.wm-fill{font-family:var(--font-display);font-size:250px;font-weight:700}.wm-outline{fill:none;stroke:var(--color-primary);stroke-width:2px;stroke-linejoin:round;vector-effect:non-scaling-stroke}.wm-knockout{fill:var(--color-neutral)}.wm-fill{fill:var(--color-primary)}.wm-dot{fill:var(--color-accent);stroke:none}.ink-blob{fill:#fff;transform-box:fill-box;transform-origin:50%;animation:ink 1.6s var(--ease-out) forwards}@keyframes ink{0%{transform:scale(.2)}25%{transform:scale(1)}70%{opacity:1}to{opacity:0;transform:scale(.85)}}@media (prefers-reduced-motion:reduce){.page,.cookie-banner,.ticker,.ticker-track,.bp-march line,.glyph-orbit{animation:none!important}[data-reveal]{opacity:1!important;clip-path:none!important;transition:none!important;transform:none!important}.draw{stroke-dasharray:none;stroke-dashoffset:0}.draw,.fill-in,.fade-in,.bp-pulse{fill-opacity:1;opacity:1;animation:none!important}.cursor,.sys-packets{display:none}}
