@property --accent-1{syntax:"<color>";inherits:true;initial-value:#22d3ee}@property --accent-2{syntax:"<color>";inherits:true;initial-value:#a3e635}@property --accent-3{syntax:"<color>";inherits:true;initial-value:#eab308}@property --accent-4{syntax:"<color>";inherits:true;initial-value:#06b6d4}@property --accent-text{syntax:"<color>";inherits:true;initial-value:#a3e635}:root{--color-bg:#18181b;--color-bg-translucent:#18181bd9;--color-surface:#09090b;--color-surface-translucent:#09090bd9;--color-surface-raised:#27272a;--color-border:#3f3f46;--color-border-strong:#71717a;--color-text:#fff;--color-text-muted:#a1a1aa;--color-text-subtle:#8e8e98;--color-on-accent:#09090b;--color-focus:#fff;--accent-1:#22d3ee;--accent-2:#a3e635;--accent-3:#eab308;--accent-4:#06b6d4;--accent-text:#a3e635;--accent-gradient:linear-gradient(to bottom right, var(--accent-2) 10%, var(--accent-4) 100%);--font-sans:"Urbanist", "Urbanist Fallback", Arial, sans-serif;--weight-regular:400;--weight-semibold:600;--weight-bold:700;--leading-none:1;--leading-tight:1.25;--leading-normal:1.5;--tracking-wide:.025em;--tracking-caps:.25rem;--text-display:clamp(3rem, 1.07143rem + 8.57143vw, 4.5rem);--text-h2:clamp(1.875rem, 1.39286rem + 2.14286vw, 2.25rem);--text-title-sm:clamp(1.125rem, .964286rem + .714286vw, 1.25rem);--text-title-md:clamp(1.25rem, 1.05rem + .9vw, 1.75rem);--text-eyebrow:1rem;--text-body:1.125rem;--text-sm:1rem;--text-xs:.875rem;--space-2xs:.25rem;--space-xs:.5rem;--space-sm:.75rem;--space-md:1rem;--space-lg:1.5rem;--space-xl:2rem;--space-2xl:3rem;--space-3xl:4rem;--gutter:1.5rem;--gap-columns:4rem;--gap-cards:1.5rem;--section-space:clamp(4.5rem, 3.12245rem + 6.12245vw, 9rem);--container-max:96rem;--container-narrow:72rem;--header-height:4rem;--radius-media:.75rem;--radius-card:.75rem;--radius-pill:9999px;--radius-round:50%;--z-decor-back:0;--z-media:10;--z-decor-front:20;--z-content:40;--z-header:50;--duration-fast:.3s;--duration-reveal:1s;--duration-reveal-slow:2s;--duration-draw:4s;--duration-palette:3s;--ease-out:cubic-bezier(.5, 1, .89, 1);--ease-out-strong:cubic-bezier(.22, 1, .36, 1)}@media (width>=40em){:root{--radius-media:1.5rem}}@media (width>=64em){:root{--header-height:4.5rem}}@media (width>=80em){:root{--text-display:clamp(4.5rem, -3rem + 9.375vw, 6rem);--text-h2:clamp(2.25rem, -1.5rem + 4.6875vw, 3rem)}}:root[data-scheme="2"]{--accent-1:#0ea5e9;--accent-2:#8b5cf6;--accent-3:#ec4899;--accent-4:#0ea5e9;--accent-text:#a78bfa}:root[data-scheme="3"]{--accent-1:#f43f5e;--accent-2:#5eead4;--accent-3:#facc15;--accent-4:#fca5a5;--accent-text:#5eead4}:root[data-scheme="4"]{--accent-1:#c026d3;--accent-2:#ef4444;--accent-3:#fb923c;--accent-4:#fbbf24;--accent-text:#f87171}@media (prefers-reduced-motion:no-preference){:root{transition:--accent-1 var(--duration-palette) ease, --accent-2 var(--duration-palette) ease, --accent-3 var(--duration-palette) ease, --accent-4 var(--duration-palette) ease, --accent-text var(--duration-palette) ease}}@font-face{font-family:Urbanist;font-style:normal;font-weight:400 700;font-display:swap;src:url(/assets/urbanist-latin-ext-wght-Bdxck5Au.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:Urbanist;font-style:normal;font-weight:400 700;font-display:swap;src:url(/assets/urbanist-latin-wght-D69JTELx.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:Urbanist Fallback;src:local(Arial),local(ArialMT);size-adjust:99.95%;ascent-override:95.05%;descent-override:25.01%;line-gap-override:0%}*,:before,:after{box-sizing:border-box}*{margin:0}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}img,picture,video,canvas,svg{max-width:100%;display:block}img,video{height:auto}input,button,textarea,select{font:inherit;color:inherit}p,h1,h2,h3,h4,h5,h6{overflow-wrap:break-word}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}html{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;scroll-padding-top:var(--header-height,0px)}@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}body{background-color:var(--color-bg);color:var(--color-text);font-family:var(--font-sans);font-size:var(--text-body);font-weight:var(--weight-regular);line-height:var(--leading-normal);letter-spacing:var(--tracking-wide)}:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.skip-link{top:var(--space-md);left:var(--space-md);z-index:calc(var(--z-header) + 1);padding:var(--space-xs) var(--space-md);border-radius:var(--radius-card);background-color:var(--color-surface);color:var(--color-text);font-weight:var(--weight-bold);position:absolute}.skip-link:not(:focus){clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.container{--container-width:var(--container-max);width:min(100% - 2 * var(--gutter), var(--container-width));margin-inline:auto}.container--narrow{--container-width:var(--container-narrow)}.section{padding-block:var(--section-space)}.section--dark{background-color:var(--color-surface)}.section--full{min-height:100svh}.stack{gap:var(--stack-gap,var(--space-md));flex-direction:column;display:flex}.cluster{gap:var(--cluster-gap,var(--space-md));flex-wrap:wrap;display:flex}.split{gap:var(--gap-columns);display:grid}@media (width>=64em){.split{grid-template-columns:repeat(2,minmax(0,1fr))}.split--reverse>:first-child{grid-area:1/2}}.site-header{z-index:var(--z-header);position:relative}.site-header:before{content:"";z-index:-1;border-bottom:1px solid var(--color-border);background-color:var(--color-bg-translucent);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);position:absolute;inset:0}:where(.js) .site-header{height:var(--header-height);position:fixed;inset:0 0 auto}@media (width>=64em){.site-header{height:var(--header-height);position:fixed;inset:0 0 auto}}@supports not ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){.site-header:before{background-color:var(--color-bg)}}@supports (animation-timeline:scroll()){@media (prefers-reduced-motion:no-preference){.site-header:before{animation:linear both site-header-surface;animation-timeline:scroll(root);animation-range:0 4rem}}}@keyframes site-header-surface{0%{opacity:0}}.site-header__inner{justify-content:space-between;align-items:center;gap:var(--space-xs) var(--space-md);padding-block:var(--space-sm);flex-wrap:wrap;display:flex}:where(.js) .site-header__inner{flex-wrap:nowrap;height:100%;padding-block:0}@media (width>=64em){.site-header__inner{flex-wrap:nowrap;height:100%;padding-block:0}}.brand{z-index:2;align-items:center;gap:var(--space-sm);min-width:0;color:var(--color-text);font-size:var(--text-sm);font-weight:var(--weight-bold);line-height:var(--leading-tight);text-decoration:none;display:inline-flex;position:relative}@media (width>=64em){.brand{font-size:var(--text-body)}}.brand__mark{aspect-ratio:1;background-image:var(--accent-gradient);border-radius:.1875rem;flex:none;width:.625rem}@media (prefers-reduced-motion:no-preference){.brand__mark{transition:transform var(--duration-fast) var(--ease-out-strong)}.brand[href]:focus-visible .brand__mark{transform:rotate(45deg)scale(1.15)}}@media (prefers-reduced-motion:no-preference) and (hover:hover){.brand[href]:hover .brand__mark{transform:rotate(45deg)scale(1.15)}}.nav{--nav-link-size:var(--text-sm);--nav-link-weight:var(--weight-regular);--nav-link-pad-y:var(--space-sm);--nav-link-pad-start:var(--space-sm);--nav-link-pad-end:var(--space-sm);--nav-dot-size:.375rem}:where(.js) .nav{--nav-link-size:var(--text-h2);--nav-link-weight:var(--weight-semibold);--nav-link-pad-y:var(--space-xs);--nav-link-pad-start:var(--space-lg);--nav-link-pad-end:0;--nav-dot-size:.5rem}.nav__toggle{display:none}:where(.js) .nav__toggle{z-index:2;border-radius:var(--radius-round);width:2.75rem;height:2.75rem;color:var(--color-text);cursor:pointer;background:0 0;border:0;place-items:center;margin-inline-end:-.625rem;padding:0;display:grid;position:relative}.nav__toggle-icon{width:1.5rem;height:1.5rem;position:relative}.nav__toggle-icon:before,.nav__toggle-icon:after{content:"";border-top:2px solid;border-radius:1px;width:100%;position:absolute;left:0}@media (prefers-reduced-motion:no-preference){.nav__toggle-icon:before,.nav__toggle-icon:after{transition:transform var(--duration-fast) var(--ease-out-strong)}}.nav__toggle-icon:before{top:.4375rem;transform:translate(0)rotate(0)scaleX(1)}.nav__toggle-icon:after{top:.9375rem;transform:translate(.25rem)rotate(0)scaleX(.667)}@media (hover:hover){.nav__toggle:hover .nav__toggle-icon:after{transform:translate(0)rotate(0)scaleX(1)}}.nav__toggle[aria-expanded=true] .nav__toggle-icon:before{transform:translateY(.25rem)rotate(45deg)scaleX(1)}.nav__toggle[aria-expanded=true] .nav__toggle-icon:after{transform:translateY(-.25rem)rotate(-45deg)scaleX(1)}.nav__list{align-items:center;gap:var(--space-2xs);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}:where(.js) .nav__list{z-index:1;align-items:flex-start;gap:var(--space-xs);height:100dvh;padding:calc(var(--header-height) + var(--space-xl)) var(--gutter) var(--space-2xl);overscroll-behavior:contain;background-color:var(--color-surface);clip-path:circle(0 at var(--menu-origin,100% 0));visibility:hidden;flex-flow:column;position:fixed;inset:0;overflow-y:auto}@media (prefers-reduced-motion:no-preference){:where(.js) .nav__list{transition:clip-path .4s var(--ease-out), visibility 0s linear .4s}}:where(.js) .nav:has(.nav__toggle[aria-expanded=true]) .nav__list{clip-path:circle(150% at var(--menu-origin,100% 0));visibility:visible}@media (prefers-reduced-motion:no-preference){:where(.js) .nav:has(.nav__toggle[aria-expanded=true]) .nav__list{transition:clip-path .6s var(--ease-out-strong), visibility 0s}}.nav__item:first-child{--item-index:0}.nav__item:nth-child(2){--item-index:1}.nav__item:nth-child(3){--item-index:2}.nav__item:nth-child(4){--item-index:3}.nav__item:nth-child(5){--item-index:4}.nav__item:nth-child(6){--item-index:5}@media (prefers-reduced-motion:no-preference){:where(.js) .nav__item{opacity:0;transition:opacity .2s var(--ease-out), transform .2s var(--ease-out);transform:translateY(1rem)}:where(.js) .nav:has(.nav__toggle[aria-expanded=true]) .nav__item{opacity:1;transition-duration:.4s;transition-delay:calc(.15s + var(--item-index,0) * 50ms);transform:none}}.nav__link{padding:var(--nav-link-pad-y) var(--nav-link-pad-end) var(--nav-link-pad-y) var(--nav-link-pad-start);color:var(--color-text-muted);font-size:var(--nav-link-size);font-weight:var(--nav-link-weight);line-height:var(--leading-tight);align-items:center;text-decoration:none;display:inline-flex;position:relative}@media (prefers-reduced-motion:no-preference){.nav__link{transition:color var(--duration-fast) var(--ease-out)}}.nav__link:before{content:"";width:var(--nav-dot-size);aspect-ratio:1;margin-top:calc(var(--nav-dot-size) / -2);border-radius:var(--radius-round);background-image:var(--accent-gradient);position:absolute;top:50%;left:0;transform:scale(0)}@media (prefers-reduced-motion:no-preference){.nav__link:before{transition:transform var(--duration-fast) var(--ease-out-strong)}}.nav__link[aria-current=true]{color:var(--color-text)}.nav__link[aria-current=true]:before{transform:scale(1)}.nav__label{position:relative}.nav__label:after{content:"";inset-inline:0;background-image:var(--accent-gradient);transform-origin:0;height:2px;position:absolute;bottom:-.375rem;transform:scaleX(0)}@media (prefers-reduced-motion:no-preference){.nav__label:after{transition:transform var(--duration-fast) var(--ease-out)}}@media (hover:hover){.nav__link[href]:hover{color:var(--color-text)}.nav__link[href]:hover .nav__label:after{transform:scaleX(1)}}html:has(.nav__toggle[aria-expanded=true]){scrollbar-gutter:stable;overflow:hidden}@media (width>=64em){.nav{--nav-link-size:var(--text-sm);--nav-link-weight:var(--weight-regular);--nav-link-pad-y:var(--space-sm);--nav-link-pad-start:var(--space-sm);--nav-link-pad-end:var(--space-sm);--nav-dot-size:.375rem}.nav__toggle{display:none}.nav__list{align-items:center;gap:var(--space-2xs);clip-path:none;visibility:visible;background:0 0;flex-direction:row;height:auto;padding:0;transition:none;position:static;overflow:visible}.nav__item{opacity:1;transition:none;transform:none}}@media (width>=80em){.nav{--nav-link-pad-start:var(--space-md);--nav-link-pad-end:var(--space-md)}}@media (forced-colors:active){.nav__link:before,.nav__label:after{forced-color-adjust:none;background:canvastext}}.site-footer{overflow-wrap:anywhere;padding-block-end:clamp(1.5rem,1rem + 2vw,2.5rem)}.site-footer__main{flex-wrap:wrap;justify-content:space-between;align-items:end;gap:clamp(2rem,1.5rem + 2vw,3.5rem) clamp(2rem,1.25rem + 3vw,4rem);padding-block:clamp(3rem,2rem + 4vw,6rem);display:flex}.site-footer__heading{gap:clamp(.75rem,.5rem + .75vw,1.25rem);display:grid}.site-footer__intro{color:var(--accent-text);font-size:var(--text-xs);font-weight:var(--weight-semibold);line-height:var(--leading-tight);letter-spacing:var(--tracking-caps);text-transform:uppercase}.site-footer__title{font-size:clamp(2rem,1.25rem + 3.2vw,3.75rem);font-weight:var(--weight-semibold);letter-spacing:-.02em;text-wrap:balance;line-height:1.08}.site-footer__period{color:var(--accent-text)}.site-footer__social{--social-target:2.75rem;--social-icon:clamp(1.5rem, 1.25rem + .75vw, 1.75rem);gap:var(--space-xs);margin:0 calc((var(--social-target) - var(--social-icon)) / -2);flex-wrap:wrap;padding:0;list-style:none;display:flex}.site-footer__social-link{inline-size:var(--social-target);block-size:var(--social-target);border-radius:var(--radius-round);color:var(--accent-text);place-items:center;display:grid}.site-footer__social-icon{inline-size:var(--social-icon);block-size:var(--social-icon);fill:currentColor}.site-footer__bottom{justify-items:center;gap:var(--space-2xs);color:var(--color-text-muted);font-size:var(--text-sm);text-align:center;text-wrap:balance;display:grid}.site-footer__top{min-block-size:2.75rem;color:var(--color-text-muted);align-items:center;gap:.4em;text-decoration:none;display:inline-flex}@media (hover:hover){.site-footer__social-link:hover{color:var(--color-text)}.site-footer__top:hover{color:var(--accent-text)}}@media (prefers-reduced-motion:no-preference){.site-footer__social-link,.site-footer__top{transition:color var(--duration-fast) var(--ease-out)}.site-footer__top-arrow{transition:translate var(--duration-fast) var(--ease-out-strong)}}@media (prefers-reduced-motion:no-preference) and (hover:hover){.site-footer__top:hover .site-footer__top-arrow{translate:0 -.15em}}.button{isolation:isolate;justify-content:center;align-items:center;gap:var(--space-xs);min-block-size:3rem;padding:var(--space-sm) clamp(1.25rem, 1rem + 1vw, 1.75rem);border-radius:var(--radius-pill);font:inherit;font-size:var(--text-sm);font-weight:var(--weight-bold);line-height:var(--leading-tight);text-align:center;cursor:default;border:1px solid #0000;text-decoration:none;display:inline-flex;position:relative;overflow:hidden}.button:is(a[href],button){cursor:pointer}@media (prefers-reduced-motion:no-preference){.button{transition:transform var(--duration-fast) var(--ease-out), border-color var(--duration-fast) var(--ease-out)}}.button--primary{background-image:var(--accent-gradient);color:var(--color-on-accent)}.button--primary:after{content:"";z-index:-1;background-image:linear-gradient(110deg,#0000 30%,#ffffff73 50%,#0000 70%);position:absolute;inset:0;transform:translate(-100%)}@media (prefers-reduced-motion:no-preference){.button--primary:after{transition:transform .6s var(--ease-out)}}.button--secondary{border-color:var(--color-border);background-color:var(--color-surface-raised);color:var(--color-text)}.button__icon{flex:none}@media (prefers-reduced-motion:no-preference){.button__icon{transition:transform var(--duration-fast) var(--ease-out)}}@media (hover:hover){.button--secondary:is(a[href],button):hover{border-color:var(--accent-2)}}@media (prefers-reduced-motion:no-preference) and (hover:hover){.button:is(a[href],button):hover{transform:translateY(-2px)}.button--primary:is(a[href],button):hover:after{transform:translate(100%)}.button:is(a[href],button):hover .button__icon{transform:translate(.25rem)}}@media (prefers-reduced-motion:no-preference){.button:is(a[href],button):active{transform:none}}.media-frame{--media-ratio:4 / 3;aspect-ratio:var(--media-ratio);border-radius:var(--radius-media);background-color:var(--color-surface-raised);position:relative;overflow:hidden}.media-frame>img{object-fit:cover;width:100%;height:100%}.media-frame--portrait{--media-ratio:4 / 5}.media-frame--landscape{--media-ratio:5 / 4}.decor{pointer-events:none;position:absolute}.decor--glow{aspect-ratio:1;border-radius:var(--radius-round);background-image:radial-gradient(closest-side, var(--decor-color,var(--accent-1)), transparent);opacity:var(--decor-opacity,.3)}.decor--dots{background-image:radial-gradient(circle,#ffffff1f 1px,#0000 1.5px);background-size:var(--dots-gap,1.5rem) var(--dots-gap,1.5rem);-webkit-mask-image:var(--dots-mask,none);mask-image:var(--dots-mask,none)}.decor--outline{aspect-ratio:1;border:1px solid var(--color-border);border-radius:var(--radius-card)}.decor--square{aspect-ratio:1;background-image:var(--accent-gradient);border-radius:.1875rem}.decor--hollow{border:1px solid var(--accent-2);background:0 0}.decor--tile{aspect-ratio:1;border-radius:var(--radius-card);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background-color:#ffffff0f;border:1px solid #ffffff1f}@supports not ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){.decor--tile{background-color:#ffffff1a}}.particles{z-index:var(--z-decor-back);pointer-events:none;opacity:0;width:100%;height:100%;position:absolute;inset:0}.particles.is-ready{opacity:1}@media (prefers-reduced-motion:no-preference){.particles{transition:opacity 1.2s var(--ease-out)}}@keyframes decor-fade-in{0%{opacity:0}}@keyframes decor-float{to{transform:translate(var(--float-x,0), var(--float-y,-.5rem)) rotate(var(--float-rotate,8deg))}}@keyframes decor-spin{to{rotate:calc(var(--tilt,0deg) + 360deg)}}@keyframes decor-parallax{to{translate:0 var(--parallax-y,0)}}.section-heading{gap:clamp(.5rem,.4rem + .5vw,.875rem);display:grid}.section-heading__eyebrow{color:var(--accent-text);font-size:var(--text-eyebrow);font-weight:var(--weight-bold);line-height:var(--leading-tight);letter-spacing:var(--tracking-caps);text-transform:uppercase}.section-heading__title{font-size:var(--text-h2);font-weight:var(--weight-semibold);line-height:var(--leading-tight);text-wrap:balance}.tag-list{gap:var(--space-xs);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.tag{background-color:color-mix(in srgb, var(--accent-2) 10%, transparent);min-block-size:2rem;color:var(--accent-text);font-size:var(--text-sm);font-weight:var(--weight-semibold);line-height:var(--leading-tight);border:1px solid #0000;border-radius:1rem;flex-wrap:wrap;align-items:baseline;column-gap:.4em;padding:.3rem .75rem;display:inline-flex}.tag__note{color:var(--color-text-muted);font-size:var(--text-xs);font-weight:var(--weight-regular)}.tag__note:before{content:"·";content:"·"/"";margin-inline-end:.4em}.tag--muted{border-color:var(--color-border);color:var(--color-text-muted);background-color:#0000}.tag--neutral{background-color:var(--color-border);color:var(--color-text);border-radius:.375rem}.marker{inline-size:var(--marker-size,.5rem);aspect-ratio:1;background-image:var(--accent-gradient);border-radius:.125rem;flex:none;display:inline-block}.icon-button{--icon-button-size:3rem;--icon-button-bg:var(--color-border-strong);--icon-button-color:var(--color-text);inline-size:var(--icon-button-size);block-size:var(--icon-button-size);border-radius:var(--radius-round);background-color:var(--icon-button-bg);color:var(--icon-button-color);cursor:pointer;border:1px solid #0000;flex:none;place-items:center;padding:0;display:inline-grid}.icon-button>svg{fill:none;stroke:currentColor;stroke-width:1.5px;stroke-linecap:round;block-size:1.25rem;inline-size:1.25rem}@media (prefers-reduced-motion:no-preference){.icon-button{transition:background-color var(--duration-fast) var(--ease-out), color var(--duration-fast) var(--ease-out)}}@media (hover:hover){.icon-button:hover{--icon-button-bg:var(--color-text-muted);--icon-button-color:var(--color-surface)}}.dialog{--dialog-inset:clamp(0rem, -.75rem + 2.5vw, 1.5rem);--dialog-padding:max(clamp(1.25rem, .75rem + 2.5vw, 3rem), (100% - var(--container-max)) / 2);inset:var(--dialog-inset) var(--dialog-inset) 0;overscroll-behavior:contain;border-radius:var(--dialog-inset) var(--dialog-inset) 0 0;background-color:var(--color-bg);block-size:auto;max-block-size:none;inline-size:auto;max-inline-size:none;color:var(--color-text);overflow-wrap:anywhere;border:0;margin:0;padding:0;position:fixed;overflow-y:auto;container:dialog/inline-size}.dialog::backdrop{background-color:color-mix(in srgb, var(--color-surface) 75%, transparent)}html:has(.dialog[open]){scrollbar-gutter:stable;background-color:color-mix(in srgb, var(--color-surface) 75%, var(--color-bg));overflow:hidden}.dialog__header{z-index:1;align-items:center;gap:var(--space-xs) var(--space-md);padding:clamp(1rem, .75rem + 1.25vw, 1.75rem) var(--dialog-padding);background-color:var(--color-surface);grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"title close""action.";display:grid;position:sticky;inset-block-start:0}@container dialog (width>=40rem){.dialog__header{grid-template-columns:minmax(0,1fr) auto auto;grid-template-areas:"title action close";column-gap:clamp(1rem,.5rem + 1.5vw,2rem)}}.dialog__title{grid-area:title}.dialog__action{justify-self:start;align-items:center;gap:var(--space-xs);border-radius:var(--radius-card);min-block-size:2.75rem;color:var(--accent-text);font-size:var(--text-body);font-weight:var(--weight-semibold);cursor:pointer;background:0 0;border:0;grid-area:action;padding:0;text-decoration:none;display:inline-flex}.dialog__action>svg{fill:none;stroke:currentColor;stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round;flex:none;block-size:1.125em;inline-size:1.125em}.dialog__action[hidden]{display:none}@media (hover:hover){.dialog__action:hover>span{text-underline-offset:.2em;text-decoration:underline}}.dialog__close{grid-area:close;align-self:start}@container dialog (width>=40rem){.dialog__close{align-self:center}}@media (prefers-reduced-motion:no-preference){.dialog{transition:opacity .2s var(--ease-out), translate .2s var(--ease-out), overlay .2s allow-discrete, display .2s allow-discrete}.dialog::backdrop{transition:opacity .2s var(--ease-out), overlay .2s allow-discrete, display .2s allow-discrete}.dialog:not([open]){opacity:0;translate:0 1rem}.dialog:not([open])::backdrop{opacity:0}.dialog[open]{transition-duration:var(--duration-fast);transition-timing-function:var(--ease-out-strong)}.dialog[open]::backdrop{transition-duration:var(--duration-fast)}@starting-style{.dialog[open]{opacity:0;translate:0 1rem}.dialog[open]::backdrop{opacity:0}}.dialog__action{transition:color var(--duration-fast) var(--ease-out)}}.dialog__body{padding:clamp(1.5rem, 1rem + 2.5vw, 3rem) var(--dialog-padding) clamp(2.5rem, 1.75rem + 3vw, 4.5rem)}.hero{--hero-offset:0px;isolation:isolate;min-height:100svh;padding-block:calc(var(--hero-offset) + clamp(2rem, 1rem + 5vw, 6rem)) clamp(3rem, 2rem + 5vw, 7rem);align-items:center;display:grid;position:relative;overflow:clip}:where(.js) .hero{--hero-offset:var(--header-height)}@media (width>=64em){.hero{--hero-offset:var(--header-height)}}.hero__dots{--dots-mask:radial-gradient(ellipse 70% 80% at 70% 55%, #000 15%, transparent 75%);z-index:var(--z-decor-back);inset:0}.hero__inner{grid-template-columns:repeat(auto-fit,minmax(min(100%,24rem),1fr));align-items:center;gap:clamp(2.5rem,1.5rem + 4vw,6rem);display:grid}.hero__content{z-index:var(--z-content);max-inline-size:40rem;position:relative;container-type:inline-size}.hero__title{font-size:clamp(2.25rem,.5rem + 11cqi,5rem);font-weight:var(--weight-bold);letter-spacing:-.02em;text-wrap:balance;line-height:1.08}.hero__title:after{content:"";background-image:var(--accent-gradient);transform-origin:0;border-radius:1px;block-size:max(2px,.03em);inline-size:1.5em;margin-block-start:.2em;display:block}.hero__title .split-word{max-inline-size:100%;display:inline-block}.hero__greeting{color:var(--color-text-muted)}.hero__mark{aspect-ratio:1;background-image:var(--accent-gradient);border-radius:.03em;inline-size:.16em;margin-inline-start:.06em;display:inline-block}.hero__role{color:var(--color-text);font-size:clamp(1.25rem,.875rem + 2.5cqi,2rem);font-weight:500;line-height:var(--leading-tight);margin-block-start:clamp(1rem,.6rem + 1.5cqi,1.5rem)}.hero__actions{gap:var(--space-sm);flex-wrap:wrap;margin-block-start:clamp(1.75rem,1rem + 3cqi,3rem);display:flex}.hero__cta:before{content:"";z-index:-1;background-image:var(--accent-gradient);opacity:0;position:absolute;inset:0}@media (prefers-reduced-motion:no-preference){.hero__cta{transition:transform var(--duration-fast) var(--ease-out), border-color var(--duration-fast) var(--ease-out), color var(--duration-fast) var(--ease-out)}.hero__cta:before{transition:opacity var(--duration-fast) var(--ease-out)}}.hero__cta-icon{fill:none;block-size:1.125em;inline-size:1.125em;stroke:var(--accent-text);stroke-width:1.75px;stroke-linecap:round;stroke-linejoin:round}@media (prefers-reduced-motion:no-preference){.hero__cta-icon{transition:transform var(--duration-fast) var(--ease-out), stroke var(--duration-fast) var(--ease-out)}}.hero__cta:is(a[href]):focus-visible{border-color:var(--accent-2);color:var(--color-on-accent)}.hero__cta:is(a[href]):focus-visible:before{opacity:1}.hero__cta:is(a[href]):focus-visible .hero__cta-icon{stroke:currentColor}@media (hover:hover){.hero__cta:is(a[href]):hover{border-color:var(--accent-2);color:var(--color-on-accent)}.hero__cta:is(a[href]):hover:before{opacity:1}.hero__cta:is(a[href]):hover .hero__cta-icon{stroke:currentColor}}@media (prefers-reduced-motion:no-preference) and (hover:hover){.hero__cta:is(a[href]):hover .hero__cta-icon{transform:translateY(.15em)}}.hero__media{justify-self:center;inline-size:min(100%,36rem);position:relative;container-type:inline-size}.hero__media>.media-frame{z-index:var(--z-media)}.hero__ornaments{position:absolute;inset:0}.hero__glow{z-index:var(--z-decor-back)}.hero__glow--a{--decor-color:var(--accent-1);--decor-opacity:.35;inline-size:130%;inset-block-start:-35%;inset-inline-start:-45%}.hero__glow--b{--decor-color:var(--accent-3);--decor-opacity:.22;inline-size:100%;inset-block-end:-25%;inset-inline-end:-30%}.hero__outline{--tilt:8deg;z-index:var(--z-decor-back);inline-size:90%;rotate:var(--tilt);margin:-45% 0 0 -45%;inset-block-start:50%;inset-inline-start:50%}.hero__square{z-index:var(--z-decor-front)}.hero__square--1{--float-y:-.6rem;--float-rotate:10deg;inline-size:clamp(.625rem,.4rem + .8vw,.875rem);inset-block-start:6%;inset-inline-end:-4%}.hero__square--2{--float-x:.25rem;--float-y:-.4rem;--float-rotate:-8deg;inline-size:clamp(.875rem,.6rem + 1.2vw,1.25rem);inset-block-start:46%;inset-inline-start:-6%}.hero__square--3{--float-y:-.5rem;--float-rotate:12deg;inline-size:clamp(.75rem,.55rem + .9vw,1rem);inset-block-end:-5%;inset-inline-start:12%}.hero__tile{--float-y:-.6rem;--float-rotate:3deg;z-index:var(--z-decor-front);inline-size:clamp(4rem,3rem + 5vw,7rem);inset-block-end:-6%;inset-inline-end:-3%;overflow:clip}.hero__tile>img{object-fit:cover;filter:brightness(.85)saturate(.9);width:100%;height:100%}@keyframes hero-rise{0%{opacity:0;transform:translateY(var(--rise,.75rem))}}@keyframes hero-mark-in{0%{opacity:0;transform:scale(0)rotate(45deg)}}@keyframes hero-reveal{0%{clip-path:inset(100% 0 0)}}@media (prefers-reduced-motion:no-preference){.hero__dots{animation:decor-fade-in 1.2s var(--ease-out) .3s both}[data-paused] .hero__dots{animation-play-state:paused}.hero__glow--a{animation:decor-fade-in 1.2s var(--ease-out) .3s both}[data-paused] .hero__glow--a{animation-play-state:paused}@supports (animation-timeline:scroll()){.hero__glow--a{--parallax-y:-10cqi;animation:decor-fade-in 1.2s var(--ease-out) .3s both, decor-parallax linear both;animation-timeline:auto,scroll(root);animation-range:normal,0 100vh}[data-paused] .hero__glow--a{animation-play-state:paused,running}}.hero__glow--b{animation:decor-fade-in 1.2s var(--ease-out) .3s both}[data-paused] .hero__glow--b{animation-play-state:paused}@supports (animation-timeline:scroll()){.hero__glow--b{--parallax-y:-6cqi;animation:decor-fade-in 1.2s var(--ease-out) .3s both, decor-parallax linear both;animation-timeline:auto,scroll(root);animation-range:normal,0 100vh}[data-paused] .hero__glow--b{animation-play-state:paused,running}}.hero__outline{animation:decor-fade-in 1.2s var(--ease-out) .3s both, decor-spin 60s linear infinite}[data-paused] .hero__outline{animation-play-state:paused,paused}@supports (animation-timeline:scroll()){.hero__outline{--parallax-y:-8cqi;animation:decor-fade-in 1.2s var(--ease-out) .3s both, decor-spin 60s linear infinite, decor-parallax linear both;animation-timeline:auto,auto,scroll(root);animation-range:normal,normal,0 100vh}[data-paused] .hero__outline{animation-play-state:paused,paused,running}}.hero__square--1{animation:decor-fade-in 1.2s var(--ease-out) .3s both, decor-float 7s ease-in-out infinite alternate}[data-paused] .hero__square--1{animation-play-state:paused,paused}@supports (animation-timeline:scroll()){.hero__square--1{--parallax-y:-24cqi;animation:decor-fade-in 1.2s var(--ease-out) .3s both, decor-float 7s ease-in-out infinite alternate, decor-parallax linear both;animation-timeline:auto,auto,scroll(root);animation-range:normal,normal,0 100vh}[data-paused] .hero__square--1{animation-play-state:paused,paused,running}}.hero__square--2{animation:decor-fade-in 1.2s var(--ease-out) .3s both, decor-float 9s ease-in-out -3s infinite alternate}[data-paused] .hero__square--2{animation-play-state:paused,paused}@supports (animation-timeline:scroll()){.hero__square--2{--parallax-y:-18cqi;animation:decor-fade-in 1.2s var(--ease-out) .3s both, decor-float 9s ease-in-out -3s infinite alternate, decor-parallax linear both;animation-timeline:auto,auto,scroll(root);animation-range:normal,normal,0 100vh}[data-paused] .hero__square--2{animation-play-state:paused,paused,running}}.hero__square--3{animation:decor-fade-in 1.2s var(--ease-out) .3s both, decor-float 11s ease-in-out -5s infinite alternate}[data-paused] .hero__square--3{animation-play-state:paused,paused}@supports (animation-timeline:scroll()){.hero__square--3{--parallax-y:-14cqi;animation:decor-fade-in 1.2s var(--ease-out) .3s both, decor-float 11s ease-in-out -5s infinite alternate, decor-parallax linear both;animation-timeline:auto,auto,scroll(root);animation-range:normal,normal,0 100vh}[data-paused] .hero__square--3{animation-play-state:paused,paused,running}}.hero__tile{animation:decor-fade-in 1.2s var(--ease-out) .3s both, decor-float 10s ease-in-out -2s infinite alternate}[data-paused] .hero__tile{animation-play-state:paused,paused}@supports (animation-timeline:scroll()){.hero__tile{--parallax-y:-16cqi;animation:decor-fade-in 1.2s var(--ease-out) .3s both, decor-float 10s ease-in-out -2s infinite alternate, decor-parallax linear both;animation-timeline:auto,auto,scroll(root);animation-range:normal,normal,0 100vh}[data-paused] .hero__tile{animation-play-state:paused,paused,running}}.hero__title .split-word{--rise:-.2em;animation:hero-rise 1.4s var(--ease-out) calc(.15s + var(--i,0) * .35s) both}.hero__mark{animation:hero-mark-in .5s var(--ease-out-strong) calc(.15s + (var(--words,2) - 1) * .35s + 1.12s) both}.hero__title:after{animation:reveal-draw .7s var(--ease-out-strong) calc(.15s + (var(--words,2) - 1) * .35s + 1.4s) both}.js .hero__title:not(.is-split){animation:.4s linear 1s both decor-fade-in}.js .hero__title:not(.is-split) .hero__mark,.js .hero__title:not(.is-split):after{animation:none}.hero__role{animation:hero-rise .6s var(--ease-out) 2.3s both}.hero__actions{animation:hero-rise .6s var(--ease-out) 2.45s both}.js .hero__content:has(>.hero__title:not(.is-split))>.hero__role{animation:decor-fade-in .6s var(--ease-out) 2.3s both}.js .hero__content:has(>.hero__title:not(.is-split))>.hero__actions{animation:decor-fade-in .6s var(--ease-out) 2.45s both}:root:not(.js) .hero__role{animation-delay:.3s}:root:not(.js) .hero__actions{animation-delay:.45s}.hero__media>.media-frame{animation:hero-reveal 1s var(--ease-out-strong) .2s both}}.about{padding-block-start:calc(var(--section-space) * .75);padding-block-end:calc(var(--section-space) / 2)}.about__layout{flex-wrap:wrap;gap:clamp(2rem,1.25rem + 3vw,4.5rem);display:flex}.about__heading{flex:16rem}.about__content{--stack-gap:clamp(1.5rem, 1rem + 2vw, 2.5rem);flex:999 1 0;min-inline-size:58%;container-type:inline-size}.about__lead{max-inline-size:36ch;font-size:clamp(1.375rem,1rem + 2cqi,2.25rem);font-weight:var(--weight-semibold);text-wrap:pretty;padding-inline-start:clamp(1rem,.75rem + 1cqi,1.5rem);line-height:1.3;position:relative}.about__lead:before{content:"";background-image:var(--accent-gradient);inline-size:2px;position:absolute;inset-block:.15em;inset-inline-start:0}.about__lead strong{color:var(--accent-text);font-weight:inherit}.about__body{--stack-gap:var(--space-md);max-inline-size:65ch;color:var(--color-text-muted);line-height:1.6}.about__approach{--approach-gap:clamp(1.25rem, 1rem + 1.5vw, 2rem);grid-template-columns:repeat(auto-fit, minmax(min(100%, max(16rem, (100% - var(--approach-gap)) / 2)), 1fr));gap:var(--approach-gap);margin:0;padding:0;list-style:none;display:grid}.about__principle{align-content:start;gap:var(--space-xs);border-top:1px solid var(--color-border);padding-block-start:var(--space-md);display:grid}.about__principle-title{align-items:center;gap:var(--space-sm);font-size:var(--text-title-sm);font-weight:var(--weight-bold);line-height:var(--leading-tight);display:flex}.about__principle-text{color:var(--color-text-muted);font-size:var(--text-sm);line-height:var(--leading-normal)}.about__heading{--reveal-index:0}.about__lead{--reveal-index:1}.about__body{--reveal-index:2}.about__principle:first-child{--reveal-index:3}.about__principle:nth-child(2){--reveal-index:4}.about__principle:nth-child(3){--reveal-index:5}.about__principle:nth-child(4){--reveal-index:6}@keyframes about-bar-draw{0%{transform:scaleY(0)}}@media (prefers-reduced-motion:no-preference){.reveal-ready .about__lead.is-revealed:before{transform-origin:top;animation:about-bar-draw .8s var(--ease-out) calc(var(--reveal-index) * 80ms + .3s) both}.about__principle .marker{transition:transform var(--duration-fast) var(--ease-out-strong)}}@media (prefers-reduced-motion:no-preference) and (hover:hover){.about__principle:hover .marker{transform:rotate(45deg)}}.skills{--skills-gap:clamp(1rem, .75rem + 1vw, 1.5rem)}.skills__inner{--stack-gap:clamp(2rem, 1.25rem + 2.5vw, 3.5rem)}.skills__layout{--stack-gap:var(--skills-gap)}.skills__panel,.skills__group{border:1px solid var(--color-border);border-radius:var(--radius-media);background-color:var(--color-surface)}@media (prefers-reduced-motion:no-preference){.skills__panel,.skills__group{transition:border-color var(--duration-fast) var(--ease-out)}}@media (hover:hover){.skills__panel:hover,.skills__group:hover{border-color:color-mix(in srgb, var(--accent-2) 55%, var(--color-border))}}.skills__group-title{align-items:center;gap:var(--space-sm);font-size:var(--text-title-sm);font-weight:var(--weight-bold);line-height:var(--leading-tight);display:flex}.skills__marker{aspect-ratio:1;background-image:var(--accent-gradient);border-radius:.125rem;flex:none;inline-size:.5rem}@media (prefers-reduced-motion:no-preference){.skills__marker{transition:transform var(--duration-fast) var(--ease-out-strong)}}@media (prefers-reduced-motion:no-preference) and (hover:hover){.skills__panel:hover .skills__marker,.skills__group:hover .skills__marker{transform:rotate(45deg)}}.skills__panel{isolation:isolate;padding:clamp(1.5rem,1rem + 2.5vw,3rem);position:relative;overflow:clip;container-type:inline-size}.skills__panel:before{content:"";background-image:var(--accent-gradient);block-size:2px;position:absolute;inset:0 0 auto}.skills__panel-dots{--dots-mask:radial-gradient(circle at 100% 0%, #000, transparent 65%);z-index:-1;inset:0}.skills__panel-outline{z-index:-1;inline-size:clamp(7rem,4rem + 15cqi,13rem);inset-block-start:-3rem;inset-inline-end:-2rem;rotate:12deg}.skills__core-list{font-size:clamp(1.5rem,.8rem + 4cqi,2.75rem);font-weight:var(--weight-semibold);line-height:var(--leading-tight);letter-spacing:-.01em;flex-wrap:wrap;align-items:center;gap:clamp(.5rem,.25rem + 1.5cqi,1rem) clamp(1rem,.5rem + 2.5cqi,2rem);margin:clamp(1.25rem,1rem + 2cqi,2rem) 0 0;padding:0;list-style:none;display:flex}.skills__core-list>li{align-items:center;gap:.35em;display:inline-flex}.skills__core-list>li:before{content:"";aspect-ratio:1;background-image:var(--accent-gradient);border-radius:.04em;flex:none;inline-size:.22em}.skills__practice{align-items:center;gap:var(--space-sm);color:var(--color-text-muted);font-size:var(--text-body);margin-block-start:clamp(1rem,.75rem + 1.5cqi,1.75rem);display:flex}.skills__practice:before{content:"";border-top:1px solid var(--color-border-strong);flex:none;inline-size:1.5rem}.skills__groups{gap:var(--skills-gap);flex-wrap:wrap;display:flex}.skills__group{flex:16rem;align-content:start;gap:clamp(1rem,.75rem + 1vw,1.25rem);padding:clamp(1.25rem,1rem + 1.5vw,2rem);display:grid}.skills .section-heading{--reveal-index:0}.skills__panel{--reveal-index:1}.skills__group:first-child{--reveal-index:2}.skills__group:nth-child(2){--reveal-index:3}.skills__group:nth-child(3){--reveal-index:4}.skills__core-list>li:first-child{--word:0}.skills__core-list>li:nth-child(2){--word:1}.skills__core-list>li:nth-child(3){--word:2}.skills__core-list>li:nth-child(4){--word:3}.skills__core-list>li:nth-child(5){--word:4}.skills__core-list>li:nth-child(6){--word:5}.skills__core-list>li:nth-child(7){--word:6}.skills__core-list>li:nth-child(8){--word:7}@media (prefers-reduced-motion:no-preference){.reveal-ready .skills__panel.is-revealed:before{transform-origin:0;animation:reveal-draw .8s var(--ease-out) calc(var(--reveal-index) * 80ms + .3s) both}.reveal-ready .skills__panel.is-revealed .skills__core-list>li{--reveal-distance:.4em;animation:reveal-rise .7s var(--ease-out) calc(var(--reveal-index) * 80ms + .2s + var(--word,0) * 60ms) both}.reveal-ready .skills__panel.is-revealed .skills__practice{--reveal-distance:.75rem;animation:reveal-rise .7s var(--ease-out) calc(var(--reveal-index) * 80ms + .6s) both}}.experience{padding-block-start:calc(var(--section-space) / 2)}.experience__inner{--stack-gap:clamp(2rem, 1.25rem + 2.5vw, 3.5rem)}.experience__timeline{--rail-size:.625rem;--rail-indent:clamp(1.75rem, 1.25rem + 2vw, 3rem);--role-size:var(--text-title-md);--role-leading:1.25;overflow-wrap:anywhere;padding-inline-start:var(--rail-indent);position:relative}.experience__timeline:before{content:"";inset-block:calc(var(--role-size) * var(--role-leading) / 2) 0;background-image:linear-gradient(to bottom, var(--color-border) calc(100% - 2.5rem), transparent);inline-size:1px;position:absolute;inset-inline-start:calc(var(--rail-size) / 2 - .5px)}.experience__list{margin:0;padding:0;list-style:none}.experience__entry{--milestone-size:var(--rail-size);gap:var(--space-xs) clamp(1.5rem, .75rem + 3vw, 4rem);flex-wrap:wrap;display:flex;position:relative}.experience__entry+.experience__entry{margin-block-start:clamp(2.5rem,1.75rem + 3vw,4.5rem)}.experience__milestone{--marker-size:var(--milestone-size);position:absolute;inset-block-start:calc(var(--role-size) * var(--role-leading) / 2 - var(--milestone-size) / 2);inset-inline-start:calc((var(--rail-size) - var(--milestone-size)) / 2 - var(--rail-indent))}.experience__period{color:var(--color-text-muted);font-size:var(--text-sm);font-weight:var(--weight-semibold);font-variant-numeric:tabular-nums;line-height:calc(var(--role-size) * var(--role-leading));flex:9.5rem}.experience__present{color:var(--accent-text)}.experience__body{align-content:start;gap:var(--space-2xs);flex:999 1 0;grid-template-columns:minmax(0,1fr);min-inline-size:65%;display:grid}.experience__role{font-size:var(--role-size);font-weight:var(--weight-semibold);line-height:var(--role-leading)}.experience__org{font-size:var(--text-body)}.experience__details{gap:var(--space-md) clamp(1.5rem, 1rem + 2vw, 3rem);grid-template-columns:repeat(auto-fit,minmax(min(100%,18rem),1fr));margin-block-start:clamp(.75rem,.5rem + 1vw,1.25rem);display:grid}.experience__summary,.experience__contributions{color:var(--color-text-muted);font-size:var(--text-body);line-height:1.6}.experience__summary{max-inline-size:65ch}.experience__contributions{gap:var(--space-xs);margin:0;padding:0;list-style:none;display:grid}.experience__contributions>li{gap:var(--space-sm);display:flex}.experience__contributions>li:before{content:"";background-color:var(--color-border-strong);flex:none;block-size:1px;inline-size:.75rem;margin-block-start:.8em}.experience__entry--compact{--milestone-size:.375rem;--separator-gap:1.25rem}.experience__entry--compact+.experience__entry--compact{margin-block-start:clamp(1.25rem,1rem + 1vw,1.75rem)}.experience__entry--compact .experience__body{align-items:baseline;gap:var(--space-2xs) var(--separator-gap);flex-wrap:wrap;display:flex;overflow-x:clip}.experience__entry--compact .experience__body>*{min-inline-size:0}.experience__entry--compact .experience__org{position:relative}.experience__entry--compact .experience__org:before{content:"·";content:"·"/"";inline-size:var(--separator-gap);color:var(--color-text-muted);text-align:center;position:absolute;inset-inline-end:100%}.experience__entry--compact .experience__summary{flex-basis:100%}@keyframes experience-line-in{0%{opacity:0}}@media screen and (prefers-reduced-motion:no-preference){.experience__progress{inset-block:calc(var(--role-size) * var(--role-leading) / 2) 0;background-image:linear-gradient(to bottom, var(--accent-2), var(--accent-4) calc(100% - 2.5rem), transparent);transform-origin:top;inline-size:2px;animation:experience-line-in .4s var(--ease-out) both;position:absolute;inset-inline-start:calc(var(--rail-size) / 2 - 1px)}.experience__timeline.is-animated .experience__milestone{background-image:none;background-color:var(--color-border-strong)}.experience__timeline.is-animated .experience__milestone:before{content:"";border-radius:inherit;background-image:var(--accent-gradient);box-shadow:0 0 calc(var(--milestone-size) * 1.2) color-mix(in srgb, var(--accent-2) 55%, transparent);opacity:0;transition:opacity var(--duration-fast) var(--ease-out);position:absolute;inset:0}.experience__timeline.is-animated .experience__milestone.is-active{scale:1.2}.experience__timeline.is-animated .experience__milestone.is-active:before{opacity:1}}@media (prefers-reduced-motion:no-preference){.experience__milestone{transition:scale var(--duration-fast) var(--ease-out-strong), rotate var(--duration-fast) var(--ease-out-strong)}}@media (prefers-reduced-motion:no-preference) and (hover:hover){.experience__entry:hover .experience__milestone{rotate:45deg}}@media print{.experience .section-heading,.experience__timeline :is(p,h3,li){opacity:1!important;animation:none!important;transform:none!important}}.education{padding-block-start:calc(var(--section-space) / 2)}.education__layout{flex-wrap:wrap;gap:clamp(2rem,1.25rem + 3vw,4.5rem);display:flex}.education__layout>.education__heading{flex:16rem}.education__layout>.education__list{flex:999 1 0;min-inline-size:58%}.education__heading{align-self:start}.education__list{--scale-start:2001;--scale-years:8;overflow-wrap:anywhere;margin:0;padding:0;list-style:none}.education__entry+.education__entry{margin-block-start:clamp(2.5rem,1.75rem + 3vw,4.5rem)}.education__ruler{background-image:linear-gradient(to right, transparent, var(--color-border) calc(100% / var(--scale-years)), var(--color-border) calc(100% - 100% / var(--scale-years)), transparent);background-position:50%;background-repeat:no-repeat;background-size:100% 1px;block-size:.75rem;margin-block-end:clamp(1rem,.75rem + 1vw,1.5rem);display:block;position:relative}.education__ruler:before{content:"";inline-size:calc(100% * (var(--scale-years) - 2) / var(--scale-years) + 1px);background-image:repeating-linear-gradient(to right, var(--color-border) 0 1px, transparent 1px calc((100% - 1px) / (var(--scale-years) - 2)));position:absolute;inset-block:calc(50% - 2.5px);inset-inline-start:calc(100% / var(--scale-years))}.education__span{inline-size:calc((var(--to) - var(--from)) / var(--scale-years) * 100%);background-image:linear-gradient(to right, var(--accent-2), var(--accent-4));block-size:2px;position:absolute;inset-block-start:50%;inset-inline-start:calc((var(--from) - var(--scale-start)) / var(--scale-years) * 100%);translate:0 -50%}.education__cap{--marker-size:.375rem;position:absolute;inset-block-start:50%;translate:-50% -50%}.education__cap:first-child{inset-inline-start:0}.education__cap:last-child{inset-inline-start:100%}.education__period{color:var(--color-text-muted);font-size:var(--text-sm);font-weight:var(--weight-semibold);font-variant-numeric:tabular-nums;line-height:var(--leading-tight)}.education__degree{font-size:var(--text-title-md);font-weight:var(--weight-semibold);text-wrap:pretty;margin-block-start:var(--space-xs);line-height:1.25}.education__institution{font-size:var(--text-body);margin-block-start:var(--space-xs)}.education__heading{--reveal-index:0}.education__entry:first-child{--reveal-index:1}.education__entry:nth-child(2){--reveal-index:2}@keyframes education-interval-draw{0%{clip-path:inset(-.5rem calc(100% + .5rem) -.5rem -.5rem)}to{clip-path:inset(-.5rem)}}@media (prefers-reduced-motion:no-preference){.reveal-ready .education__entry.is-revealed .education__span{animation:education-interval-draw .8s var(--ease-out) calc(var(--reveal-index) * 80ms + .3s) backwards}.education__cap{transition:rotate var(--duration-fast) var(--ease-out-strong)}}@media (prefers-reduced-motion:no-preference) and (hover:hover){.education__entry:hover .education__cap{rotate:45deg}}@media print{.education :is([data-reveal],.education__span){opacity:1!important;animation:none!important}}.projects{overflow-wrap:anywhere;padding-block-start:calc(var(--section-space) / 2)}.projects__inner{--stack-gap:clamp(2rem, 1.25rem + 2.5vw, 3.5rem)}.projects__inner>.section-heading{scroll-margin-top:var(--space-lg)}.projects__grid{gap:clamp(2rem, 1.5rem + 2vw, 3rem) var(--gap-cards);grid-template-columns:repeat(auto-fill,minmax(min(100%,17rem),1fr));margin:0;padding:0;list-style:none;display:grid}.projects__card{align-content:start;gap:var(--space-md);border-radius:var(--radius-card);color:var(--color-text);text-decoration:none;display:grid}.projects__card-media{border-radius:var(--radius-card)}.projects__card-media>img{object-fit:contain}.projects__card-title{text-wrap:pretty;line-height:1.45}@media (hover:hover){.projects__card:hover .projects__card-title{color:var(--accent-text)}}.projects__grid{grid-auto-columns:0}.projects__grid>li{grid-row:var(--row,auto);grid-column:var(--col,auto)}.projects__grid>[hidden]{visibility:hidden;display:block}@media (prefers-reduced-motion:reduce){.projects__grid>li,.projects__grid>li *{transition-property:none}}.projects__pagination[hidden]{display:none}.projects__pages{flex-wrap:wrap;justify-content:flex-end;align-items:center;margin:0;padding:0;list-style:none;display:flex}.projects__page-button{border-radius:var(--radius-round);block-size:2.75rem;inline-size:2.75rem;color:var(--color-text);font-size:var(--text-sm);font-weight:var(--weight-bold);font-variant-numeric:tabular-nums;line-height:var(--leading-none);cursor:pointer;background:0 0;border:0;place-items:center;padding:0;display:grid}.projects__page-button>svg{fill:none;stroke:currentColor;stroke-width:1.75px;stroke-linecap:round;stroke-linejoin:round;block-size:1rem;inline-size:1rem}.projects__page-button[aria-current=page]{border:1px solid var(--color-border-strong);background-color:var(--color-border);cursor:default}.projects__page-button[aria-disabled=true]{color:var(--color-border-strong);cursor:default}@media (hover:hover){.projects__page-button:not([aria-current=page],[aria-disabled=true]):hover{color:var(--accent-text)}}.projects__page-gap{block-size:2.75rem;inline-size:1.5rem;color:var(--color-text-muted);place-items:center;display:grid}.project{border-block-start:1px solid var(--color-border);padding-block:clamp(2.5rem,1.75rem + 3vw,4.5rem)}.project:last-child{padding-block-end:0}.project__title{font-size:clamp(1.375rem,.954082rem + 1.87075vw,2.75rem);font-weight:var(--weight-semibold);line-height:var(--leading-tight);text-wrap:balance}.project__body{flex-wrap:wrap;align-items:start;gap:clamp(1.5rem,1rem + 2vw,3rem);margin-block-start:clamp(1.5rem,1rem + 2vw,2.5rem);display:flex}.project__info{flex-direction:column;flex:20rem;gap:clamp(1.75rem,1.25rem + 1.5vw,2.5rem);min-inline-size:0;display:flex}.project__media{flex-direction:column;flex:2 30rem;gap:clamp(1rem,.75rem + 1vw,1.5rem);min-inline-size:0;display:flex}.project__label{color:var(--color-text-muted)}.project__group{gap:var(--space-sm);display:grid}.project__points{gap:var(--space-xs);padding-inline-start:1.25em;list-style-type:square;display:grid}.project__points ::marker{color:var(--color-text-subtle)}.project__date{color:var(--color-text-muted);font-size:var(--text-sm)}.project__link{gap:var(--space-2xs) var(--space-md);border-radius:var(--radius-media);background-color:var(--color-surface-raised);grid-template-columns:1fr auto;padding:clamp(1.25rem,1rem + 1vw,1.75rem);display:grid}.project__link-url{color:var(--color-text-muted);font-size:var(--text-sm);grid-column:1}.project__link-icon{fill:none;stroke:currentColor;stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round;grid-area:1/2/span 2;block-size:1.25rem;inline-size:1.25rem}a.project__link{color:var(--color-text);text-decoration:none}a.project__link .project__link-label{text-underline-offset:.2em;text-decoration:underline}@media (hover:hover){a.project__link:hover .project__link-label{color:var(--accent-text)}}.project__shot{background-color:var(--color-surface-raised);inline-size:100%}.project__back{padding-block:var(--space-2xs);color:var(--color-text-muted);font-size:var(--text-sm);text-underline-offset:.2em;margin-block-start:clamp(1.5rem,1rem + 2vw,2.5rem);text-decoration:underline;display:inline-block}@media (hover:hover){.project__back:hover{color:var(--accent-text)}}.project-dialog .project{border:0;padding:0}.project-dialog .project__body{margin-block-start:0}.project-dialog .project__link,.project-dialog .project__back{display:none}@media (prefers-reduced-motion:no-preference){.reveal-ready .projects__grid[data-reveal].is-revealed{animation:none}.reveal-ready .projects__grid.is-revealed>li:not([hidden]){--reveal-distance:.75rem;animation:reveal-rise .6s var(--ease-out) calc(80ms + var(--slot,0) * 60ms) both}.reveal-ready .projects__grid[data-reveal]:not(.is-revealed)+.projects__pagination{opacity:0}.reveal-ready .projects__grid.is-revealed+.projects__pagination{--reveal-distance:.75rem;animation:reveal-rise .6s var(--ease-out) .26s both}.projects__card-media>img{transition:scale .6s var(--ease-out-strong)}.projects__card-title,.projects__page-button,.project__back{transition:color var(--duration-fast) var(--ease-out)}}@media (prefers-reduced-motion:no-preference) and (hover:hover){.projects__card:hover .projects__card-media>img{scale:1.03}}@media print{.projects__grid>[hidden],.projects__details[hidden]{display:block}.projects__grid>[hidden]{visibility:visible}.projects__grid>li{grid-area:auto}.projects :is([data-reveal],.projects__grid>li){opacity:1!important;animation:none!important}.projects__pagination{display:none}}.contact{overflow-wrap:anywhere;padding-block-start:calc(var(--section-space) / 2)}.contact__inner{--stack-gap:clamp(2.5rem, 1.5rem + 3vw, 4.5rem)}.contact__title{letter-spacing:-.02em;font-size:clamp(2.25rem,1.1rem + 4.6vw,4.75rem);line-height:1.08}.contact__period{color:var(--accent-text)}.contact__layout{flex-wrap:wrap;gap:clamp(2rem,1.25rem + 3vw,4.5rem);display:flex}.contact__layout>.contact__intro{flex:20rem}.contact__layout>.contact__form{flex:999 1 0;min-inline-size:58%}.contact__intro{align-items:start;gap:var(--space-lg);flex-direction:column;display:flex}.contact__lead{color:var(--color-text-muted);font-size:var(--text-title-md);line-height:1.3}.contact__note{color:var(--color-text-muted);font-size:var(--text-xs);font-weight:var(--weight-semibold);line-height:var(--leading-tight);letter-spacing:var(--tracking-caps);text-transform:uppercase}.contact__form{gap:clamp(1.75rem,1.25rem + 1.5vw,2.75rem);font-size:clamp(1.375rem,1rem + 1.5vw,2rem);line-height:1.3;display:grid}.contact__field{gap:var(--space-sm);display:grid}.contact__field--inline{align-items:baseline;gap:var(--space-xs) .4em;flex-wrap:wrap;display:flex}.contact__field--inline .contact__input{flex:12ch;min-inline-size:0}.contact__input{border:0;border-block-end:1px solid var(--color-border-strong);color:var(--color-text);caret-color:var(--accent-text);background:0 0;border-radius:0;padding:.15em 0 calc(.15em + 1px)}.contact__input::placeholder{color:var(--color-text-subtle);opacity:1}.contact__input:focus-visible{border-block-end:2px solid var(--color-focus);outline-color:#0000;padding-block-end:.15em}.contact__input[aria-invalid=true]{border-block-end-color:#fca5a5}.contact__input:autofill{box-shadow:inset 0 0 0 100vmax var(--color-bg);-webkit-text-fill-color:var(--color-text)}.contact__message{min-block-size:6rem;inline-size:100%;resize:vertical;padding-block-start:var(--space-sm);font-size:clamp(1.125rem,1rem + .5vw,1.375rem);line-height:1.6}.contact__error{color:#fca5a5;font-size:var(--text-sm);line-height:var(--leading-normal);flex-basis:100%}.contact__error:empty{display:none}.contact__actions{justify-content:space-between;align-items:center;gap:var(--space-lg);flex-wrap:wrap;display:flex}.contact__meta{gap:var(--space-xs);flex:10rem;display:grid}.contact__status{color:var(--color-text-muted);font-size:var(--text-sm);line-height:var(--leading-normal)}.contact__status[data-state=success]{color:var(--color-text)}.contact__status[data-state=error]{color:#fca5a5}.contact__submit{aspect-ratio:1;border-radius:var(--radius-round);background-color:var(--accent-2);inline-size:clamp(4rem,3.25rem + 2.5vw,5.5rem);color:var(--color-on-accent);cursor:pointer;border:1px solid #0000;flex:none;place-items:center;margin-inline-start:auto;padding:0;display:grid}.contact__submit>svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;block-size:42%;inline-size:42%}.contact__submit[aria-disabled=true]{opacity:.5;cursor:default}@media (hover:hover){.contact__submit:not([aria-disabled=true]):hover{box-shadow:0 0 0 .375rem color-mix(in srgb, var(--accent-2) 22%, transparent)}}@media (prefers-reduced-motion:no-preference){.contact__intro{--reveal-index:1}.contact__form{--reveal-index:2}.contact__input{transition:border-color var(--duration-fast) var(--ease-out)}.contact__submit{transition:box-shadow var(--duration-fast) var(--ease-out)}.contact__submit>svg{transition:translate var(--duration-fast) var(--ease-out-strong)}}@media (prefers-reduced-motion:no-preference) and (hover:hover){.contact__submit:not([aria-disabled=true]):hover>svg{translate:.125em -.125em}}.visually-hidden{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.placeholder{outline:1px dashed var(--color-border);color:var(--color-text-subtle);cursor:default}@keyframes reveal-rise{0%{opacity:0;transform:translateY(var(--reveal-distance,1.5rem))}}@keyframes reveal-draw{0%{transform:scaleX(0)}}@media (prefers-reduced-motion:no-preference){.reveal-ready [data-reveal]:not(.is-revealed){opacity:0}.reveal-ready [data-reveal].is-revealed{animation:reveal-rise .7s var(--ease-out) calc(var(--reveal-index,0) * var(--reveal-stagger,80ms)) both}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;transition-delay:0s!important;animation-duration:.01ms!important;animation-iteration-count:1!important;animation-delay:0s!important}}
