@font-face{font-family:Manrope;font-style:normal;font-weight:400;font-display:swap;src:url(../media/a342834df7752944-s.10ev4cu2inrn-.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Manrope;font-style:normal;font-weight:400;font-display:swap;src:url(../media/d3fe2f289711ac3f-s.p.0i6ci0u~g4zml.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Manrope;font-style:normal;font-weight:400;font-display:swap;src:url(../media/58c4895d0a0ef7cc-s.0x1a9yg0jkq20.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Manrope;font-style:normal;font-weight:400;font-display:swap;src:url(../media/bfc7db5c00d21bc5-s.0dyk20wuvya7a.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Manrope;font-style:normal;font-weight:400;font-display:swap;src:url(../media/6ab0db14f70d8ed6-s.0ctuso5mgh_i..woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Manrope;font-style:normal;font-weight:400;font-display:swap;src:url(../media/a343f882a40d2cc9-s.p.0kho-wj7-y-w1.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Manrope;font-style:normal;font-weight:500;font-display:swap;src:url(../media/a342834df7752944-s.10ev4cu2inrn-.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Manrope;font-style:normal;font-weight:500;font-display:swap;src:url(../media/d3fe2f289711ac3f-s.p.0i6ci0u~g4zml.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Manrope;font-style:normal;font-weight:500;font-display:swap;src:url(../media/58c4895d0a0ef7cc-s.0x1a9yg0jkq20.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Manrope;font-style:normal;font-weight:500;font-display:swap;src:url(../media/bfc7db5c00d21bc5-s.0dyk20wuvya7a.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Manrope;font-style:normal;font-weight:500;font-display:swap;src:url(../media/6ab0db14f70d8ed6-s.0ctuso5mgh_i..woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Manrope;font-style:normal;font-weight:500;font-display:swap;src:url(../media/a343f882a40d2cc9-s.p.0kho-wj7-y-w1.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Manrope;font-style:normal;font-weight:600;font-display:swap;src:url(../media/a342834df7752944-s.10ev4cu2inrn-.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Manrope;font-style:normal;font-weight:600;font-display:swap;src:url(../media/d3fe2f289711ac3f-s.p.0i6ci0u~g4zml.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Manrope;font-style:normal;font-weight:600;font-display:swap;src:url(../media/58c4895d0a0ef7cc-s.0x1a9yg0jkq20.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Manrope;font-style:normal;font-weight:600;font-display:swap;src:url(../media/bfc7db5c00d21bc5-s.0dyk20wuvya7a.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Manrope;font-style:normal;font-weight:600;font-display:swap;src:url(../media/6ab0db14f70d8ed6-s.0ctuso5mgh_i..woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Manrope;font-style:normal;font-weight:600;font-display:swap;src:url(../media/a343f882a40d2cc9-s.p.0kho-wj7-y-w1.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Manrope Fallback;src:local(Arial);ascent-override:103.31%;descent-override:29.07%;line-gap-override:0.0%;size-adjust:103.19%}.manrope_f249039e-module__HFMABW__className{font-family:Manrope,Manrope Fallback;font-style:normal}
:root{--bg-page:#fafafa;--bg-surface:#0e0e0e;--text:#0e0e0e;--text-muted:#a7a7a7;--text-soft:#a7a7a7;--link:#0c86e8;--divider:#a7a7a7;--tabbar-bg:#f3f3f4;--tabbar-active-bg:#fff;--tabbar-safe-offset:12px;--header-safe-top:0px;--footer-bg:var(--bg-surface);--footer-text:var(--bg-page);--radius-card:16px;--radius-phone:20px;--grid-max:1440px;--page-padding:24px;--grid-left-col:459px;--grid-gutter:0px;--space-4:4px;--space-8:8px;--space-12:12px;--space-16:16px;--space-24:24px;--space-32:32px;--space-40:40px;--space-48:48px;--space-56:56px;--space-64:64px;--space-section:clamp(var(--space-48), 10vw, 104px);--font:"Manrope", system-ui, -apple-system, sans-serif;--text-body-s-size:20px;--text-body-s-line:27px;--text-body-m-size:24px;--text-body-m-line:28px;--text-body-l-size:32px;--text-body-l-line:36px;--text-h2-size:28px;--text-h2-line:38px;--text-h1-size:40px;--text-h1-line:55px;--text-body-s-fluid-size:clamp(18px, 1.5vw, var(--text-body-s-size));--text-body-s-fluid-line:clamp(22px, 1.8vw, var(--text-body-s-line));--text-body-m-fluid-size:clamp(20px, 1.7vw, var(--text-body-m-size));--text-body-m-fluid-line:clamp(24px, 2vw, var(--text-body-m-line));--text-h2-fluid-size:clamp(24px, 2vw, var(--text-h2-size));--text-h2-fluid-line:clamp(30px, 2.4vw, var(--text-h2-line));--text-h1-fluid-size:clamp(32px, 2.9vw, var(--text-h1-size));--text-h1-fluid-line:clamp(40px, 3.8vw, var(--text-h1-line));--text-hero-fluid-size:clamp(var(--text-body-m-size), 2.5vw, var(--text-body-l-size));--text-hero-fluid-line:clamp(28px, 2.8vw, var(--text-body-l-line));--text-hero-mobile-size:clamp(22px, 6.2vw, var(--text-h2-size));--text-hero-mobile-line:clamp(28px, 7vw, 38px);--text-tabbar-size:14px;--text-tabbar-line:18px;--ease:cubic-bezier(.25, .1, .25, 1)}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth}#work,#about,#contact{scroll-margin-top:calc(92px + var(--header-safe-top))}body{font-family:var(--font);font-size:var(--text-body-s-size);line-height:var(--text-body-s-line);letter-spacing:0;color:var(--text);background:var(--bg-page);-webkit-font-smoothing:antialiased;margin:0;font-weight:400}main{min-width:0}a{color:inherit;text-decoration:none}a:hover{opacity:.75}.header{z-index:50;background:color-mix(in srgb, var(--bg-page) 92%, white);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding-top:0;position:static}.header-inner{width:100%;max-width:var(--grid-max);padding:24px var(--page-padding);grid-template-columns:var(--grid-left-col) minmax(0, 1fr);align-items:center;gap:0;margin:0 auto;display:grid}.header-name{font-weight:500;font-size:var(--text-body-s-size);line-height:var(--text-body-s-line);letter-spacing:0;justify-self:start}.header-nav{font-size:var(--text-body-s-size);line-height:var(--text-body-s-line);color:var(--text);justify-content:space-between;align-items:center;font-weight:500;display:flex}.header-nav-main{align-items:center;gap:80px;display:flex}.header-nav a{color:inherit;transition:opacity .18s var(--ease)}.header-nav a:hover{color:var(--text);opacity:.65}.header-nav a:active{opacity:.45}.mobile-tabbar{display:none}@media (max-width:991px){:root{--page-padding:16px}#work,#about,#contact{scroll-margin-top:24px}.header-inner{padding:24px var(--page-padding);grid-template-rows:auto;grid-template-columns:1fr}.header-name{white-space:nowrap;font-size:var(--text-body-s-size);line-height:var(--text-body-s-line);grid-column:1/-1}.header-nav{display:none}.mobile-tabbar{--tabbar-pad:4px;--tabbar-gap:var(--space-8);left:var(--page-padding);right:var(--page-padding);bottom:max(var(--tabbar-safe-offset), calc(env(safe-area-inset-bottom,0px) + var(--space-8)));z-index:80;align-items:center;gap:var(--tabbar-gap);padding:var(--tabbar-pad);background:var(--tabbar-bg);color:var(--text);border:1px solid color-mix(in srgb, var(--divider) 50%, transparent);border-radius:999px;grid-template-columns:repeat(3,minmax(0,1fr));display:grid;position:fixed;overflow:hidden;box-shadow:0 8px 20px #00000014}.mobile-tabbar-pill{left:var(--tabbar-pad);top:var(--tabbar-pad);bottom:var(--tabbar-pad);width:calc((100% - (var(--tabbar-pad) * 2) - (var(--tabbar-gap) * 2)) / 3);background:var(--tabbar-active-bg);transform:translateX(calc(var(--tab-index,0) * (100% + var(--tabbar-gap))));transition:transform .28s var(--ease);pointer-events:none;z-index:0;border-radius:999px;position:absolute;box-shadow:0 1px 2px #0e0e0e14}.mobile-tabbar-item{min-height:40px;font-family:var(--font);font-size:var(--text-tabbar-size);line-height:var(--text-tabbar-line);white-space:nowrap;color:var(--text-muted);z-index:1;transition:color .22s var(--ease), transform .22s var(--ease), box-shadow .22s var(--ease);border-radius:999px;justify-content:center;align-items:center;font-weight:500;display:inline-flex;position:relative}.mobile-tabbar-item:active{transform:scale(.98)}.mobile-tabbar-item.is-active{color:var(--text)}.mobile-tabbar--no-active .mobile-tabbar-pill{display:none}main,.case-page{padding-bottom:0}.hero{padding-top:48px;padding-bottom:48px}.hero-text{letter-spacing:0;text-wrap:pretty;width:100%;font-size:clamp(20px,17.716px + .6339vw,24px);line-height:clamp(28px,25.716px + .6339vw,32px)}}.hero{width:100%;max-width:var(--grid-max);padding:var(--space-section) var(--page-padding) calc(var(--space-section) * .85);margin:0 auto}.hero-text{max-width:100%;font-size:var(--text-hero-fluid-size);font-weight:400;line-height:var(--text-hero-fluid-line);letter-spacing:0;text-wrap:balance;margin:0}@media (max-width:991px){.hero{padding-top:clamp(56px,46.87px + 2.536vw,72px);padding-right:var(--page-padding);padding-bottom:clamp(80px,70.87px + 2.536vw,96px);padding-left:var(--page-padding)}.projects{gap:96px;padding-bottom:96px}.about,.experience-section{padding-bottom:96px}}@media (min-width:992px){.header{padding-top:var(--header-safe-top);position:sticky;top:0}.header-nav{grid-column:2}.header-nav-main{justify-content:flex-start}.hero{grid-template-columns:var(--grid-left-col) minmax(0, 1fr);align-items:start;padding-top:146px;padding-bottom:146px;display:grid}.hero-text{grid-column:2;justify-self:start;width:458px;max-width:100%}}.projects{width:100%;max-width:var(--grid-max);padding:0 var(--page-padding) clamp(80px, calc(44.571px + 3.571vw), 96px);overflow-anchor:none;flex-direction:column;gap:clamp(80px,44.571px + 3.571vw,96px);margin:0 auto;display:flex}.project{grid-template-areas:"visual""meta";align-items:start;gap:1.75rem 3rem;display:grid}.case-card-meta{grid-area:meta}.project-visual{grid-area:visual}.project-visual-link{opacity:1;width:100%;height:100%;display:block;position:relative}.project-visual-link:hover,.project-visual-link:active{opacity:1}@media (min-width:992px){.project{grid-template-columns:var(--grid-left-col) minmax(0, 1fr);gap:var(--space-32) var(--grid-gutter);grid-template-areas:"meta visual";align-items:center}.project-visual{grid-column:2;justify-content:flex-end;justify-self:stretch;display:flex}.project-visual-card{width:min(100%,925px)}}.project-title{font-size:var(--text-h2-size);letter-spacing:0;font-weight:500;line-height:var(--text-h2-line);margin:0 0 1rem}.project-desc{color:var(--text-muted);font-size:var(--text-body-s-size);line-height:var(--text-body-s-line);max-width:28rem;margin:0 0 1.25rem}.project-tags{font-size:var(--text-body-s-size);line-height:var(--text-body-s-line);color:var(--text-soft);letter-spacing:0;margin:0;font-weight:400}.case-card-meta{flex-direction:column;justify-content:flex-end;min-height:100%;display:flex}.case-card-summary{margin-bottom:clamp(24px,4.032vw - 16px,40px)}.case-card-title{margin:0 0 var(--space-16);font-size:var(--text-h1-fluid-size);line-height:var(--text-h1-fluid-line);letter-spacing:0;font-weight:600}.case-card-description{font-size:var(--text-body-m-fluid-size);line-height:var(--text-body-m-fluid-line);letter-spacing:0;color:var(--text);margin:0;font-weight:400}.case-card-details{gap:var(--space-24);flex-direction:column;display:flex}.case-card-detail-label{font-size:var(--text-body-s-fluid-size);line-height:var(--text-body-s-fluid-line);letter-spacing:0;color:var(--text-muted);margin:0 0 6px;font-weight:400}.case-card-detail-value{font-size:var(--text-body-s-fluid-size);line-height:var(--text-body-s-fluid-line);letter-spacing:0;color:var(--text);margin:0;font-weight:400}.project-visual-card{background:color-mix(in srgb, var(--bg-page) 84%, var(--divider));aspect-ratio:925/664;border-radius:0;justify-content:center;align-items:center;padding:0;display:flex;position:relative;overflow:hidden}.project-visual-image{object-fit:contain;transform-origin:50%;width:100%;height:100%;transition:transform .28s var(--ease);display:block;transform:scale(1)}@media (min-width:992px){.project-visual-card{width:min(100%,925px)}.projects .project-visual:hover .project-visual-image{transform:scale(1.03)}}.mock{justify-content:center;align-items:center;gap:clamp(.75rem,2vw,1.5rem);width:100%;max-width:100%;display:flex}.mock--phones{flex-wrap:wrap}.phone{aspect-ratio:9/19;border-radius:var(--radius-phone);background:linear-gradient(#2a2a2a 0%,#1a1a1a 100%);width:clamp(100px,22vw,140px);position:relative;overflow:hidden;box-shadow:0 12px 32px #0000001f}.phone:before{content:"";opacity:.95;background:linear-gradient(165deg,#fff5f5 0%,#ffe4e4 40%,#c41e1e 40%,#8b0000 100%);border-radius:12px;position:absolute;inset:6% 7% 8%}.phone--alt:before{background:linear-gradient(#f8f8f8 0%,#ececec 45%,#e31937 45%,#b5122a 100%)}.mock--rostics-kiosk .phone:nth-child(2):before{background:linear-gradient(200deg,#fff 0%,#f3f3f3 50%,#e31937 50%,#9a0f24 100%)}.mock--rostics-app .phone:before{background:linear-gradient(160deg,#fff 0%,#f0f0f0 35%,#ff6b35 35%,#e85d2a 100%)}.mock--expero-app-web{justify-content:center;align-items:flex-end;gap:clamp(.5rem,2vw,1.25rem)}.mock--expero-app-web .phone:before{background:linear-gradient(#eef2ff 0%,#e0e7ff 50%,#4f46e5 50%,#312e81 100%)}.browser{background:#fff;border:1px solid #0000000f;border-radius:10px;flex-direction:column;flex:1;min-width:0;max-width:420px;height:clamp(200px,28vw,280px);display:flex;overflow:hidden;box-shadow:0 12px 32px #0000001a}.browser-chrome{background:#f3f4f6;border-bottom:1px solid #e5e7eb;align-items:center;gap:5px;height:28px;padding:0 10px;display:flex}.browser-chrome span{background:#d1d5db;border-radius:50%;width:7px;height:7px}.browser-body{background:linear-gradient(135deg,#f8fafc 0%,#e2e8f0 40%,#6366f1 40%,#4338ca 100%);border-radius:6px;flex:1;margin:10px}.mock--design-system{grid-template-columns:1.2fr .55fr;align-items:stretch;gap:1rem;width:100%;max-width:520px;display:grid}@media (max-width:991px){.mock--design-system{grid-template-columns:1fr}.ds-art{min-height:140px}.projects .project{gap:var(--space-24);flex-direction:column;display:flex}.projects .project-visual{order:1}.projects .case-card-meta{order:2;justify-content:flex-start;align-self:start;min-height:auto}.projects .case-card-summary{margin-bottom:var(--space-24)}.case-card-title{font-size:var(--text-h2-size);line-height:var(--text-h2-line)}}.ds-panel{background:#fff;border-radius:10px;align-content:start;gap:.65rem;padding:1rem;display:grid;box-shadow:0 8px 24px #0000000f}.ds-row{flex-wrap:wrap;gap:.5rem;display:flex}.pill{background:#111827;border-radius:6px;min-width:56px;height:28px}.pill--ghost{background:#e5e7eb}.pill--w80{min-width:80px}.pill--w64{min-width:64px}.swatch{border-radius:6px;width:28px;height:28px}.swatch:first-child{background:#111827}.swatch:nth-child(2){background:#6366f1}.swatch:nth-child(3){background:#22c55e}.swatch:nth-child(4){background:#f97316}.toggle{background:#d1d5db;border-radius:999px;width:44px;height:24px;position:relative}.toggle:after{content:"";background:#fff;border-radius:50%;width:18px;height:18px;position:absolute;top:3px;left:3px;box-shadow:0 1px 3px #00000026}.ds-art{background:linear-gradient(160deg,#fce7f3 0%,#ddd6fe 50%,#c4b5fd 100%);border-radius:12px;justify-content:center;align-items:center;min-height:160px;display:flex}.ds-art-mascot{aspect-ratio:1;background:linear-gradient(145deg,#fde68a 0%,#f9a8d4 45%,#a78bfa 100%);border-radius:35% 65% 70% 30%/40% 45% 55% 60%;width:min(72%,120px);position:relative;box-shadow:0 12px 28px #0000001f}.ds-art-mascot:after{content:"";background:#ffffff8c;border-radius:999px;width:42%;height:18%;position:absolute;top:28%;left:50%;transform:translate(-50%)rotate(-8deg);box-shadow:0 6px 0 -2px #00000014}.about{width:100%;max-width:var(--grid-max);padding:0 var(--page-padding) clamp(80px, calc(44.571px + 3.571vw), 96px);margin:0 auto}.about-inner{gap:2rem var(--grid-gutter);align-items:start;display:grid}@media (min-width:992px){.about-inner{grid-template-columns:var(--grid-left-col) minmax(0, 1fr);align-items:end}}.about-photo{width:min(100%,459px);position:relative}.about-img{filter:grayscale();object-fit:cover;aspect-ratio:459/406;border-radius:4px;width:100%;height:auto;display:block}.about-copy p{color:var(--text);font-size:var(--text-body-m-fluid-size);line-height:var(--text-body-m-fluid-line);margin:0 0 1.25rem}.about-copy p:last-child{margin-bottom:0}.case-page{min-width:0}.case-page-hero,.case-page-sections,.case-next{width:100%;max-width:var(--grid-max);padding-left:var(--page-padding);padding-right:var(--page-padding);margin:0 auto}.case-page-hero{padding-top:40px;padding-bottom:var(--space-64)}.case-page-hero .project{gap:var(--space-32);grid-template-areas:"meta""visual"}.case-page-hero .case-card-meta{gap:var(--space-32);grid-template-columns:1fr;align-items:start;display:grid}.case-page-hero .case-card-summary{margin-bottom:0}.case-page-hero .case-card-title{font-size:var(--text-h1-fluid-size);line-height:var(--text-h1-fluid-line);font-weight:600}.case-page-hero .case-card-description{font-size:20px;font-weight:400;line-height:24px}.case-page-hero .case-card-detail-label,.case-page-hero .case-card-detail-value{font-size:var(--text-body-s-fluid-size);line-height:var(--text-body-s-fluid-line);font-weight:400}.case-page-hero .project-visual{margin-top:var(--space-24);grid-column:auto;justify-self:stretch;display:block}.case-page-hero .project-visual-card{width:100%}.case-gallery-image{object-fit:contain;width:100%;height:100%;display:block}.case-page-sections{padding-bottom:var(--space-64);flex-direction:column;gap:0;display:flex}.case-section{gap:20px;display:grid}.case-page-sections>.case-section+.case-section{margin-top:var(--space-64)}.case-page-sections>.case-section--case-text+.case-section--case-text{margin-top:var(--space-56)}.case-page-sections>.case-section--case-text+.case-section--full-image,.case-page-sections>.case-section--full-image+.case-section--case-text{margin-top:var(--space-64)}.case-page-sections>.case-section--right-image:not(:first-child),.case-page-sections>.case-section--right-image+.case-section--case-text{margin-top:var(--space-24)}.case-section-kicker,.case-next-kicker{color:var(--text);margin:0;font-size:20px;font-weight:400;line-height:27px}.case-section-content{min-width:0}.case-section-title{font-size:var(--text-h1-fluid-size);line-height:var(--text-h1-fluid-line);margin:0 0 20px;font-weight:600}.case-section-copy{gap:20px;display:grid}.case-section-copy p,.case-bullets-list li{font-size:var(--text-body-m-fluid-size);line-height:var(--text-body-m-fluid-line);color:var(--text);margin:0}.case-section--case-text{gap:0}.case-section-left{display:none}.case-text{min-width:0}.case-text-title{margin:0 0 var(--space-12);font-size:var(--text-body-s-size);line-height:var(--text-body-s-line);color:var(--text);font-weight:600}.case-text-title--mobile{white-space:pre-line;display:none}.case-text-body{gap:var(--space-20,20px);display:grid}.case-text-body p{color:var(--text);margin:0;font-size:20px;font-weight:400;line-height:24px}.case-text-link{color:var(--link);text-decoration:none}.case-section--text .case-section-title{margin:0 0 var(--space-12);font-size:var(--text-body-s-size);line-height:var(--text-body-s-line);font-weight:600}.case-section--text .case-section-copy p{font-size:20px;font-weight:400;line-height:24px}.case-section--full-image{display:block}.case-full-image-wrap{background:color-mix(in srgb, var(--bg-page) 84%, var(--divider));width:100%;margin:0;position:relative;overflow:hidden}.case-full-image{object-fit:contain;width:100%;height:100%;display:block}.case-section--right-image{gap:0}.case-right-image-wrap{background:0 0;width:min(100%,830px);height:auto;margin:0;position:relative;overflow:hidden}.case-right-image{object-fit:contain;width:100%;height:100%;display:block}@media (max-width:991px){:root{--case-mobile-space:clamp(32px, calc(32px + (100vw - 360px) * .038), 56px)}.case-page-hero .case-card-details{row-gap:var(--space-16);column-gap:var(--space-24);grid-template-columns:repeat(auto-fit,minmax(180px,1fr));align-items:start;display:grid}.case-page-hero .case-card-detail{flex-direction:column;align-items:flex-start;gap:6px;min-width:0;display:flex}.case-page-hero .case-card-detail-value{overflow-wrap:break-word;word-break:normal;min-width:0}.case-section--case-text{gap:0}.case-section--case-text .case-section-kicker{color:var(--text);padding-bottom:16px;font-size:24px;font-weight:600;line-height:32px;display:block}.case-text-title--desktop{margin-bottom:var(--space-12);color:var(--text);font-size:20px;font-weight:600;line-height:27px;display:block}.case-text-title--mobile{display:none}.case-text-body{gap:var(--space-16)}.case-page-hero{padding-top:clamp(16px,3.8vw + 2.32px,40px);padding-bottom:var(--case-mobile-space)}.case-page-hero .project-visual{margin-left:calc(var(--page-padding) * -1);margin-right:calc(var(--page-padding) * -1)}.case-page-sections{padding-bottom:var(--case-mobile-space)}.case-page-sections>.case-section+.case-section,.case-page-sections>.case-section--case-text+.case-section--full-image,.case-page-sections>.case-section--full-image+.case-section--case-text{margin-top:var(--case-mobile-space)}}.case-gallery{grid-template-columns:1fr;gap:24px;display:grid}.case-gallery-item{background:color-mix(in srgb, var(--bg-page) 84%, var(--divider));aspect-ratio:925/664;margin:0;position:relative;overflow:hidden}.case-gallery--single .case-gallery-item{aspect-ratio:925/664}.case-stats-grid{gap:24px;display:grid}.case-stat-card{background:color-mix(in srgb, var(--bg-page) 84%, var(--divider));padding:32px}.case-stat-value{margin:0 0 8px;font-size:clamp(44px,6vw,72px);font-weight:600;line-height:1}.case-stat-label{font-size:var(--text-body-s-size);line-height:var(--text-body-s-line);color:var(--text-muted);margin:0}.case-bullets-list{gap:16px;margin:0;padding-left:24px;display:grid}.case-section--bullets .case-section-title{margin:0 0 var(--space-12);font-size:var(--text-body-s-size);line-height:var(--text-body-s-line);font-weight:600}.case-section--bullets .case-bullets-list li{font-size:20px;font-weight:400;line-height:24px}.case-next{padding-bottom:clamp(80px,44.571px + 3.571vw,96px)}.case-next-link{font-size:var(--text-h2-size);line-height:var(--text-h2-line);text-underline-offset:4px;margin-top:12px;text-decoration:underline;display:inline-block}@media (min-width:992px){.case-page-hero{padding-top:40px}.case-page-hero .project{grid-template-columns:var(--grid-left-col) minmax(0, 1fr);gap:var(--space-40) var(--grid-gutter);grid-template-areas:"meta meta""visual visual";align-items:start}.case-page-hero .case-card-meta{grid-template-columns:var(--grid-left-col) minmax(0, 1fr);row-gap:var(--space-24);column-gap:var(--grid-gutter);grid-template-areas:"title description"".details";align-items:start}.case-page-hero .case-card-summary{display:contents}.case-page-hero .case-card-title{font-size:var(--text-h1-size);line-height:var(--text-h1-line);grid-area:title;margin:0}.case-page-hero .case-card-description{grid-area:description;justify-self:stretch;width:100%;max-width:none;margin:0}.case-page-hero .case-card-details{align-items:flex-start;gap:var(--space-16) var(--space-56);flex-flow:wrap;grid-area:details;display:flex}.case-page-hero .case-card-detail{flex-direction:column;align-items:flex-start;gap:6px;display:flex}.case-page-hero .case-card-detail-label,.case-page-hero .case-card-detail-value{margin:0}.case-page-hero .project-visual{grid-column:1/-1;justify-self:stretch;margin-top:0;display:block}.case-page-hero .project-visual-card{width:100%;margin:0}.case-section{grid-template-columns:var(--grid-left-col) minmax(0, 1fr);gap:var(--grid-gutter)}.case-section--case-text .case-text,.case-section--right-image .case-right-image-wrap{grid-column:2}.case-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.case-gallery--single{grid-template-columns:1fr}.case-stats-grid{grid-column:2;grid-template-columns:repeat(2,minmax(0,1fr))}.case-next{grid-template-columns:var(--grid-left-col) minmax(0, 1fr);display:grid}.case-next-link,.case-next-kicker{grid-column:2}}.experience-section{width:100%;max-width:var(--grid-max);padding:0 var(--page-padding) clamp(80px, calc(44.571px + 3.571vw), 96px);margin:0 auto}.experience-list{border-top:1px solid color-mix(in srgb, var(--divider) 45%, transparent)}.experience-row{border-bottom:1px solid color-mix(in srgb, var(--divider) 45%, transparent);gap:32px;padding:36px 0;display:grid}.experience-company{flex-direction:column;gap:2px;min-width:0;display:flex}.experience-company-name{font-size:var(--text-h2-size);line-height:var(--text-h2-line);letter-spacing:0;color:var(--text);margin:0;font-weight:500}.experience-company-role{color:var(--text-muted);margin:0;font-size:20px;font-weight:400;line-height:27px}.experience-projects{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px 48px;min-width:0;display:grid}.experience-project{min-width:0}.experience-project-title{font-size:var(--text-h2-fluid-size);line-height:var(--text-h2-fluid-line);letter-spacing:0;color:var(--text);text-wrap:balance;margin:0 0 2px;font-weight:400}.experience-project-date{color:var(--text-soft);margin:0;font-size:20px;font-weight:400;line-height:27px}@media (min-width:992px){.experience-row{grid-template-columns:var(--grid-left-col) minmax(0, 1fr);gap:var(--grid-gutter);padding:40px 0 36px}.experience-projects{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:767px){.experience-projects{grid-template-columns:1fr;gap:24px}}.footer{background:var(--footer-bg);color:var(--footer-text);padding:clamp(3rem, 8vw, 5rem) var(--page-padding)}.footer a:hover{opacity:.85}.footer-inner{width:100%;max-width:var(--grid-max);margin:0 auto}.footer-content{gap:40px;display:grid}.footer-title{font-size:var(--text-h2-size);line-height:var(--text-h2-line);letter-spacing:0;margin:0;font-weight:400}.footer-contact{color:inherit;flex-direction:column;gap:4px;min-width:0;display:flex}.footer-contact-label{font-size:var(--text-body-s-size);line-height:var(--text-body-s-line);color:var(--footer-text);font-weight:400}.footer-contact-value{font-size:var(--text-body-s-size);line-height:var(--text-body-s-line);color:#ffffff8c;font-weight:400}.footer-links{gap:24px;display:grid}.footer-bottom{font-size:var(--text-body-s-size);line-height:var(--text-body-s-line);color:var(--footer-text);gap:24px;display:grid}@media (min-width:992px){.footer-content{grid-template-columns:var(--grid-left-col) minmax(0, 1fr);gap:0}.footer-title{grid-column:2;margin-bottom:40px}.footer-bottom{grid-column:2;grid-template-columns:minmax(0,1fr) max-content;justify-content:space-between;align-items:end;column-gap:32px}.footer-links{align-items:flex-start;gap:80px;display:flex}.footer-copy{white-space:nowrap;justify-self:end}}.footer-copy{font-size:var(--text-body-s-size);line-height:var(--text-body-s-line);color:#ffffff8c;font-weight:400}@media (max-width:991px){.footer{padding-bottom:calc(clamp(3rem, 8vw, 5rem) + 24px + env(safe-area-inset-bottom,0px))}}
