@font-face{font-family:Geist;src:url(/fonts/geist-400.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Geist;src:url(/fonts/geist-500.woff2) format("woff2");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:DM Mono;src:url(/fonts/dm-mono-400.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:DM Mono;src:url(/fonts/dm-mono-500.woff2) format("woff2");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:DSEG14;src:url(/fonts/dseg14-classic.woff2) format("woff2");font-weight:400;font-style:normal;font-display:block}:root{--veil-light: #faf5f5;--veil-dark: #191817;--folio-bg: var(--veil-light);--ink: #17160f;--faint: #8c8b82;--accent: #1e9e52;--folio-blue: #7b3fe4;--path-blue: #8b5cf6;--folio-mute: #9b9b9b;--folio-ink: #060606;--folio-body: #434445;--folio-rule: #cbc9d6;--surface-hover: rgba(23, 22, 15, .035);--surface-chip: #f2f0f0;--surface-card: #fff;--surface-sunken: #efeaea;--cs-ink: #111;--ink-muted: rgba(17, 17, 17, .48);--ink-title: #313030;--ink-desc: #666;--ink-gutter: #9a9a9a;--ink-faint: #989898;--ink-faint-hover: #6c6c6c;--ink-hint: #757575;--ink-link-hover: #5c5b5b;--keyline: #fff;--cs-card-line: rgba(17, 17, 17, .08);--cs-screen-line: rgba(0, 0, 0, .08);--tl-dot-line: #c3c1c1;--tl-dot-fill: #b4b2b2;--tl-dot-case: #a9a7ad;--tl-route: #c2c0c0;--footer-tint: 255, 255, 255;--ease-out: cubic-bezier(.23, 1, .32, 1);--avatar-ease-in: cubic-bezier(.22, 1, .36, 1);--avatar-ease-out: cubic-bezier(.34, 3.85, .64, 1);--sans: "Geist", system-ui, sans-serif;--mono: "DM Mono", ui-monospace, monospace;color-scheme:light}html[data-theme=dark]{--folio-bg: var(--veil-dark);--ink: #f2efe9;--faint: #6e6d66;--accent: #35c56d;--folio-blue: #a78bfa;--folio-mute: #7d7c7c;--folio-ink: #f5f3f0;--folio-body: #b9b8b6;--folio-rule: #39383f;--surface-hover: rgba(255, 255, 255, .045);--surface-chip: #2b2928;--surface-card: #242322;--surface-sunken: #211f1f;--cs-ink: #f0eeeb;--ink-muted: rgba(240, 238, 235, .48);--ink-title: #e8e6e3;--ink-desc: #a3a2a0;--ink-gutter: #6f6e6e;--ink-faint: #767575;--ink-faint-hover: #9a9999;--ink-hint: #8a8989;--ink-link-hover: #d6d4d1;--keyline: rgba(255, 255, 255, .14);--cs-card-line: rgba(255, 255, 255, .1);--cs-screen-line: rgba(255, 255, 255, .08);--tl-dot-line: #4a4848;--tl-dot-fill: #565454;--tl-dot-case: #5a585e;--tl-route: #5e5c5c;--footer-tint: 25, 24, 23;color-scheme:dark}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:auto;-webkit-text-size-adjust:100%;text-size-adjust:100%;background:var(--folio-bg)}html.is-covered{overflow:hidden}body{margin:0;font:400 16px/1.55 var(--sans);color:var(--ink);background:var(--folio-bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}p,h1,h2,h3,h4,ul,ol,figure{margin:0;padding:0}ul,ol{list-style:none}button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer}img,video,canvas,svg{display:block;-webkit-user-drag:none;user-select:none}a{color:inherit;text-decoration-color:var(--faint);text-underline-offset:3px}a:hover{text-decoration-color:var(--ink)}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:2px}::selection{background:var(--accent);color:var(--folio-bg)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}html.is-recolouring :is(.fs-lines p,.folio-tagline,.folio-sub,.plan-head,.tl-route,.tl-yearnum,.tl-company,.tl-badge,.tl-role,.tl-desc,.case-title,.case-desc,.outro-title,.outro-sub,.ff-link,.ff-sub-btn,.ff-pop-label,.ff-pop-icon,.ff-pop-title,.ff-pop-desc,.cs-eyebrow,.cs-title,.cs-blurb,.cs-gutter-label,.cs-lede,.cs-heading,.cs-body,.cs-meta,.cs-links a,.pc-base,.pc-lit,.path-tip path){transition:color .52s var(--ease-out),fill .52s var(--ease-out),stroke .52s var(--ease-out)}@keyframes itemReveal{0%{opacity:0;filter:blur(8px);transform:translateY(-12px) scale(.985)}to{opacity:var(--reveal-opacity, 1);filter:blur(0);transform:none}}@keyframes itemRevealReduced{0%{opacity:0}to{opacity:var(--reveal-opacity, 1)}}.reveal{animation:itemReveal .4s var(--ease-out) both;animation-delay:var(--reveal-delay, 0s)}.booting .reveal{animation-play-state:paused}.js .cs-reveal{opacity:0}.js .cs-reveal.is-in{opacity:var(--reveal-opacity, 1);animation:itemReveal .4s var(--ease-out) both;animation-delay:var(--reveal-delay, 0s)}.splash{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:0 6vw;background:var(--folio-bg);transition:opacity .28s ease,filter .28s ease}.splash.is-leaving{opacity:0;filter:blur(6px);pointer-events:none}.sfb{display:flex;flex-direction:column;align-items:center;gap:15px}.sfb-defs{position:absolute;width:0;height:0;overflow:hidden}.sfb-board{display:flex;gap:6px;padding:8px;border-radius:12px;background:linear-gradient(180deg,#252421,#1a1917 70%);box-shadow:inset 0 1px #ffffff12,inset 0 -1px #00000059,0 0 0 1px #17160f29,0 2px 4px -2px #17160f4d,0 20px 36px -20px #17160f99;animation:sfbIn .42s var(--ease-out) both}html[data-theme=dark] .sfb-board{background:linear-gradient(180deg,#2a2926,#1e1d1b 70%);box-shadow:inset 0 1px #ffffff14,inset 0 -1px #0006,0 0 0 1px #ffffff0f,0 20px 40px -18px #000000bf}.sfb-flap{position:relative;display:block;width:52px;height:72px;perspective:300px;border-radius:6px;background:#0e0d0c;box-shadow:inset 0 0 0 1px #00000080}.sfb-top,.sfb-bot{position:absolute;left:0;right:0;height:36px;overflow:hidden;backface-visibility:hidden;font:500 50px/72px var(--mono);color:#f2ede2;text-align:center;text-shadow:0 1px 0 rgba(0,0,0,.35)}.sfb-top{top:0;border-radius:6px 6px 2px 2px;transform-origin:50% 100%;background:linear-gradient(180deg,#34332f,#2c2b28);box-shadow:inset 0 1px #ffffff12}.sfb-bot{bottom:0;border-radius:2px 2px 6px 6px;transform-origin:50% 0;background:linear-gradient(180deg,#2b2a27,#232220);box-shadow:inset 0 -1px #0000004d}.sfb-top>i,.sfb-bot>i{position:absolute;left:0;right:0;height:72px;display:flex;align-items:center;justify-content:center;font-style:normal}.sfb-top>i{top:0}.sfb-bot>i{bottom:0}.sfb-w{width:46px;height:44px;fill:#f2ede2;overflow:visible}.sfb-dot{position:absolute;left:21px;top:41px;width:10px;height:10px;border-radius:50%;background:#8b5cf6}.sfb-top:before,.sfb-top:after,.sfb-bot:before,.sfb-bot:after{content:"";position:absolute;inset:0;z-index:1;opacity:0;pointer-events:none}.sfb-top:before{background:linear-gradient(180deg,#06050480,#060504c7)}.sfb-top:after{background:linear-gradient(180deg,#0000 30%,#00000080)}.sfb-bot:before{background:linear-gradient(180deg,#ffffff29,#ffffff0d)}.sfb-bot:after{background:linear-gradient(180deg,#0000009e,#0003);transform-origin:50% 0}.sfb-split{position:absolute;left:0;right:0;top:35px;height:2px;z-index:60;background:#0e0d0c;box-shadow:0 1px #ffffff08}.sfb-split:before,.sfb-split:after{content:"";position:absolute;top:-2px;width:3px;height:6px;border-radius:1px;background:#3d3b37;box-shadow:inset 0 1px #ffffff1f}.sfb-split:before{left:-1px}.sfb-split:after{right:-1px}.sfb-glow{position:absolute;left:4px;top:24px;width:44px;height:44px;z-index:61;pointer-events:none;border-radius:50%;background:radial-gradient(closest-side,#8b5cf66b,#8b5cf600);opacity:.55}.sfb-ring{position:absolute;left:21px;top:41px;width:10px;height:10px;z-index:62;pointer-events:none;border-radius:50%;box-shadow:0 0 0 1px #a78bfa;opacity:0}.sfb-cap{display:block;margin-right:-.24em;white-space:nowrap;font:500 9px/1 var(--mono);letter-spacing:.24em;color:var(--ink-hint);animation:sfbCap .6s var(--ease-out) .28s both}.sfb-cap span{opacity:.6}.sfb-cap b{font-weight:500;color:var(--folio-blue)}.sfb-top.is-fall{visibility:hidden;animation:sfbFall var(--sfb-fall) cubic-bezier(.42,0,.85,.7) var(--a) both,sfbBlurFall var(--sfb-fall) ease-in var(--a) both}.sfb-top.is-fall:before{animation:sfbShade var(--sfb-fall) cubic-bezier(.42,0,.85,.7) var(--a) both}.sfb-top.is-rev:after{animation:sfbUnshade var(--sfb-fall) ease-out var(--p) both}.sfb-bot.is-land{animation:sfbLand var(--sfb-land) linear var(--a) both,sfbBlurLand var(--sfb-land) linear var(--a) both}.sfb-bot.is-land:before{animation:sfbLit var(--sfb-land) linear var(--a) both}.sfb-bot.is-cover:after{animation:sfbCast calc(var(--sfb-fall) + 24ms) cubic-bezier(.42,0,.85,.7) var(--c) both}.sfb-glow{animation:sfbGlow .9s ease-out var(--d) both}.sfb-ring{animation:sfbPulse 1.6s var(--ease-out) calc(var(--d) + 40ms) infinite}.sfb-cap b{animation:sfbBlink 1.6s ease-in-out calc(var(--d) + 40ms) infinite}@keyframes sfbIn{0%{opacity:0;transform:translateY(6px) scale(.965)}40%{opacity:1}to{opacity:1;transform:none}}@keyframes sfbFall{0%{transform:none;visibility:visible}to{transform:rotateX(-90deg);visibility:hidden}}@keyframes sfbBlurFall{0%{filter:none}to{filter:blur(.6px)}}@keyframes sfbShade{0%{opacity:0}to{opacity:1}}@keyframes sfbUnshade{0%{opacity:1}to{opacity:0}}@keyframes sfbLand{0%{transform:rotateX(90deg);visibility:hidden;animation-timing-function:cubic-bezier(.35,.45,.8,.95)}32%{transform:none;animation-timing-function:cubic-bezier(.2,.7,.4,1)}56%{transform:rotateX(11deg);animation-timing-function:cubic-bezier(.55,0,.8,.4)}76%{transform:none;animation-timing-function:cubic-bezier(.2,.7,.4,1)}88%{transform:rotateX(2.5deg);animation-timing-function:ease-in}to{transform:none;visibility:visible}}@keyframes sfbBlurLand{0%{filter:blur(.8px)}32%{filter:blur(.35px)}50%{filter:none}to{filter:none}}@keyframes sfbLit{0%{opacity:1}32%{opacity:.2}to{opacity:0}}@keyframes sfbCast{0%{opacity:0;transform:scaleY(.2)}to{opacity:1;transform:none}}@keyframes sfbGlow{0%{opacity:0}16%{opacity:1}to{opacity:.55}}@keyframes sfbPulse{0%{opacity:.7;scale:1}45%{opacity:0;scale:2.8}to{opacity:0;scale:2.8}}@keyframes sfbBlink{0%,to{opacity:1}50%{opacity:.45}}@keyframes sfbCap{0%{opacity:0;translate:0 4px}to{opacity:1;translate:0 0}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}.reveal,.js .cs-reveal.is-in{animation:itemRevealReduced .2s linear both!important;animation-delay:0s!important}html.is-recolouring :is(.fs-lines p,.folio-tagline,.folio-sub,.tl-company,.tl-role,.tl-desc,.case-title,.case-desc,.outro-title,.outro-sub,.ff-link){transition:color .2s linear!important}}.folio{position:relative;display:flex;flex-direction:column;min-height:100svh;background:var(--folio-bg);--rail-x: -21.5px;--entry-indent: 0px}.folio-col{width:min(100% - 3rem,560px);margin:0 auto;padding:80px 0 168px;display:flex;flex-direction:column;align-items:center;gap:48px}.folio-sticky{position:fixed;top:72px;left:clamp(24px,calc((100vw - 560px)/2 - 306px),72px);z-index:3;display:flex;align-items:center;gap:22px;pointer-events:none}.fs-rail{width:8px;align-self:stretch;background-image:radial-gradient(circle at .8px .8px,var(--folio-rule) .8px,transparent .9px);background-size:3.2px 3.6px}.fs-lines{padding:12px 0;font:500 12px/1.8 var(--mono);letter-spacing:1.84px;text-transform:uppercase;color:var(--folio-mute);white-space:nowrap}.fs-lines .fs-name{color:var(--folio-ink)}.folio-window{--shade: 0;position:relative;z-index:6;width:200px;height:300px;flex:none;user-select:none;-webkit-user-select:none}html[data-theme=dark] .folio-window{--shade: 1}.fw-layer{position:absolute;inset:0;width:200px;height:300px;pointer-events:none}.fw-sky{position:absolute;inset:0;overflow:hidden;clip-path:inset(19.667% 19.5% 27.222% 19.333% round 50.667px);background:linear-gradient(to bottom,#5cadf4,#8ec8fa 30%,#b9dcfb 44%,#dcecfc 54%,#f1f7fe 62%,#fff 72%)}.fw-sky canvas{position:absolute;left:0;top:0;width:197px;height:295.5px}.fw-sky .fw-fallback{position:absolute;left:17%;top:17%;width:66%;height:58%;object-fit:cover;pointer-events:none;transition:opacity .4s ease .6s}.fw-sky.is-live .fw-fallback{opacity:0}.fw-sky .fw-live{position:absolute;inset:0;opacity:0;transition:opacity .6s ease}.fw-sky .fw-live.is-on{opacity:1}.fw-back{filter:brightness(calc(1 - .86 * var(--shade)))}.fw-shade-group{position:absolute;inset:0;overflow:hidden;clip-path:inset(14% 12.333% 19.778% 12.167% round 58.667px)}.fw-shade{position:absolute;inset:0;width:200px;height:300px;transform:translate3d(0,calc((1 - var(--shade)) * -57%),0);filter:brightness(calc(1 - .82 * var(--shade)));will-change:transform}.fw-shade-inner{position:absolute;left:26.33px;top:44px;width:147px;height:194.67px;border-radius:56.67px;box-shadow:inset 0 0 11px #1c19166b,inset 0 0 3px #1c19164d;-webkit-mask-image:url(/window/window-shade.webp);mask-image:url(/window/window-shade.webp);-webkit-mask-size:200px 300px;mask-size:200px 300px;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:-26.33px calc(-44px + (1 - var(--shade)) * -171px);mask-position:-26.33px calc(-44px + (1 - var(--shade)) * -171px)}.fw-front{filter:brightness(calc(1 - .8 * var(--shade)))}.fw-dusk{position:absolute;inset:0;pointer-events:none;background:linear-gradient(to bottom,#6a6e78,#878b95 38%,#a2a7ae);mix-blend-mode:multiply;opacity:calc(.55 * var(--shade));-webkit-mask-image:url(/window/window-front.webp);mask-image:url(/window/window-front.webp);-webkit-mask-size:200px 300px;mask-size:200px 300px}.fw-hit{position:absolute;inset:0;width:200px;height:300px;clip-path:inset(14.667% 13.333% 20.444% 13.167% round 56.667px);background:transparent;cursor:grab;touch-action:none;-webkit-tap-highlight-color:transparent}.fw-hit.is-dragging{cursor:grabbing}.fw-hit:focus-visible{outline:none}.folio-window:has(.fw-hit:focus-visible):after{content:"";position:absolute;left:22px;top:38px;width:156px;height:206px;border-radius:60px;outline:2px solid var(--accent);outline-offset:3px;pointer-events:none}.shade-veil{position:fixed;inset:0;z-index:4;pointer-events:none;opacity:0}.folio-intro{width:100%;max-width:460px;margin-top:-28px;text-align:center;--reveal-opacity: .8;opacity:.8}.folio-tagline{font:500 16px/1.8 var(--sans);letter-spacing:-.12px;color:var(--folio-ink)}.folio-sub{font:400 16px/1.6 var(--sans);letter-spacing:-.12px;color:var(--folio-body);opacity:.8}.folio-track{position:relative;width:100%;display:flex;flex-direction:column;gap:36px;--rail-tail: 43px}.plan-head{position:absolute;left:-3px;top:-106px;width:48px;text-align:center;color:var(--folio-blue)}.plan-label{display:block;font:500 6px/6px var(--mono);letter-spacing:.76px;text-transform:uppercase;white-space:nowrap}.plan-plane{display:block;width:16px;height:15px;margin:10px auto 0;fill:currentColor}.folio-path{position:absolute;left:calc(var(--rail-x) - .5px);top:-65px;bottom:var(--rail-tail);width:1px;pointer-events:none}.path-curve{position:absolute;left:0;top:0;overflow:visible}.path-curve .pc-base{fill:none;stroke:var(--folio-rule);stroke-width:1;stroke-dasharray:2 3.5;stroke-linecap:round}.path-curve .pc-lit{fill:none;stroke:var(--path-blue);stroke-width:1.25;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:1;filter:drop-shadow(0 0 3px rgba(139,92,246,.2))}.path-rail{position:absolute;left:0;top:110px;bottom:0;width:1px;background:linear-gradient(to bottom,var(--folio-rule) 0 2px,transparent 2px 5.5px) 0 0 / 1px 5.5px repeat-y}.path-lit{position:absolute;left:0;top:0;width:1px;height:0;background:var(--path-blue);box-shadow:0 0 4px #8b5cf633,0 0 10px #8b5cf633,0 0 20px #8b5cf624;opacity:0}.path-head{position:absolute;left:50%;bottom:-2.5px;width:5px;height:5px;margin-left:-2.5px;border-radius:50%;background:var(--path-blue);box-shadow:0 0 5px 1px #8b5cf633,0 0 12px 3px #8b5cf633}.path-tip{position:absolute;left:-3px;bottom:-1.5px;width:7px;height:3px;overflow:visible}.path-tip path{fill:none;stroke:var(--folio-blue);stroke-width:1;stroke-linecap:round;stroke-linejoin:round}.folio-timeline{display:flex;flex-direction:column;gap:36px}.tl-entry{position:relative;display:flex;flex-direction:column;padding-left:var(--entry-indent)}.tl-entry.reveal{--reveal-delay: .12s}.tl-entry:nth-child(2).reveal{--reveal-delay: .18s}.tl-entry:nth-child(3).reveal{--reveal-delay: .24s}.tl-entry:nth-child(4).reveal{--reveal-delay: .3s}.tl-entry:nth-child(5).reveal{--reveal-delay: .36s}.tl-entry:nth-child(6).reveal{--reveal-delay: .42s}.tl-entry:nth-child(7).reveal{--reveal-delay: .48s}.tl-entry:nth-child(8).reveal{--reveal-delay: .54s}.tl-entry:nth-child(n+9).reveal{--reveal-delay: .6s}.tl-logos{display:flex;margin-bottom:6px;height:28px}.tl-logo{position:relative;display:block;width:28px;height:28px;flex:none;border-radius:50%;overflow:hidden;border:.5px solid var(--keyline);box-shadow:0 0 0 1px var(--keyline);background:var(--surface-sunken);transform:translateY(var(--lift, 0px)) scale(var(--lift-scale, 1));transition:transform .32s var(--avatar-ease-out)}.tl-logo+.tl-logo{margin-left:-6px}.tl-logos.is-hovering .tl-logo{transition:transform .32s var(--avatar-ease-in)}.tl-logo.is-hovered{z-index:2}.tl-logo img{width:100%;height:100%;object-fit:cover;transform:scale(1.1)}.tl-head{position:relative;display:flex;align-items:center;gap:10px;height:28.8px}.tl-year{position:absolute;left:-86.5px;width:66px;top:50%;transform:translateY(-50%);text-align:center;white-space:nowrap;font-family:var(--mono);font-weight:500;text-transform:uppercase}.tl-route{display:block;font-size:6px;line-height:7px;letter-spacing:.9px;color:var(--tl-route)}.tl-yearnum{display:block;font-size:12px;line-height:14px;letter-spacing:1.05px;color:var(--folio-mute)}.tl-dot{position:absolute;top:50%;left:calc(var(--rail-x) - var(--entry-indent) - 6.5px);width:13px;height:13px;margin-top:-6.5px;border-radius:50%;background:var(--folio-bg);border:1px solid var(--tl-dot-line);transition:border-color .3s var(--ease-out)}.tl-dot:before{content:"";position:absolute;left:50%;top:50%;width:6px;height:6px;margin:-3px 0 0 -3px;border-radius:50%;background:var(--tl-dot-fill);transition:background-color .3s var(--ease-out)}.tl-dot:after,.tl-dot-case:after{content:"";position:absolute;inset:-1px;border-radius:50%;border:1px solid var(--folio-blue);opacity:0;pointer-events:none}.tl-dot.is-lit{border-color:var(--folio-blue)}.tl-dot.is-lit:before{background:var(--folio-blue)}.tl-dot.is-pulse:after{animation:dotPulse .72s var(--ease-out) both}@keyframes dotPulse{0%{opacity:.45;transform:scale(1)}to{opacity:0;transform:scale(var(--pulse-to, 2.4))}}.tl-company{font:500 16px/1.8 var(--sans);letter-spacing:-.12px;color:var(--folio-ink);text-decoration:none}a.tl-company:hover{text-decoration:underline;text-underline-offset:3px;text-decoration-color:currentColor}.tl-badge{font:500 12px/.99 var(--mono);letter-spacing:.96px;text-transform:uppercase;color:var(--folio-blue);padding-top:3px;white-space:nowrap}.tl-role{font:500 16px/1.6 var(--sans);letter-spacing:-.12px;color:var(--folio-body);margin-bottom:2px}.tl-desc{font:400 16px/1.6 var(--sans);letter-spacing:-.12px;color:var(--folio-body);opacity:.8}.tl-cases{display:flex;flex-direction:column;gap:10px;margin-top:10px}.case{position:relative;display:flex;align-items:center;gap:7px;padding:2px 15px;min-height:67px;border-radius:16px;color:inherit;text-decoration:none;transition:background-color .26s var(--ease-out)}.case:hover{background:var(--surface-hover)}.tl-dot-case{position:absolute;top:50%;left:calc(var(--rail-x) - var(--entry-indent) - 2.5px);width:5px;height:5px;margin-top:-2.5px;border-radius:50%;background:var(--tl-dot-case);transition:background-color .3s var(--ease-out)}.tl-dot-case.is-lit{background:var(--folio-blue)}.tl-dot-case.is-pulse:after{--pulse-to: 3.6;animation:dotPulse .72s var(--ease-out) both}.case-shots{position:relative;width:66px;height:63px;flex:none}.cs-shot{position:absolute;left:50%;top:50%;border:1.5px solid var(--keyline);border-radius:2.5px;box-shadow:0 .85px 5px #0000001a,0 .43px 1.3px #0000000f;background:var(--surface-sunken);object-fit:cover;transition:transform .38s var(--avatar-ease-in)}.cs-shot.l{width:25.7px;height:34.1px;z-index:1;transform:translate(-50%,-50%) translate(-13.7px,-.8px) rotate(-9.94deg)}.cs-shot.m{width:35px;height:46.3px;z-index:3;transform:translate(-50%,-50%) translate(-1.6px,-.7px)}.cs-shot.r{width:30px;height:39.7px;z-index:2;transform:translate(-50%,-50%) translate(11.3px,.5px) rotate(7.21deg)}.case:hover .cs-shot.l,.case:focus-visible .cs-shot.l{transform:translate(-50%,-50%) translate(-18px,-3px) rotate(-15deg)}.case:hover .cs-shot.m,.case:focus-visible .cs-shot.m{transform:translate(-50%,-50%) translate(-1.6px,-3px) scale(1.03)}.case:hover .cs-shot.r,.case:focus-visible .cs-shot.r{transform:translate(-50%,-50%) translate(15.5px,-2px) rotate(12deg)}.case-text{flex:1;display:flex;flex-direction:column;min-width:0;padding-left:0}.case-title{display:block;font:500 14px/17.5px var(--sans);color:var(--ink-title)}.case-desc{display:block;font:500 13px/21.13px var(--sans);color:var(--ink-desc)}.folio-outro{display:flex;flex-wrap:wrap;align-items:center;gap:24px;padding-left:var(--entry-indent)}.outro-text{flex:1 1 260px}.outro-title{font:500 16px/1.6 var(--sans);letter-spacing:-.12px;color:var(--folio-body);text-wrap:balance}.outro-sub{font:400 14px/1.6 var(--sans);letter-spacing:-.12px;color:var(--folio-body);opacity:.8}.memories{position:relative;width:161px;height:62px;margin-right:29px;flex:none}.mem-card{position:absolute;left:50%;top:50%;width:42.4px;height:56.5px;margin:-28.25px 0 0 -21.2px;border:1.234px solid var(--keyline);border-radius:5.65px;background:var(--surface-sunken);box-shadow:0 .6px 3.6px #0000001a,0 .3px .9px #0000000f;transform:translate(calc(var(--x) + var(--push, 0px)),calc(var(--y) + var(--lift, 0px))) rotate(calc(var(--r) * var(--rot-k, 1))) scale(var(--s, 1));transition:transform .42s var(--avatar-ease-in),box-shadow .42s var(--avatar-ease-in);cursor:default}.mem-card img{width:100%;height:100%;object-fit:cover;border-radius:4.4px}.mem-card.is-hovered{--lift: -11px;--rot-k: .3;--s: 1.12;z-index:10!important;box-shadow:0 6px 18px #00000029,0 1px 3px #00000014}.mem-tip{position:absolute;left:50%;bottom:calc(100% + 9px);transform:translate(-50%) translateY(4px) rotate(calc(var(--r) * -.3));opacity:0;pointer-events:none;font:500 9px/1.5 var(--mono);letter-spacing:.6px;text-transform:uppercase;white-space:nowrap;color:#fff;background:#141313eb;border-radius:6px;padding:3px 8px;transition:opacity .18s var(--ease-out),transform .18s var(--ease-out)}.mem-card.is-hovered .mem-tip{opacity:1;transform:translate(-50%) translateY(0) rotate(calc(var(--r) * -.3))}.folio-footer-fx{position:fixed;left:0;right:0;bottom:0;height:160px;z-index:4;pointer-events:none}.folio-footer-fx .pb{position:absolute;inset:0}.folio-footer-fx .pb:nth-child(1){backdrop-filter:blur(.6px);-webkit-backdrop-filter:blur(.6px);mask-image:linear-gradient(to top,#000 0%,#000 92%,transparent 100%);-webkit-mask-image:linear-gradient(to top,#000 0%,#000 92%,transparent 100%)}.folio-footer-fx .pb:nth-child(2){backdrop-filter:blur(1.5px);-webkit-backdrop-filter:blur(1.5px);mask-image:linear-gradient(to top,#000 0%,#000 55%,transparent 80%);-webkit-mask-image:linear-gradient(to top,#000 0%,#000 55%,transparent 80%)}.folio-footer-fx .pb:nth-child(3){backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);mask-image:linear-gradient(to top,#000 0%,#000 35%,transparent 60%);-webkit-mask-image:linear-gradient(to top,#000 0%,#000 35%,transparent 60%)}.folio-footer-fx .pb:nth-child(4){backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);mask-image:linear-gradient(to top,#000 0%,#000 20%,transparent 42%);-webkit-mask-image:linear-gradient(to top,#000 0%,#000 20%,transparent 42%)}.folio-footer-fx .pb:nth-child(5){backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);mask-image:linear-gradient(to top,#000 0%,#000 8%,transparent 25%);-webkit-mask-image:linear-gradient(to top,#000 0%,#000 8%,transparent 25%)}.folio-footer-tint{position:absolute;inset:0;background:linear-gradient(to top,rgba(var(--footer-tint),.9),rgba(var(--footer-tint),.55) 45%,rgba(var(--footer-tint),0))}.folio-footer{position:fixed;left:0;right:0;bottom:0;z-index:5;padding:44px 0 32px;pointer-events:none}.folio-footer-inner{width:min(100% - 3rem,560px);margin:0 auto}.ff-links{display:flex;justify-content:center;flex-wrap:wrap;gap:17px;pointer-events:auto}.ff-link{display:inline-block;padding:2px 10px;border-radius:999px;font:500 12px/1.8 var(--mono);letter-spacing:2.16px;text-transform:uppercase;color:var(--folio-mute);text-decoration:none;white-space:nowrap;transition:color .16s var(--ease-out),background-color .16s var(--ease-out)}.ff-link-label{display:inline-block;transition:transform .16s var(--ease-out)}.ff-link:hover,.ff-link[aria-expanded=true]{color:var(--ink-link-hover);background:var(--surface-chip)}.ff-link:hover .ff-link-label{transform:scale(1.05)}.ff-sub{position:absolute;bottom:30.8px;right:clamp(12px,calc(50% - 280px),50%);pointer-events:auto}.ff-sub-btn{position:relative;width:28px;height:28px;border-radius:50%;display:grid;place-items:center;box-shadow:inset 0 0 0 .75px var(--folio-mute);color:var(--folio-mute);transition:color .16s var(--ease-out),background-color .16s var(--ease-out),transform .16s var(--ease-out)}.ff-sub-btn svg{width:10px;height:10px;fill:currentColor;transition:transform .16s var(--ease-out)}.ff-sub-btn:hover,.ff-sub-btn[aria-expanded=true]{color:var(--ink-link-hover);background:var(--surface-chip)}.ff-sub-btn:hover svg{transform:scale(1.08)}.ff-pop{position:absolute;right:0;bottom:calc(100% + 12px);width:286px;padding:10px 6px 6px;background:var(--surface-card);border:1px solid var(--cs-card-line);border-radius:18px;box-shadow:0 10px 30px -6px #00000029,0 2px 4px #0000000f;transform-origin:100% 100%;animation:popIn .22s var(--ease-out) both}@keyframes popIn{0%{opacity:0;transform:translateY(6px) scale(.97);filter:blur(4px)}to{opacity:1;transform:none;filter:none}}.ff-pop-label{display:block;padding:4px 12px 8px;font:500 7px/7px var(--mono);letter-spacing:1.1px;text-transform:uppercase;color:var(--folio-blue)}.ff-pop a{display:flex;align-items:center;gap:10px;padding:7px 10px;border-radius:12px;text-decoration:none;color:inherit;transition:background-color .26s var(--ease-out)}.ff-pop a:hover,.ff-pop a:focus-visible{background:var(--surface-hover)}.ff-pop-icon{width:24px;height:24px;flex:none;border-radius:50%;display:grid;place-items:center;background:var(--surface-sunken);box-shadow:0 0 0 1px var(--keyline);color:var(--folio-ink)}.ff-pop-icon img{width:14px;height:14px}html[data-theme=dark] .ff-pop-icon img{filter:invert(1) hue-rotate(180deg)}.ff-pop-title{display:block;font:500 13.5px/17px var(--sans);color:var(--ink-title)}.ff-pop-desc{display:block;font:500 12px/18px var(--sans);color:var(--ink-desc)}.ff-pop hr{border:0;height:1px;background:var(--cs-card-line);margin:5px 10px}@media(max-width:1219px){.folio-sticky{position:static;display:flex;justify-content:center;padding-top:40px;text-align:center}.fs-rail{display:none}.fs-lines{padding:0}.folio-col{padding-top:28px}.folio-intro{margin-top:-34px}}@media(max-width:760px){.folio{--rail-x: 3.5px;--entry-indent: 32px}.plan-head{left:calc(50% - 24px);top:-115px}.folio-path{top:-74px}.path-rail{top:75px}.tl-year{display:none}.folio-track{gap:44px;margin-top:97px}.folio-timeline{gap:48px}.memories{margin-right:0}}@media(max-width:620px){.folio-col{padding-top:3vh;gap:40px}.wide-only{display:none}.case{padding:2px 8px}.ff-links{gap:4px}.ff-link{font-size:10px;letter-spacing:1.1px;padding:2px 6px}.ff-sub{bottom:29px}}@media(max-width:384px){.folio-footer-inner{width:calc(100% - 24px)}.ff-links{padding-right:34px}}@media(prefers-reduced-motion:reduce){.tl-logo,.cs-shot,.mem-card{transform:none!important}.cs-shot.l{transform:translate(-50%,-50%) translate(-13.7px,-.8px) rotate(-9.94deg)!important}.cs-shot.m{transform:translate(-50%,-50%) translate(-1.6px,-.7px)!important}.cs-shot.r{transform:translate(-50%,-50%) translate(11.3px,.5px) rotate(7.21deg)!important}.mem-card{transform:translate(var(--x),var(--y)) rotate(var(--r))!important}}.case-page{padding:96px 0 168px;background:var(--folio-bg);min-height:100svh;color:var(--cs-ink)}.cs-flow{display:flex;flex-direction:column;align-items:center}.cs-col{width:min(100% - 3rem,512px);position:relative}.cs-full{width:100%}.cs-header{display:flex;flex-direction:column;gap:5px;padding-top:44px}.cs-eyebrow{display:block;font:500 13px/1.8182 var(--sans);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-muted)}.cs-eyebrow-dot{display:inline-block;vertical-align:middle;margin:0 8.8px;width:3px;height:3px;border-radius:50%;background:currentColor;opacity:.6}.cs-title{font:500 16px/1.4286 var(--sans);letter-spacing:-.0064em;color:var(--cs-ink);padding-top:4px}.cs-blurb{font:500 12px/1.6667 var(--sans);letter-spacing:-.0075em;color:var(--ink-muted)}.cs-overview{padding:12px 0 25.6px}.cs-gutter-label{position:absolute;left:-156px;top:12px;width:132px;text-align:right;white-space:nowrap;font:500 14px/1.8 var(--mono);letter-spacing:.0733em;text-transform:uppercase;color:var(--ink-gutter)}.cs-lede{font:500 16px/1.5 var(--sans);letter-spacing:-.0064em;color:var(--cs-ink)}.cs-deep{display:flex;flex-direction:column;gap:7px;padding:10px 0 7px}.cs-heading{font:500 16px/1.4286 var(--sans);letter-spacing:-.0064em;color:var(--cs-ink)}.cs-body{font:400 16px/1.6 var(--sans);color:var(--cs-ink)}.cs-list{display:flex;flex-direction:column;gap:6px}.cs-list li{position:relative;padding-left:16px}.cs-list li:before{content:"";position:absolute;left:2px;top:.78em;width:4px;height:4px;border-radius:50%;background:var(--ink-muted)}.cs-stack .cs-sep{color:var(--ink-muted)}.cs-meta{font:500 13px/1.8182 var(--sans);color:var(--ink-muted)}.cs-links{display:flex;flex-wrap:wrap;gap:6px 18px;padding-top:4px}.cs-links a{display:inline-flex;align-items:center;gap:4px;font:500 14px/1.6 var(--sans);color:var(--cs-ink);text-decoration:underline;text-decoration-color:var(--faint);text-underline-offset:3px}.cs-links a:hover{text-decoration-color:currentColor}.cs-links svg{width:10px;height:10px;fill:none;stroke:currentColor;stroke-width:1.3;stroke-linecap:round;opacity:.6}.cs-fig-wrap,.cs-full{display:flex;justify-content:center}.cs-figure{width:min(110% * 512 / 100,100vw - 2.5rem);width:min(563.2px,100vw - 2.5rem);padding:12px 0 14px}.cs-figure.is-wide{width:min(100%,759px + 48px);padding:12px 24px 22px}.cs-figure.is-portrait{width:min(380px,100vw - 2.5rem)}.cs-figure-card{padding:7px;background:var(--surface-card);border:1px solid var(--cs-card-line);border-radius:6px;box-shadow:0 2px 4px #0000001a,0 1px 1.5px #0000000f}.cs-figure-screen{position:relative;border-radius:3px;overflow:hidden;background:var(--surface-sunken)}.cs-figure-screen:after{content:"";position:absolute;inset:0;border-radius:inherit;box-shadow:inset 0 0 0 1px var(--cs-screen-line);pointer-events:none}.cs-media img,.cs-media video{width:100%;height:100%;object-fit:cover}.cs-open{position:absolute;inset:0;width:100%;height:100%;cursor:zoom-in}.cs-expand{position:absolute;right:10px;bottom:10px;width:30.8px;height:30.8px;border-radius:50%;display:grid;place-items:center;color:#fff;cursor:zoom-in;background:#00000061;border:1px solid rgba(255,255,255,.3);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);transition:transform .16s var(--ease-out),background-color .16s var(--ease-out)}.cs-expand:hover{transform:scale(1.06);background:#0000008c}.cs-expand svg{width:13px;height:13px;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round}.cs-figure.is-wide .cs-media.is-landscape{aspect-ratio:743 / 363.6!important}.cs-figure.is-wide .cs-media.is-landscape img,.cs-figure.is-wide .cs-media.is-landscape video{object-position:50% 0}.cs-media.is-video video{display:block;background:var(--surface-sunken)}.cs-media.is-video video::-webkit-media-controls{display:none!important}.cs-figcaption{font:500 13px/1.8182 var(--sans);letter-spacing:-.0082em;color:var(--ink-muted);padding-top:8px}.cs-phones{width:100%;padding:12px 10px 14px}.cs-phone-row{display:flex;justify-content:center;flex-wrap:wrap;gap:13.2px}.cs-phone{width:214.5px;flex:none}.cs-phone .cs-figcaption{font-size:12px;line-height:1.6}.cs-nav{position:fixed;left:50%;bottom:30px;z-index:6;transform:translate(-50%);display:flex;align-items:center;gap:6px;height:60px;padding:5px;border-radius:999px;background:#787575db;backdrop-filter:blur(14px) saturate(140%);-webkit-backdrop-filter:blur(14px) saturate(140%);box-shadow:0 4px 12px #00000024,0 1px 2px #0000001a}.cs-nav-btn,.cs-nav-home{height:50px;border:1px solid rgba(255,255,255,.22);color:#fff;text-decoration:none;transition:background-color .26s ease-in-out}.cs-nav-btn:hover,.cs-nav-home:hover{background:#00000038}.cs-nav-btn{display:flex;flex-direction:column;justify-content:center;min-width:100px;padding:0 23px;border-radius:999px}.cs-nav-prev{align-items:flex-end;text-align:right}.cs-nav-next{align-items:flex-start;text-align:left}.cs-nav-home{width:50px;border-radius:50%;display:grid;place-items:center;flex:none}.cs-nav-home svg{fill:none;stroke:#fff;stroke-width:1.5;stroke-linejoin:round}.cs-nav-kicker{display:inline-flex;align-items:center;gap:2px;font:500 9px/9px var(--sans);letter-spacing:1.6px;text-transform:uppercase;color:#d7cccc}.cs-nav-kicker svg{width:9px;height:9px;fill:none;stroke:currentColor;stroke-width:1.2;stroke-linecap:round;stroke-linejoin:round}.cs-nav-name{display:block;width:96.4px;margin-top:1px;font:500 14px/1.25 var(--sans);letter-spacing:-.2px;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cs-close{position:fixed;top:24px;right:24px;z-index:6;width:46px;height:46px;border-radius:50%;display:grid;place-items:center;background:#787575db;backdrop-filter:blur(14px) saturate(140%);-webkit-backdrop-filter:blur(14px) saturate(140%);box-shadow:0 4px 12px #00000024,0 1px 2px #0000001a,inset 0 0 0 1px #ffffff38;transition:background-color .26s ease-in-out,transform .2s var(--ease-out, ease-out)}.cs-close:hover{background:#5c5959eb;transform:rotate(90deg)}.cs-close:focus-visible{outline:2px solid var(--folio-blue);outline-offset:3px}.cs-close svg{fill:none;stroke:#fff;stroke-width:1.6;stroke-linecap:round}.case-page.booting~.cs-close{display:none}@media(max-width:640px){.cs-close{top:14px;right:14px;width:42px;height:42px}}@media(prefers-reduced-motion:reduce){.cs-close:hover{transform:none}}.lightbox{position:fixed;inset:0;z-index:20;display:grid;place-items:center}.lb-scrim{position:absolute;inset:0;width:100%;height:100%;cursor:zoom-out;background:#0c0a0ac7;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);animation:lbFade .2s ease both}.lb-stage{position:relative;animation:lbIn .26s var(--ease-out) both;pointer-events:none}.lb-media{box-sizing:content-box;padding:5px;border-radius:7px;overflow:hidden;background:var(--surface-card);box-shadow:0 30px 80px #00000073;pointer-events:auto}.lb-media img,.lb-media video{width:100%;height:100%;object-fit:contain;border-radius:3px;background:#111}.lb-caption{margin-top:12px;text-align:center;font:500 13px/1.6 var(--sans);color:#ffffffb3}.lb-close,.lb-step{position:absolute;width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#ffffff1a;color:#fff;transition:background-color .2s}.lb-close:hover,.lb-step:hover{background:#fff3}.lb-close{top:26px;right:26px}.lb-step{top:50%;margin-top:-17px}.lb-prev{left:26px}.lb-next{right:26px}.lb-close svg,.lb-step svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}@keyframes lbFade{0%{opacity:0}to{opacity:1}}@keyframes lbIn{0%{opacity:0;transform:scale(.96) translateY(8px)}to{opacity:1;transform:none}}@media(max-width:860px){.cs-gutter-label{position:static;width:auto;text-align:left;margin-bottom:6px}}@media(max-width:620px){.case-page{padding-top:64px}.cs-header{padding-top:24px}.cs-figure.is-wide{padding:12px 24px 22px}.lb-step{top:auto;bottom:26px;margin:0}}.pass-stage{position:fixed;inset:0;z-index:10;background:#faf5f5;--reader-bottom-px: 644px}.pass-stage:focus{outline:none}.pass-canvas{position:absolute;inset:0}.pass-canvas canvas{display:block;touch-action:none}.pass-hint{position:absolute;left:50%;top:calc(var(--reader-bottom-px) + 40px);transform:translate(-50%);margin:0;white-space:nowrap;text-align:center;font:500 1.05rem/1.55 var(--sans);letter-spacing:-.006em;color:transparent;opacity:.85;background:linear-gradient(90deg,#757575 0% 42%,#060606 50%,#757575 58% 100%);background-size:250% 100%;-webkit-background-clip:text;background-clip:text;animation:hintShimmer 2.2s linear infinite;pointer-events:none;user-select:none}.pass-hint.is-granted{color:#757575;background:none;animation:none}@keyframes hintShimmer{0%{background-position:100% 0}to{background-position:0% 0}}.pass-skip{position:absolute;right:40px;bottom:40px;font:500 .95rem/1.25 var(--sans);letter-spacing:-.015em;color:#989898;background:none;border:0;padding:0;cursor:pointer;transition:color .2s}.pass-skip:hover{color:#6c6c6c}.pass-sound{position:absolute;left:40px;bottom:40px;font:500 .95rem/1.25 var(--sans);letter-spacing:-.015em;color:#b3b3b3;background:none;border:0;padding:0;cursor:pointer;transition:color .2s}.pass-sound:hover{color:#6c6c6c}.pass-fade{position:absolute;inset:0;background:var(--folio-bg);opacity:0;transition:opacity .7s ease;pointer-events:none}.pass-fade.on{opacity:1;pointer-events:auto}@media(max-width:768px){.pass-hint{font-size:.95rem}.pass-skip,.pass-sound{font-size:.85rem}}@media(max-width:480px){.pass-hint{font-size:.85rem}.pass-skip,.pass-sound{font-size:.8rem}.pass-sound{left:24px}}@media(max-height:500px){.pass-hint{top:calc(var(--reader-bottom-px) + 54px);font-size:.85rem}}
