@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/fef07dbb0973bf53-s.12tyk43_3sh9u.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/8a480f0b521d4e75-s.0jzbimsg8vl84.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/53b9e256198e5412-s.0-wfv7uh4i7h9.woff2)format("woff2");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;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/7178b3e590c64307-s.0nx0ww8fni_q3.woff2)format("woff2");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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/caa3a2e1cccd8315-s.p.09~u27dqhyhd6.woff2)format("woff2");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:Geist Fallback;src:local(Arial);ascent-override:95.94%;descent-override:28.16%;line-gap-override:0.0%;size-adjust:104.76%}.geist_a71539c9-module__T19VSG__className{font-family:Geist,Geist Fallback;font-style:normal}.geist_a71539c9-module__T19VSG__variable{--font-geist-sans:"Geist", "Geist Fallback"}
@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/5ce348bf30bf5439-s.0zgw-jeven.3w.woff2)format("woff2");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;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/4fa387ec64143e14-s.0wkzw~je483f-.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/6306c77e7c8268e4-s.0rhz0arwfsn~5.woff2)format("woff2");unicode-range:U+2000-2001,U+2004-2008,U+200A,U+23B8-23BD,U+2500-259F}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/7d817b4c03b0c5f1-s.0l76wvqk9d84w.woff2)format("woff2");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;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/bbc41e54d2fcbd21-s.0k4k9394f2q-k.woff2)format("woff2");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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/797e433ab948586e-s.p.08e28id.o-okb.woff2)format("woff2");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:Geist Mono Fallback;src:local(Arial);ascent-override:74.67%;descent-override:21.92%;line-gap-override:0.0%;size-adjust:134.59%}.geist_mono_8d43a2aa-module__8Li5zG__className{font-family:Geist Mono,Geist Mono Fallback;font-style:normal}.geist_mono_8d43a2aa-module__8Li5zG__variable{--font-geist-mono:"Geist Mono", "Geist Mono Fallback"}
@font-face{font-family:Archivo;font-style:normal;font-weight:100 900;font-stretch:100%;font-display:swap;src:url(../media/a2947afc6a06879b-s.0gz0.h24vv934.woff2)format("woff2");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:Archivo;font-style:normal;font-weight:100 900;font-stretch:100%;font-display:swap;src:url(../media/651aaf1801011892-s.p.0_pfzm~5i7__8.woff2)format("woff2");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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Archivo;font-style:normal;font-weight:100 900;font-stretch:100%;font-display:swap;src:url(../media/75affa71d1e2f6a7-s.p.0e5c5_wyqqx75.woff2)format("woff2");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:Archivo Fallback;src:local(Arial);ascent-override:88.96%;descent-override:21.28%;line-gap-override:0.0%;size-adjust:98.7%}.archivo_6238cd62-module__S7TORG__className{font-family:Archivo,Archivo Fallback;font-style:normal}.archivo_6238cd62-module__S7TORG__variable{--font-archivo:"Archivo", "Archivo Fallback"}
@font-face{font-family:Doto;font-style:normal;font-weight:700;font-display:swap;src:url(../media/dc2ba63e1aa1faf0-s.0n060_w~50730.woff2)format("woff2");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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Doto;font-style:normal;font-weight:700;font-display:swap;src:url(../media/0e54dc4a88da75bb-s.p.06vkzv72tswuw.woff2)format("woff2");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:Doto;font-style:normal;font-weight:900;font-display:swap;src:url(../media/dc2ba63e1aa1faf0-s.0n060_w~50730.woff2)format("woff2");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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Doto;font-style:normal;font-weight:900;font-display:swap;src:url(../media/0e54dc4a88da75bb-s.p.06vkzv72tswuw.woff2)format("woff2");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:Doto Fallback;src:local(Arial);ascent-override:70.59%;descent-override:18.58%;line-gap-override:0.0%;size-adjust:134.59%}.doto_55c60466-module__ijiceW__className{font-family:Doto,Doto Fallback;font-style:normal}.doto_55c60466-module__ijiceW__variable{--font-doto:"Doto", "Doto Fallback"}
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){:root,:host{--walked:0}*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-border-style:solid;--tw-leading:initial;--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-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-duration:initial;--tw-content:""}}}@layer theme{:root,:host{--font-sans:var(--font-geist-sans);--font-mono:var(--font-geist-mono);--spacing:.25rem;--container-xs:20rem;--container-xl:36rem;--container-2xl:42rem;--container-6xl:72rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-base:1rem;--text-base--line-height:calc(1.5 / 1);--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--text-2xl:1.5rem;--text-2xl--line-height:calc(2 / 1.5);--text-3xl:1.875rem;--text-3xl--line-height:calc(2.25 / 1.875);--font-weight-medium:500;--font-weight-bold:700;--leading-relaxed:1.625;--radius-2xl:1rem;--radius-3xl:1.5rem;--ease-out:cubic-bezier(0, 0, .2, 1);--ease-in-out:cubic-bezier(.4, 0, .2, 1);--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-geist-sans);--default-mono-font-family:var(--font-geist-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.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}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.inset-x-3{inset-inline:calc(var(--spacing) * 3)}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.top-1{top:calc(var(--spacing) * 1)}.top-16{top:calc(var(--spacing) * 16)}.top-24{top:calc(var(--spacing) * 24)}.right-1{right:calc(var(--spacing) * 1)}.z-10{z-index:10}.mx-auto{margin-inline:auto}.\!mt-0{margin-top:calc(var(--spacing) * 0)!important}.-mt-4{margin-top:calc(var(--spacing) * -4)}.mt-1{margin-top:calc(var(--spacing) * 1)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mt-5{margin-top:calc(var(--spacing) * 5)}.mt-6{margin-top:calc(var(--spacing) * 6)}.mt-8{margin-top:calc(var(--spacing) * 8)}.mt-10{margin-top:calc(var(--spacing) * 10)}.mt-16{margin-top:calc(var(--spacing) * 16)}.mt-\[clamp\(4rem\,10vh\,7rem\)\]{margin-top:clamp(4rem,10vh,7rem)}.mt-auto{margin-top:auto}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.mb-5{margin-bottom:calc(var(--spacing) * 5)}.mb-6{margin-bottom:calc(var(--spacing) * 6)}.mb-8{margin-bottom:calc(var(--spacing) * 8)}.mb-10{margin-bottom:calc(var(--spacing) * 10)}.mb-12{margin-bottom:calc(var(--spacing) * 12)}.ml-1{margin-left:calc(var(--spacing) * 1)}.ml-4{margin-left:calc(var(--spacing) * 4)}.ml-auto{margin-left:auto}.line-clamp-3{-webkit-line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.table{display:table}.\!h-9{height:calc(var(--spacing) * 9)!important}.\!h-10{height:calc(var(--spacing) * 10)!important}.h-1\.5{height:calc(var(--spacing) * 1.5)}.h-4{height:calc(var(--spacing) * 4)}.h-5{height:calc(var(--spacing) * 5)}.h-8{height:calc(var(--spacing) * 8)}.h-10{height:calc(var(--spacing) * 10)}.h-11{height:calc(var(--spacing) * 11)}.h-16{height:calc(var(--spacing) * 16)}.h-full{height:100%}.min-h-full{min-height:100%}.w-1\.5{width:calc(var(--spacing) * 1.5)}.w-4{width:calc(var(--spacing) * 4)}.w-5{width:calc(var(--spacing) * 5)}.w-8{width:calc(var(--spacing) * 8)}.w-10{width:calc(var(--spacing) * 10)}.w-11{width:calc(var(--spacing) * 11)}.w-16{width:calc(var(--spacing) * 16)}.w-52{width:calc(var(--spacing) * 52)}.w-full{width:100%}.max-w-2xl{max-width:var(--container-2xl)}.max-w-6xl{max-width:var(--container-6xl)}.max-w-\[720px\]{max-width:720px}.max-w-full{max-width:100%}.max-w-xl{max-width:var(--container-xl)}.max-w-xs{max-width:var(--container-xs)}.min-w-0{min-width:calc(var(--spacing) * 0)}.flex-1{flex:1}.shrink-0{flex-shrink:0}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.cursor-pointer{cursor:pointer}.resize{resize:both}.resize-none{resize:none}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-end{align-items:flex-end}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-1{gap:calc(var(--spacing) * 1)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-5{gap:calc(var(--spacing) * 5)}.gap-10{gap:calc(var(--spacing) * 10)}.gap-12{gap:calc(var(--spacing) * 12)}.gap-\[clamp\(4rem\,10vh\,8rem\)\]{gap:clamp(4rem,10vh,8rem)}:where(.space-y-1\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 1.5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 1.5) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse)))}.gap-x-3{column-gap:calc(var(--spacing) * 3)}.gap-x-12{column-gap:calc(var(--spacing) * 12)}.gap-y-1{row-gap:calc(var(--spacing) * 1)}.gap-y-2{row-gap:calc(var(--spacing) * 2)}.self-end{align-self:flex-end}.self-start{align-self:flex-start}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-hidden{overflow:hidden}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-3xl{border-radius:var(--radius-3xl)}.rounded-full{border-radius:3.40282e38px}.border{border-style:var(--tw-border-style);border-width:1px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-accent{border-color:var(--accent)}.border-border{border-color:var(--border)}.bg-\[var\(--surface\)\]{background-color:var(--surface)}.bg-accent{background-color:var(--accent)}.bg-accent-soft{background-color:var(--accent-soft)}.object-cover{object-fit:cover}.\!p-0{padding:calc(var(--spacing) * 0)!important}.p-4{padding:calc(var(--spacing) * 4)}.p-6{padding:calc(var(--spacing) * 6)}.\!px-4{padding-inline:calc(var(--spacing) * 4)!important}.\!px-5{padding-inline:calc(var(--spacing) * 5)!important}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-5{padding-inline:calc(var(--spacing) * 5)}.px-\[clamp\(1rem\,4vw\,3rem\)\]{padding-inline:clamp(1rem,4vw,3rem)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-4{padding-block:calc(var(--spacing) * 4)}.pt-3{padding-top:calc(var(--spacing) * 3)}.pt-14{padding-top:calc(var(--spacing) * 14)}.pb-5{padding-bottom:calc(var(--spacing) * 5)}.pb-8{padding-bottom:calc(var(--spacing) * 8)}.pb-24{padding-bottom:calc(var(--spacing) * 24)}.pb-\[0\.08em\]{padding-bottom:.08em}.pb-\[clamp\(5rem\,12vh\,8rem\)\]{padding-bottom:clamp(5rem,12vh,8rem)}.text-center{text-align:center}.align-top{vertical-align:top}.font-\[family-name\:var\(--font-archivo\)\]{font-family:var(--font-archivo)}.\!text-2xl{font-size:var(--text-2xl)!important;line-height:var(--tw-leading,var(--text-2xl--line-height))!important}.\!text-sm{font-size:var(--text-sm)!important;line-height:var(--tw-leading,var(--text-sm--line-height))!important}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.tracking-\[-0\.03em\]{--tw-tracking:-.03em;letter-spacing:-.03em}.whitespace-nowrap{white-space:nowrap}.text-accent{color:var(--accent)}.text-accent-violet{color:var(--accent-violet)}.text-foreground,.text-primary{color:var(--foreground)}.text-secondary{color:var(--secondary)}.text-tertiary{color:var(--tertiary)}.lowercase{text-transform:lowercase}.italic{font-style:italic}.ordinal{--tw-ordinal:ordinal;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.underline{text-decoration-line:underline}.underline-offset-4{text-underline-offset:4px}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.accent-\[var\(--accent\)\]{accent-color:var(--accent)}.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_24px_60px_rgba\(0\,0\,0\,0\.55\)\]{--tw-shadow:0 24px 60px var(--tw-shadow-color,#0000008c);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-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,)}.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,)}.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))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-\(--dur-fast\){--tw-duration:var(--dur-fast);transition-duration:var(--dur-fast)}@media (hover:hover){.group-hover\:text-accent:is(:where(.group):hover *){color:var(--accent)}}.after\:absolute:after{content:var(--tw-content);position:absolute}.after\:inset-0:after{content:var(--tw-content);inset:calc(var(--spacing) * 0)}@media (hover:hover){.hover\:border-accent:hover{border-color:var(--accent)}.hover\:bg-accent-soft:hover{background-color:var(--accent-soft)}.hover\:text-accent:hover{color:var(--accent)}.hover\:underline:hover{text-decoration-line:underline}}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}.aria-\[current\=true\]\:bg-accent-soft[aria-current=true]{background-color:var(--accent-soft)}.aria-\[current\=true\]\:text-accent[aria-current=true]{color:var(--accent)}@media (min-width:40rem){.sm\:block{display:block}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.sm\:flex-row{flex-direction:row}.sm\:items-center{align-items:center}.sm\:justify-between{justify-content:space-between}.sm\:p-8{padding:calc(var(--spacing) * 8)}.sm\:pb-32{padding-bottom:calc(var(--spacing) * 32)}.sm\:\!text-3xl{font-size:var(--text-3xl)!important;line-height:var(--tw-leading,var(--text-3xl--line-height))!important}.sm\:text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.sm\:text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.sm\:text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.sm\:text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.sm\:whitespace-nowrap{white-space:nowrap}}@media (min-width:48rem){.md\:flex-row{flex-direction:row}.md\:items-start{align-items:flex-start}.md\:justify-between{justify-content:space-between}}@media (min-width:64rem){.lg\:block{display:block}.lg\:flex{display:flex}.lg\:hidden{display:none}.lg\:gap-12{gap:calc(var(--spacing) * 12)}}}.badge{border:1px solid var(--border);color:var(--secondary);white-space:nowrap;border-radius:999px;align-items:center;gap:.4rem;padding:.3rem .75rem;font-size:.78rem;line-height:1.2;display:inline-flex}.badge-neutral{background:0 0}.badge-featured{border-color:var(--accent)}@supports (color:color-mix(in lab, red, red)){.badge-featured{border-color:color-mix(in srgb, var(--accent) 45%, var(--border))}}.badge-featured{color:var(--accent)}.badge-technology{--tech-color:var(--badge-technology-fallback)}.badge-technology:before{background:var(--tech-color);content:"";border-radius:50%;width:6px;height:6px}.language-dot{--language-color:var(--language-fallback);background:var(--language-color);border-radius:9999px;width:.625rem;height:.625rem;display:inline-block}.badge-technology[data-tech=TypeScript],.language-dot[data-language=TypeScript]{--tech-color:#3178c6;--language-color:#3178c6}.badge-technology[data-tech=JavaScript],.language-dot[data-language=JavaScript]{--tech-color:#f1e05a;--language-color:#f1e05a}.badge-technology[data-tech=Python],.language-dot[data-language=Python]{--tech-color:#3572a5;--language-color:#3572a5}.badge-technology[data-tech="C++"],.language-dot[data-language="C++"]{--tech-color:#f34b7d;--language-color:#f34b7d}.badge-technology[data-tech=C],.language-dot[data-language=C]{--tech-color:#6b7280;--language-color:#555}.language-dot[data-language=Rust]{--language-color:var(--accent-violet)}.language-dot[data-language=Go]{--language-color:#00add8}.language-dot[data-language=HTML]{--language-color:var(--accent-violet)}.language-dot[data-language=CSS]{--language-color:#563d7c}.language-dot[data-language=Shell]{--language-color:#89e051}.badge-technology[data-tech=React]{--tech-color:#149eca}.badge-technology[data-tech=Next\.js]{--tech-color:#475569}.badge-technology[data-tech=Node\.js]{--tech-color:#43853d}.badge-technology[data-tech=Tailwind\ CSS]{--tech-color:#06b6d4}.badge-technology[data-tech=API\ Google]{--tech-color:#4285f4}.badge-technology[data-tech=Blockchain],.badge-technology[data-tech=Cryptomonnaie],.badge-technology[data-tech=Objectifs\ personnels]{--tech-color:var(--accent-violet)}.badge-technology[data-tech=Marketing]{--tech-color:#db2777}.badge-technology[data-tech=Communication]{--tech-color:#0f766e}.badge-technology[data-tech=Bachelor]{--tech-color:#2563eb}.badge-technology[data-tech=Programmation]{--tech-color:#4f46e5}.badge-technology[data-tech=Développement\ web]{--tech-color:#0891b2}.badge-technology[data-tech=Projets],.badge-technology[data-tech=Communauté],.badge-technology[data-tech=Satisfaction\ client]{--tech-color:#16a34a}.badge-technology[data-tech=Endurance],.badge-technology[data-tech="Leadership d'équipe"]{--tech-color:#dc2626}.badge-technology[data-tech=Discipline]{--tech-color:#9333ea}.badge-technology[data-tech="Gestion des stocks"]{--tech-color:#64748b}.badge-technology[data-tech="Mise en rayon"]{--tech-color:#475569}.badge-technology[data-tech=Anglais]{--tech-color:#0284c7}.badge-technology[data-tech="Gestion d'équipe"]{--tech-color:var(--accent-violet)}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--background:#08080a;--surface:#111114;--foreground:#f3f0ea;--secondary:#aaa69e;--tertiary:#8e8a83;--border:#232327;--accent:#4d8dff;--accent-strong:#2563eb;--accent-soft:#4d8dff24;--accent-violet:#8b7dff;--accent-violet-soft:var(--accent-violet)}@supports (color:color-mix(in lab, red, red)){:root{--accent-violet-soft:color-mix(in srgb, var(--accent-violet) 14%, transparent)}}:root{--cta-size:clamp(2.6rem, 1rem + 7vw, 7rem);--badge-bg:#1b1b1f;--badge-technology-fallback:#aaa69e;--language-fallback:#aaa69e}body{background:var(--background);color:var(--foreground);font-family:var(--font-sans,system-ui, -apple-system, sans-serif);overflow-x:clip}::selection{background:var(--accent);color:var(--background)}html{scrollbar-color:#3a3a40 var(--background);caret-color:var(--accent);accent-color:var(--accent);background:var(--background);scroll-padding-top:5rem;overflow-x:clip}@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}a,button,.badge,[class*=border-accent],[class*=text-accent]{transition-property:color,border-color,background-color;transition-duration:var(--dur-fast);transition-timing-function:var(--ease-out)}:where(a,button,input,select,textarea,summary,[tabindex]):focus-visible{outline:2px solid var(--accent);outline-offset:2px}.skip-link{z-index:100;background:var(--accent);color:var(--background);border-radius:.25rem;padding:.5rem 1rem;font-size:.875rem;font-weight:500;position:absolute;top:-3rem;left:1rem}.skip-link:focus{top:.75rem}.card{transition:transform var(--dur-fast) var(--ease-out), box-shadow var(--dur-fast) var(--ease-out)}.card:hover{transform:translateY(-3px);box-shadow:0 6px 20px #0000001f}.fade-in{opacity:0;transform:translateY(var(--reveal-y));transition:opacity var(--dur-slow) var(--ease-out), transform var(--dur-slow) var(--ease-out);transition-delay:calc(var(--i,0) * var(--stagger))}.fade-in.visible{opacity:1;transform:translateY(0)}.settings-panel{background:var(--surface);border:1px solid var(--border);z-index:100;width:260px;animation:panel-in var(--dur-fast) var(--ease-out);border-radius:1.25rem;padding:1.25rem;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 20px 50px -12px #000000b3}@keyframes panel-in{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}@media (max-width:640px){.settings-panel{border-radius:1.5rem 1.5rem 0 0;width:100%;padding:1.5rem;position:fixed;inset:auto 0 0}}.chip,.tag{border:1px solid var(--border);color:var(--secondary);white-space:nowrap;border-radius:999px;align-items:center;gap:.4rem;padding:.3rem .75rem;font-size:.78rem;line-height:1.2;display:inline-flex}.panel{border:1px solid var(--border);background:var(--surface);transition:border-color var(--dur-fast) var(--ease-out);border-radius:1.5rem;padding:clamp(1.15rem,.85rem + 1vw,1.75rem);position:relative}.panel:hover{border-color:var(--accent)}@supports (color:color-mix(in lab, red, red)){.panel:hover{border-color:color-mix(in srgb, var(--accent) 45%, var(--border))}}.panel-title{font-family:var(--font-archivo), system-ui, sans-serif;letter-spacing:-.03em;color:var(--foreground);font-size:clamp(1.1rem,1rem + .45vw,1.35rem);font-weight:700;line-height:1.2}.field{border:1px solid var(--border);background:var(--surface);width:100%;color:var(--foreground);transition:border-color var(--dur-fast) var(--ease-out), box-shadow var(--dur-fast) var(--ease-out);border-radius:.9rem;padding:.8rem 1rem;font-size:.95rem}.field::placeholder{color:var(--tertiary)}.field:hover{border-color:var(--foreground)}@supports (color:color-mix(in lab, red, red)){.field:hover{border-color:color-mix(in srgb, var(--foreground) 18%, var(--border))}}.field:focus{border-color:var(--accent);box-shadow:0 0 0 4px var(--accent-soft);outline:none}.page-header{isolation:isolate;padding:clamp(3rem,2rem + 5vw,6.5rem) 0 clamp(2.5rem,2rem + 2vw,4rem);position:relative}.page-glow{z-index:-1;aspect-ratio:2;background:radial-gradient(ellipse at center, var(--accent), transparent 62%);width:min(60rem,140vw);position:absolute;top:-9rem;left:-12rem}@supports (color:color-mix(in lab, red, red)){.page-glow{background:radial-gradient(ellipse at center, color-mix(in srgb, var(--accent) 16%, transparent), transparent 62%)}}.page-glow{pointer-events:none}.page-title{letter-spacing:-.055em;font-size:clamp(2.75rem,1rem + 7vw,6.5rem);font-weight:700;line-height:.95}.page-title.is-compact{letter-spacing:-.045em;font-size:clamp(2rem,1rem + 3.6vw,3.75rem);line-height:1.02}.page-subtitle{max-width:40rem;color:var(--secondary);margin-top:1.25rem;font-size:clamp(1rem,.9rem + .5vw,1.25rem);line-height:1.5}.timeline{flex-direction:column;gap:1.25rem;padding-left:2.25rem;display:flex;position:relative}.timeline-rail{pointer-events:none;width:2px;position:absolute;top:.5rem;bottom:.5rem;left:.55rem;container-type:size}.timeline-track,.timeline-fill{border-radius:2px;position:absolute;inset:0}.timeline-track{background:var(--border)}.timeline-fill{background:var(--accent-violet);transform-origin:top}.timeline-head{display:none}@supports (animation-timeline:view()){@media (prefers-reduced-motion:no-preference){.timeline{view-timeline:--frise block}.timeline-fill,.timeline-head{animation-timing-function:linear;animation-fill-mode:both;animation-timeline:--frise;animation-range:cover 15% cover 75%}.timeline-fill{animation-name:frise-fill}.timeline-head{background:var(--accent-violet);width:.8rem;height:.8rem;box-shadow:0 0 0 4px var(--background);border-radius:50%;animation-name:frise-head;display:block;position:absolute;top:-.4rem;left:calc(50% - .4rem)}}}@keyframes frise-fill{0%{transform:scaleY(0)}to{transform:scaleY(1)}}@keyframes frise-head{0%{transform:translateY(0)}to{transform:translateY(100cqh)}}.timeline-item{position:relative}.timeline-rail{z-index:1}.timeline-dot{background:var(--background);border:2px solid var(--foreground);border-radius:50%;width:.85rem;height:.85rem;position:absolute;top:1.75rem;left:-2.1rem}@supports (color:color-mix(in lab, red, red)){.timeline-dot{border:2px solid color-mix(in srgb, var(--foreground) 30%, transparent)}}.timeline-photos{grid-template-columns:repeat(auto-fill,minmax(9rem,1fr));gap:.5rem;display:grid}.timeline-photos li{aspect-ratio:16/10;border:1px solid var(--border);border-radius:.9rem;overflow:hidden}@media (prefers-reduced-motion:reduce){.timeline-fill{transform:none!important}}.proj-num-inline{font-family:var(--font-doto), ui-monospace, monospace;color:var(--accent);font-size:clamp(3rem,2rem + 4vw,5rem);font-weight:900;line-height:1}footer{border-top:1px solid var(--border)}@supports (color:color-mix(in lab, red, red)){footer{border-top:1px solid color-mix(in srgb, var(--border) 50%, transparent)}}footer,footer a{color:var(--tertiary);font-size:.82rem}footer a:hover{color:var(--accent)}.footer-bottom{color:var(--tertiary);font-size:.75rem}.contact-form-panel{max-width:40rem}h1,h2,.display{font-family:var(--font-archivo), system-ui, sans-serif;letter-spacing:-.03em}.eyebrow{font-family:var(--font-geist-mono), ui-monospace, monospace;letter-spacing:.16em;text-transform:uppercase;color:var(--secondary);font-size:.7rem;font-weight:500}.btn-pill,.btn-ghost{letter-spacing:-.01em;height:3rem;transition:transform var(--dur-nudge) var(--ease-out), background-color var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out), box-shadow var(--dur-nudge) var(--ease-out);border-radius:999px;align-items:center;gap:.55rem;padding:0 1.5rem;font-size:.95rem;font-weight:500;display:inline-flex}.btn-pill{background:var(--accent-strong);color:#fff;box-shadow:0 0 #0000}.btn-pill:hover{box-shadow:0 10px 40px -8px var(--accent);transform:translateY(-2px)}@supports (color:color-mix(in lab, red, red)){.btn-pill:hover{box-shadow:0 10px 40px -8px color-mix(in srgb, var(--accent) 70%, transparent)}}.btn-ghost{border:1px solid var(--foreground)}@supports (color:color-mix(in lab, red, red)){.btn-ghost{border:1px solid color-mix(in srgb, var(--foreground) 16%, transparent)}}.btn-ghost{color:var(--foreground)}.btn-ghost:hover{border-color:var(--accent);color:var(--accent)}.btn-pill .arrow,.btn-ghost .arrow{transition:transform var(--dur-nudge) var(--ease-out)}.btn-pill:hover .arrow,.btn-ghost:hover .arrow{transform:translate(3px)}.availability{color:var(--secondary);align-items:center;gap:.5rem;margin:1.25rem 0;font-size:.82rem;display:inline-flex}.availability-dot{background:#3ddc84;border-radius:50%;flex-shrink:0;width:8px;height:8px;animation:1.6s ease-in-out infinite blink-dot;position:relative}.availability-dot:after{content:"";background:#3ddc84;border-radius:50%;animation:1.6s cubic-bezier(0,0,.2,1) infinite ping-dot;position:absolute;inset:0}.availability-dot.busy{background:var(--tertiary);animation:none}.availability-dot.busy:after{display:none}@keyframes blink-dot{0%,to{opacity:1}50%{opacity:.35}}@keyframes ping-dot{0%{opacity:.7;transform:scale(1)}to{opacity:0;transform:scale(2.8)}}.avail-pill{border:1px solid var(--border);background:var(--surface);border-radius:999px;align-items:center;gap:.7rem;padding:.35rem 1rem .35rem .35rem;display:inline-flex}@supports (color:color-mix(in lab, red, red)){.avail-pill{background:color-mix(in srgb, var(--surface) 70%, transparent)}}.avail-pill{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.avail-pill img{border-radius:999px}@media (max-width:639px){.avail-pill{text-align:left;border-radius:1.25rem;padding-left:1rem}}.hero-screen{isolation:isolate;flex-direction:column;justify-content:center;min-height:100svh;margin-top:-4rem;padding-top:6rem;padding-bottom:4rem;display:flex;position:relative;overflow:clip}.hero-bg{z-index:-1;pointer-events:none;position:absolute;inset:0;overflow:hidden}.logo-stars{width:100%;height:100%;position:absolute;inset:0;-webkit-mask-image:radial-gradient(80% 70% at 50% 45%,#000 25%,#0000 80%);mask-image:radial-gradient(80% 70% at 50% 45%,#000 25%,#0000 80%)}.hero-glow{aspect-ratio:2;background:radial-gradient(ellipse at center, var(--accent), transparent 62%);width:min(70rem,140vw);position:absolute;top:38%;left:50%;translate:-50% -50%}@supports (color:color-mix(in lab, red, red)){.hero-glow{background:radial-gradient(ellipse at center, color-mix(in srgb, var(--accent) 22%, transparent), transparent 62%)}}.hero-name{letter-spacing:-.055em;text-wrap:balance;font-size:clamp(3rem,1rem + 10vw,9rem);font-weight:700;line-height:.95}.hero-role-hl{color:var(--accent)}.reveal-line{padding-bottom:.08em;display:block;overflow:hidden}.reveal-line>span{animation:rise var(--dur-slow) var(--ease-out) forwards;animation-delay:var(--d,0s);display:inline-block;transform:translateY(105%)}.reveal-soft{opacity:0;animation:soft-in var(--dur-slow) var(--ease-out) forwards;animation-delay:var(--d,0s);transform:translateY(14px)}@keyframes rise{to{transform:translateY(0)}}@keyframes soft-in{to{opacity:1;transform:translateY(0)}}.brief-text{max-width:32rem;color:var(--secondary)}.section-head{justify-content:space-between;align-items:flex-end;gap:1.5rem;margin-bottom:3rem;display:flex}@media (max-width:767px){.section-head{flex-direction:column;align-items:flex-start}}.section-eyebrow{align-items:center;gap:.6rem;margin-bottom:1rem;display:inline-flex}.section-eyebrow:before{content:"";background:var(--accent);border-radius:2px;width:6px;height:6px}.section-title{letter-spacing:-.045em;color:var(--foreground);font-size:clamp(2rem,1.2rem + 3.6vw,3.6rem);font-weight:700;line-height:1}.section-subtitle{max-width:34rem;color:var(--secondary);margin-top:.9rem;font-size:.95rem}.proj-card{border:1px solid var(--border);background:var(--surface);transition:border-color var(--dur-nudge) var(--ease-out), transform var(--dur-nudge) var(--ease-out);border-radius:1.75rem;display:grid;position:relative;overflow:hidden}@media (min-width:768px){.proj-card{grid-template-columns:1.15fr 1fr;min-height:19rem}.proj-card.is-flipped{grid-template-columns:1fr 1.15fr}.proj-card.is-flipped .proj-visual{order:-1}}.proj-card:hover{border-color:var(--c1)}@supports (color:color-mix(in lab, red, red)){.proj-card:hover{border-color:color-mix(in srgb, var(--c1) 50%, var(--border))}}@media (min-width:768px){.showcase-card{min-height:min(34rem,70vh)}.showcase-card .proj-body{justify-content:center;gap:1.25rem;padding:clamp(2rem,1rem + 3vw,3.5rem)}}.showcase-card .proj-visual{min-height:15rem}@media (min-width:768px){.showcase-card.is-flipped .proj-visual{order:1}}.showcase-card .proj-title{font-size:clamp(1.9rem,1.2rem + 2.6vw,3.4rem);line-height:1}.showcase-card .proj-num{font-size:clamp(6rem,3rem + 9vw,12rem)}.proj-glow{z-index:0;background:radial-gradient(circle at 70% 70%, var(--c2), transparent 60%);position:absolute;inset:-20%}@supports (color:color-mix(in lab, red, red)){.proj-glow{background:radial-gradient(circle at 70% 70%, color-mix(in srgb, var(--c2) 55%, transparent), transparent 60%)}}@media (prefers-reduced-motion:reduce){.showcase-card .proj-num,.showcase-card .proj-glow,.showcase-anim{opacity:1!important;transform:scale(1)!important}}.proj-featured{z-index:2;border-color:var(--c1);position:absolute;top:1.25rem;right:1.25rem}@supports (color:color-mix(in lab, red, red)){.proj-featured{border-color:color-mix(in srgb, var(--c1) 60%, transparent)}}.proj-featured{background:var(--background)}@supports (color:color-mix(in lab, red, red)){.proj-featured{background:color-mix(in srgb, var(--background) 55%, transparent)}}.proj-featured{color:var(--foreground)}.proj-body{flex-direction:column;gap:1rem;padding:clamp(1.5rem,1rem + 2vw,2.5rem);display:flex}.proj-title{font-family:var(--font-archivo), system-ui, sans-serif;letter-spacing:-.04em;color:var(--foreground);font-size:clamp(1.6rem,1.1rem + 1.8vw,2.4rem);font-weight:700;line-height:1.05}.proj-tagline{max-width:30rem;color:var(--secondary)}.proj-role{color:var(--secondary);font-size:.85rem}.proj-chips{flex-wrap:wrap;gap:.4rem;margin-top:auto;padding-top:.5rem;display:flex}.proj-chip{border:1px solid var(--border);color:var(--secondary);border-radius:999px;padding:.3rem .7rem;font-size:.78rem}.proj-cta{color:var(--foreground);align-items:center;gap:.5rem;font-size:.95rem;font-weight:500;display:inline-flex}.proj-cta .arrow{transition:transform var(--dur-nudge) var(--ease-out)}.proj-card:hover .proj-cta .arrow{transform:translate(4px)}.proj-card:hover .proj-cta{color:var(--c1)}.proj-visual{background:var(--c1);min-height:11rem;position:relative;overflow:hidden}@supports (color:color-mix(in lab, red, red)){.proj-visual{background:color-mix(in srgb, var(--c1) 8%, var(--background))}}.proj-visual:before,.proj-visual:after{content:"";aspect-ratio:1;filter:blur(48px);opacity:.55;border-radius:50%;width:75%;animation:14s ease-in-out infinite alternate orbit;position:absolute}.proj-visual:before{background:var(--c1);top:10%;left:-10%}.proj-visual:after{background:var(--c2);animation-delay:-7s;bottom:-25%;right:-15%}.proj-card:hover .proj-visual:before,.proj-card:hover .proj-visual:after{opacity:.8}@keyframes orbit{0%{transform:translate(0)scale(1)}to{transform:translate(18%,-12%)scale(1.15)}}.proj-dots{z-index:1;background-image:radial-gradient(#ffffff4d 1px,#0000 1.4px);background-size:14px 14px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(135deg,#000,#0000 75%);mask-image:linear-gradient(135deg,#000,#0000 75%)}.proj-num{z-index:2;font-family:var(--font-doto), ui-monospace, monospace;color:#ffffffe0;font-size:clamp(5rem,3rem + 7vw,9rem);font-weight:900;line-height:1;position:absolute;bottom:.5rem;right:1.25rem}.proj-kind{z-index:2;background:var(--background);border-radius:999px;padding:.35rem .75rem;position:absolute;top:1.25rem;left:1.25rem}@supports (color:color-mix(in lab, red, red)){.proj-kind{background:color-mix(in srgb, var(--background) 55%, transparent)}}.proj-kind{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:var(--foreground)}.cta-xl{font-family:var(--font-archivo), system-ui, sans-serif;font-weight:700;font-size:var(--cta-size);letter-spacing:-.055em;text-wrap:balance;line-height:.95}.cta-sub{margin-top:calc(var(--cta-size) * .32)}#contact-titre:lang(fr){margin-inline-start:calc(.07315rem - .0724em)}.dock{border:1px solid var(--foreground);align-items:center;gap:.15rem;padding:.3rem}@supports (color:color-mix(in lab, red, red)){.dock{border:1px solid color-mix(in srgb, var(--foreground) 10%, transparent)}}.dock{background:var(--surface);border-radius:999px}@supports (color:color-mix(in lab, red, red)){.dock{background:color-mix(in srgb, var(--surface) 62%, transparent)}}.dock{box-shadow:0 10px 40px -12px #0009, inset 0 1px 0 var(--foreground)}@supports (color:color-mix(in lab, red, red)){.dock{box-shadow:0 10px 40px -12px #0009, inset 0 1px 0 color-mix(in srgb, var(--foreground) 7%, transparent)}}.dock{-webkit-backdrop-filter:blur(18px)saturate(160%)}.nav-link{white-space:nowrap;color:var(--secondary);transition:color var(--dur-fast) var(--ease-out);border-radius:999px;padding:.5rem .95rem;font-size:.875rem;font-weight:500;position:relative}.nav-link:hover{color:var(--foreground)}.nav-link[aria-current]{color:var(--background)}.nav-active{background:var(--foreground);box-shadow:0 0 24px -4px var(--accent);border-radius:999px;position:absolute;inset:0}@supports (color:color-mix(in lab, red, red)){.nav-active{box-shadow:0 0 24px -4px color-mix(in srgb, var(--accent) 55%, transparent)}}.dock-sep{background:var(--foreground);width:1px;height:1.1rem;margin-inline:.35rem}@supports (color:color-mix(in lab, red, red)){.dock-sep{background:color-mix(in srgb, var(--foreground) 14%, transparent)}}.dock-icon{width:2.5rem;height:2.5rem;color:var(--secondary);transition:color var(--dur-fast) var(--ease-out);border-radius:999px;justify-content:center;align-items:center;display:inline-flex}.dock-icon:hover{color:var(--accent)}.lang-switch{font-family:var(--font-geist-mono), ui-monospace, monospace;letter-spacing:.08em;border-radius:999px;gap:.15rem;padding:.5rem .7rem;font-size:.72rem;font-weight:500;display:inline-flex}.lang-switch span{color:var(--tertiary);transition:color var(--dur-fast) var(--ease-out)}.lang-switch span[data-on]{color:var(--foreground)}.lang-switch span+span:before{content:"·";color:var(--tertiary);margin-right:.15rem}.lang-switch:hover span{color:var(--secondary)}.lang-switch:hover span[data-on]{color:var(--foreground)}.site-header{z-index:50;transition:transform var(--dur-base) var(--ease-out), opacity var(--dur-base) var(--ease-out);position:sticky;top:0}.site-header[data-hidden]{opacity:0;pointer-events:none;transform:translateY(-110%)}.site-header[data-hidden]:has([aria-expanded=true]){opacity:1;pointer-events:auto;transform:none}.wordmark{font-family:var(--font-archivo), system-ui, sans-serif;letter-spacing:-.06em;color:#0000;-webkit-text-stroke:1px var(--foreground);font-size:clamp(3rem,15vw,13rem);font-weight:800;line-height:.8}@supports (color:color-mix(in lab, red, red)){.wordmark{-webkit-text-stroke:1px color-mix(in srgb, var(--foreground) 22%, transparent)}}.wordmark{white-space:nowrap;-webkit-user-select:none;user-select:none}.scroll-progress{z-index:60;background:var(--accent-violet);transform-origin:0;pointer-events:none;height:2px;position:fixed;top:0;left:0;right:0;transform:scaleX(0)}.contact-links{flex-direction:column;gap:.6rem;display:flex}.contact-link{color:var(--secondary);transition:color var(--dur-fast);align-items:center;gap:.5rem;font-size:.85rem;text-decoration:none;display:inline-flex}.contact-link svg{flex-shrink:0;width:.95rem;height:.95rem}.contact-link:hover{color:var(--accent)}@supports (animation-timeline:scroll()){.scroll-progress{animation:linear both progress-grow;animation-timeline:scroll(root)}}@keyframes progress-grow{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}.fade-in{opacity:1;transform:none}.card:hover{box-shadow:none;transform:none}.availability-dot,.availability-dot:after,.hero-glow,.proj-visual:before,.proj-visual:after{animation:none}.reveal-line>span,.reveal-soft{opacity:1;animation:none;transform:none}}.prose{color:var(--secondary);font-size:1rem;line-height:1.75}.prose h2{color:var(--foreground);letter-spacing:-.035em;margin-top:3rem;margin-bottom:.9rem;scroll-margin-top:6rem;font-size:clamp(1.4rem,1.15rem + .9vw,1.9rem);font-weight:700;line-height:1.15}.prose-page{max-width:46rem}.prose p,.prose li{max-width:68ch}.prose h3{color:var(--foreground);margin-top:2rem;margin-bottom:.5rem;scroll-margin-top:6rem;font-size:1.1rem;font-weight:600}.prose p{margin-top:0;margin-bottom:1.25rem}.prose p:last-child{margin-bottom:0}.prose a{color:var(--accent);text-underline-offset:3px;text-decoration:underline;-webkit-text-decoration-color:var(--accent);-webkit-text-decoration-color:var(--accent);-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent)}@supports (color:color-mix(in lab, red, red)){.prose a{-webkit-text-decoration-color:color-mix(in srgb, var(--accent) 40%, transparent);-webkit-text-decoration-color:color-mix(in srgb, var(--accent) 40%, transparent);-webkit-text-decoration-color:color-mix(in srgb, var(--accent) 40%, transparent);text-decoration-color:color-mix(in srgb, var(--accent) 40%, transparent)}}.prose a{transition:text-decoration-color var(--dur-fast)}.prose a:hover{-webkit-text-decoration-color:var(--accent);-webkit-text-decoration-color:var(--accent);-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent)}.prose strong{color:var(--foreground);font-weight:600}.prose em{font-style:italic}.prose code{font-family:var(--font-mono,ui-monospace, SFMono-Regular, monospace);background:var(--badge-bg);color:var(--accent);border-radius:.25rem;padding:.15em .4em;font-size:.875em}.prose pre{background:var(--badge-bg);border:1px solid var(--border);border-radius:1rem;margin-bottom:1.25rem;padding:1.1rem 1.25rem;overflow-x:auto}.prose pre code{color:var(--foreground);background:0 0;padding:0}.prose ul,.prose ol{margin-bottom:1.25rem;padding-left:1.5rem}.prose ul{list-style-type:disc}.prose ol{list-style-type:decimal}.prose li{margin-bottom:.375rem}.prose blockquote{border-left:1px solid var(--border);color:var(--tertiary);margin:1.5rem 0;padding-left:1rem;font-style:italic}.prose hr{border:none;border-top:1px solid var(--border);margin:2rem 0}.page-bg{z-index:-1;pointer-events:none;background:radial-gradient(70% 55% at 12% 0%, var(--accent), transparent 70%), radial-gradient(60% 50% at 95% 100%, var(--accent-violet), transparent 70%), var(--background);height:100lvh;position:fixed;inset:0 0 auto}@supports (color:color-mix(in lab, red, red)){.page-bg{background:radial-gradient(70% 55% at 12% 0%, color-mix(in srgb, var(--accent) 9%, transparent), transparent 70%), radial-gradient(60% 50% at 95% 100%, color-mix(in srgb, var(--accent-violet) 7%, transparent), transparent 70%), var(--background)}}.blog-head{justify-content:space-between;align-items:flex-end;gap:1.5rem;display:flex}.blog-dots{gap:.5rem;margin-bottom:3rem;display:none}.blog-dots li{background:var(--border);border-radius:3px;width:2.5rem;height:3px}.blog-dots li:after{content:"";border-radius:inherit;background:var(--accent);transform-origin:0;height:100%;transition:transform var(--dur-base) var(--ease-out);display:block;transform:scaleX(0)}.blog-dots li[data-on]:after{transform:scaleX(1)}.blog-item{width:min(40rem,82vw)}.blog-visual{aspect-ratio:16/9;background:radial-gradient(120% 90% at 85% 10%, hsl(var(--h) 90% 62% / .38), transparent 60%), radial-gradient(90% 80% at 10% 100%, hsl(calc(var(--h) + 60) 85% 55% / .3), transparent 65%), var(--surface);position:relative;overflow:hidden}.blog-visual:after{content:"";background:linear-gradient(transparent 50%, var(--surface));pointer-events:none;position:absolute;inset:0}.blog-img{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.blog-num{z-index:1;font-family:var(--font-archivo), system-ui, sans-serif;letter-spacing:-.06em;color:#0000;-webkit-text-stroke:1px var(--foreground);font-size:clamp(4rem,12vw,7rem);font-weight:800;line-height:1;position:absolute;bottom:.5rem;left:1.25rem}@supports (color:color-mix(in lab, red, red)){.blog-num{-webkit-text-stroke:1px color-mix(in srgb, var(--foreground) 30%, transparent)}}.panel:hover .proj-cta .arrow{transform:translate(4px)}.blog-viewport{scroll-snap-type:x mandatory;scrollbar-width:none;padding-block:.5rem 1rem;overflow-x:auto}.blog-viewport::-webkit-scrollbar{display:none}.blog-rail{gap:1rem;width:max-content;padding-inline:clamp(1rem,4vw,3rem);display:flex}.blog-item{scroll-snap-align:center}.pin[data-pinned] .blog-dots{display:flex}.pin[data-pinned] .blog-viewport{padding:0;overflow:visible}.pin[data-pinned] .blog-rail{justify-items:center;width:auto;padding:0;display:grid}.pin[data-pinned] .blog-item{transition:opacity var(--dur-slow) var(--ease-out), transform var(--dur-slow) var(--ease-out);grid-area:1/1}.pin[data-pinned] .blog-item:not([data-on]){opacity:0;transform:translateX(28%) scale(var(--reveal-scale));pointer-events:none}.pin[data-pinned] .blog-item[data-past]{transform:translateX(-28%) scale(var(--reveal-scale))}.pin[data-pinned] .blog-item{width:min(64rem,88vw)}.pin[data-pinned] .blog-item>article{grid-template-columns:minmax(0,5fr) minmax(0,6fr);display:grid}.pin[data-pinned] .blog-visual{aspect-ratio:auto;min-height:100%}.pin[data-pinned] .blog-visual:after{background:linear-gradient(90deg, transparent 55%, var(--surface))}.pin[data-pinned]>.blog-stage{padding-block:clamp(4.5rem,10svh,6.5rem) clamp(1.5rem,4svh,2.5rem)}.pin{position:relative}.pin-sensor{pointer-events:none;width:1px;display:none;position:absolute;left:0}.pin-stage{flex-direction:column;justify-content:center;min-height:100svh;padding-block:clamp(5rem,12vh,8rem);display:flex;position:relative}@media (prefers-reduced-motion:no-preference) and (min-height:600px){.pin-all{height:calc(100svh + var(--range))}.pin-all>.pin-stage{height:100svh;min-height:0;position:sticky;top:0;overflow:clip}.pin-all>.pin-sensor{display:block}}@media (prefers-reduced-motion:no-preference) and (min-width:768px) and (min-height:600px){.pin-md{height:calc(100svh + var(--range))}.pin-md>.pin-stage{height:100svh;min-height:0;position:sticky;top:0;overflow:clip}.pin-md>.pin-sensor{display:block}}@media (prefers-reduced-motion:no-preference) and (min-width:1024px) and (min-height:700px){.pin-wide{height:calc(100svh + var(--range))}.pin-wide>.pin-stage{height:100svh;min-height:0;position:sticky;top:0;overflow:clip}.pin-wide>.pin-sensor{display:block}}.pin[data-pinned] .step{transition:opacity var(--dur-base) var(--ease-out), transform var(--dur-base) var(--ease-out)}.pin[data-pinned] .step:not([data-on]){opacity:0;transform:translateY(var(--reveal-y));pointer-events:none}.pin[data-offscreen] .pause-offscreen,.pin[data-offscreen] .pause-offscreen *{animation-play-state:paused}.screen{flex-direction:column;justify-content:center;min-height:100svh;padding-block:clamp(5rem,12vh,8rem);display:flex;position:relative}.shell{width:100%;max-width:72rem;margin-inline:auto;padding-inline:clamp(1rem,4vw,3rem)}.split{gap:2.5rem;display:grid}@media (min-width:1024px){.split{grid-template-columns:minmax(0,5fr) minmax(0,7fr);align-items:start;gap:clamp(3rem,6vw,6rem)}.split-aside{position:sticky;top:7rem}}.split-aside .section-head{margin-bottom:2rem}.manifesto{letter-spacing:-.055em;max-width:18ch;color:var(--foreground);font-size:clamp(2.6rem,1.2rem + 6vw,6.5rem);font-weight:700;line-height:.98}.mw{display:inline-block;position:relative}.mw[data-key]:after{content:attr(data-text);content:attr(data-text) / "";color:var(--kw);position:absolute;top:0;left:0}.mw[data-key] .mw-base{opacity:0}.mw[data-key="1"]{--kw:var(--accent)}.mw[data-key="2"]{--kw:var(--accent-violet)}.pin[data-pinned] .mw,.pin[data-pinned] .mw-base,.pin[data-pinned] .mw[data-key]:after{transition:opacity var(--dur-base) var(--ease-out), transform var(--dur-base) var(--ease-out)}.pin[data-pinned] .mw:not([data-on]){opacity:var(--dim);transform:translateY(.12em)}.pin[data-pinned] .mw[data-key]:not([data-on]) .mw-base{opacity:1}.pin[data-pinned] .mw[data-key]:not([data-on]):after{opacity:0}.manifesto-aside{align-items:center;gap:1.25rem;max-width:34rem;margin-top:clamp(2.5rem,6vh,4rem);display:flex}.journey-mac-only{display:none}@media (prefers-reduced-motion:no-preference) and (min-width:1024px) and (min-height:700px){.journey-mac-only{display:block}.journey-lite{display:none}.mac-card:not([data-on]){opacity:0;pointer-events:none}}.journey-stage{perspective:1800px;padding-block:0}@property --walked{syntax:"<number>";inherits:true;initial-value:0}.journey-scene{height:100%;transition:--walked var(--dur-slow) var(--ease-in-out);place-items:center;display:grid}.journey-head{z-index:0;text-align:center;pointer-events:none;position:absolute;top:clamp(4.5rem,12svh,7rem);left:0;right:0}.journey-head .section-subtitle{margin-inline:auto}.mac{--w:min(94vw, 150svh);width:var(--w);transform-origin:50% 60%;position:relative}.mac-screen{z-index:1;aspect-ratio:16/10;border:1px solid var(--foreground);border-radius:.9rem;position:relative;overflow:hidden;container-type:inline-size}@supports (color:color-mix(in lab, red, red)){.mac-screen{border:1px solid color-mix(in srgb, var(--foreground) 16%, transparent)}}.mac-screen{background:#000}.mac-bezel{border:1px solid var(--foreground);border-radius:1.5rem;position:absolute;inset:-.9rem}@supports (color:color-mix(in lab, red, red)){.mac-bezel{border:1px solid color-mix(in srgb, var(--foreground) 22%, transparent)}}.mac-bezel{background:#050507}.mac-bezel:after{content:"";background:#1b1b22;border-radius:50%;width:.35rem;height:.35rem;position:absolute;top:.32rem;left:50%;translate:-50%}.mac-base{border:1px solid var(--foreground);background:linear-gradient(#2a2a31,#101014);border-radius:0 0 1.2rem 1.2rem;height:.9rem;margin-top:.9rem;position:absolute;top:100%;left:-9%;right:-9%}@supports (color:color-mix(in lab, red, red)){.mac-base{border:1px solid color-mix(in srgb, var(--foreground) 12%, transparent)}}.mac-base{border-top:0}.mac-base:before{content:"";background:#0a0a0d;border-radius:0 0 .5rem .5rem;width:14%;height:.35rem;position:absolute;top:0;left:50%;translate:-50%}@supports (animation-timeline:view()){.journey-pin[data-pinned]{view-timeline:--journey block;view-timeline-inset:0}.journey-pin[data-pinned] .mac{animation:linear both mac-open;animation-timeline:--journey;animation-range:contain 0% contain calc(var(--open) * 100%)}.journey-pin[data-pinned] .mac-bezel,.journey-pin[data-pinned] .mac-base{animation:linear both fade-out;animation-timeline:--journey;animation-range:contain calc(var(--open) * 30%) contain calc(var(--open) * 100%)}.journey-pin[data-pinned] .journey-head{z-index:2;animation:linear both fade-up-out;animation-timeline:--journey;animation-range:contain 0% contain calc(var(--open) * 55%)}.journey-pin[data-pinned] .journey-scene{animation:linear both walk;animation-timeline:--journey;animation-range:contain calc(var(--walk-from) * 100%) contain calc(var(--walk-to) * 100%);transition:none}}@keyframes walk{0%{--walked:0}to{--walked:1}}@keyframes mac-open{0%{transform:translateY(7svh)rotateX(26deg)scale(.5)}to{transform:none}}@keyframes fade-out{to{opacity:0}}@keyframes fade-up-out{to{opacity:0;transform:translateY(-3rem)}}@supports not (animation-timeline:view()){.mac-bezel,.mac-base{opacity:0}}.mac-bar{border-bottom:1px solid var(--foreground);justify-content:space-between;align-items:center;height:3.1cqw;padding-inline:1.4cqw;display:flex}@supports (color:color-mix(in lab, red, red)){.mac-bar{border-bottom:1px solid color-mix(in srgb, var(--foreground) 10%, transparent)}}.mac-bar{font-family:var(--font-geist-mono), ui-monospace, monospace;color:var(--tertiary);background:#111114;font-size:.9cqw}.mac-lights{gap:.6cqw;display:flex}.mac-lights i{border-radius:50%;width:.95cqw;height:.95cqw}.mac-lights i:first-child{background:#ff5f57}.mac-lights i:nth-child(2){background:#febc2e}.mac-lights i:nth-child(3){background:#28c840}.mac-url{color:var(--secondary);background:#1c1c21;border-radius:999px;padding:.35cqw 2cqw}.mac-count{color:var(--secondary)}.mac-body{grid-template-rows:minmax(0,1fr) auto;height:calc(100% - 3.1cqw);padding:2.6cqw 3.6cqw 2cqw;display:grid}.mac-cards{min-height:0;display:grid;position:relative}.mac-card{grid-area:1/1;grid-template-columns:minmax(0,1fr) auto;align-content:center;gap:4cqw;display:grid}.mac-card-main{flex-direction:column;gap:1.2cqw;min-width:0;display:flex}.mac-sub{flex-wrap:wrap;align-items:baseline;gap:.4cqw 1.6cqw;display:flex}.mac-period{font-family:var(--font-geist-mono), ui-monospace, monospace;letter-spacing:.06em;text-transform:uppercase;color:var(--tertiary);font-size:1.05cqw}.mac-role{font-family:var(--font-archivo), system-ui, sans-serif;letter-spacing:-.05em;text-wrap:balance;font-size:5cqw;font-weight:700;line-height:.95}.mac-company{font-family:var(--font-archivo), system-ui, sans-serif;letter-spacing:-.02em;color:var(--foreground);font-size:2cqw;font-weight:600}.mac-desc{max-width:54cqw;color:var(--secondary);font-size:1.4cqw;line-height:1.55}.mac-links{flex-wrap:wrap;gap:.8cqw;display:flex}.mac-photos{align-self:center;gap:1cqw;width:22cqw;display:grid}.mac-photos li{aspect-ratio:16/10;border:1px solid var(--border);border-radius:1cqw;overflow:hidden}.key-phrase{color:var(--accent);font-weight:500}.mac-path{margin-top:1cqw;padding-bottom:3.6cqw;position:relative}.mac-path-svg{width:100%;height:auto;display:block;overflow:visible}.mac-path-rest{stroke:var(--foreground)}@supports (color:color-mix(in lab, red, red)){.mac-path-rest{stroke:color-mix(in srgb, var(--foreground) 25%, transparent)}}.mac-path-rest{stroke-width:2px;stroke-dasharray:2 9;stroke-linecap:round;vector-effect:non-scaling-stroke}.mac-path-done{stroke:var(--accent-violet);stroke-width:3px;stroke-linecap:round;vector-effect:non-scaling-stroke}.mac-walked-rect{transform-box:fill-box;transform-origin:0 0;transform:scaleX(calc((50 + var(--walked) * 900) / 950))}.mac-stops{position:absolute;inset:0 0 3.6cqw}.mac-stop{width:0;height:0;position:absolute}.mac-stop-btn{cursor:pointer;flex-direction:column;align-items:center;gap:.7cqw;width:20cqw;display:flex;position:absolute;top:-.65cqw;left:-10cqw}.mac-stop-dot{border:2px solid var(--foreground);width:1.3cqw;height:1.3cqw}@supports (color:color-mix(in lab, red, red)){.mac-stop-dot{border:2px solid color-mix(in srgb, var(--foreground) 40%, transparent)}}.mac-stop-dot{background:#000;border-radius:50%;position:relative}.mac-stop-dot:after{content:"";background:var(--accent-violet);opacity:clamp(0, (var(--walked) - var(--ti)) * 60 + 1, 1);border-radius:50%;position:absolute;inset:-2px}.mac-stop[data-current] .mac-stop-dot:after{box-shadow:0 0 0 .4cqw var(--accent-violet)}@supports (color:color-mix(in lab, red, red)){.mac-stop[data-current] .mac-stop-dot:after{box-shadow:0 0 0 .4cqw color-mix(in srgb, var(--accent-violet) 35%, transparent)}}.mac-stop-label{color:var(--tertiary);text-align:center;flex-direction:column;align-items:center;margin-top:1.7cqw;font-size:.95cqw;line-height:1.25;display:flex}.mac-stop-label b{color:var(--secondary);font-weight:600}.mac-stop[data-current] .mac-stop-label b{color:var(--foreground)}.mac-layer{pointer-events:none;position:absolute;inset:0 0 3.6cqw;container-type:size}.mac-walker{width:0;height:0;transform:translate(calc((5 + 90 * var(--walked)) * 1cqw), calc((70 + 34 * sin(var(--walked) * 8.16814 + .5)) / 1.4 * 1cqh));position:absolute;top:0;left:0}.mac-walker-img{object-fit:contain;width:4.2cqw;max-width:none;height:4.2cqw;animation:.8s ease-in-out infinite alternate walker-bob;position:absolute;top:-5.2cqw;left:-2.1cqw}.mac-walker.is-portrait .mac-walker-img{object-fit:cover;border:2px solid var(--foreground);box-shadow:0 0 0 4px var(--accent-violet);border-radius:50%}@supports (color:color-mix(in lab, red, red)){.mac-walker.is-portrait .mac-walker-img{box-shadow:0 0 0 4px color-mix(in srgb, var(--accent-violet) 45%, transparent)}}@keyframes walker-bob{0%{translate:0}to{translate:0 -.5cqw}}.orbit-grid{align-items:center;gap:2.5rem;display:grid}.orbit-grid>*{min-width:0}@media (min-width:1024px){.orbit-grid{grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:4rem}}.orbit-grid .section-head{margin-bottom:1.5rem}.orbit-domains{flex-direction:column;display:flex}.orbit-domain{border-top:1px solid var(--border);text-align:left;width:100%;color:var(--tertiary);cursor:pointer;transition:color var(--dur-fast) var(--ease-out), padding var(--dur-nudge) var(--ease-out);grid-template-columns:2.5rem 1fr;align-items:baseline;gap:.5rem;padding:.9rem 0;display:grid}.orbit-domain-num{font-family:var(--font-geist-mono), ui-monospace, monospace;font-variant-numeric:lining-nums tabular-nums;letter-spacing:.12em;font-size:.7rem}.orbit-domain-name{font-family:var(--font-archivo), system-ui, sans-serif;letter-spacing:-.03em;font-size:clamp(1.15rem,.9rem + 1vw,1.7rem);font-weight:650}.orbit-domain:hover{color:var(--secondary)}.orbit-domain[aria-pressed=true]{color:var(--foreground);box-shadow:inset 2px 0 0 var(--accent);padding-left:.6rem}.orbit-domain[aria-pressed=true] .orbit-domain-num{color:var(--accent)}@media (max-width:1023px){.orbit-domains{scrollbar-width:none;flex-direction:row;gap:.5rem;padding-bottom:.25rem;overflow-x:auto}.orbit-domain{border:1px solid var(--border);white-space:nowrap;border-radius:999px;gap:.5rem;width:auto;padding:.5rem 1rem;display:inline-flex}.orbit-domain-num{display:none}.orbit-domain-name{font-size:.95rem}.orbit-domain[aria-pressed=true]{box-shadow:none;border-color:var(--accent);padding-left:1rem}}.orbit{--orbit:min(clamp(17rem, 84vw, 36rem), 58svh);--tile:clamp(2.75rem, 7vw, 3.5rem);width:var(--orbit);height:var(--orbit);max-width:100%;margin-inline:auto;position:relative}.orbit:before,.orbit:after{content:"";border:1px solid var(--foreground);position:absolute;top:50%;left:50%}@supports (color:color-mix(in lab, red, red)){.orbit:before,.orbit:after{border:1px solid color-mix(in srgb, var(--foreground) 9%, transparent)}}.orbit:before,.orbit:after{border-radius:50%;translate:-50% -50%}.orbit:before{width:calc(var(--orbit) * .54);height:calc(var(--orbit) * .54)}.orbit:after{width:calc(var(--orbit) * .86);height:calc(var(--orbit) * .86);border-style:dashed}.orbit-set{position:absolute;inset:0}.orbit-core{text-align:center;animation:orbit-in var(--dur-base) var(--ease-out) both;place-content:center;justify-items:center;gap:.35rem;display:grid;position:absolute;inset:0}.orbit-core b{font-family:var(--font-archivo), system-ui, sans-serif;font-variant-numeric:lining-nums tabular-nums;letter-spacing:-.045em;color:var(--accent);font-size:clamp(2rem,1.2rem + 3.6vw,3.6rem);font-weight:700;line-height:1}.orbit-core span{font-family:var(--font-geist-mono), ui-monospace, monospace;letter-spacing:.16em;text-transform:uppercase;color:var(--secondary);font-size:.75rem}.orbit-ring{--r:calc(var(--orbit) * .27);animation:90s linear infinite orbit-spin;position:absolute;inset:0}.orbit-ring.is-outer{--r:calc(var(--orbit) * .43);animation-duration:140s;animation-direction:reverse}.orbit-item{width:0;height:0;transform:rotate(var(--a)) translateX(var(--r)) rotate(calc(var(--a) * -1));position:absolute;top:50%;left:50%}.orbit-upright{width:0;height:0;animation:90s linear infinite reverse orbit-spin;position:absolute;top:0;left:0}.orbit-ring.is-outer .orbit-upright{animation-duration:140s;animation-direction:normal}.orbit-tile{left:calc(var(--tile) / -2);top:calc(var(--tile) / -2);width:var(--tile);height:var(--tile);border:1px solid var(--foreground);place-items:center;display:grid;position:absolute}@supports (color:color-mix(in lab, red, red)){.orbit-tile{border:1px solid color-mix(in srgb, var(--foreground) 12%, transparent)}}.orbit-tile{background:var(--surface);border-radius:1rem}@supports (color:color-mix(in lab, red, red)){.orbit-tile{background:color-mix(in srgb, var(--surface) 80%, transparent)}}.orbit-tile{color:var(--foreground);animation:orbit-in var(--dur-base) var(--ease-out) both;animation-delay:calc(var(--i) * 45ms);transition:border-color var(--dur-fast) var(--ease-out);font-weight:600;box-shadow:0 8px 30px -10px #000000b3}.orbit-item:hover .orbit-tile{border-color:var(--accent)}.orbit-logo{background:var(--brand,currentColor);width:1.5rem;height:1.5rem;-webkit-mask:var(--logo) center / contain no-repeat;-webkit-mask:var(--logo) center / contain no-repeat;-webkit-mask:var(--logo) center / contain no-repeat;-webkit-mask:var(--logo) center / contain no-repeat;mask:var(--logo) center / contain no-repeat}.orbit-name{left:-3rem;top:calc(var(--tile) / 2 + .3rem);text-align:center;width:6rem;color:var(--secondary);pointer-events:none;font-size:.7rem;line-height:1.2;position:absolute}@keyframes orbit-spin{to{transform:rotate(360deg)}}@keyframes orbit-in{0%{opacity:0;scale:.6}to{opacity:1;scale:1}}@media (prefers-reduced-motion:reduce){.orbit-ring,.orbit-upright,.orbit-tile,.orbit-core{animation:none}}.edu-stage{padding-block:clamp(4.5rem,10svh,6.5rem) clamp(1.5rem,5svh,3rem)}.edu-grid{align-items:start;gap:clamp(1.25rem,3svh,2rem) clamp(1.5rem,3vw,2.5rem);display:grid}.edu-grid>*{min-width:0}.edu-head{flex-wrap:wrap;justify-content:space-between;align-items:end;gap:1rem 2rem;display:flex}@media (min-width:1024px){.edu-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-areas:"head head""studies certs"}.edu-head{grid-area:head}.edu-studies{grid-area:studies;align-self:stretch}.edu-certs{grid-area:certs;align-self:stretch}}@media (min-width:1024px) and (max-height:820px){.edu-panel{gap:.75rem;padding:1.1rem 1.4rem}.study{gap:.5rem}.study-desc{font-size:.92rem}.cred-row{padding-block:.6rem}}.edu-panel{border:1px solid var(--border);background:var(--surface);border-radius:1.5rem;flex-direction:column;gap:1.1rem;padding:clamp(1.25rem,2.5vw,2rem);display:flex}.study{flex-direction:column;flex:1;gap:.7rem;display:flex}.study-degree{font-family:var(--font-archivo), system-ui, sans-serif;letter-spacing:-.04em;font-size:clamp(1.7rem,1rem + 1.6vw,2.4rem);font-weight:700;line-height:1.05}.study-meta{color:var(--secondary);flex-wrap:wrap;align-items:baseline;gap:.5rem;font-size:1.05rem;display:flex}.study-school{color:var(--foreground);font-weight:600}a.study-school:hover{color:var(--accent)}.study-period{font-family:var(--font-geist-mono), ui-monospace, monospace;letter-spacing:.08em;text-transform:uppercase;color:var(--tertiary);font-size:.75rem;font-weight:500}.study-desc{max-width:34rem;color:var(--secondary);line-height:1.6}.study-project{border:1px solid var(--border);background:var(--background);transition:border-color var(--dur-fast) var(--ease-out);border-radius:1rem;flex-direction:column;gap:.3rem;margin-top:auto;padding:.9rem 1.1rem;display:flex}.study-project:hover{border-color:var(--accent)}@supports (color:color-mix(in lab, red, red)){.study-project:hover{border-color:color-mix(in srgb, var(--accent) 55%, var(--border))}}.study-project-title{font-family:var(--font-archivo), system-ui, sans-serif;letter-spacing:-.02em;font-size:1.05rem;font-weight:650}.domain-list{flex-wrap:wrap;gap:.4rem .5rem;display:flex}.domain{border:1px solid var(--tone);padding:.3rem .8rem}@supports (color:color-mix(in lab, red, red)){.domain{border:1px solid color-mix(in srgb, var(--tone) 45%, transparent)}}.domain{background:var(--tone);border-radius:999px}@supports (color:color-mix(in lab, red, red)){.domain{background:color-mix(in srgb, var(--tone) 10%, transparent)}}.domain{color:var(--tone);font-size:.85rem;font-weight:600}[data-tone=blue]{--tone:var(--accent)}[data-tone=violet]{--tone:var(--accent-violet)}.cred-list{flex-direction:column;display:flex}.cred-row{border-top:1px solid var(--border);align-items:center;gap:.9rem;padding-block:.85rem;display:flex}.cred-row:first-child{border-top:0;padding-top:.25rem}.cred-logo{border:1px solid var(--border);background:var(--background);border-radius:.75rem;flex-shrink:0;place-items:center;width:2.5rem;height:2.5rem;display:grid}.cred-logo svg{width:1.2rem;height:1.2rem}.cred-title{font-family:var(--font-archivo), system-ui, sans-serif;letter-spacing:-.02em;font-size:1.05rem;font-weight:650;line-height:1.2}.cred-link{white-space:nowrap;color:var(--accent);flex-shrink:0;font-size:.85rem;font-weight:500}.cred-link:hover{text-underline-offset:4px;text-decoration:underline}@media (max-width:539px){.cred-row{grid-template-columns:2.5rem minmax(0,1fr);align-items:start;gap:.35rem .9rem;display:grid}.cred-link{grid-column:2}}.media-slot{width:100%;height:auto;display:block}.proj-media{z-index:1;object-fit:cover;height:100%;position:absolute;inset:0}.media-slot.is-empty:has(.media-slot-label){outline:1px dashed var(--accent)}@supports (color:color-mix(in lab, red, red)){.media-slot.is-empty:has(.media-slot-label){outline:1px dashed color-mix(in srgb, var(--accent) 60%, transparent)}}.media-slot.is-empty:has(.media-slot-label){outline-offset:-.75rem}.media-slot-label{font-family:var(--font-geist-mono), ui-monospace, monospace;color:var(--accent);font-size:.7rem;position:absolute;bottom:1.25rem;left:1.25rem}@supports (animation-timeline:scroll()){@media (prefers-reduced-motion:no-preference){.hero-bg{animation:linear both hero-drift;animation-timeline:scroll(root);animation-range:0 100vh}.hero-content{animation:linear both hero-recede;animation-timeline:scroll(root);animation-range:0 90vh}}}@keyframes hero-drift{to{transform:translateY(30%)}}@keyframes hero-recede{to{opacity:0;transform:translateY(-8vh) scale(var(--reveal-scale))}}@supports (animation-timeline:view()){@media (prefers-reduced-motion:no-preference){.scale-in{animation:linear both scale-in;animation-timeline:view();animation-range:entry 10% cover 40%}}}@keyframes scale-in{0%{opacity:var(--dim);transform:scale(var(--reveal-scale))}to{opacity:1;transform:none}}.stack{flex-direction:column;gap:clamp(2rem,6vh,4rem);display:flex}.stack-card{position:relative}.stack-shade{z-index:3;background:var(--background);opacity:0;pointer-events:none;border-radius:1.75rem;position:absolute;inset:0}@media (min-width:1024px) and (min-height:700px) and (prefers-reduced-motion:no-preference){.stack-card{top:calc(6rem + var(--i,0) * 1.25rem);transform-origin:50% 0;position:sticky}@supports (animation-timeline:view()){.stack{timeline-scope:var(--scope)}.stack-card{view-timeline-name:var(--self)}.stack-card[data-recede]{animation:linear both card-recede;animation-timeline:var(--next);animation-range:entry}.stack-card[data-recede]>.stack-shade{animation:linear both shade-in;animation-timeline:var(--next);animation-range:entry}}}@keyframes card-recede{to{transform:scale(var(--reveal-scale))}}@keyframes shade-in{to{opacity:.1}}@supports (animation-timeline:view()){@media (prefers-reduced-motion:no-preference){.proj-num{animation:linear both num-drift;animation-timeline:view()}}}@keyframes num-drift{0%{transform:translateY(80px)}to{transform:translateY(-80px)}}.proj-dots,.proj-num,.proj-kind,.proj-glow,.media-slot.is-empty{pointer-events:none}@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-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@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-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-duration{syntax:"*";inherits:false}@property --tw-content{syntax:"*";inherits:false;initial-value:""}
