.scrambled-text{position:relative}.scrambled-text__inner{display:block}.scrambled-text-sr{position:absolute;width:1px;height:1px;padding:0;margin:calc(var(--space-px) * -1);overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.glass-surface{position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden;transition:opacity .26s ease-out}.glass-surface__filter{width:100%;height:100%;pointer-events:none;position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;z-index:-1}.glass-surface__content{width:100%;height:100%;display:flex;align-items:center;justify-content:center;padding:.5rem;border-radius:inherit;position:relative;z-index:1}.glass-surface--svg{background:light-dark(hsl(0 0% 100% / var(--glass-frost, 0)),hsl(0 0% 0% / var(--glass-frost, 0)));-webkit-backdrop-filter:var(--filter-id, url(#glass-filter)) saturate(var(--glass-saturation, 1));backdrop-filter:var(--filter-id, url(#glass-filter)) saturate(var(--glass-saturation, 1));box-shadow:0 0 2px 1px light-dark(color-mix(in oklch,black,transparent 85%),color-mix(in oklch,white,transparent 65%)) inset,0 0 10px 4px light-dark(color-mix(in oklch,black,transparent 90%),color-mix(in oklch,white,transparent 85%)) inset,0 4px 16px #11111a0d,0 8px 24px #11111a0d,0 16px 56px #11111a0d,0 4px 16px #11111a0d inset,0 8px 24px #11111a0d inset,0 16px 56px #11111a0d inset}.glass-surface--webgl{box-shadow:0 4px 16px #11111a0d,0 8px 24px #11111a0d,0 16px 56px #11111a0d}.glass-surface__canvas,.glass-surface__frame{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;border-radius:inherit;pointer-events:none}.glass-surface__frame{background:light-dark(hsl(0 0% 100% / var(--glass-frost, 0)),hsl(0 0% 0% / var(--glass-frost, 0)));box-shadow:0 0 2px 1px light-dark(color-mix(in oklch,black,transparent 85%),color-mix(in oklch,white,transparent 65%)) inset,0 0 10px 4px light-dark(color-mix(in oklch,black,transparent 90%),color-mix(in oklch,white,transparent 85%)) inset,0 4px 16px #11111a0d inset,0 8px 24px #11111a0d inset,0 16px 56px #11111a0d inset}.glass-surface--fallback{background:light-dark(hsl(0 0% 100% / calc(.12 + var(--glass-frost, 0) * .5)),hsl(0 0% 100% / calc(.04 + var(--glass-frost, 0) * .3)));-webkit-backdrop-filter:blur(12px) saturate(calc(var(--glass-saturation, 1) * 1.4)) brightness(1.04);backdrop-filter:blur(12px) saturate(calc(var(--glass-saturation, 1) * 1.4)) brightness(1.04);box-shadow:inset 0 1px 0 0 light-dark(hsl(0 0% 100% / .85),hsl(0 0% 100% / .3)),inset 0 -1px 0 0 light-dark(hsl(0 0% 100% / .35),hsl(0 0% 100% / .08)),0 0 2px 1px light-dark(color-mix(in oklch,black,transparent 88%),color-mix(in oklch,white,transparent 72%)) inset,0 0 12px 3px light-dark(color-mix(in oklch,white,transparent 72%),color-mix(in oklch,white,transparent 90%)) inset,0 4px 16px #11111a0f,0 8px 24px #11111a0f,0 16px 56px #11111a0f}.glass-surface__sheen,.glass-surface__rim{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;pointer-events:none}.glass-surface__sheen{background:linear-gradient(135deg,light-dark(hsl(0 0% 100% / .42),hsl(0 0% 100% / .14)) 0%,transparent 42%,transparent 64%,light-dark(hsl(0 0% 100% / .18),hsl(0 0% 100% / .05)) 100%)}.glass-surface__rim{padding:3px;background:linear-gradient(150deg,light-dark(hsl(0 0% 100% / .7),hsl(0 0% 100% / .34)),light-dark(hsl(0 0% 100% / .1),hsl(0 0% 100% / .03)) 45%,light-dark(hsl(0 0% 100% / .08),hsl(0 0% 100% / .02)) 60%,light-dark(hsl(0 0% 100% / .42),hsl(0 0% 100% / .18)));-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#000 0 0) content-box exclude,linear-gradient(#000 0 0)}.glass-surface__line,.glass-surface__glow{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;-webkit-mask-size:100% 100%;mask-size:100% 100%}.glass-surface--svg .glass-surface__line,.glass-surface--webgl .glass-surface__line{background:light-dark(color-mix(in oklch,black,transparent 85%),color-mix(in oklch,white,transparent 65%))}.glass-surface--svg .glass-surface__glow,.glass-surface--webgl .glass-surface__glow{background:light-dark(color-mix(in oklch,black,transparent 90%),color-mix(in oklch,white,transparent 85%))}.glass-surface--fallback .glass-surface__line{background:light-dark(color-mix(in oklch,black,transparent 88%),color-mix(in oklch,white,transparent 72%))}.glass-surface--fallback .glass-surface__glow{background:light-dark(color-mix(in oklch,white,transparent 72%),color-mix(in oklch,white,transparent 90%))}@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))){.glass-surface--fallback{background:light-dark(hsl(0 0% 100% / .72),hsl(0 0% 12% / .72))}}.glass-surface:focus-visible{outline:2px solid light-dark(#007aff,#0a84ff);outline-offset:2px}.sphere-root{position:relative;width:100%;height:100%;--dome-radius: 520px;--circ: calc(var(--dome-radius) * 3.14);--rot-y: calc((360deg / var(--segments-x)) / 2);--rot-x: calc((360deg / var(--segments-y)) / 2);--item-width: calc(var(--circ) / var(--segments-x));--item-height: calc(var(--circ) / var(--segments-y))}.sphere-root *{box-sizing:border-box}.sphere,.item,.item__image{transform-style:preserve-3d}main.sphere-main{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;overflow:hidden;touch-action:pan-y;user-select:none;-webkit-user-select:none;background:var(--overlay-blur-color, var(--background));cursor:grab}main.sphere-main:active{cursor:grabbing}.stage{width:100%;height:100%;display:grid;place-items:center;perspective:calc(var(--dome-radius) * 2);perspective-origin:50% 50%;contain:layout paint size}.sphere{transform:translateZ(calc(var(--dome-radius) * -1));will-change:transform}.overlay,.overlay--blur{position:absolute;top:0;right:0;bottom:0;left:0;margin:auto;z-index:3;pointer-events:none}.overlay{background-image:radial-gradient(ellipse at center,transparent 80%,color-mix(in srgb,var(--overlay-blur-color, var(--background)) 30%,transparent) 100%)}.overlay--blur{-webkit-mask-image:radial-gradient(ellipse at center,transparent 72%,var(--foreground) 100%);mask-image:radial-gradient(ellipse at center,transparent 72%,var(--foreground) 100%)}.item{width:calc(var(--item-width) * var(--item-size-x));height:calc(var(--item-height) * var(--item-size-y));position:absolute;top:-999px;bottom:-999px;left:-999px;right:-999px;margin:auto;transform-origin:50% 50%;backface-visibility:hidden;transform:rotateY(calc(var(--rot-y) * (var(--offset-x) + ((var(--item-size-x) - 1) / 2)))) rotateX(calc(var(--rot-x) * (var(--offset-y) - ((var(--item-size-y) - 1) / 2)))) translateZ(var(--dome-radius))}.item__image{position:absolute;display:block;top:10px;right:10px;bottom:10px;left:10px;border-radius:var(--tile-radius, var(--radius-tile));background:var(--overlay-blur-color, var(--background));overflow:hidden;backface-visibility:hidden;pointer-events:none;transform:translateZ(0)}.item__image img{width:100%;height:100%;object-fit:cover;pointer-events:none;backface-visibility:hidden;filter:var(--image-filter, none)}.edge-fade{position:absolute;left:0;right:0;height:48px;z-index:5;opacity:.6;pointer-events:none;background:linear-gradient(to bottom,transparent,var(--overlay-blur-color, var(--background)))}.edge-fade--top{top:0;transform:rotate(180deg)}.edge-fade--bottom{bottom:0}.overlay--soft{backdrop-filter:blur(var(--dome-soft-blur, 2px));-webkit-backdrop-filter:blur(var(--dome-soft-blur, 2px))}.overlay--blur{-webkit-backdrop-filter:blur(var(--dome-edge-blur, 6px));backdrop-filter:blur(var(--dome-edge-blur, 6px))}.ghost-cursor{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;pointer-events:none}.ghost-cursor__canvas{position:absolute;top:0;right:0;bottom:0;left:0;display:block;width:100%;height:100%}.cursor-dot{position:fixed;top:0;left:0;z-index:2147483001;pointer-events:none;will-change:transform;transition:opacity var(--duration-base) ease}.cursor-dot[data-hidden=true]{opacity:0}.cursor-dot__mark{--w: var(--space-3);--h: var(--space-3);position:absolute;left:0;top:0;width:var(--w);height:var(--h);border-radius:var(--radius-pill);background:var(--accent);transform:translate(-50%,-50%);transition:width var(--duration-base) var(--ease-spring),height var(--duration-base) var(--ease-spring),transform var(--duration-fast) var(--ease-out),background-color var(--duration-fast) ease}.cursor-dot[data-state=link] .cursor-dot__mark{--w: var(--space-1-5);--h: var(--space-1-5)}.cursor-dot[data-state=label] .cursor-dot__mark{--w: var(--space-2);--h: var(--space-2)}.cursor-dot[data-state=text] .cursor-dot__mark{--w: calc(var(--space-0-5) * 1.5);--h: var(--space-6)}.cursor-dot[data-down=true] .cursor-dot__mark{transform:translate(-50%,-50%) scale(.6)}.cursor-dot__label{position:absolute;left:var(--space-3);padding:var(--space-1-5) var(--space-3);border:1px solid var(--color-tag-border);border-radius:var(--radius-pill);background:var(--color-tag-bg);-webkit-backdrop-filter:blur(var(--space-2));backdrop-filter:blur(var(--space-2));box-shadow:var(--shadow-print);color:var(--color-tag-fg);top:50%;font-family:var(--font-family-body);font-size:var(--text-body-sm);line-height:var(--leading-none);white-space:nowrap;clip-path:inset(0 100% 0 0);opacity:0;transform:translate(calc(var(--space-2) * -1),-50%);transition:clip-path var(--duration-base) var(--ease-out),opacity var(--duration-fast) ease,transform var(--duration-base) var(--ease-out)}.cursor-dot[data-state=label] .cursor-dot__label{clip-path:inset(0 0 0 0);opacity:1;transform:translateY(-50%);transition-delay:60ms}@media (prefers-reduced-motion: reduce){.cursor-dot,.cursor-dot__mark,.cursor-dot__label{transition:none}}.theme-toggle{position:fixed;top:var(--space-5);right:calc(var(--space-5) + var(--space-8) + var(--space-1));z-index:61;display:grid;width:var(--space-8);height:var(--space-8);padding:0;border:0;border-radius:var(--radius-round);background:transparent;color:var(--muted-foreground);transition:color var(--duration-fast) ease,right var(--duration-slow) var(--ease-out)}.theme-toggle:hover,.theme-toggle:focus-visible{color:var(--accent);outline:none}.theme-toggle__icon{grid-area:1 / 1;display:grid;place-items:center;opacity:0;transform:rotate(-90deg) scale(.6);transition:opacity var(--duration-base) ease,transform var(--duration-slow) var(--ease-spring)}.theme-toggle__icon[data-show=true]{opacity:1;transform:none}@media (min-width: 900px){.fanyllm-open .theme-toggle{right:calc(var(--llm-w) + var(--space-5) + var(--space-8) + var(--space-1))}}@media (prefers-reduced-motion: reduce){.theme-toggle,.theme-toggle__icon{transition:none}}:root{--llm-w: min(380px, 100vw)}.fany-llm{position:fixed;top:0;right:0;bottom:0;z-index:60;width:var(--llm-w);display:grid;grid-template-rows:auto 1fr auto auto;padding:var(--space-5) var(--space-5) var(--space-4);background:var(--background);border-left:1px solid var(--border);transform:translate(100%);visibility:hidden;transition:transform var(--duration-slow) var(--ease-out),visibility 0s linear var(--duration-slow)}.fany-llm.is-open{transform:none;visibility:visible;transition:transform var(--duration-slow) var(--ease-out),visibility 0s}.fany-llm__trigger{position:fixed;top:var(--space-5);right:var(--space-5);z-index:61;display:grid;place-items:center;width:var(--space-8);height:var(--space-8);padding:0;border:0;border-radius:var(--radius-round);background:transparent;color:var(--muted-foreground);transition:color var(--duration-fast) ease,transform var(--duration-slow) var(--ease-out)}.fany-llm__trigger:hover,.fany-llm__trigger:focus-visible,.fany-llm__trigger.is-open{color:var(--accent);outline:none}.page-grid,.home-dome,.fany-llm__trigger{transition:margin-right var(--duration-slow) var(--ease-out),right var(--duration-slow) var(--ease-out),color var(--duration-fast) ease,transform var(--duration-slow) var(--ease-out)}@media (min-width: 900px){.fanyllm-open .page-grid{margin-right:var(--llm-w)}.fanyllm-open .home-dome{right:var(--llm-w)}.fanyllm-open .fany-llm__trigger{right:calc(var(--llm-w) + var(--space-5))}}@media (max-width: 899px){.fany-llm__trigger.is-open{opacity:0;pointer-events:none}}.fany-llm__trigger:hover{transform:rotate(45deg)}.fany-llm__head{display:flex;align-items:center;justify-content:space-between;min-height:var(--space-8)}.fany-llm__name{font-family:var(--font-family-title);font-size:var(--text-ui)}.fany-llm__tools{display:flex;gap:var(--space-1)}.fany-llm__tools button,.fany-llm__form button{display:grid;place-items:center;width:var(--space-8);height:var(--space-8);padding:0;border:0;border-radius:var(--radius-round);background:transparent;color:var(--muted-foreground);transition:color var(--duration-fast) ease}.fany-llm__tools button:hover,.fany-llm__tools button:focus-visible{color:var(--foreground);outline:none}.fany-llm__log{display:flex;flex-direction:column;gap:var(--space-stack);overflow-y:auto;padding:var(--space-4) 0;font-family:var(--font-family-body);font-size:var(--text-body-sm);line-height:var(--leading-body)}.fany-llm__empty{margin-top:auto;display:grid;gap:var(--space-heading-content)}.fany-llm__hello{margin:0;font-family:var(--font-family-title);font-size:var(--text-heading-sm);line-height:var(--leading-title)}.fany-llm__suggest{margin:0;padding:0;list-style:none;display:grid;gap:var(--space-2)}.fany-llm__suggest button{padding:var(--space-1) 0;border:0;background:none;font:inherit;text-align:left;color:var(--muted-foreground);transition:color var(--duration-fast) ease}.fany-llm__suggest button:hover,.fany-llm__suggest button:focus-visible{color:var(--accent);outline:none}.fany-llm__question{align-self:flex-end;max-width:85%;margin:0;padding:var(--space-2) var(--space-3);border-radius:var(--radius-card);background:var(--color-wash-soft);color:var(--foreground)}.fany-llm__answer p{margin:0;color:var(--foreground)}.fany-llm__links{display:grid;gap:var(--space-1);margin-top:var(--space-caption-media)}.fany-llm__link{color:var(--accent);text-decoration:none}.fany-llm__link:hover,.fany-llm__link:focus-visible{color:var(--color-action-hover);outline:none}.fany-llm__form{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-1) var(--space-1) var(--space-3);border:1px solid var(--border);border-radius:var(--radius-card);background:var(--background)}.fany-llm__form:focus-within{border-color:var(--accent)}.fany-llm__form input{flex:1;min-width:0;padding:var(--space-2) 0;border:0;background:transparent;font-family:var(--font-family-body);font-size:16px;color:var(--foreground);outline:none}.fany-llm__form button:not(:disabled){color:var(--accent)}.fany-llm__note{margin:var(--space-2) 0 0;font-family:var(--font-family-body);font-size:var(--text-meta);color:var(--muted-foreground)}.fany-llm__chip{position:fixed;z-index:62;display:inline-flex;align-items:center;gap:var(--space-1-5);padding:var(--space-1-5) var(--space-3);border:1px solid var(--color-tag-border);border-radius:var(--radius-pill);background:var(--color-tag-bg);-webkit-backdrop-filter:blur(var(--space-2));backdrop-filter:blur(var(--space-2));box-shadow:var(--shadow-print);color:var(--color-tag-fg);font-family:var(--font-family-body);font-size:var(--text-ui);white-space:nowrap;transform:translate(-50%,calc(-100% - var(--space-2)));animation:fany-llm-chip var(--duration-base) var(--ease-out)}.fany-llm__chip:hover,.fany-llm__chip:focus-visible{border-color:var(--color-tag-fg);color:var(--color-action-hover);outline:none}@keyframes fany-llm-chip{0%{opacity:0;transform:translate(-50%,calc(-100% + var(--space-1)))}}@media (prefers-reduced-motion: reduce){.fany-llm,.fany-llm.is-open{transition:none}.fany-llm__chip{animation:none}}:root{color-scheme:light}:root{--color-coral: #DE826D;--color-cream: #F3E0D1;--color-rose: #9C575D;--color-peach: #E8B19D;--color-blush: #B76E78;--color-mauve: #A06069;--color-sand: #E6BD89;--color-maroon: #62232D;--color-gold: #DAA561;--color-amber: #C6872F;--color-ink: #000000;--color-paper: #FFFFFF;--color-grey-900: #0D0D0D;--color-grey-600: #5C5C5C;--color-grey-300: #B0B0B0;--color-grey-100: #F2F2F2;--color-grey-200: #D4D4D4;--color-grey-400: #9E9E9E;--color-grey-500: #808080;--color-night: #111111;--color-umber: #1A1A1A;--color-soot: #262626;--color-parchment: #EDEDED;--color-text: var(--color-ink);--color-bg: var(--color-paper);--color-action-hover: var(--color-maroon);--color-accent-name: var(--color-peach);--color-accent-tech: var(--color-coral);--color-accent-digital: var(--color-maroon);--color-accent-graphic: var(--color-mauve);--color-accent-creative: var(--color-blush);--color-accent-work: var(--color-amber);--color-accent-award: var(--color-gold);--color-accent-love: var(--color-coral);--color-accent-think: var(--color-rose);--color-accent-fear: var(--color-maroon);--color-accent-strong: color-mix(in srgb, var(--color-coral) 55%, var(--color-maroon));--color-surface-soft: var(--color-cream);--color-surface-sand: var(--color-sand);--color-glow: color-mix(in srgb, var(--color-coral) 42%, transparent);--color-cursor: var(--color-coral);--color-dither-1: var(--color-grey-900);--color-dither-2: var(--color-grey-600);--color-dither-3: var(--color-grey-300);--color-dither-4: var(--color-paper);--color-line-old: var(--color-sand);--color-glow-off: rgb(from var(--color-coral) r g b / 0);--color-tag-bg: color-mix(in srgb, var(--background) 88%, transparent);--color-tag-border: color-mix(in srgb, var(--accent) 45%, transparent);--color-tag-fg: var(--accent);--background: var(--color-paper);--foreground: var(--color-ink);--card: var(--color-paper);--card-foreground: var(--color-ink);--popover: var(--color-paper);--popover-foreground: var(--color-ink);--primary: var(--color-maroon);--primary-foreground: var(--color-paper);--secondary: var(--color-cream);--secondary-foreground: var(--color-maroon);--muted: var(--color-cream);--muted-foreground: color-mix(in srgb, var(--color-ink) 62%, transparent);--accent: var(--color-coral);--accent-foreground: var(--color-maroon);--destructive: var(--color-rose);--destructive-foreground: var(--color-paper);--border: color-mix(in srgb, var(--color-ink) 12%, transparent);--input: var(--border);--ring: var(--color-sand);--chart-1: var(--color-coral);--chart-2: var(--color-rose);--chart-3: var(--color-sand);--chart-4: var(--color-gold);--chart-5: var(--color-blush);--sidebar: var(--color-paper);--sidebar-foreground: var(--color-ink);--sidebar-primary: var(--color-maroon);--sidebar-primary-foreground: var(--color-paper);--sidebar-accent: var(--color-coral);--sidebar-accent-foreground: var(--color-maroon);--sidebar-border: var(--color-maroon);--sidebar-ring: var(--color-sand);--surface: var(--color-cream);--surface-foreground: var(--color-ink);--blend-paper: multiply;--duration-fast: .2s;--duration-base: .3s;--duration-slow: .5s;--duration-memory: 1.4s;--duration-draw: 2.6s;--ease-out: cubic-bezier(.2, .7, .2, 1);--ease-spring: cubic-bezier(.2, .8, .2, 1.15);--ease-in-out: cubic-bezier(.45, 0, .2, 1);--scale-hover: 1.03;--radius-none: 0;--radius-xs: 2px;--radius-sm: 4px;--radius-md: 6px;--radius-lg: 10px;--radius-xl: 24px;--radius-full: 999px;--radius-round: 50%;--radius-media: var(--radius-sm);--radius-card: var(--radius-lg);--radius-pill: var(--radius-full);--radius-tile: var(--radius-xl);--shadow-print: 0 6px 10px color-mix(in srgb, var(--color-ink) 12%, transparent);--shadow-print-raised: 0 10px 18px color-mix(in srgb, var(--color-ink) 22%, transparent);--shadow-print-lifted: 0 8px 14px color-mix(in srgb, var(--color-ink) 15%, transparent);--shadow-soft: 0 0 20px color-mix(in srgb, var(--color-ink) 35%, transparent);--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-7: 28px;--space-8: 32px;--space-10: 40px;--space-12: 48px;--space-14: 56px;--space-16: 64px;--space-18: 72px;--space-px: 1px;--space-0-5: 2px;--space-1-5: 6px;--space-2-5: 10px;--space-3-5: 14px;--space-title-date: .25em;--space-date-sub: 1.25em;--space-sub-body: .9em;--space-body-list: .75em;--space-media-text: clamp(28px, 11cqw, 52px);--space-gutter: clamp(12px, 1.6vw, 24px);--space-page-top: clamp(24px, 3vw, 40px);--space-title-content: clamp(36px, 5vw, 64px);--space-section: var(--space-8);--space-group: clamp(28px, 2.5vw, 48px);--space-heading-content: var(--space-3);--space-caption-media: var(--space-2);--space-stack: var(--space-4);--space-paragraph: 1em;--space-rule-heading: var(--space-8);--font-family-mono: "Source Code Pro", source-code-pro, ui-monospace, "SFMono-Regular", "Menlo", "Consolas", "Liberation Mono", monospace;--font-family-sans: "Montserrat", system-ui, sans-serif;--font-family-flex: "Roboto Flex", sans-serif;--font-family-title: var(--font-family-mono);--font-family-body: var(--font-family-sans);--font-family-proximity: var(--font-family-flex);--font-weight-regular: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--font-size-2xs: 11px;--font-size-xs: 12px;--font-size-sm: 13px;--font-size-md: 14px;--font-size-base: 15px;--font-size-lg: 17px;--font-size-xl: 20px;--text-micro: var(--font-size-2xs);--text-meta: var(--font-size-xs);--text-ui: var(--font-size-sm);--text-body-sm: var(--font-size-md);--text-body: var(--font-size-base);--text-body-lg: var(--font-size-lg);--text-heading-sm: var(--font-size-xl);--text-lead: clamp(14px, 1.4vw, 17px);--text-small: clamp(12px, 1vw, 14px);--text-subtitle: clamp(16px, 1.6vw, 22px);--text-section-title: clamp(20px, 2.4vw, 30px);--text-page-title: clamp(26px, 3.4vw, 40px);--text-intro-narrow: clamp(18px, 5.4vw, 24px);--text-hero: clamp(18px, 4vw, 44px);--text-nav: clamp(18px, 1.6vw, 20px);--text-footer: clamp(14px, 1.5vw, 18px);--text-list: clamp(12px, 1.5vw, 16px);--text-card-title: clamp(18px, 5.8cqw, 32px);--text-card-sub: clamp(13.5px, 3.75cqw, 19px);--text-card-body: clamp(13px, 3.5cqw, 17px);--text-card-title-sm: clamp(15px, 4.2cqw, 21px);--text-card-meta-sm: clamp(12px, 3cqw, 15px);--leading-none: 1;--leading-tight: 1.15;--leading-snug: 1.3;--leading-normal: 1.45;--leading-relaxed: 1.6;--leading-loose: 1.75;--leading-title: var(--leading-tight);--leading-body: var(--leading-normal);--leading-prose: var(--leading-relaxed);--color-wash-name: color-mix(in srgb, var(--color-accent-name) 13%, transparent);--color-wash-tech: color-mix(in srgb, var(--color-accent-tech) 13%, transparent);--color-wash-digital: color-mix(in srgb, var(--color-accent-digital) 13%, transparent);--color-wash-graphic: color-mix(in srgb, var(--color-accent-graphic) 13%, transparent);--color-wash-creative: color-mix(in srgb, var(--color-accent-creative) 13%, transparent);--color-wash-work: color-mix(in srgb, var(--color-accent-work) 13%, transparent);--color-wash-award: color-mix(in srgb, var(--color-accent-award) 13%, transparent);--color-wash-love: color-mix(in srgb, var(--color-accent-love) 13%, transparent);--color-wash-think: color-mix(in srgb, var(--color-accent-think) 13%, transparent);--color-wash-fear: color-mix(in srgb, var(--color-accent-fear) 13%, transparent);--color-wash-strong: color-mix(in srgb, var(--color-accent-strong) 13%, transparent);--color-wash-soft: color-mix(in srgb, var(--color-surface-soft) 13%, transparent);--color-wash-sand: color-mix(in srgb, var(--color-surface-sand) 13%, transparent)}:root[data-theme=dark]{color-scheme:dark;--color-text: var(--color-parchment);--color-bg: var(--color-night);--color-action-hover: var(--color-paper);--color-accent-name: var(--color-grey-100);--color-accent-tech: var(--color-grey-100);--color-accent-digital: var(--color-grey-300);--color-accent-graphic: var(--color-grey-400);--color-accent-creative: var(--color-grey-400);--color-accent-work: var(--color-grey-200);--color-accent-award: var(--color-grey-200);--color-accent-love: var(--color-grey-100);--color-accent-think: var(--color-grey-300);--color-accent-fear: var(--color-grey-300);--color-accent-strong: var(--color-grey-100);--color-surface-soft: var(--color-soot);--color-surface-sand: var(--color-grey-600);--color-glow: color-mix(in srgb, var(--color-paper) 22%, transparent);--color-cursor: var(--color-grey-200);--color-line-old: var(--color-grey-600);--color-glow-off: rgb(from var(--color-paper) r g b / 0);--background: var(--color-night);--foreground: var(--color-parchment);--card: var(--color-umber);--card-foreground: var(--color-parchment);--popover: var(--color-umber);--popover-foreground: var(--color-parchment);--primary: var(--color-grey-100);--primary-foreground: var(--color-night);--secondary: var(--color-soot);--secondary-foreground: var(--color-grey-200);--muted: var(--color-soot);--muted-foreground: color-mix(in srgb, var(--color-parchment) 62%, transparent);--accent: var(--color-grey-200);--accent-foreground: var(--color-night);--destructive: var(--color-grey-300);--destructive-foreground: var(--color-night);--border: color-mix(in srgb, var(--color-parchment) 14%, transparent);--ring: var(--color-grey-400);--chart-1: var(--color-grey-100);--chart-2: var(--color-grey-200);--chart-3: var(--color-grey-300);--chart-4: var(--color-grey-400);--chart-5: var(--color-grey-500);--sidebar: var(--color-night);--sidebar-foreground: var(--color-parchment);--sidebar-primary: var(--color-grey-300);--sidebar-primary-foreground: var(--color-night);--sidebar-accent: var(--color-grey-200);--sidebar-accent-foreground: var(--color-grey-100);--sidebar-border: var(--color-grey-500);--sidebar-ring: var(--color-grey-400);--surface: var(--color-soot);--surface-foreground: var(--color-parchment);--blend-paper: normal}@media (prefers-color-scheme: dark){:root:not([data-theme=light]){color-scheme:dark;--color-text: var(--color-parchment);--color-bg: var(--color-night);--color-action-hover: var(--color-paper);--color-accent-name: var(--color-grey-100);--color-accent-tech: var(--color-grey-100);--color-accent-digital: var(--color-grey-300);--color-accent-graphic: var(--color-grey-400);--color-accent-creative: var(--color-grey-400);--color-accent-work: var(--color-grey-200);--color-accent-award: var(--color-grey-200);--color-accent-love: var(--color-grey-100);--color-accent-think: var(--color-grey-300);--color-accent-fear: var(--color-grey-300);--color-accent-strong: var(--color-grey-100);--color-surface-soft: var(--color-soot);--color-surface-sand: var(--color-grey-600);--color-glow: color-mix(in srgb, var(--color-paper) 22%, transparent);--color-cursor: var(--color-grey-200);--color-line-old: var(--color-grey-600);--color-glow-off: rgb(from var(--color-paper) r g b / 0);--background: var(--color-night);--foreground: var(--color-parchment);--card: var(--color-umber);--card-foreground: var(--color-parchment);--popover: var(--color-umber);--popover-foreground: var(--color-parchment);--primary: var(--color-grey-100);--primary-foreground: var(--color-night);--secondary: var(--color-soot);--secondary-foreground: var(--color-grey-200);--muted: var(--color-soot);--muted-foreground: color-mix(in srgb, var(--color-parchment) 62%, transparent);--accent: var(--color-grey-200);--accent-foreground: var(--color-night);--destructive: var(--color-grey-300);--destructive-foreground: var(--color-night);--border: color-mix(in srgb, var(--color-parchment) 14%, transparent);--ring: var(--color-grey-400);--chart-1: var(--color-grey-100);--chart-2: var(--color-grey-200);--chart-3: var(--color-grey-300);--chart-4: var(--color-grey-400);--chart-5: var(--color-grey-500);--sidebar: var(--color-night);--sidebar-foreground: var(--color-parchment);--sidebar-primary: var(--color-grey-300);--sidebar-primary-foreground: var(--color-night);--sidebar-accent: var(--color-grey-200);--sidebar-accent-foreground: var(--color-grey-100);--sidebar-border: var(--color-grey-500);--sidebar-ring: var(--color-grey-400);--surface: var(--color-soot);--surface-foreground: var(--color-parchment);--blend-paper: normal}}@layer components{.typeset{--typeset-font-body: inherit;--typeset-font-heading: var(--font-heading);--typeset-font-mono: var(--font-mono);--typeset-size: 1em;--typeset-leading: 1.75;--typeset-flow: 1.25em}}@layer components{.typeset{font-family:var(--typeset-font-body);font-size:calc(var(--typeset-size) * 1.125);line-height:var(--typeset-leading);color:var(--color-foreground, currentColor);overflow-wrap:break-word;margin-trim:block-start;--typeset-muted: var( --color-muted-foreground, color-mix(in oklab, currentColor 60%, transparent) );--typeset-rule: var( --color-border, color-mix(in oklab, currentColor 20%, transparent) )}@media (min-width: 48rem),print{.typeset{font-size:var(--typeset-size)}}.typeset *:not(:where(.not-typeset,[data-not-typeset],.not-typeset *,[data-not-typeset] *,.typeset [data-slot],.typeset [data-slot] *)):where(p){margin-block-start:var(--typeset-flow);margin-block-end:0}.typeset *:not(:where(.not-typeset,[data-not-typeset],.not-typeset *,[data-not-typeset] *,.typeset [data-slot],.typeset [data-slot] *)):where(h1,h2,h3,h4,h5,h6){color:var(--color-foreground, currentColor);font-family:var(--typeset-font-heading);font-weight:var(--font-weight-semibold);margin-block-end:0}.typeset *:not(:where(.not-typeset,[data-not-typeset],.not-typeset *,[data-not-typeset] *,.typeset [data-slot],.typeset [data-slot] *)):where(h1){font-size:1.75em;line-height:var(--leading-snug);margin-block-start:var(--typeset-flow)}.typeset *:not(:where(.not-typeset,[data-not-typeset],.not-typeset *,[data-not-typeset] *,.typeset [data-slot],.typeset [data-slot] *)):where(h2){font-size:1.25em;line-height:var(--leading-body);margin-block-start:calc(var(--typeset-flow) * 1.4)}.typeset *:not(:where(.not-typeset,[data-not-typeset],.not-typeset *,[data-not-typeset] *,.typeset [data-slot],.typeset [data-slot] *)):where(h3){font-size:1.125em;line-height:var(--leading-body);margin-block-start:var(--typeset-flow)}.typeset *:not(:where(.not-typeset,[data-not-typeset],.not-typeset *,[data-not-typeset] *,.typeset [data-slot],.typeset [data-slot] *)):where(h4){font-size:1em;line-height:var(--leading-body);margin-block-start:var(--typeset-flow)}.typeset *:not(:where(.not-typeset,[data-not-typeset],.not-typeset *,[data-not-typeset] *,.typeset [data-slot],.typeset [data-slot] *)):where(h5){font-size:.875em;line-height:var(--leading-body);font-weight:var(--font-weight-medium);color:var(--typeset-muted);margin-block-start:calc(var(--typeset-flow) / .875)}.typeset *:not(:where(.not-typeset,[data-not-typeset],.not-typeset *,[data-not-typeset] *,.typeset [data-slot],.typeset [data-slot] *)):where(h6){font-size:.8125em;line-height:var(--leading-body);font-weight:var(--font-weight-medium);letter-spacing:.08em;text-transform:uppercase;color:var(--typeset-muted);margin-block-start:calc(var(--typeset-flow) / .8125)}.typeset *:not(:where(.not-typeset,[data-not-typeset],.not-typeset *,[data-not-typeset] *,.typeset [data-slot],.typeset [data-slot] *)):where([id]){scroll-margin-block-start:var(--typeset-flow)}.typeset *:not(:where(.not-typeset,[data-not-typeset],.not-typeset *,[data-not-typeset] *,.typeset [data-slot],.typeset [data-slot] *)):where(h1+*,h2+*,h3+*,h4+*,h5+*,h6+*){margin-block-start:1em}.typeset *:not(:where(.not-typeset,[data-not-typeset],.not-typeset *,[data-not-typeset] *,.typeset [data-slot],.typeset [data-slot] *)):where(:is(h1,h2,h3,h4) :is(code)){font-size:.9em}.typeset *:not(:where(.not-typeset,[data-not-typeset],.not-typeset *,[data-not-typeset] *,.typeset [data-slot],.typeset [data-slot] *)):where(a){color:inherit;font-weight:var(--font-weight-medium);text-decoration-line:underline;text-decoration-color:color-mix(in oklab,currentColor 30%,transparent)}.typeset *:not(:where(.not-typeset,[data-not-typeset],.not-typeset *,[data-not-typeset] *,.typeset [data-slot],.typeset [data-slot] *)):where(a:hover){text-decoration-color:currentColor}.typeset *:not(:where(.not-typeset,[data-not-typeset],.not-typeset *,[data-not-typeset] *,.typeset [data-slot],.typeset [data-slot] *)):where(a:focus-visible){outline:2px solid var(--color-ring, currentColor);outline-offset:2px;border-radius:.125em}.typeset *:not(:where(.not-typeset,[data-not-typeset],.not-typeset *,[data-not-typeset] *,.typeset [data-slot],.typeset [data-slot] *)):where(:is(h1,h2,h3,h4,h5,h6) :is(a)){font-weight:inherit}.typeset *:not(:where(.not-typeset,[data-not-typeset],.not-typeset *,[data-not-typeset] *,.typeset [data-slot],.typeset [data-slot] *)):where(strong,b){font-weight:var(--font-weight-semibold)}.typeset *:not(:where(.not-typeset,[data-not-typeset],.not-typeset *,[data-not-typeset] *,.typeset [data-slot],.typeset [data-slot] *)):where(:is(h1,h2,h3,h4) :is(strong,b)){font-weight:var(--font-weight-semibold)}.typeset *:not(:where(.not-typeset,[data-not-typeset],.not-typeset *,[data-not-typeset] *,.typeset [data-slot],.typeset [data-slot] *)):where(mark){background-color:color-mix(in oklab,oklch(.86 .17 95) 40%,transparent);color:inherit;padding:.05em .15em;border-radius:.2em}.typeset *:not(:where(.not-typeset,[data-not-typeset],.not-typeset *,[data-not-typeset] *,.typeset [data-slot],.typeset [data-slot] *)):where(abbr[title]){text-decoration-line:underline;text-decoration-style:dotted;text-underline-offset:.2em;cursor:help}.typeset *:not(:where(.not-typeset,[data-not-typeset],.not-typeset *,[data-not-typeset] *,.typeset [data-slot],.typeset [data-slot] *)):where(del,s){color:var(--typeset-muted);text-decoration-line:line-through}.typeset *:not(:where(.not-typeset,[data-not-typeset],.not-typeset *,[data-not-typeset] *,.typeset [data-slot],.typeset [data-slot] *)):where(sup,sub){font-size:.75em;line-height:0;position:relative;vertical-align:baseline}.typeset *:not(:where(.not-typeset,[data-not-typeset],.not-typeset *,[data-not-typeset] *,.typeset [data-slot],.typeset [data-slot] *)):where(sup){top:-.5em}.typeset *:not(:where(.not-typeset,[data-not-typeset],.not-typeset *,[data-not-typeset] *,.typeset [data-slot],.typeset [data-slot] *)):where(sub){bottom:-.25em}.typeset *:not(:where(.not-typeset,[data-not-typeset],.not-typeset *,[data-not-typeset] *,.typeset [data-slot],.typeset [data-slot] *)):where(sup a){text-decoration-line:none;font-weight:var(--font-weight-medium)}.typeset *:not(:where(.not-typeset,[data-not-typeset],.not-typeset *,[data-not-typeset] *,.typeset [data-slot],.typeset [data-slot] *)):where(ul){list-style-type:disc}.typeset *:not(:where(.not-typeset,[data-not-typeset],.not-typeset *,[data-not-typeset] *,.typeset [data-slot],.typeset [data-slot] *)):where(ol){list-style-type:decimal}.typeset *:not(:where(.not-typeset,[data-not-typeset],.not-typeset *,[data-not-typeset] *,.typeset [data-slot],.typeset [data-slot] *)):where(ul ul){list-style-type:circle}.typeset *:not(:where(.not-typeset,[data-not-typeset],.not-typeset *,[data-not-typeset] *,.typeset [data-slot],.typeset [data-slot] *)):where(ul ul ul){list-style-type:square}.typeset *:not(:where(.not-typeset,[data-not-typeset],.not-typeset *,[data-not-typeset] *,.typeset [data-slot],.typeset [data-slot] *)):where(ol[type=a i]){list-style-type:lower-alpha}.typeset *:not(:where(.not-typeset,[data-not-typeset],.not-typeset *,[data-not-typeset] *,.typeset [data-slot],.typeset [data-slot] *)):where(ol[type=i i]){list-style-type:lower-roman}.typeset *:not(:where(.not-typeset,[data-not-typeset],.not-typeset *,[data-not-typeset] *,.typeset [data-slot],.typeset [data-slot] *)):where(ol[type=A s]){list-style-type:upper-alpha}.typeset *:not(:where(.not-typeset,[data-not-typeset],.not-typeset *,[data-not-typeset] *,.typeset [data-slot],.typeset [data-slot] *)):where(ol[type=I s]){list-style-type:upper-roman}.typeset *:not(:where(.not-typeset,[data-not-typeset],.not-typeset *,[data-not-typeset] *,.typeset [data-slot],.typeset [data-slot] *)):where(ul,ol){margin-block-start:var(--typeset-flow);margin-block-end:0;padding-inline-start:1.5em}.typeset *:not(:where(.not-typeset,[data-not-typeset],.not-typeset *,[data-not-typeset] *,.typeset [data-slot],.typeset [data-slot] *)):where(li){margin-block-start:.5em;padding-inline-start:.4em}.typeset *:not(:where(.not-typeset,[data-not-typeset],.not-typeset *,[data-not-typeset] *,.typeset [data-slot],.typeset [data-slot] *)):where(li>p,li>ul,li>ol){margin-block-start:.5em}.typeset *:not(:where(.not-typeset,[data-not-typeset],.not-typeset *,[data-not-typeset] *,.typeset [data-slot],.typeset [data-slot] *)):where(ul>li)::marker{color:var(--typeset-muted)}.typeset *:not(:where(.not-typeset,[data-not-typeset],.not-typeset *,[data-not-typeset] *,.typeset [data-slot],.typeset [data-slot] *)):where(ol>li)::marker{color:var(--typeset-muted)}.typeset *:not(:where(.not-typeset,[data-not-typeset],.not-typeset *,[data-not-typeset] *,.typeset [data-slot],.typeset [data-slot] *)):where(ul.contains-task-list){list-style-type:none;padding-inline-start:.25em}.typeset *:not(:where(.not-typeset,[data-not-typeset],.not-typeset *,[data-not-typeset] *,.typeset [data-slot],.typeset [data-slot] *)):where(li.task-list-item>input[type=checkbox]){margin-inline-end:.5em;vertical-align:-.1em;accent-color:var(--color-primary, currentColor)}.typeset *:not(:where(.not-typeset,[data-not-typeset],.not-typeset *,[data-not-typeset] *,.typeset [data-slot],.typeset [data-slot] *)):where(details){margin-block-start:var(--typeset-flow);margin-block-end:0}.typeset *:not(:where(.not-typeset,[data-not-typeset],.not-typeset *,[data-not-typeset] *,.typeset [data-slot],.typeset [data-slot] *)):where(summary){cursor:pointer;font-weight:var(--font-weight-medium)}.typeset *:not(:where(.not-typeset,[data-not-typeset],.not-typeset *,[data-not-typeset] *,.typeset [data-slot],.typeset [data-slot] *)):where(summary)::marker{color:var(--typeset-muted)}.typeset *:not(:where(.not-typeset,[data-not-typeset],.not-typeset *,[data-not-typeset] *,.typeset [data-slot],.typeset [data-slot] *)):where(kbd){font-family:inherit;font-size:.85em;font-weight:var(--font-weight-medium);border:1px solid var(--typeset-rule);border-block-end-width:2px;border-radius:min(calc(var(--radius-sm) * .6),.35em);padding:.0625em .35em}.typeset *:not(:where(.not-typeset,[data-not-typeset],.not-typeset *,[data-not-typeset] *,.typeset [data-slot],.typeset [data-slot] *)):where(dl){margin-block-start:var(--typeset-flow);margin-block-end:0}.typeset *:not(:where(.not-typeset,[data-not-typeset],.not-typeset *,[data-not-typeset] *,.typeset [data-slot],.typeset [data-slot] *)):where(dt){font-weight:var(--font-weight-medium);margin-block-start:1em}.typeset *:not(:where(.not-typeset,[data-not-typeset],.not-typeset *,[data-not-typeset] *,.typeset [data-slot],.typeset [data-slot] *)):where(dt+dt){margin-block-start:.25em}.typeset *:not(:where(.not-typeset,[data-not-typeset],.not-typeset *,[data-not-typeset] *,.typeset [data-slot],.typeset [data-slot] *)):where(dd){margin-block-start:.25em;margin-inline-start:0;padding-inline-start:1em;color:var(--typeset-muted)}.typeset *:not(:where(.not-typeset,[data-not-typeset],.not-typeset *,[data-not-typeset] *,.typeset [data-slot],.typeset [data-slot] *)):where(:not(pre)>code){background-color:var( --color-muted, color-mix(in oklab, currentColor 8%, transparent) );font-family:var(--typeset-font-mono);font-size:.85em;border-radius:min(calc(var(--radius-sm) * .6),.35em);padding:.125em .3em}.typeset *:not(:where(.not-typeset,[data-not-typeset],.not-typeset *,[data-not-typeset] *,.typeset [data-slot],.typeset [data-slot] *)):where(pre){background-color:var( --color-muted, color-mix(in oklab, currentColor 8%, transparent) );font-family:var(--typeset-font-mono);font-size:.875em;line-height:var(--leading-body);-moz-tab-size:2;tab-size:2;direction:ltr;border-radius:var(--radius-sm);padding:.75em 1em;overflow-x:auto;margin-block-start:calc(var(--typeset-flow) / .875);margin-block-end:0}.typeset *:not(:where(.not-typeset,[data-not-typeset],.not-typeset *,[data-not-typeset] *,.typeset [data-slot],.typeset [data-slot] *)):where(pre code){background-color:transparent;font-family:inherit;font-size:inherit;padding:0;border-radius:0}.typeset *:not(:where(.not-typeset,[data-not-typeset],.not-typeset *,[data-not-typeset] *,.typeset [data-slot],.typeset [data-slot] *)):where(blockquote){border-inline-start:2px solid var(--typeset-rule);padding-inline-start:1em;margin-block-start:var(--typeset-flow);margin-block-end:0;margin-inline:0}.typeset *:not(:where(.not-typeset,[data-not-typeset],.not-typeset *,[data-not-typeset] *,.typeset [data-slot],.typeset [data-slot] *)):where(hr){border:0;border-block-start:1px solid var(--typeset-rule);margin-block-start:calc(var(--typeset-flow) * 2.4);margin-block-end:0}.typeset *:not(:where(.not-typeset,[data-not-typeset],.not-typeset *,[data-not-typeset] *,.typeset [data-slot],.typeset [data-slot] *)):where(hr+h1,hr+h2,hr+h3,hr+h4){margin-block-start:var(--typeset-flow)}.typeset *:not(:where(.not-typeset,[data-not-typeset],.not-typeset *,[data-not-typeset] *,.typeset [data-slot],.typeset [data-slot] *)):where(.footnotes,[data-footnotes]){margin-block-start:calc(var(--typeset-flow) * 2);border-block-start:1px solid var(--typeset-rule);padding-block-start:var(--typeset-flow);font-size:.875em;color:var(--typeset-muted)}.typeset *:not(:where(.not-typeset,[data-not-typeset],.not-typeset *,[data-not-typeset] *,.typeset [data-slot],.typeset [data-slot] *)):where(math[display=block]){margin-block-start:var(--typeset-flow);margin-block-end:0;overflow-x:auto;overflow-y:hidden;padding-block:.25em}.typeset *:not(:where(.not-typeset,[data-not-typeset],.not-typeset *,[data-not-typeset] *,.typeset [data-slot],.typeset [data-slot] *)):where(img,video){border-radius:var(--radius-sm);max-width:100%;height:auto;margin-block-start:var(--typeset-flow);margin-block-end:0}.typeset *:not(:where(.not-typeset,[data-not-typeset],.not-typeset *,[data-not-typeset] *,.typeset [data-slot],.typeset [data-slot] *)):where(p img){margin-block-start:0}.typeset *:not(:where(.not-typeset,[data-not-typeset],.not-typeset *,[data-not-typeset] *,.typeset [data-slot],.typeset [data-slot] *)):where(figure){margin-block-start:var(--typeset-flow);margin-block-end:0;margin-inline:0}.typeset *:not(:where(.not-typeset,[data-not-typeset],.not-typeset *,[data-not-typeset] *,.typeset [data-slot],.typeset [data-slot] *)):where(figcaption,caption){color:var(--typeset-muted);font-size:.875em;text-align:center;margin-block-start:calc(.75em / .875)}.typeset *:not(:where(.not-typeset,[data-not-typeset],.not-typeset *,[data-not-typeset] *,.typeset [data-slot],.typeset [data-slot] *)):where(caption){caption-side:bottom}.typeset *:not(:where(.not-typeset,[data-not-typeset],.not-typeset *,[data-not-typeset] *,.typeset [data-slot],.typeset [data-slot] *)):where(table){max-width:100%;font-size:1em;line-height:var(--leading-body);font-variant-numeric:tabular-nums;border-collapse:separate;border-spacing:0;border-block-end:1px solid var(--typeset-rule);margin-block-start:var(--typeset-flow);margin-block-end:0}.typeset *:not(:where(.not-typeset,[data-not-typeset],.not-typeset *,[data-not-typeset] *,.typeset [data-slot],.typeset [data-slot] *)):where(.typeset-scroll){overflow-x:auto;margin-block-start:var(--typeset-flow)}.typeset *:not(:where(.not-typeset,[data-not-typeset],.not-typeset *,[data-not-typeset] *,.typeset [data-slot],.typeset [data-slot] *)):where(.typeset-scroll>*){margin-block-start:0}.typeset *:not(:where(.not-typeset,[data-not-typeset],.not-typeset *,[data-not-typeset] *,.typeset [data-slot],.typeset [data-slot] *)):where(.typeset-scroll table){width:max-content;max-width:none}.typeset *:not(:where(.not-typeset,[data-not-typeset],.not-typeset *,[data-not-typeset] *,.typeset [data-slot],.typeset [data-slot] *)):where(thead th){font-weight:var(--font-weight-medium);text-align:start;white-space:nowrap;padding:.65em 1em}.typeset *:not(:where(.not-typeset,[data-not-typeset],.not-typeset *,[data-not-typeset] *,.typeset [data-slot],.typeset [data-slot] *)):where(:is(tbody,tfoot) :is(td,th)){padding:.75em 1em;text-align:start;vertical-align:top;border-block-start:1px solid var(--typeset-rule)}.typeset *:not(:where(.not-typeset,[data-not-typeset],.not-typeset *,[data-not-typeset] *,.typeset [data-slot],.typeset [data-slot] *)):where(tbody th,tfoot th){font-weight:var(--font-weight-medium)}.typeset *:not(:where(.not-typeset,[data-not-typeset],.not-typeset *,[data-not-typeset] *,.typeset [data-slot],.typeset [data-slot] *)):where(th:first-child,td:first-child){padding-inline-start:0}.typeset *:not(:where(.not-typeset,[data-not-typeset],.not-typeset *,[data-not-typeset] *,.typeset [data-slot],.typeset [data-slot] *)):where(th[align=center],td[align=center]){text-align:center}.typeset *:not(:where(.not-typeset,[data-not-typeset],.not-typeset *,[data-not-typeset] *,.typeset [data-slot],.typeset [data-slot] *)):where(th[align=right],td[align=right]){text-align:end}.typeset *:not(:where(.not-typeset,[data-not-typeset],.not-typeset *,[data-not-typeset] *,.typeset [data-slot],.typeset [data-slot] *)):where(li>blockquote,li>table,li>figure){margin-block-start:.5em}.typeset *:not(:where(.not-typeset,[data-not-typeset],.not-typeset *,[data-not-typeset] *,.typeset [data-slot],.typeset [data-slot] *)):where(li>pre){margin-block-start:calc(.5em / .875)}@media print{.typeset *:not(:where(.not-typeset,[data-not-typeset],.not-typeset *,[data-not-typeset] *,.typeset [data-slot],.typeset [data-slot] *)):where(pre,table,blockquote,figure){break-inside:avoid}.typeset *:not(:where(.not-typeset,[data-not-typeset],.not-typeset *,[data-not-typeset] *,.typeset [data-slot],.typeset [data-slot] *)):where(h1,h2,h3,h4){break-after:avoid}}@media (forced-colors: active){.typeset *:not(:where(.not-typeset,[data-not-typeset],.not-typeset *,[data-not-typeset] *,.typeset [data-slot],.typeset [data-slot] *)):where(:not(pre)>code){border:1px solid}}.typeset>:where([data-slot]):not(:where(.not-typeset,[data-not-typeset],.not-typeset *,[data-not-typeset] *)){margin-block-start:var(--typeset-flow)}.typeset>:where(:first-child):not(:where(.not-typeset,[data-not-typeset],.not-typeset *,[data-not-typeset] *)),.typeset>:where(:first-child)>:where(:first-child):not(:where(.not-typeset,[data-not-typeset],.not-typeset *,[data-not-typeset] *)),.typeset :where(li>:first-child,blockquote>:first-child,td>:first-child,th>:first-child,dd>:first-child,figure>:first-child,figure>picture>img):not(:where(.not-typeset,[data-not-typeset],.not-typeset *,[data-not-typeset] *)){margin-block-start:0}}.typeset-docs{--typeset-font-body: var(--font-family-body);--typeset-font-heading: var(--font-family-body);--typeset-font-mono: var(--font-family-title);--typeset-size: var(--text-body);--typeset-leading: var(--leading-loose);--typeset-flow: 1.25em}:root{--intro-h: clamp(80px, 18vw, 200px);--hover-size: 1.2em;--foot-hover-size: 2em;--logo-min: 28px;--logo-ideal: 4vw;--logo-max: 48px;--logo-hover-scale: 1.16;--fs-meta: .4em}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;color:var(--foreground);font-family:var(--font-family-title);-webkit-font-smoothing:antialiased;background:var(--background)}.main{grid-area:content;display:contents}.page-grid{min-height:100vh;display:grid;grid-template-columns:max-content 1fr;grid-template-rows:var(--intro-h) 1fr auto;grid-template-areas:"logo intro" "logo content" "footer footer";column-gap:clamp(12px,2vw,28px)}.page-grid--project{grid-template-columns:1fr;grid-template-rows:auto 1fr;grid-template-areas:"logo" "content";column-gap:0}.page-grid--project .header{padding:var(--space-5) var(--space-5) var(--space-1)}.page-grid--project .main{display:block}.main--project{grid-area:content;display:block}.header{grid-area:logo;display:flex;align-items:flex-start;min-height:48px;padding:var(--space-6) var(--space-7) 0 var(--space-5);overflow:visible}.crumbs{position:fixed;top:var(--space-5);left:var(--space-5);z-index:40;display:flex;align-items:center;gap:var(--space-2);min-height:var(--space-8);max-width:calc(100vw - var(--space-18) - var(--space-10));font-size:var(--text-ui);line-height:var(--leading-none);white-space:nowrap;margin:calc(var(--space-1) * -1) calc(var(--space-2-5) * -1);padding:var(--space-1) var(--space-2-5);border-radius:var(--radius-pill);background:color-mix(in srgb,var(--background) 82%,transparent);-webkit-backdrop-filter:blur(var(--space-2));backdrop-filter:blur(var(--space-2))}.crumbs__back{display:inline-flex;align-items:center;gap:var(--space-1);color:var(--muted-foreground);text-decoration:none;transition:color var(--duration-fast) ease}.crumbs__icon{transition:transform var(--duration-base) var(--ease-out)}.crumbs__back:hover,.crumbs__back:focus-visible{color:var(--accent);outline:none}.crumbs__back:hover .crumbs__icon{transform:translate(calc(var(--space-1) * -1))}.crumbs__sep{color:var(--border)}.crumbs__here{overflow:hidden;text-overflow:ellipsis;color:var(--foreground)}.logo-link{display:inline-block;line-height:0;border-radius:var(--radius-md);outline-offset:2px}.logo{width:clamp(var(--logo-min),var(--logo-ideal),var(--logo-max));height:auto;transform-origin:left top;will-change:transform,filter;transition:transform .25s var(--ease-out),filter .2s ease}.logo-link:hover .logo,.logo-link:focus-visible .logo{transform:scale(var(--logo-hover-scale));filter:saturate(1.04) contrast(1.02)}.logo-link:focus-visible{outline:2px solid var(--ring);outline-offset:2px}.top-nav{display:none}.foot{grid-area:footer;position:relative;z-index:2;padding:clamp(8px,1.4vw,14px) clamp(12px,1.6vw,20px);font-size:var(--text-footer);display:flex;align-items:center;flex-wrap:wrap;gap:clamp(6px,.8vw,12px)}.foot-link{color:inherit;text-decoration:none;transition:font-size .22s var(--ease-out),letter-spacing .22s ease,color .18s ease}.foot-link:hover,.foot-link:focus-visible{font-size:var(--foot-hover-size);letter-spacing:.02em;color:var(--color-action-hover);outline:none}.hero{grid-area:intro;position:relative;height:var(--intro-h);padding:clamp(30px,.6vw,30px) clamp(10px,1.6vw,20px) 0 0;overflow:visible;z-index:1}.intro{line-height:var(--leading-title);font-size:var(--text-hero);max-width:100%;word-spacing:clamp(2px,.3vw,10px);letter-spacing:-.003em;margin:0}.intro .line{display:block}.mono{font-weight:var(--font-weight-regular)}.name{color:var(--color-accent-name);font-weight:var(--font-weight-bold)}.comma{margin-right:.15em}.sub{margin-top:clamp(10px,1.4vw,16px);max-width:720px;font-size:var(--text-nav)}.kicker{margin:clamp(10px,1.4vw,16px) 0 0 0;max-width:880px;font-size:var(--text-nav);line-height:var(--leading-snug)}.grow-band{font-size:.95em;position:relative;display:inline;text-decoration:none;padding:0 .05em;line-height:var(--leading-none);transition:font-size .26s var(--ease-out),color .3s ease}.grow-band:before{content:"";position:absolute;top:.1em;right:0;bottom:.06em;left:0;border-radius:var(--radius-media);background:transparent;opacity:0;pointer-events:none;transition:opacity 1s ease,background-color 1s ease;z-index:-1}.grow-band:hover,.grow-band:focus-visible{font-size:var(--hover-size);outline:none}.grow-band:hover:before,.grow-band:focus-visible:before{opacity:1}.grow-band[data-role=tech]{color:var(--color-accent-tech)}.grow-band[data-role=digital]{color:var(--color-accent-digital)}.grow-band[data-role=graphic]{color:var(--color-accent-graphic)}.grow-band[data-role=others]{color:var(--color-accent-digital)}.grow-band[data-role=fany]{color:var(--color-accent-name)}.grow-band[data-role=fany]:before{background:var(--color-wash-name)}.grow-band[data-role=tech]:before{background:var(--color-wash-tech)}.grow-band[data-role=digital]:before{background:var(--color-wash-digital)}.grow-band[data-role=graphic]:before{background:var(--color-wash-graphic)}.grow-band[data-role=others]:before{background:var(--color-wash-digital)}.grow-band.is-current{font-size:var(--hover-size)}.grow-band.is-current:before{opacity:1}.intro:has(.grow-band:hover) .grow-band.is-current:not(:hover){font-size:inherit}.intro:has(.grow-band:hover) .grow-band.is-current:not(:hover):before{opacity:0}.projects{grid-area:content;z-index:0;min-height:0;height:100%}.projects.projects--grid{--list-w: clamp(400px, 60vw, 700px);--stage-gap: clamp(20px, 3vw, 54px);--stage-h: clamp(380px, 62vh, 680px);--thumb-w: clamp(18px, 2.4vw, 26px);--thumb-h: clamp(10px, 2vw, 16px);--proj-fs: clamp(22px, 1.6vw, 27px);--row-lh: 1.06;display:grid;grid-template-columns:max-content 1fr;column-gap:var(--stage-gap);width:100%;height:100%;overflow:hidden}.projects-list{grid-column:1;min-height:0;height:100%;overflow-y:auto;overflow-x:hidden;padding-right:clamp(6px,.8vw,12px);scrollbar-gutter:stable;display:flex;flex-direction:column;align-items:flex-start;gap:clamp(12px,.75vw,16px)}.proj-stage{grid-column:2;width:100%;padding-right:clamp(18px,3vw,48px);background:transparent;border:none;border-radius:0;overflow:visible;height:auto;display:flex;justify-content:flex-start;align-items:flex-start}.proj-stage__frame{width:100%;max-width:100%;height:auto;display:flex;justify-content:flex-start;align-items:flex-start}.proj-stage__frame img,.proj-stage__frame video{width:100%;height:auto;max-height:var(--stage-h);display:block;object-fit:contain;object-position:left center}.proj-stage__meta{display:none!important}.proj-card{position:relative;margin:0;padding:0;overflow:visible}.proj-card-link{display:inline-block;width:fit-content;max-width:100%;color:inherit;text-decoration:none;border-radius:var(--radius-card)}.proj-card-link:focus-visible{outline:2px solid color-mix(in srgb,var(--color-accent-graphic) 80%,transparent);outline-offset:6px}.proj-row{font-size:var(--proj-fs);line-height:var(--row-lh);--row-h: calc(1em * var(--row-lh))}.proj-row .row-top{display:grid;grid-template-columns:max-content max-content max-content max-content;column-gap:clamp(8px,1.2vw,10px);justify-content:start;justify-items:start;align-items:center;min-height:var(--row-h)}.projects .title{display:inline-flex;align-items:center;height:var(--row-h);line-height:var(--row-lh);white-space:nowrap;color:inherit;letter-spacing:0;word-spacing:0;padding-right:0;transition:color .22s ease,letter-spacing .35s var(--ease-out),word-spacing .35s var(--ease-out),padding-right .35s var(--ease-out)}.proj-card:hover .title,.proj-card:focus-within .title{color:var(--color-action-hover);letter-spacing:.03em;word-spacing:.1em;padding-right:.22em}.meta-block{height:var(--row-h);display:flex;flex-direction:column;justify-content:center;align-items:flex-start;line-height:var(--leading-none);font-size:var(--fs-meta);color:var(--muted-foreground);transform:translateY(.06em)}.meta-block .num{font-variant-numeric:tabular-nums}.meta-block .label{opacity:.85}.thumb-wrap{height:var(--row-h);display:inline-flex;align-items:center}.thumb{width:100%;height:var(--row-h);overflow:hidden;background:var(--color-surface-soft)}.thumb img,.thumb video{width:100%;height:100%;object-fit:cover;display:block}.punct{height:var(--row-h);display:inline-flex;align-items:center}@media (prefers-reduced-motion: reduce){.grow-band,.grow-band:before,.foot-link,.projects .title,.logo{transition:none!important}}@media (max-width: 1200px){:root{--intro-h: auto}.hero{height:auto;padding-bottom:var(--space-5)}.grow-band{display:inline-block;transform-origin:left bottom}.grow-band:hover,.grow-band:focus-visible{font-size:inherit;transform:scale(1.22)}.grow-band.is-current{font-size:inherit;transform:scale(1.22)}}@media (max-width: 1024px){:root{--fs-hero: clamp(34px, 10.5vw, 58px);--fs-sub: clamp(16px, 4.6vw, 20px);--intro-h: auto}.page-grid{height:100dvh;min-height:100dvh;box-sizing:border-box;padding:clamp(16px,5vw,28px);padding-left:clamp(22px,7vw,40px);grid-template-columns:1fr;grid-template-rows:auto auto minmax(0,1fr) auto;grid-template-areas:"logo" "intro" "content" "footer";column-gap:0;overflow:hidden}.header{padding:0}.hero{padding:0 0 var(--space-4) 0;height:auto}.foot{padding:var(--space-4) 0 0 0}.projects{padding:0;min-height:0;height:100%;overflow:auto}.projects.projects--grid{grid-template-columns:1fr;width:100%;height:100%;overflow:visible}.projects-list{height:auto;overflow:visible;padding-right:0}.proj-stage{display:none}}@media (hover: none) and (pointer: coarse){.foot-link:hover,.foot-link:focus-visible{font-size:inherit;letter-spacing:normal;color:inherit}}.techdesigner-page,.graphicdesigner-page,.digitalproduct-page,.others-page{margin-top:2rem}.page-grid.page-grid--center{height:auto;min-height:100dvh;overflow:visible;grid-template-columns:1fr;grid-template-rows:auto 1fr auto;grid-template-areas:"logo" "content" "footer"}.page-grid--center .main{display:block}.page-grid--center .foot{justify-content:center}.avatar{width:clamp(96px,10vw,128px);aspect-ratio:1;border-radius:var(--radius-round);object-fit:cover;display:block;box-shadow:0 0 0 4px var(--color-surface-sand)}.shine{position:relative}.shine img,.shine video{transition:transform .25s ease}.shine:hover img,.shine:hover video,.shine:focus-visible img,.shine:focus-visible video{transform:scale(var(--scale-hover))}.home{position:relative;min-height:calc(100dvh - 70px);display:grid;place-items:center;padding:var(--space-6) var(--space-4);overflow:hidden}.home-dome{position:fixed;top:0;right:0;bottom:0;left:0;z-index:0}.home-dome:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:6;pointer-events:none;background:radial-gradient(ellipse 28% 34% at 50% 50%,color-mix(in srgb,var(--background) 90%,transparent) 0%,color-mix(in srgb,var(--background) 70%,transparent) 50%,transparent 100%)}.home--narrow .home-dome:after{background:radial-gradient(ellipse 85% 42% at 30% 50%,color-mix(in srgb,var(--background) 95%,transparent) 0%,color-mix(in srgb,var(--background) 82%,transparent) 50%,transparent 100%)}.home__center{z-index:10}.home__center{position:relative;display:flex;flex-direction:column;align-items:center;gap:clamp(6px,.8vw,10px);text-align:center;pointer-events:none}.home__center a,.home-intro,.home-links{pointer-events:auto}.home .avatar{width:clamp(92px,9vw,120px)}.avatar--scramble{box-shadow:none;pointer-events:auto;border-radius:var(--radius-round)}.avatar--scramble canvas{display:block;width:100%;height:100%}.home-intro{margin:0;font-weight:var(--font-weight-regular);font-size:var(--text-section-title);line-height:var(--leading-title)}.home-intro__name{color:var(--color-accent-name);text-decoration:none;transition:color .2s ease}.home-intro__name:hover,.home-intro__name:focus-visible{color:var(--color-accent-tech);outline:none}.home-intro__role{color:var(--color-accent-tech)}.home-links{position:relative;z-index:4;margin-top:clamp(8px,1.2vw,14px)}.home-links .line-filter__list{grid-template-columns:repeat(3,auto);gap:var(--space-2) clamp(22px,3vw,44px)}.page-grid.page-grid--home{height:100dvh;min-height:0;overflow:hidden}.page-grid--home .main{min-height:0;overflow:hidden}.page-grid--home .home{min-height:0;height:100%}html:has(.page-grid--home),body:has(.page-grid--home){overflow:hidden;overscroll-behavior:none}@media (max-width: 700px){.home-links .line-filter__list{grid-template-columns:repeat(3,auto)}}.home-links__a{color:inherit;text-decoration:none;padding:var(--space-0-5) var(--space-1);border-radius:var(--radius-media);transition:background-color .2s ease,color .2s ease}.home-links__a:hover,.home-links__a:focus-visible{color:var(--color-action-hover);background:var(--color-wash-tech);outline:none}.home--narrow{place-items:center start;padding:var(--space-18) var(--space-5)}.home--narrow .home__center{align-items:flex-start;text-align:left;gap:var(--space-3)}.home--narrow .home-intro{font-size:var(--text-intro-narrow)}.home--narrow .home-links{margin-top:var(--space-2-5)}.home--narrow .home-links .line-filter__list{grid-template-columns:1fr;gap:var(--space-3);justify-items:start}.home--narrow .home-links .line-filter__item{font-size:var(--text-body)}.avatar--sm{width:64px;box-shadow:0 0 0 3px var(--color-surface-sand)}.built{max-width:1080px;margin:0 auto;padding:0 var(--space-4) clamp(64px,8vw,120px);font-size:var(--text-body-sm)}.tl-filter[data-type=projects],.line-filter__item[data-type=projects],.tl-card[data-type=projects]{--tc: var(--color-accent-tech)}.tl-filter[data-type=creative],.line-filter__item[data-type=creative],.tl-card[data-type=creative]{--tc: var(--color-accent-creative)}.tl-filter[data-type=organization],.line-filter__item[data-type=organization],.tl-card[data-type=organization]{--tc: var(--color-accent-digital)}.tl-filter[data-type=work],.line-filter__item[data-type=work],.tl-card[data-type=work]{--tc: var(--color-accent-work)}.tl-filter[data-type=milestones],.line-filter__item[data-type=milestones],.tl-card[data-type=milestones]{--tc: var(--color-text)}.tl-filter[data-type=awards],.line-filter__item[data-type=awards],.tl-card[data-type=awards]{--tc: var(--color-accent-award)}.built-head{display:flex;flex-direction:column;align-items:center;text-align:center;margin:var(--space-page-top) 0 var(--space-title-content)}.built-title{margin:0;font-size:var(--text-page-title);font-weight:var(--font-weight-regular)}.built-sub{max-width:36ch;margin:var(--space-heading-content) auto 0;font-family:var(--font-family-body);font-size:var(--text-body);line-height:var(--leading-body);color:var(--color-text);animation:ink-in 1.4s var(--ease-out) .2s both}.built-lock{display:grid;justify-items:center;gap:var(--space-4);padding:clamp(28px,8vh,96px) var(--space-4) var(--space-12)}.built-lock__note{margin:0;font-family:var(--font-family-body);font-size:var(--text-body-sm);color:var(--muted-foreground)}.built-layout{display:grid;grid-template-columns:220px minmax(0,1fr);gap:clamp(24px,3vw,40px);align-items:start}.built-side{position:sticky;top:24px;display:grid;gap:var(--space-2)}.built-main{min-width:0}.tl-filters{margin-bottom:clamp(56px,8vw,110px)}.tl-filter{font:inherit;font-size:var(--text-lead);padding:var(--space-0-5) 0;background:none;border:0;cursor:pointer;color:var(--tc);transition:opacity .2s ease,letter-spacing .25s ease}.tl-filter[aria-pressed=false]{opacity:.3;text-decoration:line-through}.tl-filter:hover,.tl-filter:focus-visible{letter-spacing:.06em;outline:none}.tl-jump{position:sticky;top:0;z-index:5;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:var(--space-1) var(--space-4);min-height:58px;padding:0 var(--space-4);background:var(--color-bg);border-bottom:1px solid var(--border);font-family:var(--font-family-body);font-size:var(--text-meta)}.tl-jump a{color:var(--muted-foreground);text-decoration:none;transition:color .3s ease,letter-spacing .3s ease}.tl-jump a:hover,.tl-jump a:focus-visible{color:var(--color-action-hover);letter-spacing:.04em;outline:none}.tl-empty{text-align:center;color:var(--muted-foreground);font-family:var(--font-family-body)}.tl-year{padding-top:var(--space-group);scroll-margin-top:70px}.tl-year__h{margin:0 0 clamp(24px,2vw,40px);text-align:center;font-size:var(--text-section-title);font-weight:var(--font-weight-semibold);display:grid;justify-items:center;gap:var(--space-2-5)}.tl-year__note{max-width:40ch;font-family:var(--font-family-body);font-size:var(--text-body);font-weight:var(--font-weight-regular);font-style:italic;line-height:var(--leading-body);color:var(--muted-foreground)}.tl-list{--dot: 8px;--col-gap: clamp(40px, 4vw, 80px);position:relative;width:clamp(560px,50vw,1000px);max-width:100%;list-style:none;margin:0 auto;padding:0;display:grid;grid-template-columns:1fr 1fr;grid-auto-rows:8px;column-gap:var(--col-gap)}.tl-list:before{content:"";position:absolute;top:0;bottom:0;left:50%;width:2px;margin-left:calc(var(--space-px) * -1);border-radius:var(--radius-xs);background:linear-gradient(to bottom,var(--sidebar-border) 0%,var(--sidebar-border) 55%,transparent 100%);transform-origin:top center}.tl-card{position:relative;padding-bottom:clamp(64px,10.5vw,220px);align-self:start;container-type:inline-size}.tl-card:nth-child(2){padding-top:clamp(48px,5vw,120px)}@media (min-width: 701px){.tl-list .tl-card:nth-last-child(-n+2){padding-bottom:clamp(24px,2vw,40px)}}@media (max-width: 700px){.tl-list .tl-card:last-child{padding-bottom:var(--space-6)}}.tl-card[data-side=left]{grid-column:1}.tl-card[data-side=right]{grid-column:2}.tl-card:before{content:"";position:absolute;top:10px;width:var(--dot);height:var(--dot);border-radius:var(--radius-round);background:var(--tc);box-shadow:0 0 0 4px var(--color-bg)}.tl-card:nth-child(2):before{top:calc(clamp(48px,5vw,120px) + 10px)}.tl-card[data-side=left]:before{right:calc(var(--col-gap) / -2 - var(--dot) / 2)}.tl-card[data-side=right]:before{left:calc(var(--col-gap) / -2 - var(--dot) / 2)}.tl-card__link{display:grid;gap:var(--space-media-text);width:87%;grid-template-columns:minmax(0,1fr);color:inherit;text-decoration:none}.tl-card[data-side=left] .tl-card__link{margin-left:auto}.tl-card__media{display:block;justify-self:center;max-width:100%;border-radius:var(--radius-md)}.tl-card__frame{display:block;border-radius:inherit;overflow:hidden}.tl-card__frame img,.tl-card__frame video{display:block;width:auto;height:auto;max-width:82cqw;max-height:43cqw}.tl-card__link:focus-visible{outline:2px solid var(--tc);outline-offset:4px}.tl-card__media.shine .tl-card__frame{transition:transform .25s ease,box-shadow .45s ease}.tl-card__media.shine:hover img,.tl-card__media.shine:hover video,.tl-card__media.shine:focus-visible img,.tl-card__media.shine:focus-visible video{transform:none}.tl-card__media.shine:hover .tl-card__frame,.tl-card__media.shine:focus-visible .tl-card__frame{transform:scale(var(--scale-hover))}@media (prefers-reduced-motion: reduce){.tl-card__media.shine .tl-card__frame{transition:none}}.tl-card__gallery{display:flex;gap:1.5cqw;width:130cqw;justify-self:start}@media (max-width: 700px){.tl-card__gallery{width:100%}}.tl-card[data-side=left] .tl-card__gallery{justify-self:end}.tl-card__gallery img{display:block;width:0;height:auto;min-width:0;border-radius:var(--radius-media)}.tl-card__media.is-wide{justify-self:start;max-width:none}.tl-card[data-side=left] .tl-card__media.is-wide{justify-self:unsafe end}.tl-card__media.is-wide img{max-width:125cqw;max-height:70cqw}@media (max-width: 700px){.tl-card__media.is-wide{max-width:100%;justify-self:start!important}.tl-card__media.is-wide img{max-width:100%}}.tl-card__media.is-fill{justify-self:stretch}.tl-card__media.is-fill img{width:100%;max-width:none;max-height:none}.tl-card.is-recent .tl-card__media:not(.is-wide):not(.is-cutout){justify-self:center;width:100%;max-width:none}.tl-card.is-recent .tl-card__media.shine:not(.is-wide):not(.is-cutout){width:calc(100% / var(--scale-hover))}.tl-card.is-recent .tl-card__media:not(.is-wide):not(.is-cutout) img,.tl-card.is-recent .tl-card__media:not(.is-wide):not(.is-cutout) video{width:100%;max-width:none;max-height:none}.tl-card__media.is-blend img{mix-blend-mode:var(--blend-paper);filter:brightness(1.04)}.tl-card__bullets{display:grid;gap:.35em;margin-top:var(--space-body-list);font-family:var(--font-family-body);font-size:var(--text-card-body);line-height:var(--leading-body);color:var(--muted-foreground)}.tl-card__bullets>span{position:relative;padding-left:1.1em}.tl-card__bullets>span:before{content:"•";position:absolute;left:0;color:var(--tc)}.tl-collage{position:relative;display:block;width:82cqw;height:46cqw;justify-self:center}.tl-collage--full{width:100%;height:auto;justify-self:stretch}.tl-collage__piece{position:absolute;height:auto;transform:rotate(var(--r));transition:transform .5s var(--ease-spring),filter .4s ease;filter:drop-shadow(0 0 18px var(--color-glow-off)) drop-shadow(var(--shadow-print))}.tl-collage__piece.is-card{border-radius:var(--radius-card)}.tl-collage__piece.is-card+.tl-collage__piece.is-card{filter:drop-shadow(0 0 18px var(--color-glow-off)) drop-shadow(var(--shadow-print-raised))}.tl-collage__piece:nth-child(2){transition-delay:.04s}.tl-collage__piece:nth-child(3){transition-delay:.08s}.tl-card__link:hover .tl-collage__piece,.tl-card__link:focus-visible .tl-collage__piece{transform:translate(var(--hx),var(--hy)) rotate(var(--hr)) scale(var(--hs));filter:drop-shadow(0 0 18px var(--color-glow)) drop-shadow(var(--shadow-print-lifted))}@media (prefers-reduced-motion: reduce){.tl-collage__piece{transition:none}.tl-card__link:hover .tl-collage__piece{transform:rotate(var(--r))}}.tl-card__text{display:grid;gap:0;min-width:0}.tl-card__title{font-size:var(--text-card-title);font-weight:var(--font-weight-semibold);line-height:var(--leading-title);color:var(--tc)}.tl-card__date{font-family:var(--font-family-body);font-size:var(--text-card-body);color:var(--muted-foreground);margin-top:var(--space-title-date)}.tl-card__sub{font-family:var(--font-family-body);font-size:var(--text-card-sub);font-weight:var(--font-weight-bold);line-height:var(--leading-title);margin-top:var(--space-date-sub)}.tl-card__desc{margin-top:var(--space-sub-body);font-family:var(--font-family-body);font-size:var(--text-card-body);line-height:var(--leading-body);color:var(--muted-foreground);display:-webkit-box;-webkit-line-clamp:5;-webkit-box-orient:vertical;overflow:hidden}.tl-card[data-type=creative]{padding-bottom:clamp(40px,6vw,120px)}.tl-card[data-type=creative] .tl-card__link{gap:4.5cqw}.tl-card[data-type=creative] .tl-card__frame img,.tl-card[data-type=creative] .tl-card__frame video{max-width:46cqw;max-height:26cqw}.tl-card[data-type=creative] .tl-card__title{font-size:var(--text-card-title-sm)}.tl-card[data-type=creative] .tl-card__date{font-size:var(--text-card-meta-sm)}.tl-card[data-type=creative]:before{width:6px;height:6px}.tl-card[data-type=creative][data-side=left]:before{right:calc(var(--col-gap) / -2 - 3px)}.tl-card[data-type=creative][data-side=right]:before{left:calc(var(--col-gap) / -2 - 3px)}.tl-outro{width:clamp(280px,46vw,940px);max-width:100%;margin:clamp(80px,10vw,220px) auto 0;text-align:center;font-family:var(--font-family-body);font-size:var(--text-lead);line-height:var(--leading-body);color:var(--muted-foreground)}.tl-outro__h{margin:0 0 var(--space-heading-content);font-family:var(--font-family-title);font-size:var(--text-section-title);line-height:var(--leading-title);font-weight:var(--font-weight-semibold);color:var(--color-text)}.tl-outro p{margin:0 0 1.5em}.tl-outro p:last-child{margin-bottom:0}@media (max-width: 700px){.tl-outro{width:100%}}.reveal>*{opacity:0;filter:sepia(.85) blur(4px) brightness(1.08);transform:translateY(24px);transition:opacity 1.4s ease,transform 1.6s var(--ease-out),filter 2s var(--ease-out)}.reveal[data-side=left]>*{transform:translate(-22px,16px)}.reveal[data-side=right]>*{transform:translate(22px,16px)}.reveal.is-in>*{opacity:1;transform:none;filter:none}.tl-outro.reveal>*:nth-child(2){transition-delay:.15s}.tl-outro.reveal>*:nth-child(3){transition-delay:.3s}.tl-outro.reveal>*:nth-child(4){transition-delay:.45s}@media (prefers-reduced-motion: reduce){.reveal>*{opacity:1!important;filter:none!important;transform:none!important;transition:none!important}}@keyframes ink-in{0%{opacity:0;filter:sepia(.8) blur(3px);transform:translateY(6px)}to{opacity:1;filter:none;transform:none}}@media (max-width: 700px){.built-layout{grid-template-columns:1fr}.built-side{position:static}.tl-list{grid-template-columns:1fr;padding-left:var(--space-6);grid-auto-rows:auto;width:100%}.tl-list:before{left:4px;margin-left:0}.tl-list{--line-x: 5px}.tl-card[data-side]{grid-column:1;grid-row-end:auto!important;padding-bottom:var(--space-16)}.tl-card:nth-child(2){padding-top:0}.tl-card:nth-child(2):before{top:10px}.tl-card[data-side]:before{left:-24px!important;right:auto!important}.tl-card__link{margin-left:0!important;width:100%}}.blog{width:min(1100px,100%);margin:0 auto;padding:var(--space-page-top) var(--space-4) clamp(64px,8vw,120px)}.blog-nav{position:fixed;top:clamp(96px,28vh,300px);left:20px;z-index:35;display:grid;gap:clamp(40px,7vh,72px)}.blog__layout{display:grid;grid-template-columns:220px minmax(0,1fr);gap:clamp(24px,3vw,40px);margin-top:clamp(24px,3vw,40px)}.blog__side{position:sticky;top:24px;align-self:start;display:grid;gap:var(--space-2)}.blog-filter{display:grid;justify-items:start;gap:var(--space-2)}.blog-filter__h{margin:0 0 var(--space-1);font-size:var(--text-ui);font-weight:var(--font-weight-bold)}.blog-filter__btn{font:inherit;font-size:var(--text-ui);padding:0;background:none;border:0;cursor:pointer;color:var(--color-text);transition:opacity .2s ease,letter-spacing .25s ease}.blog-filter__btn[aria-pressed=false]{opacity:.3;text-decoration:line-through}.blog-filter__btn:hover,.blog-filter__btn:focus-visible{letter-spacing:.06em;outline:none}.blog__list{position:relative;list-style:none;width:min(760px,100%);margin:0 auto;padding:var(--space-6) 0 var(--space-6) clamp(36px,4vw,48px);display:grid;gap:clamp(56px,7vw,96px)}.blog__list:before{content:"";position:absolute;left:0;top:0;bottom:0;width:2px;border-radius:var(--radius-xs);background:linear-gradient(to bottom,var(--sidebar-border) 0%,var(--sidebar-border) 55%,transparent 100%);transform-origin:top center}.tl-list{--line-x: 50%}.blog__list{--line-x: 1px}.line-reveal:before{transform:scaleY(0);transition:transform 2.6s var(--ease-in-out)}.line-reveal.is-in:before{transform:scaleY(1)}.line-reveal:after{content:"";position:absolute;top:0;left:var(--line-x);width:8px;height:8px;margin:calc(var(--space-1) * -1) 0 0 calc(var(--space-1) * -1);border-radius:var(--radius-round);background:var(--accent);box-shadow:0 0 10px 3px color-mix(in srgb,var(--accent) 60%,transparent);opacity:0;pointer-events:none}.line-reveal.is-in:after{animation:line-light 2.6s var(--ease-in-out) forwards}@keyframes line-light{0%{top:0;opacity:0}8%{opacity:1}80%{opacity:1}to{top:100%;opacity:0}}.line-reveal{--age: 0;--line-c: color-mix(in srgb, var(--sidebar-border) calc(100% - var(--age) * 60%), var(--color-line-old))}.line-reveal:before{background:var(--line-c);opacity:calc(1 - var(--age) * .35);-webkit-mask-image:linear-gradient(to bottom,var(--foreground) 0%,var(--foreground) 55%,transparent 100%);mask-image:linear-gradient(to bottom,var(--foreground) 0%,var(--foreground) 55%,transparent 100%)}.tl-card:before,.blog-item:before{display:none!important}@media (prefers-reduced-motion: reduce){.line-reveal:before,.tl-card.reveal:before,.blog-item.reveal:before{transform:none!important;transition:none!important;animation:none!important}.line-reveal:after{display:none}}.blog-year{padding-top:var(--space-group)}.blog-year:first-of-type{padding-top:0}.blog-year__h{width:min(760px,100%);margin:0 auto clamp(8px,1vw,16px);justify-items:start;text-align:left}.blog__empty{text-align:center}.blog-item{position:relative}.blog-item:before{content:"";position:absolute;left:calc(-1*clamp(36px,4vw,48px) - 5px);top:14px;width:11px;height:11px;border-radius:var(--radius-round);background:var(--color-surface-sand);box-shadow:0 0 0 4px var(--color-bg);transition:background .2s ease}.blog-item:hover:before{background:var(--color-accent-tech)}.blog-item__link{display:grid;gap:var(--space-1-5);color:inherit;text-decoration:none;max-width:620px}.blog-item.has-cover .blog-item__link{grid-template-columns:180px minmax(0,1fr);gap:var(--space-7);align-items:center;max-width:760px}.blog-item__media{display:block;border-radius:var(--radius-media);overflow:hidden}.blog-item__media img{display:block;width:100%;height:auto;max-height:160px;object-fit:contain;background:var(--color-surface-soft);transition:transform .4s ease}.blog-item__link:hover .blog-item__media img{transform:scale(1.05)}.blog-item__text{display:grid;gap:0;min-width:0}.blog-item__title{font-size:var(--text-section-title);line-height:var(--leading-title)}.blog-item__link:hover .blog-item__title{color:var(--color-action-hover)}.blog-item__meta{font-family:var(--font-family-body);font-size:var(--text-meta);color:var(--muted-foreground);margin-top:calc(var(--space-title-date) * 2)}.blog-item__sum{font-family:var(--font-family-body);font-size:var(--text-body-sm);line-height:var(--leading-body);color:var(--muted-foreground);margin-top:var(--space-sub-body)}.blog__empty{font-family:var(--font-family-body);color:var(--muted-foreground)}@media (max-width: 800px){.blog-nav{position:static;margin:var(--space-2) 0 var(--space-7)}.blog__layout{grid-template-columns:1fr}.blog__side{position:static}.blog-filter{grid-auto-flow:column;align-items:baseline;gap:var(--space-3)}.blog-filter__h{margin:0}.blog-item.has-cover .blog-item__link{grid-template-columns:1fr;gap:var(--space-3-5)}}.post{width:min(1100px,100%);margin:0 auto;padding:0 var(--space-4) clamp(64px,8vw,120px)}.post__title{margin:var(--space-page-top) auto var(--space-caption-media);max-width:760px;text-align:center;font-size:var(--text-page-title);font-weight:var(--font-weight-regular);line-height:var(--leading-title)}.post__meta{margin:0 0 var(--space-title-content);text-align:center;font-family:var(--font-family-body);font-size:var(--text-ui);color:var(--muted-foreground)}.post__body{max-width:560px;margin:0 auto;font-family:var(--font-family-body);font-size:var(--text-body);line-height:var(--leading-loose);color:var(--foreground)}.post__body p{margin:0 0 var(--space-paragraph);white-space:pre-line}.post__h{margin:2em 0 .6em;font-family:var(--font-family-body);font-size:var(--text-body-lg);font-weight:var(--font-weight-bold)}.post__quote{margin:1.4em 0;padding-left:var(--space-4);border-left:2px solid var(--color-accent-tech);font-style:italic;white-space:pre-line}.post__img{display:block;max-width:100%;max-height:420px;width:auto;height:auto;margin:1.6em auto;border-radius:var(--radius-media)}.post__video{position:relative;aspect-ratio:16 / 9;margin:1.6em 0}.post__video iframe{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;border:0;border-radius:var(--radius-media)}.about{width:min(1100px,100%);margin:0 auto;padding:0 var(--space-4) clamp(64px,8vw,120px)}.about-avatar{width:clamp(80px,8vw,104px);margin-bottom:var(--space-heading-content)}.about__body{max-width:620px;margin:0 auto;display:grid;gap:var(--space-section)}.about__section{display:grid;gap:var(--space-heading-content);padding-top:var(--space-rule-heading);border-top:1px solid var(--border)}.about__h{margin:0;font-family:var(--font-family-body);font-size:var(--text-ui);font-weight:var(--font-weight-bold);line-height:var(--leading-title);color:var(--muted-foreground)}.about__h[data-role=fany]{color:var(--color-accent-love)}.about__h[data-role=tech]{color:var(--color-accent-think)}.about__h[data-role=digital]{color:var(--color-accent-fear)}.about__list{margin:0;padding-left:1.2em;display:grid;gap:var(--space-stack);font-family:var(--font-family-body);font-size:var(--text-body);line-height:var(--leading-prose)}.about__list li::marker{color:var(--muted-foreground)}.about__links{margin:0;display:flex;flex-wrap:wrap;gap:var(--space-2) var(--space-6);font-size:var(--text-ui)}.about__link{color:var(--accent);text-decoration:none;transition:color var(--duration-fast) ease}.about__link:hover,.about__link:focus-visible{color:var(--color-action-hover);outline:none}@media (prefers-reduced-motion: reduce){.shine img,.shine video{transition:none!important}.reveal>*{opacity:1!important;transform:none!important;filter:none!important;transition:none!important}.built-sub{animation:none}}.foot,.built-sub{font-family:var(--font-family-body)}.foot{font-size:var(--text-meta)}::selection{background:var(--color-wash-tech);color:var(--accent)}@media (max-width: 1024px){.crumbs{top:max(var(--space-4),env(safe-area-inset-top));left:max(var(--space-5),env(safe-area-inset-left))}}@media (hover: hover) and (pointer: fine) and (prefers-reduced-motion: no-preference){html,body,*{cursor:none!important}}.tl-card__frame,.tl-card__gallery img{transition:transform .25s ease,box-shadow .45s ease;box-shadow:0 0 28px 6px var(--color-glow-off),0 10px 30px -10px var(--color-glow-off)}.tl-card__link:hover .tl-card__frame,.tl-card__link:focus-visible .tl-card__frame,.tl-card__link:hover .tl-card__gallery img,.tl-card__link:focus-visible .tl-card__gallery img{box-shadow:0 0 28px 6px var(--color-glow),0 10px 30px -10px var(--color-glow)}.tl-card__link:hover .tl-collage__piece,.tl-card__link:focus-visible .tl-collage__piece,.tl-card__link:hover .tl-collage__piece.is-card+.tl-collage__piece.is-card,.tl-card__link:focus-visible .tl-collage__piece.is-card+.tl-collage__piece.is-card{filter:drop-shadow(0 0 18px var(--color-glow)) drop-shadow(var(--shadow-print-lifted))}@media (prefers-reduced-motion: reduce){.tl-card__frame,.tl-card__gallery img{transition:none}}.tl-card__media.is-cutout .tl-card__frame{overflow:visible;border-radius:0;box-shadow:none!important}.tl-card__media.is-cutout img{transition:transform .25s ease,filter .45s ease;filter:drop-shadow(0 0 10px var(--color-glow-off)) drop-shadow(0 0 22px var(--color-glow-off))}.tl-card__link:hover .tl-card__media.is-cutout img,.tl-card__link:focus-visible .tl-card__media.is-cutout img{filter:drop-shadow(0 0 10px var(--color-glow)) drop-shadow(0 0 22px var(--color-glow))}.home__center{gap:var(--space-5)}.home .avatar{width:clamp(96px,9vw,128px)}.avatar--scramble{box-shadow:0 0 0 1px var(--foreground),var(--shadow-print)}.home-intro{margin:0;font-size:var(--text-page-title);font-weight:var(--font-weight-semibold);line-height:var(--leading-title);color:var(--foreground)}.home-intro__lines{display:block}.home-intro__name,.home-intro__role{color:var(--color-accent-strong)}.home-intro__name:hover,.home-intro__name:focus-visible{color:var(--color-action-hover)}.home-typed{display:inline-flex;align-items:center;height:calc(1em * var(--leading-title));vertical-align:top}.home-typed__word{padding:0 .05em;border-bottom:2px solid var(--color-accent-strong)}.home-typed__caret{width:.45em;height:1em;margin-left:.08em;background:var(--color-accent-strong);animation:home-caret 1s steps(1) infinite}.home-typed[data-typing=true] .home-typed__caret{animation:none}@keyframes home-caret{50%{opacity:0}}.home-links{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--space-3);margin-top:var(--space-2)}.home-pill{display:inline-flex;align-items:center;gap:var(--space-1-5);padding:var(--space-2-5) var(--space-5);border:1px solid var(--border);border-radius:var(--radius-pill);background:color-mix(in srgb,var(--background) 92%,transparent);box-shadow:var(--shadow-print);font-size:var(--text-ui);line-height:var(--leading-none);color:var(--foreground);text-decoration:none;transition:transform var(--duration-base) var(--ease-out),box-shadow var(--duration-base) ease,color var(--duration-fast) ease,border-color var(--duration-fast) ease}.home-pill:hover,.home-pill:focus-visible{transform:translateY(calc(var(--space-0-5) * -1));box-shadow:var(--shadow-print-lifted);color:var(--color-accent-strong);border-color:color-mix(in srgb,var(--color-accent-strong) 40%,transparent);outline:none}.home-pill__arrow{transition:transform var(--duration-base) var(--ease-out)}.home-pill:hover .home-pill__arrow{transform:translate(var(--space-1))}.home-socials{display:flex;justify-content:center;gap:var(--space-2-5);pointer-events:auto}.social-badge{display:grid;place-items:center;width:var(--space-10);height:var(--space-10);border:1px solid var(--border);border-radius:var(--radius-round);background:color-mix(in srgb,var(--background) 92%,transparent);box-shadow:var(--shadow-print);color:var(--foreground);transition:transform var(--duration-base) var(--ease-out),color var(--duration-fast) ease,box-shadow var(--duration-base) ease}.social-badge:hover,.social-badge:focus-visible{transform:translateY(calc(var(--space-0-5) * -1));box-shadow:var(--shadow-print-lifted);color:var(--color-accent-strong);outline:none}.home--narrow .home-links,.home--narrow .home-socials{justify-content:flex-start}@media (prefers-reduced-motion: reduce){.home-typed__caret{animation:none}.home-pill,.social-badge{transition:none}}.home-glass{transition:transform var(--duration-base) var(--ease-out)}.home-glass:hover,.home-glass:focus-within{transform:translateY(calc(var(--space-0-5) * -1))}.home-glass .glass-surface__content{padding:0}.home-glass .home-pill,.home-glass .social-badge{border:0;background:none;box-shadow:none;transform:none}.home-glass .home-pill:hover,.home-glass .home-pill:focus-visible,.home-glass .social-badge:hover,.home-glass .social-badge:focus-visible{transform:none;box-shadow:none}.home-glass--round .social-badge{width:100%;height:100%}.built-head{margin-bottom:var(--space-12)}.built-sub{margin-top:var(--space-5)}.tl-filters{margin-bottom:var(--space-8)}.tl-filters.line-filter--row .line-filter__list{grid-template-columns:repeat(3,minmax(0,180px));gap:var(--space-2) var(--space-6)}.tl-jump{min-height:var(--space-10);border-bottom:0}.tl-year:first-of-type{padding-top:var(--space-6)}.tl-year__h{margin-bottom:var(--space-6);gap:var(--space-3)}@media (max-width: 700px){.tl-filters.line-filter--row .line-filter__list{grid-template-columns:repeat(2,minmax(0,1fr))}}.tl-jump{top:var(--space-5);width:fit-content;max-width:calc(100% - var(--space-4) * 2);min-height:var(--space-8);margin-inline:auto;padding:0 var(--space-3);border-radius:var(--radius-pill);background:color-mix(in srgb,var(--background) 82%,transparent);-webkit-backdrop-filter:blur(var(--space-2));backdrop-filter:blur(var(--space-2));font-family:var(--font-family-title);font-size:var(--text-ui);line-height:var(--leading-none)}.post__lang{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:var(--space-2) var(--space-3);margin:calc(var(--space-title-content) * -.5) 0 var(--space-title-content);font-family:var(--font-family-body);font-size:var(--text-ui)}.post__lang-btn{padding:var(--space-1) var(--space-3);border:1px solid var(--color-tag-border);border-radius:var(--radius-pill);background:var(--color-tag-bg);color:var(--color-tag-fg);font:inherit;cursor:pointer;transition:border-color var(--duration-fast) ease,color var(--duration-fast) ease}.post__lang-btn:hover,.post__lang-btn:focus-visible{border-color:var(--color-tag-fg);color:var(--color-action-hover);outline:none}.post__lang-note{color:var(--muted-foreground)}.content-scroll{grid-area:content;min-height:0;height:100%;overflow:auto;padding-right:clamp(6px,.6vw,12px)}.resume-grid{display:grid;grid-template-columns:3fr 2fr;gap:clamp(18px,3vw,36px) clamp(22px,3vw,48px);align-items:start;padding-right:clamp(4px,.4vw,8px)}.resume-h{margin:clamp(10px,1.6vw,18px) 0 clamp(6px,1vw,12px) 0;font-weight:var(--font-weight-bold);font-size:var(--text-subtitle);letter-spacing:.02em;color:var(--color-accent-graphic)}.resume-list{list-style:none;margin:0 0 clamp(18px,2.2vw,28px) 0;padding:0;display:grid;row-gap:clamp(10px,1.2vw,16px)}.resume-item{display:grid;grid-template-columns:clamp(16px,1.6vw,20px) 1fr;align-items:start;column-gap:clamp(8px,1vw,12px)}.star{display:inline-block;width:clamp(14px,1.6vw,18px);height:clamp(14px,1.6vw,18px);transform:translateY(2px);flex-shrink:0;clip-path:polygon(50% 0%,61% 35%,98% 35%,68% 57%,79% 91%,50% 70%,21% 91%,32% 57%,2% 35%,39% 35%);background-color:var(--color-accent-tech)}@keyframes starBlink{0%,to{opacity:.3;background-color:var(--color-accent-name);box-shadow:none}50%{opacity:1;background-color:var(--color-accent-tech);box-shadow:0 0 6px 2px var(--color-accent-tech),0 0 14px 5px var(--color-accent-name)}}.star--blink{animation:starBlink 1.6s ease-in-out infinite}.star--shine{opacity:1;background-color:var(--color-accent-tech);box-shadow:0 0 5px 2px var(--color-accent-tech),0 0 12px 4px var(--color-accent-name),0 0 20px 6px var(--color-surface-soft)}.star-btn{background:none;border:none;padding:0;margin:0;cursor:pointer;line-height:0;display:block;width:clamp(14px,1.6vw,18px)}.star-btn:disabled{cursor:default}.star-btn--open .star--blink{transform:translateY(2px) rotate(20deg);transition:transform .3s ease}.achieve-list{list-style:none;padding:0;margin:0;max-height:0;overflow:hidden;opacity:0;transition:max-height .4s var(--ease-in-out),opacity .35s ease,margin-top .3s ease}.achieve-list--open{max-height:600px;opacity:1;margin-top:clamp(6px,.8vw,10px)}.achieve-item{position:relative;font-size:var(--text-small);color:color-mix(in srgb,var(--color-text) 55%,transparent);line-height:var(--leading-body);padding-left:1em;margin-bottom:.4em}.achieve-item:before{content:"·";position:absolute;left:0;color:var(--color-accent-tech);font-weight:var(--font-weight-bold)}.resume-item__body{min-width:0}.resume-line{font-size:var(--text-list);line-height:var(--leading-title)}.resume-strong{font-weight:var(--font-weight-semibold)}.resume-meta{font-size:var(--text-small);color:color-mix(in srgb,var(--color-text) 55%,transparent);margin-top:.15em}.reachout{font-size:var(--text-list);max-width:720px;margin-top:clamp(10px,1.4vw,16px)}.project-template{--band-about: var(--color-surface-soft);--band-tech: var(--color-accent-name);--band-digital: var(--color-surface-sand);--band-graph: var(--color-accent-creative);--band-other: var(--color-accent-award);--band-about-h: var(--color-accent-name);--band-tech-h: var(--color-accent-tech);--band-digital-h: var(--color-accent-award);--band-graph-h: var(--color-accent-graphic);--band-other-h: var(--color-accent-work);--proj-head-h: 56px;--proj-nav-h: 40px;color:var(--color-text);width:100%}.project-template,.project-template *{box-sizing:border-box}.project-template .proj-head{position:sticky;top:0;z-index:100;height:var(--proj-head-h);display:grid;grid-template-columns:auto 1fr 1fr;align-items:center;gap:var(--space-3);background:linear-gradient(90deg,var(--color-surface-soft) 0%,var(--color-accent-name) 55%,var(--color-accent-creative) 100%)}.project-template .proj-logo{display:inline-flex;align-items:center;justify-content:center;line-height:0;margin-left:var(--space-4)}.project-template .proj-logo img{width:26px;height:auto;display:block}.project-template .proj-head__text{font-size:var(--text-subtitle);line-height:var(--leading-title);padding:0 var(--space-2-5)}.project-template .proj-head__title{margin:0;height:100%;width:100%;display:flex;align-items:center;padding:0 var(--space-4);justify-self:start;font-size:var(--text-subtitle);font-weight:var(--font-weight-regular);background-color:color-mix(in srgb,var(--background) 70%,transparent);border-left:1px solid var(--border)}.project-template .proj-nav{position:sticky;top:var(--proj-head-h);z-index:99;height:var(--proj-nav-h);display:grid;grid-template-columns:repeat(5,minmax(0,1fr))}.project-template .proj-nav__link{text-decoration:none;color:var(--color-text);text-align:center;height:100%;display:grid;place-items:center;padding:0 var(--space-2);font-size:var(--text-small);cursor:pointer;transition:color .16s ease,background-color .16s ease,letter-spacing .16s ease,filter .16s ease}.project-template .proj-nav__link:nth-child(1){background:var(--band-about)}.project-template .proj-nav__link:nth-child(2){background:var(--band-tech)}.project-template .proj-nav__link:nth-child(3){background:var(--band-digital)}.project-template .proj-nav__link:nth-child(4){background:var(--band-graph)}.project-template .proj-nav__link:nth-child(5){background:var(--band-other)}.project-template .proj-nav__link:hover,.project-template .proj-nav__link:focus-visible{color:var(--color-action-hover);letter-spacing:.2em;filter:brightness(.97);font-weight:var(--font-weight-medium)}.project-template .proj-nav__link:nth-child(1):hover,.project-template .proj-nav__link:nth-child(1):focus-visible{background:var(--band-about-h)}.project-template .proj-nav__link:nth-child(2):hover,.project-template .proj-nav__link:nth-child(2):focus-visible{background:var(--band-tech-h)}.project-template .proj-nav__link:nth-child(3):hover,.project-template .proj-nav__link:nth-child(3):focus-visible{background:var(--band-digital-h)}.project-template .proj-nav__link:nth-child(4):hover,.project-template .proj-nav__link:nth-child(4):focus-visible{background:var(--band-graph-h)}.project-template .proj-nav__link:nth-child(5):hover,.project-template .proj-nav__link:nth-child(5):focus-visible{background:var(--band-other-h)}.project-template .proj-nav__link.is-active{color:var(--color-action-hover);filter:brightness(.92)}.project-template .proj-body{padding:var(--space-6) var(--space-5) var(--space-5) var(--space-5);display:grid;gap:var(--space-6)}.project-template .proj-row3{display:grid;grid-template-columns:2fr 1fr;gap:var(--space-7)}.project-template .proj-text{margin:0;white-space:pre-wrap;line-height:var(--leading-snug)}.project-template .proj-meta{margin:0;display:grid;row-gap:.6em}.project-template .proj-meta__item{display:grid;grid-template-columns:110px 1fr;column-gap:var(--space-3-5);align-items:baseline}.project-template .proj-meta dt{opacity:.75;position:relative;padding-right:var(--space-3-5)}.project-template .proj-meta dt:after{content:":";position:absolute;right:4px;opacity:.9}.project-template .proj-meta dd{margin:0}.project-template .proj-gallery{width:100%;max-width:100%;display:flex;flex-wrap:wrap;gap:var(--space-6);align-items:flex-start;justify-content:flex-start}.project-template .proj-gallery__cell{height:min(50vh,320px);flex:0 1 auto;max-width:100%;background:transparent;overflow:hidden;display:flex;align-items:center;justify-content:center}.project-template .proj-media-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:transparent;padding:0;margin:0;height:100%;width:auto;display:flex;align-items:center;justify-content:center;cursor:zoom-in}.project-template .proj-gallery__cell img,.project-template .proj-gallery__cell video,.project-template .proj-media{height:100%;width:auto;max-width:100%;display:block;object-fit:contain;object-position:center}@media (max-width: 900px){.project-template .proj-gallery__cell{height:min(50vh,280px)}}.project-template .proj-row5{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--space-7);align-items:start}.project-template .proj-col{min-width:0}.project-template .proj-desc-section{margin-bottom:var(--space-3-5)}.project-template .proj-minihead{margin:0 0 var(--space-2) 0;font-size:var(--text-meta);letter-spacing:.08em;text-transform:uppercase;color:var(--color-action-hover)}.project-template .proj-desc{line-height:var(--leading-body);margin:0}.project-template .proj-desc+.proj-desc{margin-top:var(--space-3)}.project-template .proj-bullets{margin:var(--space-2-5) 0 0 var(--space-5);padding:0}.project-template .proj-bullets li{margin:var(--space-1-5) 0}.project-template .proj-slider{margin-top:var(--space-6)}.project-template .slider-container{position:relative;width:100%;overflow:hidden;padding:var(--space-2-5)}.project-template .slider{display:flex;transition:transform .5s ease-in-out;will-change:transform}.project-template .slide{min-width:100%;display:flex;justify-content:center;align-items:center}.project-template .proj-slide-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:transparent;padding:0;margin:0;width:100%;cursor:zoom-in;display:flex;justify-content:center;align-items:center}.project-template .proj-slide-media{width:100%;height:auto;max-height:50vh;object-fit:contain;display:block}.project-template .proj-slide-caption{margin:0;text-align:center;font-size:var(--text-meta);letter-spacing:.06em;text-transform:uppercase;color:var(--color-action-hover);opacity:.85}.project-template .navigation-buttons{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:space-between;pointer-events:none}.project-template .navigation-buttons .prev,.project-template .navigation-buttons .next{pointer-events:auto;border:none;background:color-mix(in srgb,var(--background) 65%,transparent);color:var(--color-action-hover);width:44px;height:44px;font-size:var(--text-heading-sm);cursor:pointer;display:grid;place-items:center;transition:background-color .16s ease,transform .16s ease}.project-template .navigation-buttons .prev:hover,.project-template .navigation-buttons .next:hover{background:color-mix(in srgb,var(--background) 85%,transparent);transform:scale(1.03)}.project-template .proj-diagram-wrap{background:var(--color-bg);padding:5%;display:flex;align-items:center;justify-content:center}.project-template .proj-diagram-img{width:80%;height:auto;display:block}.project-template .yt-wrap{width:100%;max-width:100%;aspect-ratio:16 / 9;background:var(--color-surface-soft);overflow:hidden}.project-template .yt-embed{width:100%;height:100%;display:block;border:0}.project-template .proj-videoWide{width:100%}.project-template .proj-videoWide__wrap{width:100%;max-width:100%}.project-template .proj-videoWide__video{width:100%;object-fit:cover;display:block;border-radius:var(--radius-card);pointer-events:none}.project-template[data-layout=fullpage-stack] .proj-section--4{background:transparent;padding:0;box-shadow:none;border-radius:0}.project-template[data-layout=fullpage-stack] .proj-gallery{display:grid;grid-template-columns:1fr;gap:0;width:min(92vw,1100px);margin:5vh auto;box-shadow:0 0 20px 1px color-mix(in srgb,var(--foreground) 35%,transparent);overflow:hidden;background:transparent}.project-template[data-layout=fullpage-stack] .proj-gallery__cell{height:auto!important;overflow:visible!important;background:transparent}.project-template[data-layout=fullpage-stack] .proj-media-btn{height:auto;display:block}.project-template[data-layout=fullpage-stack] .proj-media{width:100%!important;height:auto!important;max-height:none}.project-template .proj-references{margin:0;padding-left:var(--space-5);display:grid;gap:var(--space-2)}.project-template .proj-references a{color:var(--color-action-hover);text-decoration:none;border-bottom:1px solid color-mix(in srgb,var(--foreground) 20%,transparent)}.project-template .proj-references a:hover{color:var(--color-text);border-bottom-color:var(--color-action-hover)}.project-template .proj-table{width:100%;border-collapse:collapse;font-size:var(--text-body-sm)}.project-template .proj-table th,.project-template .proj-table td{border:1px solid var(--border);padding:var(--space-2) var(--space-2-5);vertical-align:top}.project-template .proj-table th{background:color-mix(in srgb,var(--foreground) 4%,transparent);text-align:left}.lb-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;background:color-mix(in srgb,var(--foreground) 82%,transparent);display:flex;align-items:center;justify-content:center;padding:var(--space-6)}.lb-content{position:relative;width:min(96vw,1200px);max-height:92vh}.lb-close{position:absolute;top:-10px;right:-10px;width:40px;height:40px;border:none;border-radius:var(--radius-pill);background:color-mix(in srgb,var(--background) 92%,transparent);cursor:pointer;font-size:var(--text-heading-sm);line-height:var(--leading-none);display:grid;place-items:center}.lb-media{width:100%;max-height:92vh;display:block;object-fit:contain;background:transparent}.lb-caption{margin-top:var(--space-2-5);color:color-mix(in srgb,var(--background) 90%,transparent);font-size:var(--text-ui);line-height:var(--leading-body)}@media (max-width: 900px){.project-template{--proj-head-h: 64px;--proj-nav-h: 44px}.project-template .proj-head{grid-template-columns:auto 1fr}.project-template .proj-head__title{grid-column:1 / -1;border-left:none;border-top:1px solid var(--border)}.project-template .proj-nav{grid-template-columns:1fr 1fr}.project-template .proj-row3{grid-template-columns:1fr}.project-template .proj-gallery__cell{height:min(50vh,280px)}.project-template .proj-row5{grid-template-columns:1fr}}@media (prefers-reduced-motion: reduce){.project-template .proj-nav__link{transition:none}.project-template .proj-nav__link:hover,.project-template .proj-nav__link:focus-visible{letter-spacing:normal;filter:none}}.project-template[data-layout=blossom-grid] .proj-videoWide{display:grid;width:100%}.project-template[data-layout=blossom-grid] .proj-videoWide__wrap{width:100%;max-width:100%;min-width:0;overflow:hidden}.project-template[data-layout=blossom-grid] .proj-videoWide__video{width:100%;display:block;object-fit:cover;border-radius:0}.project-template[data-layout=blossom-grid] .proj-section--5 .proj-videoWide{grid-template-columns:repeat(4,minmax(0,1fr));gap:0}.project-template[data-layout=blossom-grid] .proj-section--5 .proj-videoWide__video{aspect-ratio:9 / 16;height:100%}.project-template[data-layout=blossom-grid] .proj-section--6 .proj-videoWide{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3-5)}.project-template[data-layout=blossom-grid] .proj-section--6 .proj-videoWide__video{aspect-ratio:16 / 9}.project-template[data-layout=blossom-grid] .proj-section--7 .proj-videoWide{grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-3)}.project-template[data-layout=blossom-grid] .proj-section--7 .proj-videoWide__video{aspect-ratio:1 / 1}.project-template[data-layout=blossom-grid] .proj-section--5 .proj-minihead,.project-template[data-layout=blossom-grid] .proj-section--6 .proj-minihead,.project-template[data-layout=blossom-grid] .proj-section--7 .proj-minihead{margin-bottom:var(--space-3)}@media (max-width: 1100px){.project-template[data-layout=blossom-grid] .proj-section--5 .proj-videoWide,.project-template[data-layout=blossom-grid] .proj-section--7 .proj-videoWide{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 700px){.project-template[data-layout=blossom-grid] .proj-section--5 .proj-videoWide,.project-template[data-layout=blossom-grid] .proj-section--6 .proj-videoWide,.project-template[data-layout=blossom-grid] .proj-section--7 .proj-videoWide{grid-template-columns:1fr}}.project-template .proj-videoGrid{display:grid;width:100%;gap:var(--space-3-5)}.project-template .proj-videoGrid__item{width:100%;min-width:0;overflow:hidden}.project-template .proj-videoGrid__item .proj-videoWide__video{width:100%;display:block;object-fit:cover;border-radius:0}.project-template[data-layout=blossom-grid] .proj-body{gap:var(--space-7)}.project-template[data-layout=blossom-grid] .blossom-side .proj-videoGrid{grid-template-columns:repeat(4,minmax(0,1fr));gap:0}.project-template[data-layout=blossom-grid] .blossom-side .proj-videoWide__video{aspect-ratio:9 / 16;height:100%}.project-template[data-layout=blossom-grid] .blossom-wide .proj-videoGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3-5)}.project-template[data-layout=blossom-grid] .blossom-wide .proj-videoWide__video{aspect-ratio:16 / 9}.project-template[data-layout=blossom-grid] .blossom-closeups .proj-videoGrid{grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-3)}.project-template[data-layout=blossom-grid] .blossom-closeups .proj-videoWide__video{aspect-ratio:9 / 16}.project-template[data-layout=blossom-grid] .blossom-side .proj-minihead,.project-template[data-layout=blossom-grid] .blossom-wide .proj-minihead,.project-template[data-layout=blossom-grid] .blossom-closeups .proj-minihead{margin-bottom:var(--space-3)}@media (max-width: 1100px){.project-template[data-layout=blossom-grid] .blossom-side .proj-videoGrid,.project-template[data-layout=blossom-grid] .blossom-closeups .proj-videoGrid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 700px){.project-template[data-layout=blossom-grid] .blossom-side .proj-videoGrid,.project-template[data-layout=blossom-grid] .blossom-wide .proj-videoGrid,.project-template[data-layout=blossom-grid] .blossom-closeups .proj-videoGrid{grid-template-columns:1fr}}@media (min-width: 901px){.project-template .proj-nav{grid-template-columns:repeat(6,minmax(0,1fr))}}.project-template .proj-nav__link:nth-child(6){background:var(--band-other)}.project-template .proj-body{max-width:720px;margin:0 auto;padding:var(--space-10) var(--space-4) var(--space-16);gap:var(--space-7);font-size:var(--text-body);line-height:var(--leading-prose)}.project-template .proj-page-title{margin:0;font-size:var(--text-page-title);line-height:var(--leading-title)}.project-template .proj-row3,.project-template .proj-row5{grid-template-columns:1fr}.project-template .proj-row3__right{order:-1}.project-template .proj-meta{font-size:var(--text-body-sm);color:var(--muted-foreground)}.project-template .proj-diagram-img,.project-template[data-layout=fullpage-stack] .proj-gallery{width:100%}@media (max-width: 900px){.project-template .proj-head__title{display:none}.project-template .proj-nav{height:auto;grid-template-columns:repeat(3,minmax(0,1fr))}.project-template .proj-nav__link{height:34px}}.project-template .proj-body{max-width:640px;padding:var(--space-6) var(--space-4) var(--space-18);gap:var(--space-6);font-family:var(--font-family-body);font-size:var(--text-body-sm);line-height:var(--leading-prose)}.project-template .proj-page-title{font-family:var(--font-family-title);font-weight:var(--font-weight-regular);text-align:center;font-size:var(--text-page-title);margin:var(--space-2) 0 var(--space-3)}.proj-hero{margin:0;border-radius:var(--radius-media);overflow:hidden;background:var(--color-surface-soft)}.proj-hero img,.proj-hero video{display:block;width:100%;height:auto;max-height:70vh;object-fit:cover}.proj-metarow{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-4);margin:0;padding:var(--space-1) var(--space-1) var(--space-5);border-bottom:1px solid color-mix(in srgb,var(--foreground) 35%,transparent);font-family:var(--font-family-title)}.proj-metarow__col{display:grid;align-content:start;gap:var(--space-px)}.proj-metarow dt{font-size:var(--text-ui);margin-bottom:var(--space-1)}.proj-metarow dd{margin:0;font-size:var(--text-micro);color:var(--muted-foreground)}.proj-metarow__col:nth-child(2){justify-self:center}.proj-metarow__col:nth-child(3){justify-self:end}.project-template .proj-intro{display:grid;gap:var(--space-3)}.project-template .proj-text{white-space:normal;line-height:var(--leading-prose)}.proj-quote{margin:var(--space-7) 0 0;font-family:var(--font-family-body);font-weight:var(--font-weight-bold);font-size:var(--text-section-title);line-height:var(--leading-title)}.project-template .proj-minihead{font-family:var(--font-family-body);font-size:var(--text-body-lg);font-weight:var(--font-weight-bold);letter-spacing:0;text-transform:none;color:var(--color-text)}@media (max-width: 560px){.proj-metarow{grid-template-columns:1fr 1fr}.proj-metarow__col:nth-child(2),.proj-metarow__col:nth-child(3){justify-self:start}}.project-template .proj-body,.project-template[data-layout] .proj-body{gap:var(--space-section);padding-top:var(--space-page-top)}.project-template .proj-page-title{margin:0}.project-template :is(.proj-section,.proj-slider,.proj-row5,.proj-row6,.proj-intro,.proj-hero,.proj-metarow){margin-top:0;margin-bottom:0}.project-template :is(.proj-section,.proj-slider,.proj-row6){display:grid;gap:var(--space-stack);align-content:start}.project-template :is(.proj-section,.proj-slider,.proj-row6)>.proj-minihead+*{margin-top:calc(var(--space-heading-content) - var(--space-stack))}.project-template .proj-body>:is(.proj-section,.proj-slider,.proj-row5,.proj-row6):has(.proj-minihead){border-top:1px solid var(--border);padding-top:var(--space-rule-heading)}.project-template .proj-body{font-size:var(--text-body);line-height:var(--leading-body)}.project-template .proj-text{line-height:var(--leading-body)}.project-template .proj-minihead,.project-template[data-layout] .proj-minihead{margin:0}.project-template .proj-block{display:grid;gap:var(--space-heading-content);align-content:start}.project-template .proj-stack{display:grid;gap:var(--space-stack)}.project-template .proj-captioned{display:grid;gap:var(--space-caption-media)}.project-template .proj-row6__link{margin:0}.project-template .slider-container{padding-top:0}.project-template .proj-intro{gap:var(--space-paragraph)}.project-template .proj-quote{margin:var(--space-heading-content) 0 0}.project-template .proj-reflection__list{display:grid;gap:var(--space-stack);margin:0}.project-template .proj-reflection__item{display:grid;gap:var(--space-caption-media)}.project-template .proj-reflection__item dt{font-family:var(--font-family-body);font-size:var(--text-ui);font-weight:var(--font-weight-bold);line-height:var(--leading-title);color:var(--color-accent-tech)}.project-template .proj-reflection__item dd{margin:0;line-height:var(--leading-prose)}.project-template .proj-paper__doc{display:grid;gap:var(--space-section)}.project-template .proj-paper__head{display:grid;gap:var(--space-caption-media)}.project-template .proj-paper__title{margin:0;font-family:var(--font-family-title);font-size:var(--text-heading-sm);line-height:var(--leading-title)}.project-template .proj-paper__by{margin:0;font-size:var(--text-meta);color:var(--muted-foreground)}.project-template .proj-paper__part{display:grid;gap:var(--space-heading-content)}.project-template .proj-paper__h{margin:0;font-size:var(--text-ui);font-weight:var(--font-weight-bold);color:var(--color-accent-tech)}.project-template .proj-paper__part p{margin:0;line-height:var(--leading-prose)}.project-template .proj-paper__part :is(ul,ol){margin:0;padding-left:1.2em;display:grid;gap:var(--space-2);line-height:var(--leading-body)}.project-template .proj-paper__more{display:block}.project-template .proj-paper__more>summary{justify-self:start;list-style:none;font-size:var(--text-ui);color:var(--accent);transition:color var(--duration-fast) ease}.project-template .proj-paper__more>summary::-webkit-details-marker{display:none}.project-template .proj-paper__more>summary:before{content:"↳ "}.project-template .proj-paper__more>summary:hover,.project-template .proj-paper__more>summary:focus-visible{color:var(--color-action-hover);outline:none}.project-template .proj-paper__more[open]>summary{color:var(--muted-foreground)}.project-template .proj-paper__more[open]>.proj-paper__part+.proj-paper__part,.project-template .proj-paper__more[open]>summary+.proj-paper__part{margin-top:var(--space-section)}
