:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--paper:var(--lightningcss-light,#f3f1ec)var(--lightningcss-dark,#0e0f0d);--paper-2:var(--lightningcss-light,#e9e6de)var(--lightningcss-dark,#171915);--ink:var(--lightningcss-light,#151513)var(--lightningcss-dark,#ecebe5);--ink-2:var(--lightningcss-light,#4d4b45)var(--lightningcss-dark,#b6b3aa);--ink-3:var(--lightningcss-light,#6b6861)var(--lightningcss-dark,#8d8a82);--line:var(--lightningcss-light,#d8d4ca)var(--lightningcss-dark,#262824);--line-strong:var(--lightningcss-light,#b5b0a4)var(--lightningcss-dark,#3d403a);--signal:#3ddc84;--signal-ink:var(--lightningcss-light,#0b6b39)var(--lightningcss-dark,#4be08f);--marker:var(--lightningcss-light,#3ddc84)var(--lightningcss-dark,#1e6b42);--on-marker:var(--lightningcss-light,#0c1a11)var(--lightningcss-dark,#f2f1ec);--shadow:var(--lightningcss-light,#28241c38)var(--lightningcss-dark,#0009);--font:var(--font-sans), ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--step--1:.875rem;--step-0:1.0625rem;--step-1:1.25rem;--step-2:clamp(1.375rem, 1.1rem + 1vw, 1.75rem);--step-3:clamp(1.75rem, 1.2rem + 2.2vw, 2.875rem);--step-4:clamp(2.25rem, 1.3rem + 3.6vw, 4rem);--step-hero:clamp(2.75rem, 1rem + 7vw, 6rem);--gutter:clamp(16px, 4vw, 48px);--max:1280px;--section:clamp(5rem, 4rem + 6vw, 9rem);--header-h:4rem;--col-lead:10.5rem;--ease-out:cubic-bezier(.16, 1, .3, 1)}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-padding-top:calc(var(--header-h) + 1.5rem)}@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}body{background:var(--paper);color:var(--ink);font-family:var(--font);font-size:var(--step-0);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;line-height:1.6}h1,h2,h3,p,ul,ol,dl,dd,figure{margin:0}ul,ol{padding:0;list-style:none}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;padding:0}svg{flex-shrink:0}:focus-visible{outline:2px solid var(--signal-ink);outline-offset:3px;border-radius:2px}::selection{background:var(--marker);color:var(--on-marker)}.wrap{width:100%;max-width:var(--max);padding-inline:var(--gutter);margin-inline:auto}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip{left:var(--gutter);z-index:20;background:var(--ink);color:var(--paper);border-radius:999px;padding:.6rem 1rem;font-weight:600;position:absolute;top:-4rem}.skip:focus{top:.75rem}.icon{width:1.25rem;height:1.25rem}.mark{background:linear-gradient(var(--marker), var(--marker)) no-repeat 0 88% / 100% .38em;padding-inline:.04em}@keyframes mark-in{0%{background-size:0% .38em}}.site-header{z-index:10;background:var(--paper);border-bottom:1px solid #0000;transition:border-color .3s;position:sticky;top:0}.site-header.is-scrolled{border-bottom-color:var(--line)}.header-row{height:var(--header-h);align-items:center;gap:2.5rem;display:flex}.wordmark{letter-spacing:-.02em;white-space:nowrap;margin-right:auto;font-size:1.125rem;font-weight:800}.nav{gap:1.75rem;display:flex}.nav a{color:var(--ink-2);background:linear-gradient(var(--marker), var(--marker)) no-repeat 0 100% / 0% .3em;transition:background-size .45s var(--ease-out), color .2s;padding-block:.2rem;font-size:.9375rem;font-weight:500}.nav a:hover{color:var(--ink)}.nav a[aria-current]{color:var(--ink);background-size:100% .3em}.controls{align-items:center;gap:.25rem;display:flex}.lang{font-size:var(--step--1);color:var(--ink-3);align-items:center;gap:.35rem;padding-inline:.5rem;font-weight:600;display:flex}.lang-option{display:contents}.lang a{padding:.5rem .15rem;transition:color .2s}.lang a:hover,.lang a[aria-current]{color:var(--ink)}.icon-btn{width:2.5rem;height:2.5rem;color:var(--ink-2);border-radius:999px;place-items:center;transition:background-color .2s,color .2s;display:grid}.icon-btn:hover{background:var(--paper-2);color:var(--ink)}.theme-toggle .i-sun{display:none}:root[data-theme=dark] .theme-toggle .i-sun{display:block}:root[data-theme=dark] .theme-toggle .i-moon{display:none}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .theme-toggle .i-sun{display:block}:root:not([data-theme=light]) .theme-toggle .i-moon{display:none}}.menu-toggle{border:1px solid var(--line-strong);min-height:2.5rem;font-size:var(--step--1);border-radius:999px;padding:0 1rem;font-weight:600;display:none}@media (max-width:760px){.header-row{gap:.5rem}.lang{padding-inline:.25rem}.menu-toggle{align-items:center;margin-left:.25rem;display:inline-flex}.nav{top:var(--header-h);background:var(--paper);border-bottom:1px solid var(--line);padding:.5rem var(--gutter) 1.5rem;flex-direction:column;gap:0;display:none;position:absolute;left:0;right:0}.site-header.nav-open{border-bottom-color:var(--line)}.site-header.nav-open .nav{display:flex}.nav a{font-size:var(--step-2);color:var(--ink);align-self:flex-start;padding-block:.55rem;font-weight:650}}@media (max-width:360px){.controls{gap:0}.lang{padding-inline:0}.menu-toggle{margin-left:0;padding-inline:.75rem}}.btn{white-space:nowrap;min-height:3rem;transition:background-color .25s, color .25s, border-color .25s, transform .25s var(--ease-out);border-radius:999px;align-items:center;gap:.6rem;padding:0 1.35rem;font-size:.9375rem;font-weight:600;display:inline-flex}.btn:active{transform:translateY(1px)}.btn-primary{background:var(--ink);color:var(--paper)}.btn-primary:hover{background:var(--marker);color:var(--on-marker)}.btn-ghost{border:1px solid var(--line-strong)}.btn-ghost:hover{border-color:var(--ink)}.btn-hint{color:var(--ink-3);font-weight:500}.hero{padding-top:clamp(3.5rem,2rem + 7vw,8rem)}.status{font-size:var(--step--1);color:var(--ink-2);align-items:center;gap:.6rem;margin-bottom:clamp(1.5rem,1rem + 2vw,2.5rem);font-weight:500;display:inline-flex}.status:before{content:"";background:var(--signal);border-radius:50%;width:.5rem;height:.5rem}.hero-title{font-size:var(--step-hero);letter-spacing:-.04em;text-wrap:balance;max-width:12.5em;font-weight:750;line-height:.98}@media (prefers-reduced-motion:no-preference){.hero-title .mark{animation:mark-in 1.1s var(--ease-out) .35s both}}.hero-foot{grid-template-columns:minmax(0,38rem) auto;justify-content:space-between;align-items:end;gap:2rem 3rem;margin-top:clamp(2rem,1.5rem + 2vw,3.5rem);display:grid}.hero-lede{font-size:var(--step-1);color:var(--ink-2);text-wrap:pretty;line-height:1.5}.hero-actions{flex-wrap:wrap;gap:.75rem;display:flex}.hero-meta{border-top:1px solid var(--line-strong);grid-template-columns:repeat(3,minmax(0,1fr));margin-top:clamp(3rem,2rem + 4vw,5rem);display:grid}.hero-meta>div{padding:1.1rem 1.5rem 0 0}.hero-meta dt{font-size:var(--step--1);color:var(--ink-3);margin-bottom:.2rem}.hero-meta dd{font-weight:550}@media (max-width:860px){.hero-foot{grid-template-columns:1fr}}@media (max-width:760px){.hero-meta{grid-template-columns:1fr}.hero-meta>div{border-bottom:1px solid var(--line);padding:.9rem 0}}.section{padding-top:var(--section);scroll-margin-top:calc(-1 * var(--section))}.section-head{grid-template-columns:repeat(12,minmax(0,1fr));align-items:end;gap:1rem 2rem;margin-bottom:clamp(2rem,1.5rem + 2vw,3.5rem);display:grid}.section-head h2{font-size:var(--step-4);letter-spacing:-.035em;grid-column:1/span 6;font-weight:750;line-height:1}.section-head p{color:var(--ink-2);grid-column:8/-1;max-width:34em}@media (max-width:760px){.section-head{grid-template-columns:minmax(0,1fr)}.section-head h2,.section-head p{grid-column:1/-1}}.fill-row{isolation:isolate;margin-inline:-.75rem;padding-inline:.75rem;position:relative}a.fill-row:before{content:"";z-index:-1;background:var(--marker);transform-origin:0;transition:transform .55s var(--ease-out);position:absolute;inset:0;transform:scaleX(0)}a.fill-row:hover,a.fill-row:focus-visible{--ink:var(--on-marker);--ink-2:var(--on-marker);--ink-3:var(--on-marker);color:var(--ink)}a.fill-row:hover:before,a.fill-row:focus-visible:before{transform:scaleX(1)}a.fill-row .go{transition:transform .45s var(--ease-out)}a.fill-row:hover .go{transform:translate(.35rem)}a.fill-row:hover .go-out{transform:translate(.2rem,-.2rem)}.features{border-top:1px solid var(--line-strong)}.feature{border-bottom:1px solid var(--line)}.feature-row{grid-template-columns:var(--col-lead) minmax(0, 1fr) minmax(0, 15rem) 1.5rem;grid-template-areas:"year body meta go";align-items:baseline;gap:.75rem 2rem;padding-block:clamp(1.5rem,1rem + 1.5vw,2.5rem);display:grid}.feature-year{font-size:var(--step--1);color:var(--ink-3);font-variant-numeric:tabular-nums;grid-area:year;font-weight:500}.feature-body{grid-area:body}.feature-title{font-size:var(--step-3);letter-spacing:-.03em;font-weight:700;line-height:1.05}.feature-summary{color:var(--ink-2);text-wrap:pretty;max-width:44em;margin-top:.6rem}.feature-meta{font-size:var(--step--1);color:var(--ink-3);grid-area:meta;line-height:1.5}.feature-meta strong{color:var(--ink-2);font-weight:600;display:block}.feature-row .go{grid-area:go;place-self:center end}.vt-title{view-transition-name:attr(data-vt type(<custom-ident>), none);view-transition-class:case-title}@media (max-width:960px){.feature-row{grid-template-columns:var(--col-lead) minmax(0, 1fr) 1.5rem;grid-template-areas:"year body go"".meta."}}@media (max-width:760px){.feature-row{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"year go""body body""meta meta"}.feature-row .go{align-self:start}}.subhead{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.25rem 1rem;margin-top:clamp(3.5rem,2rem + 4vw,5.5rem);margin-bottom:1rem;display:flex}.subhead h3{font-size:var(--step-2);letter-spacing:-.02em;font-weight:700}.subhead p{font-size:var(--step--1);color:var(--ink-3)}.index{border-top:1px solid var(--line-strong)}.index-row{grid-template-columns:var(--col-lead) minmax(0, 1.3fr) minmax(0, 1fr) 1.5rem;border-bottom:1px solid var(--line);align-items:baseline;gap:.25rem 2rem;padding-block:1rem;display:grid}.index-year{font-size:var(--step--1);color:var(--ink-3);font-variant-numeric:tabular-nums}.index-name{font-weight:650}.index-name small{color:var(--ink-2);font-size:.9375rem;font-weight:400;display:block}.index-stack{font-size:var(--step--1);color:var(--ink-3)}.platform{color:var(--ink-2);align-items:center;gap:.4rem;font-weight:600;display:flex}.platform:before{content:"";background:var(--dot,var(--ink-3));border-radius:50%;width:.5rem;height:.5rem}.platform-android{--dot:var(--signal)}.index-row .go,.index-row .go-out{width:1.1rem;height:1.1rem;color:var(--ink-2);place-self:center end}@media (max-width:760px){.index-row{grid-template-columns:minmax(0,1fr) auto}.index-year{grid-column:1/-1}.index-stack{grid-column:1}.index-row .go,.index-row .go-out{grid-area:2/2;align-self:start}}.filters{flex-wrap:wrap;gap:.5rem;margin-bottom:1.5rem;display:flex}.chip{border:1px solid var(--line-strong);min-height:2.5rem;font-size:var(--step--1);color:var(--ink-2);border-radius:999px;align-items:center;gap:.45rem;padding:0 1.1rem;font-weight:600;transition:background-color .25s,border-color .25s,color .25s;display:inline-flex}.chip .count{color:var(--ink-3);font-variant-numeric:tabular-nums;font-weight:500}.chip:hover{border-color:var(--ink);color:var(--ink)}.chip[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:var(--paper)}.chip[aria-pressed=true] .count{color:inherit;opacity:.7}.lab-list{border-top:1px solid var(--line-strong);grid-template-columns:repeat(2,minmax(0,1fr));column-gap:clamp(2rem,1rem + 3vw,4rem);display:grid}.lab-item a{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1fr) auto;gap:.3rem 1rem;height:100%;padding-block:1.25rem;display:grid}.lab-name{font-size:var(--step-1);letter-spacing:-.01em;background:linear-gradient(var(--marker), var(--marker)) no-repeat 0 92% / 0% .32em;transition:background-size .45s var(--ease-out);justify-self:start;font-weight:650}.lab-item a:hover .lab-name,.lab-item a:focus-visible .lab-name{background-size:100% .32em}.lab-desc{color:var(--ink-2);text-wrap:pretty;grid-column:1;font-size:.9375rem}.lab-meta{font-size:var(--step--1);color:var(--ink-3);flex-wrap:wrap;grid-column:1;align-items:center;gap:.25rem 1rem;display:flex}.lab-item .go-out{color:var(--ink-3);transition:transform .45s var(--ease-out), color .2s;grid-area:1/2}.lab-item a:hover .go-out{color:var(--ink);transform:translate(.2rem,-.2rem)}.lang-dot{align-items:center;gap:.4rem;display:inline-flex}.lang-dot:before{content:"";background:var(--dot);border-radius:50%;width:.55rem;height:.55rem}.lang-kotlin{--dot:#7f52ff}.lang-typescript{--dot:#3178c6}.lang-java{--dot:#b07219}.lang-javascript{--dot:#f1e05a}.lang-swift{--dot:#f05138}.lang-dart{--dot:#00b4ab}.lang-csharp{--dot:#178600}.lang-other{--dot:var(--ink-3)}.lab-empty{color:var(--ink-3);padding-block:2.5rem}.is-filtering .lab-item{view-transition-name:match-element;view-transition-class:lab}::view-transition-group(*.lab){animation-duration:.45s;animation-timing-function:var(--ease-out)}@media (max-width:760px){.lab-list{grid-template-columns:1fr}}.jobs{border-top:1px solid var(--line-strong)}.job{border-bottom:1px solid var(--line)}.job summary{cursor:pointer;grid-template-columns:var(--col-lead) minmax(0, 1.1fr) minmax(0, 1fr) 5rem 1rem;align-items:baseline;gap:.2rem 2rem;padding-block:1.15rem;list-style:none;display:grid}.job summary::-webkit-details-marker{display:none}.job-period{font-size:var(--step--1);color:var(--ink-3);font-variant-numeric:tabular-nums}.job-role{font-size:var(--step-1);letter-spacing:-.01em;font-weight:650;line-height:1.3}.job-company{color:var(--ink-2)}.job-company small,.job-mode{font-size:var(--step--1);color:var(--ink-3)}.plus{place-self:center end;width:.875rem;height:.875rem;position:relative}.plus:before,.plus:after{content:"";width:100%;height:2px;transition:transform .35s var(--ease-out);background:currentColor;margin-top:-1px;position:absolute;top:50%;left:0}.plus:after{transform:rotate(90deg)}.job[open] .plus:after{transform:rotate(0)}.job summary:hover .job-role{text-decoration:underline;text-decoration-thickness:.3em;-webkit-text-decoration-color:var(--marker);text-decoration-color:var(--marker);text-underline-offset:-.12em;text-decoration-skip-ink:none}.job-points{max-width:46em;margin-left:calc(var(--col-lead) + 2rem);color:var(--ink-2);gap:.6rem;padding-bottom:1.75rem;display:grid}.job-points li{text-wrap:pretty;padding-left:1.15rem;position:relative}.job-points li:before{content:"";background:var(--signal-ink);width:.5rem;height:2px;position:absolute;top:.8em;left:0}@supports selector(::details-content){@media (prefers-reduced-motion:no-preference){.job{interpolate-size:allow-keywords}.job::details-content{block-size:0;transition:block-size .5s var(--ease-out), content-visibility .5s allow-discrete;overflow:clip}.job[open]::details-content{block-size:auto}}}@media (max-width:960px){.job summary{grid-template-columns:var(--col-lead) minmax(0, 1fr) 5rem 1rem;grid-template-areas:"period role mode plus"".company. ."}.job-period{grid-area:period}.job-role{grid-area:role}.job-company{grid-area:company}.job-mode{grid-area:mode}.plus{grid-area:plus}}@media (max-width:760px){.job summary{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"period plus""role role""company company"}.job-period{grid-area:period}.job-role{grid-area:role}.job-company{grid-area:company}.job-mode{display:none}.plus{grid-area:plus}.job-points{margin-left:0}}.about-grid{grid-template-columns:repeat(12,minmax(0,1fr));gap:2.5rem 2rem;display:grid}.about-lead{grid-column:1/span 5}.about-lead h2{font-size:var(--step-4);letter-spacing:-.035em;font-weight:750;line-height:1}.about-pull{font-size:var(--step-2);letter-spacing:-.015em;color:var(--ink-2);text-wrap:balance;max-width:18em;margin-top:1.5rem;font-weight:600;line-height:1.3}.about-body{grid-column:7/-1;gap:3rem;display:grid}.about-copy{color:var(--ink-2);gap:1rem;max-width:38em;display:grid}.spec-title{font-size:var(--step--1);margin-bottom:.75rem;font-weight:650}.spec{border-top:1px solid var(--line-strong)}.spec>div{border-bottom:1px solid var(--line);grid-template-columns:9rem minmax(0,1fr);gap:.25rem 1.5rem;padding-block:.85rem;display:grid}.spec dt{font-size:var(--step--1);color:var(--ink-3);padding-top:.12em}.spec dd{font-size:.9375rem}.spec dd small{color:var(--ink-3);font-size:var(--step--1)}@media (max-width:860px){.about-grid{grid-template-columns:minmax(0,1fr)}.about-lead,.about-body{grid-column:1/-1}}@media (max-width:480px){.spec>div{grid-template-columns:1fr}}.site-footer{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;margin-top:var(--section);padding-block:var(--section) 2rem;background:var(--paper);color:var(--ink)}:root[data-theme=dark] .site-footer{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .site-footer{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}}.footer-kicker{font-size:var(--step--1);color:var(--ink-3);margin-bottom:1.25rem;font-weight:500}.footer-title{font-size:var(--step-hero);letter-spacing:-.04em;text-wrap:balance;max-width:11em;font-weight:750;line-height:.98}@supports (animation-timeline:view()){@media (prefers-reduced-motion:no-preference){.footer-title .mark{animation:linear both mark-in;animation-timeline:view();animation-range:entry 50% cover 45%}}}.footer-actions{flex-wrap:wrap;align-items:center;gap:1rem 1.5rem;margin-top:clamp(2.5rem,2rem + 3vw,4.5rem);display:flex}.email-big{font-size:var(--step-3);letter-spacing:-.03em;background:linear-gradient(var(--marker), var(--marker)) no-repeat 0 92% / 100% .12em;transition:background-size .45s var(--ease-out);overflow-wrap:anywhere;font-weight:700;line-height:1.15}.email-big:hover{background-size:100% .45em}.footer-links{flex-wrap:wrap;gap:.75rem 2rem;margin-top:2.5rem;font-weight:600;display:flex}.footer-links a{color:var(--ink-2);align-items:center;gap:.35rem;transition:color .2s;display:inline-flex}.footer-links a:hover{color:var(--ink)}.footer-links .icon{width:1rem;height:1rem}.footer-fine{border-top:1px solid var(--line);font-size:var(--step--1);color:var(--ink-3);flex-wrap:wrap;justify-content:space-between;gap:.5rem 2rem;margin-top:clamp(4rem,3rem + 4vw,7rem);padding-top:1.25rem;display:flex}.case{padding-top:clamp(2rem,1rem + 3vw,4rem)}.back{font-size:var(--step--1);color:var(--ink-2);align-items:center;gap:.5rem;font-weight:600;transition:color .2s;display:inline-flex}.back .icon{width:1rem;height:1rem;transition:translate .4s var(--ease-out);transform:scaleX(-1)}.back:hover{color:var(--ink)}.back:hover .icon{translate:-.25rem}.case-kicker{font-size:var(--step--1);color:var(--ink-3);margin-top:clamp(2.5rem,2rem + 3vw,5rem);font-weight:500}.case-title{font-size:var(--step-hero);letter-spacing:-.04em;margin-top:.75rem;font-weight:750;line-height:.98}.case-lede{max-width:30em;font-size:var(--step-2);color:var(--ink-2);text-wrap:pretty;margin-top:1.5rem;line-height:1.4}.case-meta{border-top:1px solid var(--line-strong);grid-template-columns:repeat(4,minmax(0,1fr));margin-top:clamp(2.5rem,2rem + 3vw,4rem);display:grid}.case-meta>div{padding:1.1rem 1.5rem 0 0}.case-meta dt{font-size:var(--step--1);color:var(--ink-3);margin-bottom:.2rem}.case-meta dd{font-weight:550}.case-meta dd a{background:linear-gradient(var(--marker), var(--marker)) no-repeat 0 100% / 100% 2px;transition:background-size .4s var(--ease-out);align-items:center;gap:.3rem;display:inline-flex}.case-meta dd a:hover{background-size:100% .35em}.case-meta .icon{width:.875rem;height:.875rem}.shots{background:var(--paper-2);grid-template-columns:repeat(3,minmax(0,15rem));justify-content:center;gap:clamp(.75rem,4vw,4rem);margin-top:clamp(3rem,2rem + 4vw,5rem);padding:clamp(2rem,1rem + 4vw,5rem) clamp(1rem,4vw,4rem) clamp(4rem,3rem + 4vw,7rem);display:grid}.phone{aspect-ratio:9/19.5;border:1px solid var(--line-strong);background:var(--paper);box-shadow:0 1.75rem 3rem -1.75rem var(--shadow);border-radius:clamp(1.25rem,2.5vw,2.25rem);overflow:hidden}.phone:nth-child(2){translate:0 clamp(1rem,3vw,3rem)}.phone img{object-fit:cover;width:100%;height:100%}.screens{background:var(--paper-2);grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(1.5rem,3vw,3rem) clamp(1rem,3vw,2.5rem);margin-top:clamp(3rem,2rem + 4vw,5rem);padding:clamp(1.25rem,4vw,4rem);display:grid}.screen:first-child{grid-column:1/-1}.screen img{border:1px solid var(--line-strong);width:100%;height:auto;box-shadow:0 1.5rem 3rem -1.75rem var(--shadow);border-radius:clamp(.5rem,1vw,.875rem);display:block}.screen figcaption{font-size:var(--step--1);color:var(--ink-3);margin-top:.75rem}@media (max-width:760px){.screens{grid-template-columns:1fr}}.case-body{margin-top:var(--section);grid-template-columns:repeat(12,minmax(0,1fr));column-gap:2rem;display:grid}.case-section{grid-column:1/-1;grid-template-columns:subgrid;border-top:1px solid var(--line-strong);row-gap:1rem;padding-block:2rem 2.5rem;display:grid}.case-section h2{font-size:var(--step-2);letter-spacing:-.02em;grid-column:1/span 4;font-weight:700;line-height:1.2}.case-section .prose{color:var(--ink-2);grid-column:6/-1;gap:1rem;max-width:38em;display:grid}.prose ul{gap:.6rem;display:grid}.prose li{padding-left:1.15rem;position:relative}.prose li:before{content:"";background:var(--signal-ink);width:.5rem;height:2px;position:absolute;top:.8em;left:0}.prose strong{color:var(--ink);font-weight:650}.case-next{margin-top:var(--section);border-top:1px solid var(--line-strong)}.case-next a{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.25rem 1rem;padding-block:clamp(1.75rem,1rem + 2vw,3rem);display:grid}.case-next small{font-size:var(--step--1);color:var(--ink-3);grid-column:1}.case-next strong{font-size:var(--step-3);letter-spacing:-.03em;grid-column:1;font-weight:700;line-height:1.1}.case-next .go{grid-area:1/2/span 2;width:1.75rem;height:1.75rem}@media (max-width:860px){.case-meta{grid-template-columns:repeat(2,minmax(0,1fr))}.case-meta>div{padding-bottom:1rem}.case-body{grid-template-columns:minmax(0,1fr)}.case-section h2,.case-section .prose{grid-column:1/-1}}@media (max-width:480px){.case-meta{grid-template-columns:minmax(0,1fr)}}@view-transition{navigation:auto}::view-transition-group(*.case-title){animation-duration:.55s;animation-timing-function:var(--ease-out)}@media (prefers-reduced-motion:reduce){::view-transition-group(*){animation:none!important}::view-transition-old(*){animation:none!important}::view-transition-new(*){animation:none!important}}.missing{padding-block:clamp(5rem,4rem + 8vw,10rem)}.missing h1{font-size:var(--step-hero);letter-spacing:-.04em;max-width:10em;font-weight:750;line-height:.98}.missing p{max-width:32em;font-size:var(--step-1);color:var(--ink-2);margin-top:1.5rem}.missing .btn{margin-top:2rem}
