@font-face{font-family:IBM Plex Sans;src:url(/fonts/IBMPlexSans-Regular.woff2) format("woff2");font-weight:400;font-display:swap}@font-face{font-family:IBM Plex Sans;src:url(/fonts/IBMPlexSans-Medium.woff2) format("woff2");font-weight:500;font-display:swap}@font-face{font-family:IBM Plex Sans;src:url(/fonts/IBMPlexSans-SemiBold.woff2) format("woff2");font-weight:600;font-display:swap}:root{color-scheme:dark;--background: #0b0d12;--surface: #141821;--border: #2a303a;--text: #e8ecf2;--muted: #a6aebb;--accent: #8b7bff;--font: "IBM Plex Sans", system-ui, sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:35px}body{margin:0;background:var(--background);color:var(--text);font:400 17px/1.7 var(--font)}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font:500 46px/1.15 var(--font);letter-spacing:-.028em}h3{font-size:28px}p{color:var(--muted)}a{color:inherit;text-decoration:none}img{display:block;max-width:100%;height:auto}button{font:inherit}a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:5px}::selection{background:var(--accent);color:var(--background)}main{overflow-x:clip}.shell{width:min(1170px,calc(100% - 96px));margin-inline:auto}.skip{position:fixed;top:-80px;left:20px;z-index:10;padding:12px 20px;background:var(--accent);color:var(--background)}.skip:focus{top:10px}.navigation{height:90px;display:flex;justify-content:space-between;align-items:center}.identity img{width:165px;height:auto}.navigation nav{display:flex;gap:33px}.navigation nav a{font-size:14px;color:var(--muted)}.navigation nav a:hover{color:var(--accent)}.menu-button,.mobile-menu[hidden]{display:none}.mobile-menu{display:grid;gap:18px;padding-block:20px}.intro{display:grid;grid-template-columns:1.15fr 1fr;gap:100px;padding-block:75px 130px;align-items:center}.personal-intro{font-size:15px;line-height:1.6;color:var(--muted);margin-bottom:30px}.intro h1{font-size:clamp(43px,4.6vw,64px);line-height:1.08;font-weight:500;letter-spacing:-.035em}.intro-description{font-size:17px;max-width:400px;margin-top:26px;line-height:1.8}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:40px;background:var(--accent);color:var(--background);padding:15px 20px;font-size:15px;font-weight:500;border-radius:4px;white-space:nowrap;transition:background .2s}.button:hover{background:#aa9dff}.button span{font-size:23px;line-height:1}.intro .button{margin-top:31px}.intro-figure{max-width:415px;margin-left:auto;width:100%}.intro-figure>img{width:100%;aspect-ratio:1.1;object-fit:cover;object-position:50% 24%}.intro-figure figcaption{display:flex;align-items:center;justify-content:space-between;gap:25px;border-bottom:1px solid var(--border);height:95px}.intro-figure figcaption p{font-size:12px;line-height:1.65}.brand-motion{position:relative;width:140px;height:95px;flex-shrink:0;isolation:isolate}.motion-stage{position:absolute;left:0;top:50%;width:140px;height:140px;transform:translateY(-50%);opacity:0}.motion-stage svg{width:100%;height:100%;display:block}.motion-fallback{position:absolute;width:122px;height:auto;left:9px;top:50%;transform:translateY(-50%)}.brand-motion[data-ready=true] .motion-stage{opacity:1}.brand-motion[data-ready=true] .motion-fallback{opacity:0}.project-section{display:grid;grid-template-columns:1fr 1.5fr;gap:95px;padding-block:40px 140px}.project-heading-inner{max-width:320px}.project-heading h2{font-size:38px}.project-heading p{font-size:15px;line-height:1.8;margin-top:25px}.project-heading nav{display:grid;gap:14px;margin-top:35px}.project-heading nav a{display:flex;align-items:center;justify-content:space-between;font-size:14px;width:230px;padding-bottom:10px;border-bottom:1px solid var(--border)}.project-heading nav a span{color:var(--accent)}.project-heading nav a:hover{color:var(--accent)}.project-entry{scroll-margin-top:70px}.project-entry+.project-entry{margin-top:65px}.project-image{display:block;overflow:hidden;background:var(--surface)}.project-image>img{width:100%;aspect-ratio:1.5;object-fit:cover;object-position:top;transition:transform .5s}.project-image:hover>img{transform:scale(1.025)}.project-name{display:flex;justify-content:space-between;align-items:center;margin-top:25px;gap:20px}.project-name h3{font-size:28px}.arrow-link{font-size:24px;line-height:1;color:var(--accent);width:35px;height:35px;display:grid;place-items:center}.project-role{font-size:13px;color:var(--accent);margin-top:9px}.project-summary{font-size:15px;margin-top:14px;max-width:510px;line-height:1.8}.clients{padding-block:70px 100px;border-top:1px solid var(--border)}.clients h2{margin-bottom:14px}.clients-intro{margin-bottom:40px}.client-list{list-style:none;margin:0;padding:0}.client{display:grid;grid-template-columns:270px 1fr auto;align-items:center;gap:40px;padding-block:32px;border-bottom:1px solid var(--border)}.client-logo{display:flex;align-items:center;height:100px}.client-logo img{max-height:100%;width:auto;max-width:100%;object-fit:contain;object-position:left center}.client h3{font-size:23px;line-height:1.3}.client .client-work{margin-top:10px;color:var(--text);font-size:15px}.client p{margin-top:6px;font-size:15px;max-width:520px}@media (max-width: 768px){.client{grid-template-columns:1fr;gap:18px}.client-logo{height:64px}}.services{padding-block:70px 140px;border-top:1px solid var(--border)}.services h2{margin-bottom:50px}.service{border-bottom:1px solid var(--border);padding-block:26px}.service summary{display:grid;grid-template-columns:1fr 1fr 24px;align-items:center;gap:30px;cursor:pointer;list-style:none;font-size:23px;line-height:1.3}.service summary::-webkit-details-marker{display:none}.service-kind{font-size:14px;color:var(--muted)}.disclosure{position:relative;width:22px;height:22px}.disclosure:before,.disclosure:after{content:"";position:absolute;background:var(--accent);height:1px;width:16px;left:3px;top:10px}.disclosure:after{transform:rotate(90deg);transition:transform .2s}.service[open] .disclosure:after{transform:rotate(0)}.service p{margin-top:23px;max-width:610px;font-size:16px;line-height:1.8}.about{padding-block:80px 140px}.about h2{max-width:1000px;font-size:clamp(35px,4.1vw,53px);line-height:1.25}.about-body{display:grid;grid-template-columns:1fr 1fr;gap:100px;margin-top:48px}.about-body>p{font-size:23px;line-height:1.55;letter-spacing:-.015em;color:var(--text);max-width:450px}.about-body>div p{font-size:16px;line-height:1.85}.about-body>div p+p{margin-top:23px}.text-link{display:inline-flex;align-items:center;gap:25px;font-size:14px;border-bottom:1px solid #646875;padding-bottom:7px;width:fit-content}.text-link span{color:var(--accent);font-size:20px}.text-link:hover{color:var(--accent);border-color:var(--accent)}.about-body .text-link{margin-top:28px}.contact{display:grid;grid-template-columns:1.1fr 1fr;gap:100px;padding-block:75px 100px;border-top:1px solid var(--border)}.contact h2{font-size:clamp(38px,4vw,55px)}.contact-copy>p{font-size:17px;max-width:380px;margin-bottom:27px}.email{display:block;color:var(--muted);font-size:13px;margin-top:20px;overflow-wrap:anywhere;width:fit-content}.email:hover{color:var(--accent)}.contact-copy .text-link{margin-top:35px}.footer{display:flex;justify-content:space-between;align-items:center;gap:30px;border-top:1px solid var(--border);padding-block:28px}.footer p,.footer nav a{font-size:12px;color:var(--muted)}.footer nav{display:flex;gap:22px}.footer nav a:hover{color:var(--accent)}.case-page{padding-block:50px 100px}.case-page header{padding-block:45px}.case-page h1{font-size:clamp(45px,5vw,65px);margin-top:15px}.case-page header>p:last-child{font-size:20px;max-width:650px;margin-top:22px}.case-image{width:100%;max-height:700px;object-fit:cover;object-position:top}.case-story{display:grid;grid-template-columns:1fr 1.6fr;gap:90px;margin-top:60px}.case-story h2{font-size:29px;margin-bottom:20px}.case-story p{font-size:16px;line-height:1.85}.case-story aside .text-link{margin-top:25px}.case-story section+section{margin-top:40px}.blog-index{padding-block:50px 120px}.blog-index h1{font-size:clamp(45px,5vw,65px)}.blog-lead{font-size:20px;max-width:650px;margin-top:22px}.post-list{list-style:none;margin:60px 0 0;padding:0;border-top:1px solid var(--border)}.post-item a{display:block;max-width:760px;padding-block:36px;border-bottom:1px solid var(--border);transition:color .2s}.post-item time,.post-date{font-size:13px;color:var(--accent)}.post-item h2{font-size:28px;margin-top:8px}.post-item p{margin-top:12px;font-size:16px}.post-meta{display:inline-block;margin-top:16px;font-size:14px;color:var(--muted)}.post-item a:hover h2{color:var(--accent)}.post{padding-block:50px 120px}.post header{padding-block:45px 20px;max-width:760px}.post h1{font-size:clamp(38px,4.6vw,56px);margin-top:15px}.post header>p:last-child{font-size:20px;margin-top:22px}.post-cover,.post-thumb{width:100%;height:auto;aspect-ratio:1200 / 630;object-fit:cover;border:1px solid var(--border)}.post-cover{max-width:900px;margin-top:30px}.post-thumb{margin-bottom:24px}.tool-grid{list-style:none;display:flex;flex-wrap:wrap;gap:10px;margin:28px 0 8px!important;padding:0!important}.tool-grid li{display:flex;align-items:center;gap:14px;flex:1 1 150px;margin:0!important;padding:18px 20px;border:1px solid var(--border);color:var(--text);font-size:15px!important;line-height:1.3!important}.tool-grid img{width:28px;height:28px;flex-shrink:0}.tool-logo{margin-top:22px!important}.tool-logo img{width:56px;height:56px}.post-body figure{margin:44px 0}.post-body figure img{width:100%;height:auto;border:1px solid var(--border)}.post-body figcaption{margin-top:12px;font-size:14px;line-height:1.6;color:var(--muted)}.post-body{max-width:700px;margin-top:40px}.post-body h2{font-size:29px;margin:56px 0 18px}.post-body h3{font-size:21px;margin:34px 0 10px}.post-body p,.post-body li{font-size:17px;line-height:1.85}.post-body p{margin-top:18px}.post-body ul,.post-body ol{margin:18px 0 0;padding-left:22px;color:var(--muted)}.post-body li+li{margin-top:8px}.post-body strong{color:var(--text);font-weight:600}.post-body code{font-size:.92em;color:var(--text)}.post-cta{max-width:700px;margin-top:80px;padding-top:40px;border-top:1px solid var(--border)}.post-cta h2{font-size:29px}.post-cta p{margin:14px 0 28px}@media (max-width: 1024px){.shell{width:calc(100% - 64px)}.intro{gap:60px;padding-block:55px 95px}.intro h1{font-size:49px}.project-section{gap:50px}.project-heading h2{font-size:33px}.about-body,.contact{gap:60px}}@media (max-width: 768px){.shell{width:calc(100% - 40px)}.navigation{height:74px}.identity img{width:145px}.navigation nav{display:none}.menu-button{display:block;border:0;background:none;color:var(--text);font-size:14px;padding:12px 0 12px 20px}.intro{grid-template-columns:1fr;gap:40px;padding-block:45px 75px}.personal-intro{font-size:14px;margin-bottom:24px}.intro h1{font-size:clamp(43px,8.5vw,57px)}.intro-description{font-size:16px;max-width:480px}.intro-figure{max-width:520px;margin:0}.intro-figure>img{aspect-ratio:1.3}.intro-figure figcaption{height:85px}.project-section{grid-template-columns:1fr;gap:40px;padding-block:25px 80px}.project-heading-inner{max-width:550px}.project-heading h2{font-size:34px}.project-heading nav{display:none}.project-entry+.project-entry{margin-top:45px}.project-image>img{aspect-ratio:1.5}.project-name h3{font-size:26px}.project-role{font-size:12px}.project-summary{font-size:15px}.services{padding-block:55px 65px}.services h2{font-size:36px;margin-bottom:25px}.service{padding-block:23px}.service summary{grid-template-columns:1fr 22px;gap:14px;font-size:22px}.service-kind{grid-row:2;grid-column:1;font-size:13px}.disclosure{grid-column:2;grid-row:1/3}.service p{font-size:15px;line-height:1.85}.about{padding-block:45px 80px}.about h2{font-size:35px}.about h2 br{display:none}.about-body{grid-template-columns:1fr;gap:26px;margin-top:30px}.about-body>p{font-size:22px;max-width:550px}.about-body>div p{font-size:15px}.contact{grid-template-columns:1fr;gap:30px;padding-block:50px 65px}.contact h2{font-size:39px}.contact-copy>p{font-size:16px}.footer{flex-direction:column;align-items:flex-start;gap:18px}.footer nav{gap:20px;flex-wrap:wrap}.footer nav a{font-size:11px}.case-page{padding-block:35px 65px}.case-page header{padding-block:30px}.case-page header>p:last-child{font-size:18px}.case-story{grid-template-columns:1fr;gap:40px;margin-top:40px}}@media (max-width: 380px){.intro h1{font-size:40px}.intro-figure figcaption p{font-size:10px}.brand-motion{width:125px}.motion-stage{width:125px;height:125px}.motion-fallback{width:110px}.about h2{font-size:30px}}@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}.motion-stage{display:none}.motion-fallback{opacity:1!important}}
