/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-gradient-position:initial;--tw-gradient-from:#0000;--tw-gradient-via:#0000;--tw-gradient-to:#0000;--tw-gradient-stops:initial;--tw-gradient-via-stops:initial;--tw-gradient-from-position:0%;--tw-gradient-via-position:50%;--tw-gradient-to-position:100%;--tw-font-weight:initial;--tw-tracking:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial}}}@layer theme{:root,:host{--spacing:.25rem;--container-3xl:48rem;--text-sm:.875rem;--text-4xl:2.25rem;--text-4xl--line-height:calc(2.5 / 2.25);--text-5xl:3rem;--text-5xl--line-height:1;--text-6xl:3.75rem;--text-6xl--line-height:1;--font-weight-medium:500;--font-weight-semibold:600;--tracking-tight:-.025em;--blur-sm:8px;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--color-background:#000;--color-foreground:#fff;--color-secondary:#202020}}@layer base,components;@layer utilities{.\@container,.\[container-type\:inline-size\]{container-type:inline-size}.\!visible{visibility:visible!important}.collapse{visibility:collapse}.invisible{visibility:hidden}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.not-sr-only{clip-path:none;white-space:normal;width:auto;height:auto;margin:0;padding:0;position:static;overflow:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.inset-0{inset:0}.inset-x-0{inset-inline:0}.inset-y-0{inset-block:0}.top-1\/2{top:50%}.bottom-0{bottom:0}.left-1\/2{left:50%}.z-10{z-index:10}.container{width:100%}@media (width>=40rem){.container{max-width:40rem}}@media (width>=48rem){.container{max-width:48rem}}@media (width>=64rem){.container{max-width:64rem}}@media (width>=80rem){.container{max-width:80rem}}@media (width>=96rem){.container{max-width:96rem}}.mx-auto{margin-inline:auto}.my-auto{margin-block:auto}.mt-2{margin-top:calc(var(--spacing) * 2)}.block{display:block}.contents{display:contents}.flex{display:flex}.flow-root{display:flow-root}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.table{display:table}.table-caption{display:table-caption}.table-cell{display:table-cell}.table-column{display:table-column}.table-column-group{display:table-column-group}.table-footer-group{display:table-footer-group}.table-header-group{display:table-header-group}.table-row{display:table-row}.h-0\.5{height:calc(var(--spacing) * .5)}.h-\[400px\]{height:400px}.h-fit{height:fit-content}.h-full{height:100%}.w-full{width:100%}.max-w-3xl{max-width:var(--container-3xl)}.max-w-\[90\%\]{max-width:90%}.shrink-0{flex-shrink:0}.-translate-x-1\/2{--tw-translate-x:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.-translate-y-1\/2{--tw-translate-y:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.resize{resize:both}.items-center{align-items:center}.gap-2{gap:calc(var(--spacing) * 2)}.overflow-hidden{overflow:hidden}.rounded-full{border-radius:2147483647px}.border{border-style:var(--tw-border-style);border-width:1px}.bg-background{background-color:var(--color-background)}.bg-gradient-to-r{--tw-gradient-position:to right in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.bg-gradient-to-t{--tw-gradient-position:to top in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.from-foreground\/5{--tw-gradient-from:#ffffff0d}@supports (color:color-mix(in lab, red, red)){.from-foreground\/5{--tw-gradient-from:color-mix(in oklab, var(--color-foreground) 5%, transparent)}}.from-foreground\/5{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.from-foreground\/15{--tw-gradient-from:#ffffff26}@supports (color:color-mix(in lab, red, red)){.from-foreground\/15{--tw-gradient-from:color-mix(in oklab, var(--color-foreground) 15%, transparent)}}.from-foreground\/15{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.from-secondary\/50{--tw-gradient-from:#20202080}@supports (color:color-mix(in lab, red, red)){.from-secondary\/50{--tw-gradient-from:color-mix(in oklab, var(--color-secondary) 50%, transparent)}}.from-secondary\/50{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.from-50\%{--tw-gradient-from-position:50%}.from-\[2px\]{--tw-gradient-from-position:2px}.to-secondary\/50{--tw-gradient-to:#20202080}@supports (color:color-mix(in lab, red, red)){.to-secondary\/50{--tw-gradient-to:color-mix(in oklab, var(--color-secondary) 50%, transparent)}}.to-secondary\/50{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.to-\[2px\]{--tw-gradient-to-position:2px}.bg-\[length\:12px_100\%\]{background-size:12px 100%}.px-3{padding-inline:calc(var(--spacing) * 3)}.py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.py-24{padding-block:calc(var(--spacing) * 24)}.text-center{text-align:center}.text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}.text-sm\/6{font-size:var(--text-sm);line-height:calc(var(--spacing) * 6)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.text-pretty{text-wrap:pretty}.whitespace-nowrap{white-space:nowrap}.text-foreground{color:var(--color-foreground)}.text-foreground\/10{color:#ffffff1a}@supports (color:color-mix(in lab, red, red)){.text-foreground\/10{color:color-mix(in oklab, var(--color-foreground) 10%, transparent)}}.capitalize{text-transform:capitalize}.lowercase{text-transform:lowercase}.normal-case{text-transform:none}.italic{font-style:italic}.diagonal-fractions{--tw-numeric-fraction:diagonal-fractions;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.lining-nums{--tw-numeric-figure:lining-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.proportional-nums{--tw-numeric-spacing:proportional-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.no-underline{text-decoration-line:none}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-\[0_0_15px_rgba\(0\,0\,0\,0\.1\)\]{--tw-shadow:0 0 15px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring,.ring-1{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring-background\/10{--tw-ring-color:#0000001a}@supports (color:color-mix(in lab, red, red)){.ring-background\/10{--tw-ring-color:color-mix(in oklab, var(--color-background) 10%, transparent)}}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.drop-shadow{--tw-drop-shadow-size:drop-shadow(0 1px 2px var(--tw-drop-shadow-color,#0000001a)) drop-shadow(0 1px 1px var(--tw-drop-shadow-color,#0000000f));--tw-drop-shadow:drop-shadow(0 1px 2px #0000001a) drop-shadow(0 1px 1px #0000000f);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.grayscale{--tw-grayscale:grayscale(100%);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.invert{--tw-invert:invert(100%);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.filter\!{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)!important}.backdrop-blur-sm{--tw-backdrop-blur:blur(var(--blur-sm));-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.ring-inset{--tw-ring-inset:inset}.group-last\:hidden:is(:where(.group):last-child *){display:none}@media (width>=40rem){.sm\:h-\[800px\]{height:800px}.sm\:py-32{padding-block:calc(var(--spacing) * 32)}.sm\:text-5xl{font-size:var(--text-5xl);line-height:var(--tw-leading,var(--text-5xl--line-height))}}@media (width>=48rem){.md\:text-6xl{font-size:var(--text-6xl);line-height:var(--tw-leading,var(--text-6xl--line-height))}}@media (prefers-color-scheme:dark){.dark\:from-foreground\/5{--tw-gradient-from:#ffffff0d}@supports (color:color-mix(in lab, red, red)){.dark\:from-foreground\/5{--tw-gradient-from:color-mix(in oklab, var(--color-foreground) 5%, transparent)}}.dark\:from-foreground\/5{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.dark\:from-foreground\/15{--tw-gradient-from:#ffffff26}@supports (color:color-mix(in lab, red, red)){.dark\:from-foreground\/15{--tw-gradient-from:color-mix(in oklab, var(--color-foreground) 15%, transparent)}}.dark\:from-foreground\/15{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.dark\:shadow-none{--tw-shadow:0 0 #0000;box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.dark\:ring-foreground\/10{--tw-ring-color:#ffffff1a}@supports (color:color-mix(in lab, red, red)){.dark\:ring-foreground\/10{--tw-ring-color:color-mix(in oklab, var(--color-foreground) 10%, transparent)}}}}@media (prefers-reduced-motion:reduce){.logo-timeline>div{padding:0;overflow:visible}.logo-timeline [role=list]{gap:16px;position:static}.logo-timeline__row{flex-wrap:wrap;gap:12px}.logo-timeline__guide{display:none}.logo-timeline .logo-timeline__item{margin-block:0;position:static;transform:translate(0)}}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-gradient-position{syntax:"*";inherits:false}@property --tw-gradient-from{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-via{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-to{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-stops{syntax:"*";inherits:false}@property --tw-gradient-via-stops{syntax:"*";inherits:false}@property --tw-gradient-from-position{syntax:"<length-percentage>";inherits:false;initial-value:0%}@property --tw-gradient-via-position{syntax:"<length-percentage>";inherits:false;initial-value:50%}@property --tw-gradient-to-position{syntax:"<length-percentage>";inherits:false;initial-value:100%}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@font-face{font-family:Tungsten;src:url(/fonts/tungsten-semibold.otf)format("opentype");font-style:normal;font-weight:600;font-display:swap}@font-face{font-family:Yuji Boku;src:url(/fonts/yuji-boku-greeting.woff2)format("woff2");font-style:normal;font-weight:400;font-display:swap}@font-face{font-family:Kiya Handwrite;src:url(/fonts/kiya-handwrite.otf)format("opentype");font-style:normal;font-weight:400;font-display:swap}:root{--color-background:#000;--color-text:#fff;--font-display:"Tungsten", Impact, sans-serif;--font-greeting:"Yuji Boku", cursive;--font-handwriting:"Kiya Handwrite", cursive;color:var(--color-text);background:var(--color-background);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*,:before,:after{box-sizing:border-box}body{min-width:320px;margin:0}img{display:block}:root{--white-ink-bloom:drop-shadow(0 0 2px #ffffff6b) drop-shadow(0 0 7px #ffffff3d);--white-icon-bloom:drop-shadow(0 0 1px #ffffff7a) drop-shadow(0 0 5px #ffffff3d);--white-text-bloom:0 0 3px #ffffff52, 0 0 12px #fff3;--white-small-text-bloom:0 0 2px #fff3, 0 0 5px #ffffff1f;--white-border-bloom:0 0 2px #ffffff47, 0 0 7px #ffffff24}.projects__intro h2,.tech-stack__caption,.contact-footer__heading{text-shadow:var(--white-text-bloom)}.projects__intro-script,.tech-stack__caption span{text-shadow:none}.project-card__number,.project-card__copy,.project-card__cuy-logo span,.project-card__goberna-logo span,.project-technologies,.contact-footer__legal{text-shadow:var(--white-small-text-bloom)}.contact-footer__circle{filter:var(--white-ink-bloom)}.project-card__mascot img{filter:var(--white-icon-bloom)}.project-card__link{box-shadow:var(--white-border-bloom)}@media (prefers-reduced-motion:reduce){.doodle path,.technology-note__arrow path,.contact-footer__circle path{stroke-dasharray:none!important;stroke-dashoffset:0!important}}.projects-scroll-hint{color:#ffffffb3;font:400 clamp(20px, 1.6vw, 26px)/1.25 var(--font-handwriting);text-align:center;background:#000;margin:0;padding:0 24px 80px}.projects-scroll-hint__arrow{width:24px;height:42px;filter:var(--white-ink-bloom);margin:0 auto 8px;display:block;position:relative}.projects-scroll-hint__arrow-line,.projects-scroll-hint__arrow-tip{display:block;position:absolute}.projects-scroll-hint__arrow-line{top:0;left:8.59px}.projects-scroll-hint__arrow-tip{top:21.59px;left:0}.hero{--scene-scale:1;--scene-height:1117px;isolation:isolate;background:var(--color-background);width:100%;height:100svh;position:relative;overflow:hidden}.hero__scene{top:calc((100% - var(--scene-height) * var(--scene-scale)) / 2);width:1728px;height:1117px;transform:translateX(-50%) scale(var(--scene-scale));transform-origin:top;background:var(--color-background);position:absolute;left:50%}.hero__backdrop,.hero__glow,.hero__portrait,.hero__shade,.hero__backdrop-fade,.hero__foreground-fade,.doodle{pointer-events:none;position:absolute}.hero__backdrop{top:70.88px;left:26.24px}.hero__backdrop svg{display:block}.hero__backdrop-frame{position:relative}.hero__backdrop-letter{contain:layout paint;display:block;position:absolute;top:0}.hero__shade{background:#00000057;inset:0}.hero__glow{clip-path:inset(455.6px 0 150.6px);mix-blend-mode:color-dodge;top:-455.6px;left:-19.6px}.hero__backdrop-fade{filter:blur(132.35px);background:#000;width:1664px;height:147px;top:657px;left:26px}.hero__portrait{width:1216px;height:1038px;top:0;left:205px}.hero__portrait img{object-position:bottom;width:100%;height:100%;display:block}.hero__foreground-fade{filter:blur(43.55px);background:#000;width:2344px;height:309px;top:962px;left:-551px}.hero__greeting,.hero__name,.hero__profession,.hero__ai-note,.hero__scroll{overflow-wrap:break-word;margin:0;font-weight:400;line-height:.776;position:absolute}.hero__greeting{width:569px;height:138px;font-family:var(--font-greeting);font-size:64px;top:500px;left:73px}.hero__name{width:474px;height:150px;font-family:var(--font-display);font-size:128px;font-weight:600;top:569px;left:73px}.hero__profession,.hero__ai-note,.hero__scroll{font-family:var(--font-handwriting);font-size:36px}.hero__profession{width:312px;top:342px;left:1283px}.hero__ai-note{width:312px;top:784px;left:1441px}.hero__ai-note span{display:block}.hero__scroll{opacity:.64;white-space:nowrap;line-height:.63;top:1056px;left:791px}.handwriting-overlay{pointer-events:none;position:absolute;inset:0;overflow:visible}.hero__blog{color:#fff;width:544px;height:131px;font:400 40px/1.03 var(--font-handwriting);text-shadow:var(--white-text-bloom);text-decoration:none;position:absolute;top:123px;left:1122.99px}.hero__blog>span:first-child{text-align:center;letter-spacing:1.2px;width:399px;position:absolute;top:0;right:0}.hero__blog-arrow{width:226.12px;height:113.02px;filter:var(--white-ink-bloom);position:absolute;top:17.79px;left:0}.hero__blog-arrow>span{position:absolute}.hero__blog-arrow-line{top:9.94px;left:0}.hero__blog-arrow-tip{top:0;left:208.8px}.hero__blog:hover span{text-underline-offset:8px;text-decoration:underline}.hero__blog:focus-visible{outline-offset:12px;border-radius:8px;outline:3px solid #fff}.hero__greeting,.hero__name,.hero__profession,.hero__ai-note,.hero__scroll{text-shadow:var(--white-text-bloom)}.doodle svg,.doodle img,.handwriting-overlay{filter:var(--white-ink-bloom)}@media (prefers-reduced-motion:no-preference){.hero:not([data-ink-complete=true]) .hero__profession,.hero:not([data-ink-complete=true]) .hero__ai-note,.hero:not([data-ink-complete=true]) .hero__scroll,.hero:not([data-ink-complete=true]) .hero__blog-label{text-shadow:none}}@media (prefers-reduced-motion:reduce){.handwriting-overlay{display:none}}@media (width<=600px){.hero{--scene-height:956px}.hero__scene{width:440px;height:956px;overflow:hidden}.hero__backdrop{width:229px;height:727.004px;top:29.14px;left:23px}.hero__backdrop-frame{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)rotate(-89.52deg)}.hero__shade,.hero__glow,.hero__backdrop-fade{display:none}.hero__portrait{width:571px;height:488px;top:478px;left:-34px}.hero__foreground-fade{width:728px;height:309px;top:915px;left:-63px}.hero__greeting{font-size:32px;top:191px;left:274px}.hero__name{text-align:right;width:164px;height:103px;font-size:64px;top:228px;left:233px}.hero__profession{width:197px;font-size:24px;top:379px;left:60px}.hero__ai-note{width:312px;font-size:36px;top:107px;left:120.383px}.hero__scroll{font-size:24px;top:921.966px;left:171px}.hero__blog{width:129px;height:90px;font-size:40px;line-height:.74;top:207px;left:115px}.hero__blog>span:first-child{width:129px;right:0}.hero__blog:lang(en){font-size:36px}.hero__blog-arrow{top:33.5px;left:-216.5px;transform:none}.hero__blog-arrow-line{top:8px}.hero__blog-arrow-tip{left:213px}}.technology-note{z-index:5;color:#fff;pointer-events:none;flex-direction:column;gap:8px;display:flex;position:absolute}.technology-note p{isolation:isolate;color:#fff;font:400 clamp(22px, 2vw, 28px)/1.1 var(--font-handwriting);text-align:center;text-wrap:balance;text-shadow:0 1px 4px #000, 0 0 12px #000, var(--white-text-bloom);pointer-events:auto;margin:0;position:relative}.technology-note p:before{content:"";z-index:-1;pointer-events:none;background:radial-gradient(48% 46%,#000000f0 40%,#0000 100%),radial-gradient(35% 42% at 25% 43%,#000000c7,#0000 100%),radial-gradient(34% 38% at 77% 58%,#000000c7,#0000 100%),radial-gradient(30% 34% at 57% 28%,#000000b3,#0000 100%);position:absolute;inset:-24px -30px}.technology-note__arrow{width:100%;filter:var(--white-ink-bloom);flex:none;display:block;overflow:visible}.technology-note--above{transform:translateY(-100%)}.technology-note--below{flex-direction:column-reverse}.technology-note--fixed{z-index:20;position:fixed}@font-face{font-family:Inria Sans;src:url(/fonts/inria-sans-regular.woff2)format("woff2");font-weight:400;font-display:swap}@font-face{font-family:Inria Sans;src:url(/fonts/inria-sans-bold.woff2)format("woff2");font-weight:700;font-display:swap}@font-face{font-family:"Jacquarda Bastarda 9";src:url(/fonts/jacquarda-bastarda-9.ttf)format("truetype");font-weight:400;font-display:swap}@font-face{font-family:Montserrat;src:url(/fonts/montserrat-bold.ttf)format("truetype");font-weight:700;font-display:swap}@font-face{font-family:Montserrat;src:url(/fonts/montserrat-black.ttf)format("truetype");font-weight:900;font-display:swap}.projects{--project-card-width:420px;--project-edge-fade:clamp(24px, 9.1vw, 157px);--project-end-space:calc(var(--project-edge-fade) + 32px);color:#fff;background:#000;padding-block:clamp(100px,16.09vw,278px) clamp(80px,12vw,220px)}.projects__window{display:flow-root;position:relative}.projects__window:before,.projects__window:after{content:"";width:var(--project-edge-fade);z-index:2;pointer-events:none;position:absolute;inset-block:-30px}.projects__window:before{background:linear-gradient(90deg,#000,#0000);left:0}.projects__window:after{background:linear-gradient(-90deg,#000,#0000);right:0}.projects__track{overscroll-behavior-inline:contain;scroll-snap-type:x mandatory;scrollbar-width:none;gap:35px;margin-block:-32px -24px;padding:36px 0 28px;padding-inline-end:var(--project-end-space);scroll-padding-inline-end:var(--project-end-space);display:flex;position:relative;overflow:auto hidden}.projects__track::-webkit-scrollbar{display:none}.projects__track:focus-visible{outline-offset:8px;outline:1px solid #fff}.projects__intro{flex:0 0 var(--project-card-width);scroll-snap-align:start;align-items:center;height:562px;padding-inline:24px;display:flex;container-type:inline-size}.projects__intro h2{width:100%;font:600 clamp(56px, 25cqi, 96px)/.94 var(--font-display);text-transform:uppercase;text-align:center;letter-spacing:-.015em;text-wrap:balance;margin:0}.projects__intro-script{color:red;font-family:var(--font-greeting);letter-spacing:0;white-space:nowrap;text-transform:none;font-size:clamp(28px,14cqi,52px);font-weight:400;line-height:1.1;display:block}.project-card{flex:0 0 var(--project-card-width);isolation:isolate;scroll-snap-align:start;background:#000;border-radius:20px;height:562px;font-family:Inria Sans,sans-serif;position:relative;overflow:visible}.project-card:focus-visible{outline-offset:6px;outline:2px solid #fff}.project-card:last-child{scroll-snap-align:end}.project-card__visual{border-radius:inherit;isolation:isolate;width:100%;height:100%;position:relative;overflow:hidden}.project-card__details-trigger{z-index:1;border-radius:inherit;cursor:pointer;background:0 0;border:0;width:100%;height:100%;padding:0;position:absolute;inset:0}.project-card__details-trigger:focus-visible{outline-offset:-4px;outline:2px solid #fff}.project-card__copy{z-index:2;pointer-events:none}.project-card__copy a{pointer-events:auto}.project-card__copy p a{z-index:2;position:relative}.projects__track:has(.project-card[data-active=true]) .projects__intro h2{filter:grayscale()}.project-card__art,.project-card__surface,.project-card__background{position:absolute;inset:0}.project-card__art{border-radius:inherit;pointer-events:none;z-index:-1;filter:grayscale();overflow:hidden}.project-card[data-active=true] .project-card__art{filter:grayscale(0)}.project-card__background{object-fit:cover;width:100%;height:100%;transform:scaleX(-1)}.project-card__surface{border-radius:20px}.project-card__art--centinella .project-card__surface{transform:scaleX(-1);box-shadow:inset 0 4px 4px #ffffff40,inset 0 -110px 39.3px #000000ab,inset -35px -368px 160.3px -124px #9dff0040}.project-card__centinella-logo{left:calc(var(--project-card-width) * .13333);width:calc(var(--project-card-width) * .69048);height:63px;position:absolute;top:218px;overflow:hidden}.project-card__centinella-logo img{width:118.64%;height:100%;position:absolute;top:-.07%;left:.39%}.project-card__art--cuy .project-card__surface{background:#000;box-shadow:inset 0 -101px 54.8px #000,inset 0 4px 81.8px #00f7ff9e,inset 0 -119px 99.5px -76px #6aff003b,inset 0 -97px 94.5px #00f7ff7a,inset 0 -159px 149.4px #8b00ee9c,inset 0 4px 4px #ffffff40}.project-card__cuy-logo{top:203px;left:calc(var(--project-card-width) * .25);align-items:flex-end;gap:2px;display:flex;position:absolute}.project-card__cuy-logo span{letter-spacing:1.28px;font:900 32px/26px Montserrat,sans-serif}.project-card__mascot{width:78.794px;height:77.955px;position:relative;overflow:hidden}.project-card__mascot img{width:102.13%;height:103.23%;position:absolute;top:-3.23%;left:-2.13%}.project-card__art--goberna .project-card__surface{box-shadow:inset 0 -25px 105.3px #bac2e540,inset 0 -101px 54.8px #000,inset 0 4px 4px #ffffff40}.project-card__capitol{object-fit:cover;opacity:.58;filter:blur(5px);width:96.667%;height:513px;position:absolute;top:33px;left:1.429%}.project-card__goberna-logo{top:232px;left:calc(var(--project-card-width) * .09048);align-items:center;gap:9px;display:flex;position:absolute}.project-card__goberna-logo img{object-fit:cover;width:66px;height:68px}.project-card__goberna-logo span{font:700 48px/1.21 Montserrat,sans-serif}.project-card__art--arcnote .project-card__surface{box-shadow:inset 0 -25px 105.3px #bac2e540,inset -2px 5px 6.7px #ffffff3d}.project-card__grid{mix-blend-mode:lighten;width:85.312%;height:534.022px;position:absolute;top:17px;left:-1px}.project-card__grid img{object-fit:cover;opacity:.46;filter:blur(.75px);width:530.95px;height:353.684px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)rotate(90.5deg)}.project-card__arcnote-logo{left:calc(var(--project-card-width) * .0976);width:calc(var(--project-card-width) * .7595);object-fit:cover;height:107px;position:absolute;top:194px}.project-card__stripes{width:100%;position:absolute;top:429px;left:-1px}.project-card__stripes i{height:4px;display:block}.project-card__stripes i:first-child{background:#00ffbf;margin-bottom:2px}.project-card__stripes i:nth-child(2){background:#ff9d00;margin-bottom:1px}.project-card__stripes img{margin-bottom:2px}.project-card__stripes i:last-child{background:#006aff}.project-card__art--makima .project-card__surface{background-color:#000;background-image:linear-gradient(#ffffff0d 1px,#0000 1px),linear-gradient(90deg,#ffffff0d 1px,#0000 1px),none;background-position:0 0,0 0,0 0;background-repeat:repeat,repeat,repeat;background-size:48px 48px;background-attachment:scroll,scroll,scroll;background-origin:padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box;box-shadow:inset 0 0 48px 7px #d200008c,inset 0 4px 5px #ffffff3d}.project-card__makima-logo{text-align:center;width:70%;position:absolute;top:110px;left:50%;transform:translate(-50%)}.project-card__makima-logo img{mix-blend-mode:plus-lighter;width:100%;height:auto;display:block;-webkit-mask-image:linear-gradient(#000 75%,#0000);mask-image:linear-gradient(#000 75%,#0000)}.project-card__makima-logo span{color:#e00000;letter-spacing:-.07em;-webkit-text-fill-color:transparent;background:linear-gradient(red 20%,#ac0000 70%,#280000);-webkit-background-clip:text;background-clip:text;margin-top:-20px;font:900 clamp(48px,5vw,62px)/.9 Montserrat,sans-serif;display:block;position:relative;transform:scaleX(.9)}.project-card__number{letter-spacing:-.96px;font:400 24px "Jacquarda Bastarda 9",serif;position:absolute;top:17px;left:36px}.project-card__copy{font:400 14px/1.4 Inria Sans,sans-serif;position:absolute;bottom:24px;left:23px;right:24px}.project-card__link{min-width:107px;height:35px;color:inherit;white-space:nowrap;border:1px solid #fff;border-radius:70px;justify-content:center;align-items:center;padding-inline:8px;text-decoration:none;display:inline-flex}.project-card__link:focus-visible{outline-offset:4px;outline:2px solid #fff}.project-card__copy p{-webkit-line-clamp:4;-webkit-box-orient:vertical;min-height:5.6em;margin:11px 0 0;display:-webkit-box;overflow:hidden}.project-card__copy p a{color:inherit}.project-card--arcnote .project-card__link{-webkit-backdrop-filter:blur(2.85px);backdrop-filter:blur(2.85px);background:#000000cf;min-width:141px}.project-card--goberna .project-card__copy p{line-height:1.21}.project-technologies{z-index:3;color:#fff;height:52px;font:400 14px/1.3 Inria Sans,sans-serif;position:absolute;top:72px;left:23px;right:24px}.project-technologies__trigger{z-index:1;cursor:pointer;background:0 0;border:0;width:100%;height:100%;padding:0;position:absolute;inset:0}.project-technologies__trigger:focus-visible{outline-offset:4px;outline:2px solid #fff}.project-technologies__window{height:100%;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,#0000,#000 12px calc(100% - 12px),#0000);mask-image:linear-gradient(90deg,#0000,#000 12px calc(100% - 12px),#0000)}.project-technologies__track{flex-direction:row;gap:18px;width:max-content;display:flex}.project-technologies__track ul{flex-direction:row;gap:18px;width:max-content;margin:0;padding:0 12px;list-style:none;display:flex}.project-technologies__track li{white-space:nowrap;flex:none;align-items:center;gap:8px;min-height:44px;padding-right:6px;display:flex}.project-technologies__track img{object-fit:contain;width:26px;height:26px;filter:invert(1) var(--white-icon-bloom);flex:none}.project-technologies:focus-visible{outline-offset:4px;outline:1px solid #fff}@media (width<=600px){.projects{--project-card-width:min(420px, calc(100vw - 64px));--project-end-space:48px;padding-top:56px;padding-bottom:72px;overflow-x:clip}.projects__track{scroll-snap-type:none;flex-direction:column;align-items:center;gap:28px;margin:0;padding:24px;overflow:visible}.projects__window:before,.projects__window:after{display:none}.projects__intro{width:var(--project-card-width);flex:none;height:auto;padding:12px 0 28px}.project-card{--project-visual-height:250px;width:var(--project-card-width);background:0 0;border-radius:16px;flex:none;height:auto}.project-card__visual{height:var(--project-visual-height);background:#000;overflow:hidden}.project-card__number{font-size:20px;inset:auto 18px 10px auto}.project-card__cuy-logo{gap:4px;top:60px;left:24px}.project-card__cuy-logo span{font-size:26px;line-height:22px}.project-card__mascot{width:55px;height:54.4px}.project-card__goberna-logo{gap:8px;top:70px;left:22px}.project-card__goberna-logo img{width:40px;height:42px}.project-card__goberna-logo span{font-size:clamp(24px,7vw,32px)}.project-card__centinella-logo{width:min(260px, calc(var(--project-card-width) * .72));aspect-ratio:290/63;height:auto;top:66px;left:24px}.project-card__arcnote-logo{width:min(200px, calc(var(--project-card-width) * .6));aspect-ratio:319/107;height:auto;top:56px;left:22px}.project-card__makima-logo{width:min(185px,60%);top:60px;left:20px;transform:none}.project-card__makima-logo img{-webkit-mask-image:none;mask-image:none}.project-card__makima-logo span,.project-card__stripes{display:none}.project-card__art{filter:grayscale(0)}.project-card__copy{font-size:13px;line-height:1.3;display:contents}.project-card__copy a{z-index:2}.project-card__link{min-width:104px;height:44px;font-size:14px;font-weight:700;position:absolute;top:14px;right:16px}.project-card--arcnote .project-card__link{-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;min-width:104px}.project-card__copy p{-webkit-line-clamp:5;min-height:0;margin:0;position:absolute;top:128px;left:20px;right:20px}.project-card--goberna .project-card__copy p{line-height:1.3}.project-technologies{opacity:1;visibility:visible;width:100%;height:52px;margin-top:12px;position:relative;inset:auto}.project-technologies__window{scrollbar-width:none;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,#0000,#000 12px calc(100% - 12px),#0000);mask-image:linear-gradient(90deg,#0000,#000 12px calc(100% - 12px),#0000)}.project-technologies__track{flex-direction:row;gap:18px;width:max-content}.project-technologies__track ul{flex-direction:row;gap:18px;width:max-content;padding-inline:12px}.project-technologies__track li{white-space:nowrap;flex:none}}@media (width<=360px){.project-card{--project-visual-height:270px}.project-card__copy p{-webkit-line-clamp:6}}@media (prefers-reduced-motion:reduce){.project-technologies__window{overflow:auto;-webkit-mask-image:none;mask-image:none}.project-technologies__track ul[aria-hidden=true],.project-technologies__track li[aria-hidden=true]{display:none}}.tech-stack{color:#fff;background:#000;flex-direction:column;width:100%;height:100%;min-height:100svh;padding:clamp(24px,5vw,80px);display:flex;overflow-y:auto}.tech-stack:focus-visible{outline-offset:-4px;outline:2px solid #ed2731}.tech-stack__inner{width:100%;max-width:1480px;margin:auto;position:relative}.tech-stack__hint{color:#fff;opacity:.55;width:fit-content;max-width:100%;font:400 clamp(20px, 1.6vw, 26px)/1.25 var(--font-handwriting);text-align:center;text-wrap:balance;margin:0 auto 24px;position:relative}.tech-stack__timeline{--timeline-edge-fade:clamp(32px, 9vw, 144px);min-width:0;height:min(60svh,560px);min-height:300px;-webkit-mask-image:linear-gradient(to right, transparent, #000 var(--timeline-edge-fade), #000 calc(100% - var(--timeline-edge-fade)), transparent);mask-image:linear-gradient(to right, transparent, #000 var(--timeline-edge-fade), #000 calc(100% - var(--timeline-edge-fade)), transparent)}.tech-stack__timeline .logo-timeline__item{color:#fff;border:1px solid #ffffff1f;gap:12px;padding:0}.tech-stack__timeline .logo-timeline__item span{color:inherit;text-shadow:var(--white-small-text-bloom);font:500 16px/1.5 system-ui,sans-serif}.technology-icon--mono{filter:invert(1) var(--white-icon-bloom)}.tech-stack__timeline .logo-timeline__item:hover,.tech-stack__timeline .logo-timeline__item:focus-within{color:#fff}.tech-stack__timeline .logo-timeline__item:hover img,.tech-stack__timeline .logo-timeline__item:focus-within img{filter:brightness(0) invert(1) var(--white-icon-bloom)}.logo-timeline__trigger{border-radius:inherit;min-height:48px;color:inherit;cursor:pointer;font:inherit;background:0 0;border:0;align-items:center;gap:12px;padding:10px 18px;display:flex}.logo-timeline__trigger:focus-visible{outline-offset:4px;outline:2px solid #fff}.tech-stack__caption{color:#fff;max-width:562px;font:400 clamp(24px, 2.0833vw, 36px)/1.15 var(--font-handwriting);text-align:center;text-wrap:balance;margin:28px auto 0}.tech-stack__caption span{color:red}@media (width<=760px){.tech-stack{padding:24px}.tech-stack__timeline{height:min(60svh,500px);min-height:300px}.tech-stack__caption{margin-top:20px}}@media (width<=600px){.tech-stack__timeline{height:auto;min-height:0;-webkit-mask-image:none;mask-image:none}.tech-stack__timeline>div{padding:0;overflow:visible}.tech-stack__timeline [role=list]{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;position:static}.tech-stack__timeline .logo-timeline__row{display:contents}.tech-stack__timeline .logo-timeline__guide{display:none}.tech-stack__timeline .logo-timeline__item{width:100%;margin-block:0;position:static;translate:none;transform:none!important}.tech-stack__timeline .logo-timeline__trigger{gap:8px;width:100%;min-height:48px;padding:10px 12px}.tech-stack__timeline .logo-timeline__item span{font-size:14px}.tech-stack__caption{margin-top:24px;font-size:22px}}@media (prefers-reduced-motion:reduce){.tech-stack{height:auto;overflow:visible}.tech-stack__timeline{height:auto;min-height:0;-webkit-mask-image:none;mask-image:none}}.ascii-scene{height:calc(var(--ascii-section-screens,7) * 100svh);background:#000;position:relative}.ascii-scene__stage{background:#000;height:100svh;position:sticky;top:0;overflow:hidden}.ascii-scene__art,.ascii-scene__canvas{position:absolute;inset:0}.ascii-scene__art{z-index:1;transform:translate3d(0, var(--ascii-art-y,0%), 0);mix-blend-mode:screen}.ascii-scene__stack-anchor{width:1px;height:0;position:absolute;left:0}.ascii-scene__stack{z-index:2;transform:translate3d(var(--stack-x,100%), 0, 0);position:absolute;inset:0}.ascii-scene__technologies{z-index:0;pointer-events:none;justify-content:center;align-items:center;margin:0;display:flex;position:absolute;inset:0}.ascii-scene__title-visual{width:calc(100% - 32px);opacity:var(--technologies-opacity,0);transform-origin:top;transform:translate3d(var(--technologies-x,0%), var(--technologies-y,-18vh), 0) scaleY(var(--technologies-scale-y,.08));display:block}.ascii-scene__title-visual img{width:100%;height:auto;display:block}.ascii-scene__accessible{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.ascii-scene__canvas{pointer-events:none}.ascii-scene__stage:not([data-scene-state=ready]) .ascii-scene__canvas{visibility:hidden}.ascii-scene__canvas canvas{width:100%;height:100%;display:block}.ascii-scene__fallback{object-fit:contain;filter:drop-shadow(0 0 3px #fffc)drop-shadow(0 0 18px #ffffff8c);width:100%;height:100%}.ascii-scene__stage[data-scene-state=ready] .ascii-scene__fallback{visibility:hidden}.ascii-scene__status{color:#888;margin:0;font:12px/1.4 monospace;display:none;position:absolute;bottom:24px;left:24px}.ascii-scene__stage[data-scene-state=loading] .ascii-scene__status{display:block}@media (width<=600px){.ascii-scene__title-visual{width:min(78svh,225vw - 72px);transform:translate3d(calc(var(--technologies-x,0%) + var(--technologies-entry-x,-120%)), 0, 0);flex:none}.ascii-scene__title-visual img{transform:rotate(-89.52deg)}}@media (prefers-reduced-motion:reduce){.ascii-scene{flex-direction:column;height:auto;display:flex}.ascii-scene__stage{display:contents}.ascii-scene__art{flex:none;order:0;height:100svh;position:relative;transform:none}.ascii-scene__technologies{order:1;padding-block:64px;position:relative;overflow:hidden}.ascii-scene__stack-anchor{order:2;position:relative;top:auto!important}.ascii-scene__stack{order:3;position:relative;transform:none}.ascii-scene__title-visual{opacity:1;transform:none}.ascii-scene__canvas{display:none}.ascii-scene__stage[data-scene-state=ready] .ascii-scene__fallback{visibility:visible}}.contact-footer{color:#fff;background:#000;position:relative}.timeline-continuation{isolation:isolate;background:linear-gradient(#000 0%,#030202 5%,#130303 15%,#340707 25%,#690c0c 35%,#a41616 44%,#c52222 52%,#d84545 59%,#e87e7e 65%,#f0bcbc 69%,#f4f1f1 75%,#ddd 78%,#9d9b9b 82%,#464646 86%,#101010 90%,#000 95% 100%);width:100%;height:100svh;min-height:100svh;position:relative;overflow:hidden}.contact-footer__composition{--footer-portrait-height:min(75%, 64vw);isolation:isolate;width:100%;max-width:1920px;height:100%;margin-inline:auto;position:relative}.contact-footer__navigation{display:contents}.contact-footer__socials{--footer-ring-size:clamp(76px, 8.75vw, 154px);z-index:1;width:calc(var(--footer-ring-size) * 4.95);height:calc(var(--footer-ring-size) * 2.1);place-items:flex-start center;margin:0;padding:0;list-style:none;display:block;position:absolute;top:10.65%;left:48.5%;transform:translate(-50%)}.contact-footer__social{width:var(--footer-ring-size);aspect-ratio:1;position:absolute}.contact-footer__social:first-child{left:0;top:calc(var(--footer-ring-size) * .97)}.contact-footer__social:nth-child(2){left:calc(var(--footer-ring-size) * 1.03);top:calc(var(--footer-ring-size) * .2)}.contact-footer__social:nth-child(3){left:calc(var(--footer-ring-size) * 3.84);top:calc(var(--footer-ring-size) * .66)}.contact-footer__social--blog{left:calc(var(--footer-ring-size) * 2.45);top:0}.contact-footer__icon.contact-footer__blog-icon{filter:none;width:44%;height:44%}.contact-footer__blog-callout{width:178px;height:50.1px;transform:scale(calc(var(--footer-ring-size) / 144px));transform-origin:0 0;pointer-events:none;position:absolute;top:-12%;left:100%}.contact-footer__blog-arrow{position:absolute;top:8.2px;left:0}.contact-footer__blog-arrow-tip{position:absolute;top:0;left:157.83px}.contact-footer__blog-note{color:#fff;width:max-content;font:400 32px/1.2 var(--font-handwriting);margin:0;position:absolute;top:-35.17px;left:174.02px}.contact-footer__link{color:#fff;border-radius:40%;place-items:center;width:100%;height:100%;text-decoration:none;display:grid;position:relative}.contact-footer__circle{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.contact-footer__icon{object-fit:contain;width:33%;height:33%;filter:brightness(0) invert(1) var(--white-icon-bloom)}.contact-footer__link:focus-visible{outline-offset:5px;outline:3px solid #fff;box-shadow:0 0 0 5px #111}.contact-footer__heading{z-index:3;color:#fff;width:calc(100% - 48px);font:400 clamp(28px, 3.2vw, 56px)/1.15 var(--font-handwriting);text-align:center;text-wrap:balance;pointer-events:none;margin:0;position:absolute;bottom:calc(max(14%,188px) - 36px);left:50%;transform:translate(-50%)}.contact-footer__portrait-art{z-index:2;height:var(--footer-portrait-height);aspect-ratio:1753/1402;pointer-events:none;-webkit-user-select:none;user-select:none;position:absolute;bottom:0;left:50%;transform:translate(-50%);container-type:inline-size}.contact-footer__portrait{width:100%;max-width:none;height:100%;position:absolute;inset:0}.contact-footer__portrait-marks{position:absolute;inset:0}.contact-footer__portrait-marks img{max-width:none;height:auto;position:absolute}.contact-footer__trust-arrow{aspect-ratio:144.65/145.87;width:13.772%;position:absolute;top:30.691%;left:69.319%}.contact-footer__trust-arrow svg{max-width:none;height:auto;position:absolute;overflow:visible}.contact-footer__trust-arrow-line{width:95.008%;bottom:0;left:0}.contact-footer__trust-arrow-tip{width:10.336%;top:0;right:0}.contact-footer__trust-note{color:#fff;width:31.333%;font:400 3.42857cqw/1.15 var(--font-handwriting);margin:0;position:absolute;top:20.262%;left:80.476%}.contact-footer__legal{z-index:4;inset-inline:0;color:#eee;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px 32px;max-width:1680px;margin-inline:auto;padding:20px clamp(24px,5vw,80px);font:400 .8125rem/1.6 system-ui,sans-serif;display:flex;position:absolute;bottom:0}.contact-footer__legal p{margin:0}.contact-footer__certifications{flex:0 0 100%;justify-content:flex-start;align-items:center;gap:32px;margin:0;padding:0;list-style:none;display:flex}.contact-footer__certifications img{object-fit:contain;filter:grayscale();width:auto;max-width:110px;height:64px;display:block}.contact-footer__actions{align-items:center;gap:24px;display:flex}.contact-footer__legal .contact-footer__language{min-height:44px;padding-inline:8px;text-decoration:none}.contact-footer__language span{opacity:.5}.contact-footer__language span[data-active=true]{opacity:1;text-underline-offset:4px;text-decoration:underline}.contact-footer__legal button{color:inherit;font:inherit;cursor:pointer;text-underline-offset:4px;background:0 0;border:0;flex:none;padding:10px 0;text-decoration:underline}.contact-footer__legal button:hover{color:#fff}.contact-footer__legal button:focus-visible{outline-offset:5px;outline:2px solid #fff}.contact-footer__terms :focus-visible{outline-offset:5px;outline:2px solid #a61520}.contact-footer__terms{color:#171717;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;overscroll-behavior:contain;background:#fff;border:1px solid #d7d7d7;width:min(640px,100% - 32px);max-height:calc(100svh - 48px);padding:clamp(24px,4vw,48px);font:400 1rem/1.65 system-ui,sans-serif}.contact-footer__terms::backdrop{background:#000000bf}.contact-footer__terms h2{margin:16px 0 24px;font-size:1.75rem;line-height:1.2}.contact-footer__terms h3{margin:28px 0 8px;font-size:1.0625rem}.contact-footer__terms p{margin:0 0 16px}.contact-footer__terms a{color:#a61520;overflow-wrap:anywhere;text-underline-offset:3px}.contact-footer__terms form{justify-content:flex-end;display:flex}.contact-footer__close{color:#171717;min-height:44px;font:inherit;cursor:pointer;background:#fff;border:1px solid #171717;padding:8px 16px}@media (width<=760px){.contact-footer__composition{--footer-portrait-height:min(70%, 114vw)}.contact-footer__socials{--footer-ring-size:clamp(52px, 15vw, 84px);left:48%;top:calc(100% - var(--footer-portrait-height) - 110px)}.contact-footer__blog-note{font-size:48px}.contact-footer__heading{bottom:calc(var(--footer-legal-height,100px) + 12px);font-size:clamp(26px,6.7vw,40px)}.contact-footer__trust-note{width:36vw;font-size:clamp(16px,4vw,22px);top:10%;left:calc(50% - 46vw)}.contact-footer__trust-arrow{width:18vw;top:27%;left:calc(50% - 47vw)}.contact-footer__legal{text-align:center;flex-direction:column;align-items:center;gap:4px;padding-block:0 16px;font-size:.6875rem}.contact-footer__legal p{text-align:center;order:1;width:100%}.contact-footer__certifications{display:none}}@media (prefers-reduced-motion:reduce){.contact-footer__social{transform:none!important}}@font-face{font-family:Tungsten Black;src:url(/fonts/tungsten-black.otf)format("opentype");font-style:normal;font-weight:900;font-display:swap}.not-found{isolation:isolate;min-height:100svh;color:var(--color-text);background:#000;place-items:center;display:grid;position:relative;overflow:clip}.not-found:after{z-index:2;opacity:.24;pointer-events:none;content:"";transform:translate(var(--grain-x,0px), var(--grain-y,0px));background:url(/assets/projects/tv-grain.svg);position:absolute;inset:-72px}.not-found__poster{aspect-ratio:1728/1117;width:100%;max-width:min(120rem,154.7svh);position:relative;container-type:inline-size}.not-found__glow{opacity:.34;mix-blend-mode:color-dodge;pointer-events:none;width:100.36cqw;height:auto;position:absolute;top:-40.76%;left:-1.3%}.not-found__code{color:#0000;font-family:"Tungsten Black", var(--font-display);white-space:nowrap;text-shadow:0 2.72cqw 11.52cqw #ff000070;-webkit-user-select:none;user-select:none;background:linear-gradient(179.97deg,red 0%,#f000 81.87%);-webkit-background-clip:text;background-clip:text;margin-top:-.1em;padding-top:.1em;font-size:75.23cqw;font-weight:900;line-height:.776;position:absolute;top:7.43%;left:3.18%}.not-found__message{top:63.83%;text-align:center;flex-direction:column;align-items:center;display:flex;position:absolute;inset-inline:3%}.not-found__message h1{font-family:var(--font-display);text-shadow:0 .23cqw 4.31cqw #ffdcdca1;margin:0 1.44cqw 0 0;font-size:10.4167cqw;font-weight:600;line-height:.776}.not-found__message p{font-family:var(--font-handwriting);margin:-.90625cqw 0 0 2.8cqw;font-size:7.4074cqw;line-height:.776}.not-found__message a{color:red;min-height:44px;font-family:var(--font-handwriting);text-shadow:0 .23cqw 1.08cqw #ff000040;place-items:center;margin:-.1cqw 4.16cqw 0 0;padding:.25em .5em;font-size:3.7037cqw;line-height:.776;text-decoration:none;display:grid}.not-found__message a:hover{color:#fff}.not-found__message a span{display:inline-block}.not-found__message a:focus-visible{outline-offset:4px;outline:2px solid #fff}@media (width<=37.5rem){.not-found__poster{aspect-ratio:3/4;max-width:34rem}.not-found__glow{top:-8%}.not-found__code{top:16%}.not-found__message{top:59%}.not-found__message h1{margin:0;font-size:12.5cqw}.not-found__message p{margin:3cqw 0 0;font-size:8cqw;line-height:1.1}.not-found__message a{margin:2cqw 0 0;font-size:6cqw}}@media (forced-colors:active){.not-found__code{color:canvastext;background:0 0}}@font-face{font-family:Inria Serif;src:url(/fonts/inria-serif.ttf)format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Inria Sans;src:url(/fonts/inria-sans-regular.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap}.blog-page{color:#171717;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;background:#fff;font-family:Inria Sans,sans-serif}.blog-page a{color:inherit;text-underline-offset:5px}.blog-page :focus-visible{outline-offset:6px;outline:2px solid #e22}.blog-container{width:min(78%,1400px);margin-inline:auto}.blog-skip{z-index:10;background:#fff;padding:12px 20px;position:fixed;top:16px;left:16px;transform:translateY(-160%)}.blog-skip:focus{transform:none}.blog-hero{isolation:isolate;color:#fff;background:#000;position:relative;overflow:hidden}.blog-hero__code{z-index:-1;object-fit:cover;opacity:.25;filter:blur(2px);pointer-events:none;width:65%;height:125%;position:absolute;top:-20%;left:-3%;-webkit-mask-image:linear-gradient(90deg,#000,#0000);mask-image:linear-gradient(90deg,#000,#0000)}.blog-topbar{z-index:2;min-height:84px;font-family:var(--font-handwriting);justify-content:space-between;align-items:center;gap:24px;font-size:1rem;display:flex;position:relative}.blog-topbar a{align-items:center;min-height:44px;text-decoration:none;display:inline-flex}.blog-brand{letter-spacing:.06em;gap:12px}.blog-brand img{object-fit:contain}.blog-arrow-icon{vertical-align:middle;flex:none;width:20px;height:20px;display:inline-block}.blog-topbar a,.blog-footer__links a{gap:8px}.blog-topbar .blog-arrow-icon,.blog-footer__links .blog-arrow-icon{filter:invert()}.blog-hero--index{aspect-ratio:1728/701.56;width:100%;min-height:300px}.blog-hero--index .blog-topbar{position:absolute;top:0;left:50%;transform:translate(-50%)}.blog-intro{isolation:isolate;position:absolute;inset:0}.blog-intro__backdrop{z-index:-1;width:86%;height:auto;position:absolute;top:10.12%;left:7%}.blog-intro h1{white-space:nowrap;font:600 14.4676vw/1.2 var(--font-display);text-shadow:0 4px 40px #ffffffd9;margin:0;position:absolute;top:32.35%;left:50%;transform:translate(-50%)}.blog-intro__note{width:max-content;font:400 4.63vw/1.2 var(--font-handwriting);margin:0;position:absolute;top:64.43%;left:50%;transform:translate(-50%)}.blog-visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.blog-index{min-height:640px;padding-block:64px 110px}.blog-index__heading{border-bottom:1px solid #dcdcdc;justify-content:space-between;align-items:baseline;gap:24px;margin-bottom:32px;padding-bottom:24px;display:flex}.blog-index__heading h2{font:400 clamp(26px, 2.6vw, 40px)/1.2 var(--font-handwriting);margin:0}.blog-index__heading>span{color:#626262;white-space:nowrap;font-size:.875rem}.blog-index__description{color:#565656;max-width:65ch;margin:-8px 0 32px;font-size:1.0625rem;line-height:1.6}.blog-index__intro{margin-bottom:48px}.blog-index__intro h2{font:400 clamp(26px, 2.6vw, 40px)/1.2 var(--font-handwriting);margin:0 0 20px}.blog-index__intro .blog-index__description{margin:0}.blog-index__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:48px;display:grid}.article-card__link{text-decoration:none;display:block}.article-art{pointer-events:none;position:absolute;inset:0;overflow:hidden}.article-art__code{object-fit:cover;opacity:.28;filter:blur(4px);width:75%;height:110%;position:absolute;top:-5%;left:0;-webkit-mask-image:linear-gradient(90deg,#000 50%,#0000);mask-image:linear-gradient(90deg,#000 50%,#0000)}.article-art__portrait{object-fit:contain;object-position:bottom;width:48%;height:95%;position:absolute;bottom:0;right:0}.article-art__overlay{object-fit:cover;opacity:.28;filter:blur(7px);mix-blend-mode:screen;width:15%;height:36%;position:absolute;top:26%;right:26%}.article-art--preview{aspect-ratio:771/460;color:#fff;isolation:isolate;background:#000;border-radius:20px;position:relative}.article-art--preview .article-art__portrait{width:55.5%;height:80%}.article-art--preview .article-art__code{opacity:.38}.article-art__title{z-index:1;width:72%;font:400 clamp(21px, 2.3vw, 42px)/1.25 var(--font-handwriting);letter-spacing:.03em;text-shadow:0 2px 16px #000,0 2px 12px #000;position:absolute;top:18%;left:5.6%}.article-art--preview .article-art__portrait{z-index:2}.article-card__meta{color:#646464;justify-content:space-between;gap:12px;margin-block:22px 12px;font-size:.875rem;display:flex}.article-card h3{margin:0 0 12px;font-size:clamp(21px,1.9vw,28px);font-weight:400;line-height:1.3}.article-card p{color:#565656;max-width:55ch;margin:0;font-size:1.125rem;line-height:1.6}.article-card__read{min-height:44px;font-family:var(--font-handwriting);align-items:center;gap:8px;margin-top:12px;font-size:1.25rem;display:inline-flex}.article-card__bottom{justify-content:space-between;align-items:baseline;gap:16px;display:flex}.article-card__bottom>span:last-child{color:#646464;white-space:nowrap;font-size:.875rem}.article-card__link:hover .article-card__read,.article-card__link:focus-visible .article-card__read{color:#ba1010;text-decoration:underline}.article-heading{isolation:isolate;min-height:clamp(430px,36vw,620px);padding-top:76px;padding-bottom:64px;position:relative}.article-heading__breadcrumb{color:#bdbdbd;font-family:var(--font-handwriting);position:absolute;top:5px;left:0}.article-heading h1{z-index:1;width:66%;font:400 clamp(30px, 3.2vw, 55px)/1.246 var(--font-handwriting);letter-spacing:.03em;text-shadow:0 4px 31px #fff5f545;margin:0;position:relative}.article-heading .article-art{inset:-18px -2% 0 0}.article-heading .article-art__code{display:none}.article-heading .article-art__portrait{width:43%;height:93%;right:0}.article-heading__byline{z-index:1;margin-top:56px;position:relative}.article-heading__byline p{color:#ff2c2c;font:600 clamp(20px, 1.85vw, 32px)/1.2 var(--font-display);letter-spacing:.05em;margin:0 0 10px}.article-heading__byline time{font:400 clamp(16px, 1.4vw, 24px)/1.4 var(--font-handwriting)}.article-body{letter-spacing:.01em;width:min(71.5%,1100px);margin:0 auto;padding-top:clamp(56px,5.8vw,100px);font:400 clamp(18px,1.4vw,24px)/1.6 Inria Serif,Georgia,serif}.article-body p{margin:0 0 1.05em}.article-body h2{font:400 clamp(26px, 2.6vw, 38px)/1.3 var(--font-handwriting);margin:2em 0 .8em}.article-body section{scroll-margin-top:32px}.architecture-figure{background:#fff;max-width:640px;margin:clamp(48px,7vw,88px) auto;padding:clamp(26px,5vw,54px) clamp(28px,6vw,64px);position:relative}.architecture-figure figcaption{text-align:center;flex-direction:column;align-items:center;gap:5px;margin-bottom:34px;display:flex}.architecture-figure figcaption>span{color:#d92b2b;letter-spacing:.18em;font:700 11px/1.4 Inria Sans,sans-serif}.architecture-figure figcaption strong{color:#171717;font:400 clamp(30px, 4vw, 44px)/1.15 var(--font-handwriting)}.architecture-figure figcaption small{color:#666;font:400 15px/1.4 Inria Sans,sans-serif}.architecture-figure__diagram{color:#171717;width:min(100%,420px);height:auto;margin:0 auto;display:block;overflow:visible}.architecture-figure__wires{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round}.architecture-figure__boxes{fill:#fff;stroke:#171717;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round}.architecture-figure__boxes .architecture-figure__embedding{fill:#fff3f3}.architecture-figure__boxes .architecture-figure__context{fill:#fff6f6}.architecture-figure__boxes .architecture-figure__hidden{fill:#f8f8f8}.architecture-figure__boxes .architecture-figure__output{fill:#fff4f4}.architecture-figure__labels{fill:#171717;font:400 17px var(--font-handwriting)}.architecture-figure__labels .architecture-figure__sub{fill:#777;font-size:14px}.architecture-figure__hotspot{fill:#0000;stroke:#0000;stroke-width:2px;cursor:pointer}.architecture-figure__hotspot:hover{fill:#d92b2b0d;stroke:#d92b2b73}.architecture-figure__hotspot:focus-visible{fill:#d92b2b12;stroke:#d92b2b;stroke-dasharray:6 5}.architecture-figure__note-wrap .technology-note__arrow{filter:none}.architecture-figure__note-wrap .technology-note__arrow path{stroke:#171717;filter:none}.article-body .architecture-figure__note{color:#666;text-align:center;margin:32px 0 0;font:400 14px/1.5 Inria Sans,sans-serif}.article-body .article-source{overflow-wrap:anywhere;margin-bottom:32px;font:400 .9375rem/1.6 Inria Sans,sans-serif}.article-code{color:#f0f0f0;background:#111;border:1px solid #333;border-radius:16px;min-width:0;max-width:100%;margin:28px 0 40px;overflow:hidden}.article-code figcaption{border-bottom:1px solid #333;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 16px;padding:12px 20px;font:400 .875rem/1.5 Inria Sans,sans-serif;display:flex}.article-code figcaption>span{color:#bdbdbd}.article-code figcaption a{align-items:center;min-height:44px;display:inline-flex}.article-code pre{letter-spacing:0;tab-size:4;max-width:100%;margin:0;padding:20px;font:400 .875rem/1.65 ui-monospace,SFMono-Regular,Consolas,monospace;overflow-x:auto}.article-code code{font:inherit;white-space:pre}.article-body .article-body__equation{font:400 clamp(17px, 1.9vw, 32px)/1.6 var(--font-handwriting);text-align:center;overflow-wrap:anywhere;margin-block:24px;padding:24px 0}.article-video{max-width:1288px;padding-block:40px 56px;scroll-margin-top:28px}.article-video h2{color:#ff1717;text-align:center;max-width:380px;font:400 clamp(38px, 5vw, 80px)/1.03 var(--font-handwriting);text-shadow:0 0 30px #ff000047;margin:0 auto 42px}.article-video figure{margin:0}.article-video__poster{aspect-ratio:1288/674;color:#fff;background:#000;border-radius:22px;position:relative;overflow:hidden}.article-video__poster .article-art--preview{aspect-ratio:auto;filter:blur(6px);height:100%}.article-video__poster>p{margin:0;font-size:clamp(16px,2vw,32px);line-height:1.3;position:absolute;top:4%;left:4%;right:4%}.article-video__poster>span{white-space:nowrap;background:#000000a6;border:1px solid #777;border-radius:50px;padding:14px 22px;font-size:clamp(14px,1.3vw,20px);position:absolute;top:53%;left:50%;transform:translate(-50%,-50%)}.article-video figcaption{color:#646464;margin-top:12px;font-size:.9rem}.article-references{color:#616161;max-width:1288px;padding-block:0 70px;font:400 1rem/1.6 Inria Serif,Georgia,serif}.article-references p{margin:0}.article-references ul{margin-top:4px;padding-left:24px}.blog-footer{color:#fff;background:#000;overflow:hidden}.blog-footer__main{grid-template-columns:minmax(0,1fr) minmax(210px,25%);gap:60px;padding-top:48px;display:grid}.blog-footer__wordmark{aspect-ratio:970.074/472;align-self:start;display:block;position:relative;-webkit-mask-image:linear-gradient(#000 25%,#0000 98%);mask-image:linear-gradient(#000 25%,#0000 98%)}.blog-footer__wordmark>img:first-child:not(.blog-footer__translated-wordmark){filter:drop-shadow(0 0 24px #f003);width:90%;height:auto;margin-inline:auto;display:block}.blog-footer__translated-wordmark{filter:drop-shadow(0 0 24px #f003);width:100%;height:auto;display:block}.blog-footer__right{flex-direction:column;justify-content:space-between;gap:32px;padding-block:14px 48px;display:flex}.blog-footer__links{font:400 clamp(22px, 2.15vw, 36px)/1.2 var(--font-handwriting);flex-direction:column;gap:8px;display:flex}.blog-footer__links a{align-items:center;min-height:44px;text-decoration:none;display:flex}.blog-footer__links a:hover{color:#ff3737}.blog-footer__socials{gap:12px;margin:0;padding:0;list-style:none;display:flex}.blog-footer__socials a{aspect-ratio:1;place-items:center;width:clamp(50px,4.8vw,80px);display:grid;position:relative}.blog-footer__circle{object-fit:contain;width:90%;height:90%;position:absolute;top:5%;left:5%}.blog-footer__circle--1{transform:rotate(90.93deg)}.blog-footer__circle--2{transform:rotate(2.77deg)}.blog-footer__circle--3{transform:rotate(-90.99deg)}.blog-footer__icon{object-fit:contain;filter:brightness(0)invert();width:30%;height:30%}.blog-footer__legal{justify-content:space-between;align-items:center;gap:24px;padding-block:12px 24px;font-size:.8125rem;line-height:1.6;display:flex}.blog-footer__legal p{margin:0}.blog-footer__legal>div{align-items:center;gap:24px;display:flex}.blog-footer__legal button{min-height:44px;color:inherit;font:inherit;cursor:pointer;text-underline-offset:3px;background:0 0;border:0;padding:8px 0;text-decoration:underline}.blog-footer__legal button:first-child{white-space:nowrap;text-decoration:none}.blog-footer__legal span:not([data-active=true]){color:#a0a0a0}.blog-terms{color:#171717;background:#fff;border:1px solid #aaa;width:min(640px,100% - 32px);max-height:85svh;padding:32px;font:400 1rem/1.6 Inria Sans,sans-serif}.blog-terms::backdrop{background:#000000bf}.blog-terms h2{font-size:1.5rem}.blog-terms form{justify-content:flex-end;display:flex}.blog-terms button{min-height:44px;color:inherit;font:inherit;cursor:pointer;background:0 0;border:1px solid;padding:8px 16px}@media (width<=760px){.blog-container{width:calc(100% - 56px)}.blog-topbar{gap:16px;min-height:72px;font-size:.875rem}.blog-brand{gap:8px}.blog-brand img{width:24px;height:24px}.blog-hero--index{min-height:clamp(320px,62vw,440px)}.blog-intro__backdrop{top:27%}.blog-intro__backdrop:lang(es){height:42%}.blog-intro h1{text-shadow:0 3px 24px #ffffffbf;font-size:clamp(68px,17vw,128px);top:39%}.blog-intro h1:lang(es){font-size:clamp(58px,15.4vw,112px)}.blog-intro__note{font-size:clamp(25px,5.4vw,40px);top:68%}.blog-hero__code{width:115%;left:-15%}.blog-index{min-height:0;padding-block:40px 64px}.blog-index__heading{gap:12px;margin-bottom:24px}.blog-index__grid{grid-template-columns:minmax(0,1fr);gap:32px}.article-art__title{font-size:clamp(20px,5.3vw,36px)}.article-card__meta{margin-block:18px 12px}.article-card h3{font-size:23px}.article-card p{font-size:17px}.article-heading{flex-direction:column;min-height:650px;padding-top:60px;padding-bottom:36px;display:flex}.article-heading h1{width:100%;font-size:clamp(28px,6.4vw,42px)}.article-heading .article-art{inset:0 -28px}.article-heading .article-art__portrait{width:78%;height:52%;bottom:54px;right:-4%}.article-heading .article-art__overlay{width:25%;height:25%;top:52%;right:40%}.article-heading__byline{margin-top:auto;padding-top:280px}.article-heading__byline p{font-size:21px}.article-heading__byline time{font-size:16px}.article-body{width:calc(100% - 56px);padding-top:40px;font-size:18px;line-height:1.65}.article-body .article-body__equation{text-align:left;font-size:21px}.article-video{padding-block:24px 32px}.article-video h2{max-width:240px;margin-bottom:26px;font-size:44px}.article-video__poster{aspect-ratio:1.45;border-radius:16px}.article-references{padding-bottom:44px;font-size:.9375rem}.blog-footer__main{grid-template-columns:minmax(0,1fr);gap:0;padding-top:32px}.blog-footer__wordmark{width:100%;max-width:540px}.blog-footer__right{flex-flow:wrap;align-items:center;gap:16px;min-width:0;padding-block:0 28px}.blog-footer__links{flex:220px;gap:2px;min-width:0;font-size:clamp(19px,4.5vw,28px)}.blog-footer__socials{flex:none;gap:4px}.blog-footer__socials a{width:44px}.blog-footer__legal{flex-direction:column-reverse;align-items:flex-start;gap:12px;padding-bottom:24px;font-size:.75rem}.blog-footer__legal>div{flex-wrap:wrap;gap:8px 24px}}@media (width<=380px){.blog-topbar{font-size:.75rem}}
