@font-face{font-family:Imbue;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/imbue-latin-variable.woff2) format("woff2-variations"),url(/fonts/imbue-latin-variable.woff2) format("woff2")}@font-face{font-family:Albert Sans;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/albert-sans-latin-400-normal.woff2) format("woff2")}@font-face{font-family:Albert Sans;font-style:italic;font-weight:400;font-display:swap;src:url(/fonts/albert-sans-latin-400-italic.woff2) format("woff2")}@font-face{font-family:Albert Sans;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/albert-sans-latin-500-normal.woff2) format("woff2")}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/jetbrains-mono-latin-400-normal.woff2) format("woff2")}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/jetbrains-mono-latin-500-normal.woff2) format("woff2")}:root{--bg: #eef0f3;--surface: #e2e5ea;--ink: #0b0c0e;--muted: #5d6470;--accent: #1f2de6;--accent-strong: #1621b8;--accent-ink: #ffffff;--stage: #0b0c0e;--stage-surface: #1b1e23;--stage-raised: #262a31;--stage-field: #14161a;--stage-ink: #dfe2e7;--stage-muted: #9aa1ac;--stage-accent: #a9b0ff;--stage-err: #ff9d9d;--font-display: "Imbue", "Bodoni 72", "Didot", serif;--font-text: "Albert Sans", ui-sans-serif, system-ui, sans-serif;--font-code: "JetBrains Mono", ui-monospace, "SF Mono", Menlo, monospace;--step-small: clamp(.8125rem, .79rem + .1vw, .875rem);--step-body: clamp(1.0625rem, 1rem + .25vw, 1.1875rem);--step-lead: clamp(1.25rem, 1.1rem + .7vw, 1.625rem);--step-head: clamp(2rem, 1.5rem + 1.4vw, 2.75rem);--margin: clamp(20px, 3.9vw, 56px);--gap-section: clamp(88px, 9vw, 160px);--nav-h: 64px;--col: 100vw;--ease-out: cubic-bezier(.22, 1, .36, 1);--ease-expo: cubic-bezier(.16, 1, .3, 1);--ease-in-out: cubic-bezier(.76, 0, .24, 1);--ease-soft: cubic-bezier(.33, 1, .68, 1);--t-press: .14s;--t-hover: .18s;--t-ui: .24s}@media (min-width: 900px){:root{--col: 50vw}}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:16px}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font-text);font-size:var(--step-body);line-height:1.55;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:clip}body.menu-open{overflow:hidden}h1,h2,h3,p,ul,ol,figure{margin:0}h1,h2,h3{font-weight:500;line-height:1.12;letter-spacing:-.01em;text-wrap:balance}h2{font-size:var(--step-head)}h3{font-size:var(--step-lead)}p{text-wrap:pretty}img{display:block;max-width:100%;height:auto}a{color:inherit}button{font:inherit;color:inherit}::selection{background:var(--accent);color:var(--accent-ink)}:focus-visible{outline:3px solid var(--accent);outline-offset:3px}.skip-link{position:absolute;left:var(--margin);top:8px;z-index:100;padding:10px 16px;background:var(--ink);color:var(--bg);clip-path:inset(50%);white-space:nowrap}.skip-link:focus{clip-path:none}.muted-text{color:var(--muted)}.measure{max-width:46ch}.text-link{text-decoration:underline;text-decoration-thickness:.07em;text-underline-offset:.22em;text-decoration-color:color-mix(in srgb,currentColor 45%,transparent);transition:text-decoration-color var(--t-hover) ease}@media (hover: hover) and (pointer: fine){.text-link:hover{text-decoration-color:currentColor}}.button{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 28px;background:var(--accent);color:var(--accent-ink);font-weight:500;text-decoration:none;border:0;cursor:pointer;transition:transform var(--t-press) var(--ease-out),background-color var(--t-hover) ease}.button:active{transform:scale(.97)}@media (hover: hover) and (pointer: fine){.button:hover{background:var(--accent-strong)}}.nav{position:sticky;top:0;z-index:50;background:var(--bg)}.nav-row{display:flex;align-items:center;gap:24px;min-height:var(--nav-h);padding-inline:var(--margin)}.brand{margin-right:auto;font-weight:500;text-decoration:none}.nav-links{display:flex;align-items:center;gap:4px 24px}.nav-link{display:inline-flex;align-items:center;min-height:44px;color:var(--muted);text-decoration:none;transition:color var(--t-hover) ease}.nav-link.active{color:var(--ink);text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:.4em}@media (hover: hover) and (pointer: fine){.nav-link:hover{color:var(--ink)}}.nav-toggle,.nav-jump{display:none}@media (max-width: 899px){:root{--nav-h: 56px}.nav-toggle{display:inline-flex;align-items:center;min-height:44px;min-width:44px;justify-content:flex-end;padding:0;background:none;border:0;font-weight:500;cursor:pointer}.nav-jump{display:inline-flex;align-items:center;min-height:44px;color:var(--accent);font-weight:500;text-decoration:underline;text-underline-offset:.22em}.nav-links{display:none}.nav-links.show{display:flex;position:fixed;inset:var(--nav-h) 0 0 0;z-index:49;flex-direction:column;align-items:flex-start;gap:0;padding:24px var(--margin) 40px;background:var(--bg);overflow-y:auto}.nav-links.show .nav-link{font-size:var(--step-head);line-height:1.2;color:var(--ink);min-height:56px}}.home-split{position:relative}.read{min-width:0}@media (min-width: 900px){.home-split{display:grid;grid-template-columns:1fr 1fr;align-items:start}.stage{position:sticky;top:0;height:100vh;height:100svh;background:var(--stage);color:var(--stage-ink);overflow:clip}.stage :focus-visible{outline-color:var(--stage-accent)}.stage-panel{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;visibility:hidden;transition:opacity .7s ease,visibility 0s linear .7s}.stage-panel.is-on{opacity:1;visibility:visible;transition:opacity .7s ease}.stage-graph .graph{position:absolute;top:0;right:0;bottom:0;left:0}.stage-graph .graph canvas{height:100%}}.hero{padding:clamp(24px,4vh,64px) var(--margin) clamp(72px,9vh,120px)}.masthead{font-family:var(--font-display);font-weight:400;font-optical-sizing:auto;text-transform:uppercase;letter-spacing:-.01em;line-height:.86;font-size:min(calc((var(--col) - 2 * var(--margin)) * .415),calc((100svh - 400px)*.55));margin:0 0 clamp(24px,3.5vh,40px) -.03em}.hero-intro{font-size:var(--step-lead);line-height:1.38;max-width:36ch}.hero-actions{display:flex;flex-wrap:wrap;align-items:center;gap:16px 32px;margin-top:36px}@media (max-width: 899px){.hero{padding-top:28px;padding-bottom:64px}.hero-intro{font-size:1.1875rem;max-width:34ch}.hero-actions .text-link{min-height:44px;display:inline-flex;align-items:center}}@media (max-width: 599px){.hero-actions{flex-direction:column;align-items:stretch;gap:20px;margin-top:28px}.hero-actions .button{width:100%}.hero-actions .text-link{align-self:flex-start}}.sec{padding:var(--gap-section) var(--margin) 0;scroll-margin-top:calc(var(--nav-h) - 16px)}.read>.sec:last-child{padding-bottom:var(--gap-section)}.sec>h2{margin-bottom:28px}.work .board-stats{margin-bottom:36px}.filters{display:flex;flex-wrap:wrap;gap:0 22px;margin-bottom:40px}.filter,.group-toggle{display:inline-flex;align-items:center;min-height:44px;padding:0;background:none;border:0;color:var(--muted);cursor:pointer;text-decoration:underline;text-decoration-color:transparent;text-decoration-thickness:2px;text-underline-offset:.4em;transition:color var(--t-hover) ease,text-decoration-color var(--t-hover) ease}.filter[aria-pressed=true]{color:var(--ink);text-decoration-color:currentColor}@media (hover: hover) and (pointer: fine){.filter:hover,.group-toggle:hover{color:var(--ink)}}.work-list{list-style:none;padding:0;display:grid;gap:52px}.work-head{display:flex;align-items:baseline;justify-content:space-between;gap:16px}.work-tag{flex:none;color:var(--muted);font-size:var(--step-small)}.work-blurb{margin-top:10px;max-width:52ch}.work-stack{margin-top:8px;color:var(--muted);font-size:var(--step-small)}.work-links{display:flex;flex-wrap:wrap;gap:4px 24px;margin-top:10px}.work-links a{min-height:44px;display:inline-flex;align-items:center}@media (min-width: 900px){.graph-section{min-height:80svh}}.group-toggles{display:flex;flex-wrap:wrap;gap:0 24px;margin:28px 0 36px}.group-toggle{color:var(--ink);gap:10px;text-decoration:none}.group-toggle .swatch{width:14px;height:14px;flex:none;background:var(--swatch);transition:opacity var(--t-hover) ease,transform var(--t-press) var(--ease-out)}.group-toggle[aria-pressed=false]{color:var(--muted)}.group-toggle[aria-pressed=false] .swatch{opacity:.25;transform:scale(.7)}.graph-info h3{margin-bottom:4px}.graph-info-meta{color:var(--muted)}.graph-neighbours{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:0 22px;margin-top:12px}.graph-neighbours button{min-height:44px;padding:0;background:none;border:0;cursor:pointer;text-decoration:underline;text-decoration-thickness:.07em;text-underline-offset:.22em;text-decoration-color:color-mix(in srgb,currentColor 45%,transparent)}@media (hover: hover) and (pointer: fine){.graph-neighbours button:hover{text-decoration-color:currentColor}}.graph{position:relative;width:100%;height:100%}.graph canvas{display:block;width:100%;height:100%;cursor:default}.graph-tip{position:absolute;z-index:2;pointer-events:none;padding:6px 10px;background:var(--bg);color:var(--ink);font-size:var(--step-small);white-space:nowrap;transform:translate(-50%,calc(-100% - 18px))}.graph-frame{position:relative;margin:0 calc(-1 * var(--margin)) 32px;height:min(118vw,68svh);background:var(--stage)}.post-list{list-style:none;padding:0;display:grid;gap:36px}.post-row{display:grid;gap:6px;text-decoration:none}.post-title{font-size:var(--step-lead);font-weight:500;line-height:1.2;text-decoration:underline;text-decoration-thickness:.06em;text-underline-offset:.2em;text-decoration-color:transparent;transition:text-decoration-color var(--t-hover) ease}.post-excerpt{max-width:52ch}.post-date{color:var(--muted);font-size:var(--step-small);font-variant-numeric:tabular-nums}@media (hover: hover) and (pointer: fine){.post-row:hover .post-title{text-decoration-color:currentColor}}.more{margin-top:36px}.cert-columns{columns:2;column-gap:32px;margin-top:36px}.cert-group{break-inside:avoid;margin-bottom:32px}.cert-group:first-child{break-after:column}.cert-group h3{font-size:var(--step-body);font-weight:400;color:var(--muted);margin-bottom:4px}.cert-group ul{list-style:none;padding:0}.cert-group li{line-height:1.5}.cert-group a{display:inline-block;padding-block:5px;text-decoration:underline;text-decoration-thickness:.06em;text-underline-offset:.2em;text-decoration-color:transparent;transition:text-decoration-color var(--t-hover) ease}@media (hover: hover) and (pointer: fine){.cert-group a:hover{text-decoration-color:currentColor}}.letter{max-width:46ch;display:grid;gap:1.1em}.signoff{display:grid;gap:2px;margin-top:.6em}.signoff-name{font-style:italic;font-size:var(--step-lead)}.signoff-role{color:var(--muted);font-size:var(--step-small)}.career-title{margin:72px 0 20px}.career{list-style:none;padding:0;display:grid;gap:28px}.career li{display:grid;grid-template-columns:7.5rem 1fr;column-gap:20px;row-gap:2px}.career-year{grid-row:span 2;color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap}.career-role{font-weight:500}.career-note{color:var(--ink);grid-column:2}@media (max-width: 520px){.career li{grid-template-columns:1fr}.career-year{grid-row:auto}.career-note{grid-column:1}}[data-ui].board{min-height:220px;padding:22px 24px;background:var(--stage);color:var(--stage-ink);display:flex;flex-direction:column;justify-content:flex-start;gap:16px}[data-ui].board .board-head{color:var(--stage-muted);font-size:var(--step-small);font-variant-numeric:tabular-nums}[data-ui].board ul{list-style:none;padding:0;margin:0}[data-ui].board li{display:grid;grid-template-columns:7.5rem 1fr auto;gap:8px 16px;align-items:baseline;padding:10px 0;min-height:44px}[data-ui].board a{color:var(--stage-ink);text-decoration:underline;text-underline-offset:.2em}[data-ui].board .board-key{color:var(--stage-muted)}[data-ui].board .board-note{color:var(--stage-muted);font-size:var(--step-small)}[data-ui].board-stats ul{display:grid;grid-template-columns:1fr 1fr;gap:28px 24px}[data-ui].board-stats li{display:grid;grid-template-columns:1fr;gap:4px;padding:0;min-height:0}[data-ui].board-stats strong{font-size:var(--step-head);font-weight:500;line-height:1;letter-spacing:-.02em}[data-ui].board-topics li,[data-ui].board-ship li{grid-template-columns:5.5rem 1fr}[data-ui].board-topics li{grid-template-columns:1fr}[data-ui].board-desk{min-height:320px;justify-content:flex-start;gap:20px}[data-ui].board-desk h2{font-size:var(--step-head);color:var(--stage-ink);max-width:16ch}[data-ui].board-desk .text-link{color:var(--stage-ink)}[data-ui].board-index{min-height:220px}[data-ui].board-index li{grid-template-columns:1fr auto}[data-ui].board-cluster{height:100%;min-height:280px}.contact{display:grid;background:var(--accent);color:var(--accent-ink);scroll-margin-top:0}.contact ::selection{background:var(--accent-ink);color:var(--accent)}.contact :focus-visible{outline-color:var(--accent-ink)}.contact-text{padding:var(--gap-section) var(--margin)}.contact h2{margin-bottom:24px}.contact-lead{font-size:var(--step-lead);line-height:1.38;max-width:30ch}.contact-mail{display:inline-block;margin-top:36px;font-size:var(--step-head);font-weight:500;line-height:1.15;text-decoration:underline;text-decoration-thickness:.06em;text-underline-offset:.16em;overflow-wrap:anywhere}.contact-links{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:0 28px;margin-top:28px}.contact-links a{min-height:44px;display:inline-flex;align-items:center;text-decoration:underline;text-underline-offset:.22em}.contact-where{margin-top:20px}.contact-stage{min-height:280px;background:var(--stage)}.contact-stage [data-ui].board{height:100%;min-height:240px;justify-content:center;padding:36px var(--margin)}.contact-stage [data-ui].board li{font-size:var(--step-lead);padding-block:12px}@media (min-width: 900px){.contact{grid-template-columns:1fr 1fr}.contact-stage{min-height:560px}}.footer{padding:56px var(--margin) 32px;color:var(--ink)}.footer-row{display:grid;grid-template-columns:1fr auto 1fr;align-items:baseline;gap:12px 24px}.footer-links{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:0 24px}.footer-links a{color:var(--ink);text-decoration:none;min-height:44px;display:inline-flex;align-items:center}.footer-year{text-align:right;color:var(--muted)}@media (hover: hover) and (pointer: fine){.footer-links a:hover{text-decoration:underline;text-underline-offset:.22em}}@media (max-width: 899px){.footer-row{grid-template-columns:1fr;gap:8px}.footer-year{text-align:left}}.term{display:flex;flex-direction:column;height:100%;background:var(--stage);color:var(--stage-ink);font-family:var(--font-code);font-size:15px;line-height:1.6}.term samp,.term kbd{font:inherit}.term-bar{display:flex;justify-content:space-between;gap:16px;padding:18px var(--margin) 0;color:var(--stage-muted);font-size:13px}.term-bar samp:first-child{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.term-clock{flex:none;font-variant-numeric:tabular-nums}.term-body{flex:1;min-height:0;overflow-y:auto;padding:clamp(24px,5vh,48px) var(--margin) 16px;scrollbar-width:thin;scrollbar-color:var(--stage-raised) transparent}.term-line{display:block;white-space:pre-wrap;overflow-wrap:anywhere}.term-line kbd{color:var(--stage-ink)}.term-line+.term-line{margin-top:2px}.term-banner{color:var(--stage-muted);line-height:1.2;margin-bottom:12px;white-space:pre;overflow:hidden}.term-prompt{white-space:nowrap}.term-prompt-user{color:var(--stage-muted)}.term-prompt-path,.term-out-accent,.term-key,.term-dir{color:var(--stage-accent)}.term-err{color:var(--stage-err)}.term-ls{display:flex;flex-wrap:wrap;gap:0 1.4em}.term-suggest{display:flex;flex-wrap:wrap;gap:8px;padding:12px var(--margin) 12px}.term-chip{flex:1 1 auto;min-height:44px;padding:0 16px;background:var(--stage-surface);color:var(--stage-ink);border:0;font-family:var(--font-code);font-size:15px;cursor:pointer;transition:background-color var(--t-hover) ease,transform var(--t-press) var(--ease-out)}.term-chip:active{transform:scale(.96)}@media (hover: hover) and (pointer: fine){.term-chip:hover{background:var(--stage-raised)}}.term-input-row{display:flex;align-items:center;min-height:52px;margin:0 var(--margin) clamp(20px,4vh,40px);padding:0 16px;background:var(--stage-field);cursor:text}.term-input-row .term-prompt{margin-right:1ch}.term-input-row:focus-within{outline:2px solid var(--stage-accent);outline-offset:0}.term-input{flex:1;min-width:0;padding:0;background:transparent;border:0;outline:none;color:var(--stage-ink);font-family:var(--font-code);font-size:16px;caret-color:var(--stage-accent)}.term-input::placeholder{color:var(--stage-muted);opacity:1}.term :focus-visible{outline-color:var(--stage-accent)}.term-section{background:var(--stage);scroll-margin-top:var(--nav-h)}.term-section .term{height:auto;font-size:14px}.term-section .term-body{flex:none;height:min(45svh,360px);padding-top:20px}.term-section .term-chip{font-size:14px;padding:0 8px}.term-section .term-suggest{display:grid;grid-template-columns:repeat(3,1fr)}@media (max-width: 899px){.term-banner{font-size:12px}}@media (max-width: 480px){.term-input-row .term-prompt-user{display:none}}.blog-title{font-family:var(--font-display);font-weight:400;font-optical-sizing:auto;text-transform:uppercase;line-height:.88;letter-spacing:-.01em;font-size:calc((var(--col) - 2 * var(--margin)) * .17);margin-bottom:28px}.blog-head{padding:clamp(32px,6vh,80px) var(--margin) 0}.blog-intro{font-size:var(--step-lead);line-height:1.38;max-width:30ch}.blog-about{margin-top:20px;max-width:46ch}.blog-list{padding:64px var(--margin) var(--gap-section)}.post-list-large{gap:44px}.empty h2{font-size:var(--step-lead);margin-bottom:8px}.empty p{max-width:46ch}.blog-boards{display:grid;gap:12px;margin-bottom:48px}.blog-stage{margin-top:48px;background:var(--stage);color:var(--stage-ink);display:grid;gap:12px;padding:12px}.blog-stage [data-ui].board{min-height:240px}@media (max-width: 899px){.blog{display:flex;flex-direction:column}.blog-list{order:1;padding-bottom:64px}.blog-stage{order:2;margin-top:0}}@media (min-width: 900px){.blog{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:auto 1fr;align-items:start}.blog-head{grid-column:1;grid-row:1}.blog-list{grid-column:1;grid-row:2}.blog-stage{grid-column:2;grid-row:1 / span 2;position:sticky;top:var(--nav-h);height:calc(100svh - var(--nav-h));margin:0;display:grid;grid-template-rows:1fr auto;padding:0;gap:0}.blog-stage [data-ui].board-desk{min-height:0;height:100%;padding:36px var(--margin)}.blog-stage [data-ui].board-desk h2{font-family:var(--font-display);font-weight:400;font-optical-sizing:auto;text-transform:uppercase;font-size:clamp(3.5rem,5.4vw,6rem);line-height:.88;letter-spacing:-.01em;max-width:10ch}.blog-stage [data-ui].board-index{min-height:220px;padding:20px var(--margin) 28px}}.post{padding:clamp(32px,6vh,72px) var(--margin) var(--gap-section)}.post-wrap{max-width:44rem;margin:0 auto}.post-back{margin-bottom:40px}.post-back a,.post-end a{min-height:44px;display:inline-flex;align-items:center}.post-display{font-family:var(--font-display);font-weight:400;font-optical-sizing:auto;text-transform:uppercase;font-size:clamp(3.25rem,1.6rem + 5.4vw,6.75rem);line-height:.9;letter-spacing:-.005em;max-width:14ch}.post-meta{margin-top:24px;color:var(--muted);font-size:var(--step-small);font-variant-numeric:tabular-nums}.post .prose{margin-top:48px}.post-end{margin-top:64px}.post-lead{margin-top:20px;font-size:var(--step-lead);line-height:1.38;max-width:36ch}.post-missing .button{margin-top:32px}.post-missing .post-title{font-family:var(--font-display);font-weight:400;font-size:clamp(6rem,18vw,14rem);line-height:.9}.prose{font-size:var(--step-body);line-height:1.68;max-width:68ch;overflow-wrap:break-word}.prose>*+*{margin-top:1.15em}.prose h1,.prose h2{font-size:var(--step-lead);margin-top:2.2em}.prose h3,.prose h4{font-size:var(--step-body);font-weight:500;margin-top:1.9em}.prose h1+*,.prose h2+*,.prose h3+*,.prose h4+*{margin-top:.6em}.prose>:first-child{margin-top:0}.prose a{text-decoration:underline;text-decoration-color:var(--accent);text-decoration-thickness:.08em;text-underline-offset:.2em}.prose strong{font-weight:500}.prose ul,.prose ol{padding-left:1.3em}.prose li+li{margin-top:.4em}.prose code{font-family:var(--font-code);font-size:.86em;background:var(--surface);padding:.12em .36em}.prose pre{margin-block:1.8em;padding:20px 24px;background:var(--stage);color:var(--stage-ink);font-size:15px;line-height:1.6;overflow-x:auto;-moz-tab-size:2;tab-size:2}.prose pre code{background:none;padding:0;font-size:inherit;color:inherit}.prose blockquote{margin-inline:0;padding:20px 24px;background:var(--surface)}.prose blockquote>*+*{margin-top:.8em}.prose img{margin-block:2em;width:auto;max-width:100%}.prose hr{border:0;height:0;margin-block:3em}.prose table{width:100%;border-collapse:collapse;font-size:var(--step-small);display:block;overflow-x:auto}.prose th,.prose td{padding:10px 12px;text-align:left;border-bottom:1px solid #c6cbd3;vertical-align:top}.prose th{font-weight:500}@media (max-width: 899px){.prose pre{padding:16px 18px;font-size:14px}}.lines .line{display:block;overflow:clip;padding-bottom:.06em;margin-bottom:-.06em}.lines [data-line]{display:block}@media (prefers-reduced-motion: no-preference){html{scroll-behavior:smooth}.js .lines [data-line]{transform:translateY(105%);animation:line-up .9s var(--ease-expo) forwards;animation-delay:calc(.12s + var(--i, 0) * .1s)}.js [data-load]{opacity:0;transform:translateY(14px);animation:load-rise .6s var(--ease-out) forwards;animation-delay:var(--d, .3s)}.js [data-reveal]{opacity:0;transform:translateY(24px);transition:opacity .7s var(--ease-out),transform .9s var(--ease-expo);transition-delay:calc(var(--i, 0) * 70ms)}.js [data-reveal].is-in{opacity:1;transform:none}.js .shutter[data-reveal]{transform:none;opacity:1}.js .shutter[data-reveal] .photo-frame{clip-path:inset(0 0 100% 0);transition:clip-path 1.1s var(--ease-in-out)}.js .shutter[data-reveal] img{transform:scale(1.12);transition:transform 1.5s var(--ease-soft)}.js .shutter[data-reveal].is-in.is-loaded .photo-frame{clip-path:inset(0)}.js .shutter[data-reveal].is-in.is-loaded img{transform:none}.js .settle[data-reveal] img{transform:scale(1.06);transition:transform 1.6s var(--ease-soft)}.js .settle[data-reveal].is-in img{transform:none}.nav-links.show{animation:sheet-in var(--t-ui) var(--ease-out)}.js [data-ui].board li{opacity:0;transform:translateY(16px);animation:load-rise .65s var(--ease-out) forwards}.js [data-ui].board li:nth-child(1){animation-delay:80ms}.js [data-ui].board li:nth-child(2){animation-delay:.15s}.js [data-ui].board li:nth-child(3){animation-delay:.22s}.js [data-ui].board li:nth-child(4){animation-delay:.29s}.js [data-ui].board li:nth-child(5){animation-delay:.36s}.js .post .prose>*{opacity:0;transform:translateY(18px);animation:load-rise .7s var(--ease-out) forwards}.js .post .prose>*:nth-child(1){animation-delay:.28s}.js .post .prose>*:nth-child(2){animation-delay:.35s}.js .post .prose>*:nth-child(3){animation-delay:.42s}.js .post .prose>*:nth-child(4){animation-delay:.49s}.js .post .prose>*:nth-child(5){animation-delay:.56s}.js .post .prose>*:nth-child(6){animation-delay:.63s}.js .post .prose>*:nth-child(n+7){animation-delay:.7s}.js .post-end{opacity:0;transform:translateY(14px);animation:load-rise .6s var(--ease-out) .76s forwards}@supports (animation-timeline: view()){.contact-stage [data-ui].board{animation:drift linear both;animation-timeline:view();animation-range:cover 0% cover 100%}}}@keyframes line-up{to{transform:none}}@keyframes load-rise{to{opacity:1;transform:none}}@keyframes sheet-in{0%{opacity:0;transform:translateY(-8px)}}@keyframes settle{0%{transform:scale(1.06)}}@keyframes drift{0%{transform:translateY(-6%)}to{transform:translateY(0)}}@media (prefers-reduced-motion: reduce){.stage-panel,.stage-panel.is-on{transition-duration:.2s}}
