@font-face{font-family:calSans;src:url(../media/CalSans_Latin_Regular-s.p.10iou9a2jr0qd.woff2)format("woff2");font-display:swap;font-weight:400;font-style:normal}@font-face{font-family:calSans Fallback;src:local(Arial);ascent-override:98.6%;descent-override:29.58%;line-gap-override:0.0%;size-adjust:101.42%}.calsans_254b7a9c-module__QPmXJq__className{font-family:calSans,calSans Fallback;font-style:normal;font-weight:400}.calsans_254b7a9c-module__QPmXJq__variable{--font-display:"calSans", "calSans Fallback"}
@font-face{font-family:albertSans;src:url(../media/AlbertSans_Latin_Variable-s.p.1swkul-pmblcp.woff2)format("woff2");font-display:swap;font-weight:400 700;font-style:normal}@font-face{font-family:albertSans;src:url(../media/AlbertSans_Latin_Italic_Variable-s.p.3nubrh-067j8j.woff2)format("woff2");font-display:swap;font-weight:400 700;font-style:italic}@font-face{font-family:albertSans Fallback;src:local(Arial);ascent-override:91.32%;descent-override:24.03%;line-gap-override:0.0%;size-adjust:104.03%}.albertsans_99119bb-module__iB3gfq__className{font-family:albertSans,albertSans Fallback}.albertsans_99119bb-module__iB3gfq__variable{--font-body:"albertSans", "albertSans Fallback"}
:root{--bg:#fff;--fg:#10151c;--body:#35404d;--muted:#647080;--line:#e2e5e9;--surface:#f4f5f6;--accent:#db5806;--accent-text:#c14d05;--orange:#ff7a1a;--page-pad:clamp(28px, 5.55vw, 88px);--desktop-nav-bottom:32px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}html[data-theme=dark]{--bg:#10151c;--fg:#f2f5f8;--body:#d4dce6;--muted:#a6b1c0;--line:#2c3542;--surface:#1a222d;--accent:#db5806;--accent-text:var(--accent);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html{scroll-behavior:smooth;scrollbar-gutter:stable;scroll-padding-top:110px}body{background:var(--bg);color:var(--fg);font-family:var(--font-body), sans-serif;-webkit-font-smoothing:antialiased;margin:0;font-size:17px;line-height:1.5}body,button,input,textarea{font-kerning:normal}button,input,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit}button:disabled{cursor:wait}a{color:inherit;text-decoration:none}button,a,textarea{touch-action:manipulation}button:focus-visible,a:focus-visible,textarea:focus-visible{outline:2px solid var(--accent);outline-offset:5px}::selection{background:var(--orange);color:#10151c}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:var(--font-display), sans-serif;font-weight:400}img{max-width:100%;display:block}svg{flex-shrink:0}#site-shell{min-height:100svh;overflow:clip}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{z-index:300;background:var(--fg);color:var(--bg);padding:10px 20px;position:fixed;top:12px;left:12px;transform:translateY(-180%)}.skip-link:focus{transform:translateY(0)}.site-header{z-index:40;background:color-mix(in srgb, var(--bg) 62%, transparent);-webkit-backdrop-filter:blur(28px)saturate(150%);backdrop-filter:blur(28px)saturate(150%);border-bottom:1px solid color-mix(in srgb, var(--line) 45%, transparent);height:80px;position:fixed;inset:0 0 auto}.header-inner{max-width:1720px;height:100%;padding:0 var(--page-pad);justify-content:space-between;align-items:center;gap:20px;margin:0 auto;display:flex}.header-actions{align-items:center;gap:10px;display:flex}.header-actions .copy-email{background:0 0}.header-actions .copy-fallback{top:calc(100% + 12px);bottom:auto}.identity{font-family:var(--font-display),sans-serif;letter-spacing:-.01em;align-items:center;gap:12px;font-size:16px;font-weight:400;display:inline-flex}.identity-portrait{border-radius:50%;width:38px;height:38px}.identity-dot{color:var(--accent)}.pull-cord button:focus:not(:focus-visible),.pull-cord button[data-pointer-focus=true]{outline:none}.pull-cord{z-index:60;position:fixed;top:0;right:-17px}.cord-tag-anchor{transform-origin:0 0;position:absolute;top:0;left:0;transform:translate(22px,-20.44px)rotate(-4deg)}.cord-tag-assembly{transform-origin:0 0;position:absolute;top:0;left:0}.cord-tag{border:1px solid var(--line);background:var(--surface);width:max-content;color:var(--body);font-family:var(--font-body),sans-serif;text-align:center;white-space:nowrap;border-radius:4px;align-items:center;gap:6px;padding:8px;font-size:12px;font-weight:500;line-height:16px;display:flex;position:absolute;top:-20px;right:-8px;box-shadow:0 2px 6px #0000000d}@media (max-width:620px){.cord-tag-anchor{transform:translate(22px,3.89px)rotate(-4deg)}.cord-tag-assembly{transform:scale(1.35135)}.cord-tag{top:-28px}}.portfolio-layout{padding:142px var(--page-pad) 0;grid-template-columns:minmax(280px,.88fr) minmax(0,1.84fr);column-gap:clamp(40px,4.1vw,68px);max-width:1720px;margin:0 auto;display:grid}.intro-rail{min-width:0;padding-top:34px}.intro-content{width:100%;max-width:410px}.intro-eyebrow{color:var(--muted);align-items:center;gap:8px;margin-bottom:26px;font-size:12px;display:flex}.intro-eyebrow>span{background:var(--orange);border-radius:50%;width:5px;height:5px}h1{letter-spacing:-.015em;font-size:clamp(28px,2.55vw,40px);font-weight:400;line-height:1.21}.intro-content h1>span{white-space:nowrap;display:block}.accent-period{color:var(--accent)}.intro-summary{max-width:330px;color:var(--body);margin-top:24px;font-size:18px;line-height:1.5}.current-role{color:var(--muted);align-items:flex-start;gap:10px;margin-top:40px;font-size:14px;line-height:1.6;display:flex}.role-marker{background:var(--orange);border-radius:3px;flex-shrink:0;width:5px;height:21px;margin-top:6px}.current-role strong{color:var(--fg);font-weight:600}.text-link{text-decoration:underline;-webkit-text-decoration-color:var(--line);text-decoration-color:var(--line);text-underline-offset:5px;align-items:center;gap:8px;transition:color .2s,text-decoration-color .2s;display:inline-flex}.text-link:hover{color:var(--accent-text);-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent)}.content-stream{min-width:0;padding-top:0}.section-kicker{color:var(--muted);justify-content:space-between;gap:20px;margin:0 0 20px;font-size:12px;line-height:1.4;display:flex}.section-kicker>span:first-child{color:var(--fg)}.projects-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-flow:dense;gap:46px 22px;display:grid}.card-perspective{width:100%}.card-tilt,.card-item{transition:transform .35s ease-out}.project-link{display:block}.project-image{aspect-ratio:6/5;background:var(--surface);border-radius:16px;position:relative;overflow:hidden}.project-artwork{object-fit:cover}.project-system-artwork{width:100%;height:100%;display:block}.project-image-contain{background:#1a44d2}.project-image-contain .project-artwork{object-fit:contain}.project-hover-overlay{opacity:0;pointer-events:none;background:#00000047;place-items:center;transition:opacity .3s;display:grid;position:absolute;inset:0}.project-logo{object-fit:contain;filter:brightness(0)invert()drop-shadow(0 2px 8px #001a4d40);width:56%;max-width:240px;height:auto;max-height:24%}.project-logo-dealsafe{width:70%;max-width:300px}.project-image:hover .project-hover-overlay,.project-link:focus-visible .project-hover-overlay,.next-project:focus-visible .project-hover-overlay{opacity:1}@media (hover:none){.project-image:hover .project-hover-overlay{opacity:0}}.project-hero-phone{aspect-ratio:87/167;pointer-events:none;filter:drop-shadow(0 1px 18px #0003);height:166.67%;position:absolute;top:23%;left:50%;transform:translate(-50%)}.project-phone-screen{background:#1a44d2;border-radius:12%/5.6%;width:calc(77.6776% + 2px);height:calc(89.628% + 2px);position:absolute;top:calc(4.2841% - 1px);left:calc(11.0485% - 1px);overflow:hidden}.project-phone-screen img{object-fit:cover}.project-phone-frame{clip-path:url(#thumbnail-phone-cutout)}@media (prefers-reduced-motion:reduce){.project-hover-overlay{transition:none}}.project-open{color:#10151c;opacity:0;background:#fff;border-radius:50%;place-items:center;width:38px;height:38px;transition:opacity .25s,transform .25s;display:grid;position:absolute;bottom:14px;right:14px;transform:translateY(6px);box-shadow:0 1px 4px #10151c12}.project-link:hover .project-open,.project-link:focus-visible .project-open{opacity:1;transform:translateY(0)}.project-meta{color:var(--muted);justify-content:space-between;gap:8px;margin:17px 0 6px;font-size:12px;display:flex}.project-meta>span:first-child{color:var(--accent-text)}.project-link h2{letter-spacing:-.01em;font-size:clamp(17px,1.35vw,21px);font-weight:400;line-height:1.4}.work-footnote{color:var(--muted);margin-top:30px;font-size:13px}.section-nav{left:var(--page-pad);bottom:var(--desktop-nav-bottom);z-index:30;background:color-mix(in srgb, var(--bg) 88%, transparent);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);flex-direction:row;gap:32px;padding:8px 14px 8px 0;display:flex;position:fixed}.section-nav a{color:var(--muted);align-items:center;gap:10px;min-height:30px;padding:3px 0;font-size:14px;transition:color .2s;display:flex}.section-nav a:hover,.section-nav a.active{color:var(--fg)}.nav-indicator{background:0 0;border-radius:50%;width:5px;height:5px;transition:background .2s}.section-nav a.active .nav-indicator{background:var(--orange)}.copy-email-floating{bottom:29px;right:var(--page-pad);z-index:35;position:fixed}.copy-email{border:1px solid var(--line);background:var(--bg);border-radius:8px;align-items:center;gap:10px;min-height:44px;padding:11px 15px;font-size:14px;line-height:1.3;transition:border-color .2s;display:inline-flex}.copy-email:hover{border-color:var(--accent)}.copy-email svg{color:var(--muted)}.copy-fallback{border:1px solid var(--line);background:var(--bg);min-width:260px;padding:14px;font-size:14px;position:absolute;bottom:calc(100% + 10px);right:0;box-shadow:0 8px 30px #0001}.copy-fallback a{align-items:center;gap:6px;text-decoration:underline;display:flex}.about-section{padding-top:160px}.about-section .section-kicker{border-top:1px solid var(--line);margin-bottom:58px;padding-top:25px}.about-heading{letter-spacing:-.015em;max-width:700px;font-size:clamp(30px,3vw,44px);font-weight:400;line-height:1.18}.about-heading .word{display:inline}.about-copy{align-items:flex-start;gap:32px;margin-top:42px;display:flex}.about-portrait{border-radius:50%;flex-shrink:0;width:122px;height:122px}.about-copy p{color:var(--body);max-width:540px;margin-bottom:16px;font-size:19px;line-height:1.55}.about-personal{color:var(--muted);max-width:500px;margin:12px 0 0 154px}.practice-block{margin-top:84px}.about-section h3{letter-spacing:0;margin-bottom:26px;font-size:20px}.practice-block>h3,.experience-block>h3,.tools-block>h3{color:var(--accent)}.practice-row{border-top:1px solid var(--line);grid-template-columns:170px 1fr;gap:25px;padding:22px 0;display:grid}.practice-row>span{font-family:var(--font-display),sans-serif;font-size:15px;font-weight:400}.practice-row p{color:var(--body);font-size:17px}.experience-block{margin-top:72px}.experience-row{border-top:1px solid var(--line);justify-content:space-between;align-items:baseline;gap:24px;padding:21px 0;display:flex}.experience-row>div{flex-direction:column;gap:2px;display:flex}.experience-row strong{font-family:var(--font-display),sans-serif;font-size:16px;font-weight:400}.experience-row span,.experience-row time{color:var(--muted);font-size:14px}.experience-row time{text-align:right}.resume-link{margin-top:24px;font-size:15px}.tools-block{margin-top:80px}.tools-block p{color:var(--body);max-width:700px;font-size:20px;line-height:1.9}.tools-block p>span{display:inline}.tool-separator{color:var(--muted);opacity:.6;margin:0 7px;font-weight:400;display:inline-block}.contact-section{border-top:1px solid var(--line);margin-top:150px;padding-top:65px;padding-bottom:124px}.contact-eyebrow{color:var(--muted);margin-bottom:36px;font-size:14px}.contact-section h2{letter-spacing:-.02em;font-size:clamp(40px,4.5vw,68px);font-weight:400;line-height:1.12}.contact-section h2 span{color:var(--accent)}.contact-section>p:not(.contact-eyebrow){color:var(--body);margin-top:28px;font-size:18px}.contact-email{font-family:var(--font-display),sans-serif;letter-spacing:-.01em;border-bottom:1px solid var(--line);align-items:center;gap:20px;margin-top:38px;padding-bottom:6px;font-size:clamp(20px,2.2vw,32px);font-weight:400;transition:color .2s;display:inline-flex}.contact-email:hover{color:var(--accent)}.contact-email svg{width:27px;height:27px}.contact-actions{align-items:center;gap:28px;margin-top:22px;font-size:14px;display:flex}.copy-email-inline{position:relative}.contact-actions .copy-email{background:0 0;border:0;border-radius:8px;padding:5px 16px}.contact-section footer{color:var(--muted);justify-content:space-between;gap:20px;margin-top:90px;font-size:12px;display:flex}.blinds-transition{z-index:200;visibility:hidden;pointer-events:none;grid-template-rows:repeat(16,1fr);display:grid;position:fixed;inset:0}.blind-slat{height:calc(100% + 1px);transform:scaleY(0)}html[data-theme-reveal]::view-transition{pointer-events:none}html[data-theme-reveal]::view-transition-group(root){animation:none}html[data-theme-reveal]::view-transition-old(root){animation:none}html[data-theme-reveal]::view-transition-new(root){animation:none}html[data-theme-reveal]::view-transition-image-pair(root){isolation:isolate}html[data-theme-reveal]::view-transition-old(root){mix-blend-mode:normal;opacity:1}html[data-theme-reveal]::view-transition-new(root){mix-blend-mode:normal;opacity:1}html[data-theme-reveal]::view-transition-old(root){z-index:1}html[data-theme-reveal]::view-transition-new(root){z-index:2;clip-path:inset(0 0 100%)}html[data-theme-reveal]::view-transition-group(theme-blinds){z-index:3;animation:none}html[data-theme-reveal]::view-transition-old(theme-blinds){animation:none;display:none}html[data-theme-reveal]::view-transition-new(theme-blinds){mix-blend-mode:normal;clip-path:inset(0 0 100%);animation:none}.theme-blinds-foreground{z-index:230;pointer-events:none;background:var(--bg);opacity:0;position:fixed;inset:0}.theme-blinds-foreground[data-fallback]{opacity:1;clip-path:inset(0 0 100%)}.theme-snapshot{z-index:200;contain:layout paint;pointer-events:none;background:var(--bg);color:var(--fg);position:fixed;inset:0;overflow:hidden}.theme-snapshot-content{min-height:100svh;position:absolute;overflow:clip}.theme-snapshot *{pointer-events:none!important;transition:none!important;animation:none!important}html[data-theme-reveal] .pull-cord{z-index:220}.case-page{max-width:1720px;padding:104px var(--page-pad) 44px;margin:0 auto}.case-heading{margin:0}.case-category{color:var(--muted);gap:12px;margin-bottom:16px;font-size:14px;display:flex}.case-category span{color:var(--accent)}.case-page h1{text-wrap:balance;max-width:1000px;font-size:clamp(38px,4.3vw,60px);line-height:1.08}.case-deck{color:var(--body);text-wrap:pretty;max-width:680px;margin-top:20px;font-size:22px;line-height:1.5}.case-hero{background:var(--surface);border-radius:16px;overflow:hidden}.case-hero-system-showcase{aspect-ratio:1672/936;isolation:isolate;background:#1a44d2;align-items:center;min-height:480px;display:flex;position:relative}.case-hero-system-showcase>img{object-fit:cover;object-position:center;z-index:-2;width:100%;height:100%;position:absolute;inset:0}.case-hero-system-showcase .case-heading{color:#fff;align-self:flex-start;width:44%;padding:clamp(110px,12vw,180px) clamp(24px,3vw,48px) 32px}.case-hero-system-showcase h1{font-size:clamp(34px,3.5vw,52px)}.case-hero-system-showcase .case-category{color:#e6edff;flex-wrap:wrap}.case-hero-system-showcase .case-category span{color:#b0f01d}.case-hero-system-showcase .case-deck{color:#f1f5fd;max-width:32ch;font-size:18px}@media (max-width:700px){.case-hero-system-showcase{aspect-ratio:auto;align-items:flex-end;min-height:640px}.case-hero-system-showcase>img{object-position:76% top}.case-hero-system-showcase:after{content:"";z-index:-1;background:linear-gradient(#0000 15%,#1a44d210 30%,#1a44d2f5 55%,#1a44d2 70%);position:absolute;inset:0}.case-hero-system-showcase .case-heading{align-self:flex-end;width:100%;padding:28px 24px}.case-hero-system-showcase .case-deck{font-size:18px}}.case-hero-integrated{isolation:isolate;background:#12378b;align-items:stretch;height:min(680px,100svh - 128px);display:flex;position:relative}.case-hero-integrated>img{object-fit:cover;object-position:center;z-index:-2;width:100%;height:100%;position:absolute;inset:0}.case-hero-integrated:before{content:"";z-index:-1;-webkit-backdrop-filter:blur(8px);pointer-events:none;background:linear-gradient(90deg,#07162ef2 0%,#07162ee8 63%,#0000 100%);width:90%;position:absolute;inset:0 auto 0 0;-webkit-mask-image:linear-gradient(90deg,#000 0% 82%,#0000 100%);mask-image:linear-gradient(90deg,#000 0% 82%,#0000 100%)}.case-hero-integrated .case-heading{color:#fff;flex-direction:column;justify-content:flex-end;align-items:flex-start;width:min(76%,800px);padding:clamp(24px,4.6vw,66px);display:flex}.case-heading-content{isolation:isolate;width:100%;position:relative}.case-hero-integrated:not(.case-hero-dealsafe-ai):before{display:none}.case-hero-integrated:not(.case-hero-dealsafe-ai) .case-heading-content:before{content:"";z-index:-1;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);pointer-events:none;background:#07162e99;border-radius:20px;position:absolute;inset:-26px -58px -26px -30px;-webkit-mask-image:linear-gradient(90deg,#000 0% 78%,#0000 100%);mask-image:linear-gradient(90deg,#000 0% 78%,#0000 100%)}.case-hero-integrated .case-category{color:#e5ecfb}.case-hero-integrated .case-category span{color:#ff8a3b}.case-hero-integrated .case-deck{color:#f4f6fc}.case-hero-integrated:not(.case-hero-dealsafe-ai) .case-deck{max-width:620px}.case-hero-dealsafe-ai:before{display:none}.case-hero-dealsafe-ai .case-heading{color:#10151c;justify-content:center;width:min(57%,650px);padding:clamp(24px,3vw,42px)}.case-hero-dealsafe-ai .case-category,.case-hero-dealsafe-ai .case-deck{color:#10151c}.case-hero-dealsafe-ai .case-deck{font-size:clamp(18px,1.65vw,22px)}.case-hero-capitec-design-system>img{object-position:center 43%}.case-details{border-bottom:1px solid var(--line);grid-template-columns:repeat(4,minmax(0,1fr));gap:28px;margin:0;padding:38px 0 42px;font-size:15px;display:grid}.case-details dt{color:var(--muted);margin-bottom:9px;font-size:13px}.case-details dd{max-width:240px;margin:0}.case-overview{grid-template-columns:1fr 2fr;gap:48px;padding:76px 0 0;display:grid}.case-page h2{letter-spacing:-.015em;text-wrap:balance;font-size:30px;line-height:1.2}.case-overview-copy{max-width:750px}.case-overview-visuals{margin-top:48px}.case-overview-copy>div{margin-top:24px}.case-overview h3{margin-bottom:6px;font-size:19px}.case-overview p,.case-chapter-copy p,.case-outcome p{color:var(--body);text-wrap:pretty;font-size:18px;line-height:1.65}.case-chapter{margin-top:100px}.case-chapter-copy{grid-template-columns:40px 1fr;gap:20px;max-width:820px;margin:0 auto 36px;display:grid}.case-chapter-number{color:var(--muted);font-variant-numeric:tabular-nums;font-size:13px;line-height:36px}.case-chapter-copy h2{margin-bottom:18px}.case-chapter-copy p+p{margin-top:14px}.case-chapter-copy p.case-note{color:var(--muted);font-size:14px;line-height:1.6}.case-gallery{align-items:start;gap:24px;display:grid}.case-gallery-pair{grid-template-columns:repeat(2,minmax(0,1fr));align-items:center}.case-gallery-screens{grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(18px,4vw,60px);max-width:940px;margin:0 auto}.case-gallery-screens .case-figure{justify-self:center;width:100%;max-width:290px}.case-figure{min-width:0;margin:0}.case-image-frame{cursor:zoom-in;background:#f4f5f6;border-radius:16px;display:block;overflow:hidden}.case-image-frame img{width:100%;height:auto}.case-phone-device{--phone-bezel:clamp(5px, .7vw, 8px);width:100%;padding:var(--phone-bezel);background:linear-gradient(135deg,#27323c,#070a0f 35%,#161e29);border-radius:14%/6.5%;overflow:hidden;box-shadow:0 20px 46px #07133332,inset 0 0 0 1px #ffffff63}.case-phone-screen{aspect-ratio:1206/2622;object-fit:cover;background:#f4f6fa;border-radius:13%/6%;width:100%;height:auto;display:block;overflow:hidden}.case-phone-device:focus-within{outline:2px solid var(--accent);outline-offset:4px}.case-gallery-wide .case-image-frame img{object-fit:contain;max-height:820px}.case-figure figcaption{color:var(--muted);margin-top:12px;font-size:13px;line-height:1.5}.case-outcome{border-top:1px solid var(--line);max-width:820px;margin:100px auto 0;padding-top:36px}.case-outcome h2{margin-bottom:20px}.next-project{border-top:1px solid var(--line);grid-template-columns:1fr 290px;align-items:center;gap:32px;margin-top:100px;padding-top:40px;display:grid}.next-project-copy>span{color:var(--muted);align-items:center;gap:12px;font-size:14px;display:inline-flex}.next-project h2{margin:16px 0 10px;transition:color .2s}.next-project p{color:var(--muted);font-size:14px}.next-project-image{min-width:0}.next-project:hover h2{color:var(--accent)}.next-project:hover .project-artwork{transform:scale(1.03)}.case-footer{border-top:1px solid var(--line);min-height:30px;color:var(--muted);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:24px;margin-top:90px;padding-top:28px;font-size:12px;display:flex}.not-found{min-height:100svh;padding:220px var(--page-pad)}.not-found h1{margin:20px 0 30px}@media (min-width:1720px){.section-nav{left:calc(50vw - 772px)}}@media (min-width:1000px){.intro-content h1{font-size:32px}}@media (min-width:1000px) and (prefers-reduced-motion:reduce){.intro-content{position:sticky;top:150px}}@media (max-height:720px) and (min-width:1000px){.intro-content h1{font-size:32px}.current-role{margin-top:22px}.intro-eyebrow{margin-bottom:16px}.intro-summary{margin-top:18px}:root{--desktop-nav-bottom:15px}}@media (max-width:1199px) and (min-width:1000px){.portfolio-layout{grid-template-columns:minmax(270px,.9fr) minmax(0,1.7fr);column-gap:40px}.intro-content h1{font-size:32px}.project-meta{font-size:11px}.project-link h2,.intro-summary{font-size:17px}.practice-row{grid-template-columns:140px 1fr}.about-copy{gap:22px}.about-portrait{width:100px;height:100px}.about-personal{margin-left:122px}}@media (max-width:999px){:root{--page-pad:36px}.pull-cord{right:-27px}.portfolio-layout{padding-top:144px;display:block}.intro-rail{padding-top:0;padding-bottom:70px}.intro-content{max-width:none}.intro-content h1{font-size:40px}.intro-content h1>span{white-space:normal;display:inline}.intro-content h1>span+span:before{content:" "}.intro-summary{max-width:none;font-size:20px}.intro-eyebrow{margin-bottom:20px}.current-role{margin-top:26px}.section-nav{padding:13px var(--page-pad);border-top:1px solid var(--line);flex-direction:row;gap:24px;height:66px;bottom:0;left:0;right:0}.section-nav a{padding:6px 0}.copy-email-floating{bottom:11px;right:var(--page-pad)}.copy-email-floating .copy-email{border-color:#0000}.about-section{padding-top:100px}.about-heading{font-size:42px}.contact-section h2{font-size:60px}.project-link h2{font-size:22px}.project-meta{font-size:13px}.case-page{padding-top:96px;padding-bottom:44px}.case-hero-integrated{height:min(680px,100svh - 112px)}.case-hero-integrated:before{width:100%}.case-hero-dealsafe-ai>img{object-position:32% center}.case-details{grid-template-columns:repeat(2,minmax(0,1fr))}.case-overview{grid-template-columns:1fr;gap:24px}.case-footer-nav{width:100%}}@media (max-width:620px){:root{--page-pad:22px}html{scroll-padding-top:96px}.header-inner{gap:12px}.header-actions{gap:6px}.header-actions .copy-email{justify-content:center;padding:10px 12px;font-size:12px}.header-actions .copy-fallback{right:0}.identity{gap:8px;font-size:14px}.identity-portrait{width:31px;height:31px}.pull-cord{transform-origin:top;right:-30px;transform:scale(.74)}.portfolio-layout{padding-top:142px}.intro-eyebrow{font-size:11px}.intro-content h1{letter-spacing:-.015em;font-size:32px}.intro-summary{max-width:none;font-size:18px}.current-role{font-size:13px}.intro-rail{padding-bottom:64px}.projects-grid{grid-template-columns:1fr;gap:35px}.project-open{opacity:1;width:32px;height:32px;transform:none}.project-meta{margin-top:15px;font-size:12px}.project-link h2{font-size:21px}.work-footnote{max-width:285px;font-size:13px}.section-nav{padding:11px 18px max(11px,env(safe-area-inset-bottom));height:calc(66px + env(safe-area-inset-bottom));gap:15px}.section-nav a{gap:6px;font-size:12px}.copy-email-floating{right:14px;bottom:calc(11px + env(safe-area-inset-bottom))}.copy-email-floating .copy-email{gap:7px;padding:9px 4px;font-size:12px}.copy-email-floating .copy-email svg{width:13px}.about-section{padding-top:88px}.about-section .section-kicker{margin-bottom:38px}.about-heading{font-size:35px}.about-copy{flex-direction:column;gap:25px;margin-top:30px}.about-portrait{width:92px;height:92px}.about-copy p{font-size:18px}.about-personal{margin:8px 0 0;font-size:17px}.practice-block,.experience-block,.tools-block{margin-top:58px}.practice-row{grid-template-columns:1fr;gap:9px;padding:20px 0}.practice-row>span{font-size:16px}.experience-row{gap:12px;padding:18px 0}.experience-row strong{font-size:14px}.experience-row time{padding-top:2px;font-size:12px}.tools-block p{font-size:18px;line-height:1.9}.contact-section{margin-top:95px;padding-top:45px;padding-bottom:125px}.contact-section h2{font-size:47px}.contact-section>p:not(.contact-eyebrow){font-size:17px}.contact-eyebrow{margin-bottom:24px}.contact-email{gap:10px;font-size:24px}.contact-email svg{width:22px}.contact-section footer{margin-top:60px;font-size:11px}.case-page{padding-top:96px}.case-category{gap:8px;font-size:12px}.case-page h1{font-size:36px}.case-deck{margin-top:16px;font-size:19px}.case-hero-integrated .case-heading{width:min(84%,680px)}.case-hero-dealsafe-ai .case-heading{width:min(68%,510px)}.case-details{gap:24px 20px;padding:28px 0;font-size:14px}.case-details dt{font-size:12px}.case-overview{padding-top:45px}.case-page h2{font-size:26px}.case-chapter{margin-top:60px}.case-chapter-copy{grid-template-columns:1fr;gap:8px;margin-bottom:24px}.case-chapter-number{line-height:1.4}.case-gallery-pair{grid-template-columns:1fr;gap:28px}.case-gallery-screens{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 16px}.case-outcome{margin-top:60px;padding-top:28px}.next-project{grid-template-columns:1fr 34%;gap:18px;margin-top:65px;padding-top:28px}.next-project h2{margin:12px 0 8px;font-size:23px}.next-project p{font-size:12px}.case-footer{margin-top:56px;font-size:11px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.card-tilt,.card-item{transform:none!important}}@media (max-width:360px){.identity{gap:6px;font-size:12px}.identity-portrait{width:26px;height:26px}.header-inner{gap:7px}.header-actions{gap:4px}.copy-email-floating .copy-email{justify-content:center;width:42px;height:44px}.copy-email-floating .copy-email .copy-label{display:none}.contact-email{font-size:21px}}.company-marquee{width:100%;max-width:365px;margin-top:38px;position:relative}.company-marquee-window{padding:5px 0;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,#0000,#000 3% 93%,#0000);mask-image:linear-gradient(90deg,#0000,#000 3% 93%,#0000)}.company-marquee-track,.company-marquee-group{align-items:center;width:max-content;display:flex}.company-marquee-group{gap:30px;padding-right:30px}.company-logo{border-radius:5px;flex:none;justify-content:center;align-items:center;min-height:44px;padding:5px 6px;transition:background .2s;display:flex}.company-logo img{object-fit:contain;filter:grayscale();opacity:.32;height:32px;transition:filter .25s,opacity .25s}.company-logo:hover img,.company-logo:focus-visible img{filter:none;opacity:1}html[data-theme=dark] .company-logo:hover,html[data-theme=dark] .company-logo:focus-visible{background:#fff}.company-marquee.is-focused .company-marquee-window,.company-marquee.is-reduced .company-marquee-window{overflow:visible;-webkit-mask-image:none;mask-image:none}.company-marquee.is-focused .company-marquee-track,.company-marquee.is-reduced .company-marquee-track{width:100%;transform:none!important}.company-marquee.is-focused .company-marquee-group,.company-marquee.is-reduced .company-marquee-group{flex-wrap:wrap;gap:12px 20px;width:100%;padding:0}.company-marquee.is-focused .company-marquee-group[aria-hidden],.company-marquee.is-reduced .company-marquee-group[aria-hidden]{display:none}@media (max-width:999px){.company-marquee{max-width:none;margin-top:28px}}@media (max-height:720px) and (min-width:1000px){.company-marquee{margin-top:22px}}.identity,.header-actions .copy-email{white-space:nowrap;flex-shrink:0}.identity-portrait{flex-shrink:0}html[data-theme=dark] .company-logo img{filter:grayscale()invert();opacity:.5}html[data-theme=dark] .company-logo:hover img,html[data-theme=dark] .company-logo:focus-visible img{filter:none;opacity:1}.portrait{isolation:isolate;background:0 0;border:0;border-radius:50%;flex-shrink:0;padding:0;display:block;position:relative;overflow:hidden}.portrait img,.portrait-art{border-radius:inherit;object-fit:cover;width:100%;height:100%;display:block}.portrait img{transition:opacity .18s}.portrait-art{pointer-events:none;opacity:0;transition:opacity .18s;position:absolute;inset:0}.portrait[data-art=true] .portrait-art{opacity:1}.portrait[data-art=true] img{opacity:0}@media (prefers-reduced-motion:reduce){.portrait img,.portrait-art{transition:none}}.copy-email{gap:0;transition:border-color .2s,background-color .2s,color .2s;display:inline-grid}.copy-email-state{white-space:nowrap;pointer-events:none;grid-area:1/1;justify-content:center;align-items:center;gap:10px;transition:opacity .22s,transform .3s cubic-bezier(.2,.8,.2,1),filter .22s;display:inline-flex}.copy-email-idle{opacity:1;filter:blur();transform:translateY(0)}.copy-email-success{opacity:0;filter:blur(4px);color:var(--accent-text);transform:translateY(8px)}.copy-email[data-status=copied] .copy-email-idle{opacity:0;filter:blur(4px);transform:translateY(-8px)}.copy-email[data-status=copied] .copy-email-success{opacity:1;filter:blur();transform:translateY(0)}.copy-email[data-status=copied] .copy-email-success svg{color:currentColor}.copy-email[data-status=copied]{border-color:color-mix(in srgb, var(--accent) 40%, var(--line));background:color-mix(in srgb, var(--accent) 7%, transparent)}@media (min-width:1440px){.intro-content h1{font-size:48px}.section-nav{gap:40px}}@media (min-width:1720px){.section-nav{gap:48px}}.tool-name{isolation:isolate;white-space:nowrap;transition:color .24s;display:inline-block;position:relative}.tool-name:before{content:"";z-index:-1;background:var(--orange);clip-path:inset(0 100% 0 0);border-radius:3px;transition:clip-path .32s cubic-bezier(.2,.75,.25,1);position:absolute;inset:3px -3px}@media (hover:hover){.tool-name:hover{color:#000}.tool-name:hover:before{clip-path:inset(0)}}@media (min-width:1000px){.contact-section{padding-bottom:calc(var(--desktop-nav-bottom) + 8px)}.contact-section footer{align-items:center;min-height:30px}}.blinds-transition[data-transition=page]{pointer-events:auto}.case-footer-nav{align-items:center;gap:28px;font-size:14px;display:flex}.case-footer-nav a{color:var(--muted);padding:10px 0;transition:color .2s}.case-footer-nav a:hover{color:var(--fg)}.side-projects{border-top:1px solid var(--line);margin-top:92px;padding-top:28px}.side-projects-heading{justify-content:space-between;align-items:end;gap:20px;display:flex}.side-projects-eyebrow{color:var(--muted);margin-bottom:14px;font-size:12px}.side-projects-heading h2{letter-spacing:-.02em;font-size:clamp(26px,2.5vw,34px);line-height:1.15}.side-projects-intro{color:var(--muted);max-width:390px;margin-top:16px;font-size:15px}.side-rail-controls,.side-viewer-navigation{align-items:center;gap:8px;display:flex}.side-rail-controls button,.side-viewer-navigation button,.side-viewer-top button{border:1px solid var(--line);background:0 0;border-radius:10px;flex-shrink:0;place-items:center;width:44px;height:44px;padding:0;transition:background .2s,border-color .2s;display:grid}.side-rail-controls button:hover:enabled{background:var(--surface);border-color:var(--muted)}.side-rail-controls button:disabled{opacity:.3;cursor:default}.side-project-rail{--side-rail-bleed:var(--page-pad);scroll-snap-type:x mandatory;scroll-padding-inline:6px var(--side-rail-bleed);overscroll-behavior-x:contain;scrollbar-width:thin;scrollbar-color:var(--line) transparent;padding:6px var(--side-rail-bleed) 18px 6px;margin:28px calc(-1 * var(--side-rail-bleed)) 0 -6px;gap:20px;display:flex;overflow-x:auto}.side-project-card{appearance:none;text-align:left;scroll-snap-align:start;background:0 0;border:0;border-radius:16px;flex:0 0 64%;min-width:0;padding:0}.side-card-art{isolation:isolate;aspect-ratio:4/3;background:var(--surface);border-radius:16px;place-items:center;display:grid;position:relative;overflow:hidden}.dither-field{object-fit:cover;pointer-events:none;width:100%;height:100%;image-rendering:pixelated;z-index:-1;position:absolute;inset:0}.side-card-art:after{content:"";pointer-events:none;background:linear-gradient(120deg,#0000 35%,#ffffff16 50%,#0000 65%);transition:transform .8s cubic-bezier(.22,1,.36,1);position:absolute;inset:-25%;transform:translate(-50%)}.side-project-card:hover .side-card-art:after{transform:translate(50%)}.side-media-phone{aspect-ratio:402/874;background:#12161a;border:0;border-radius:16%/7.36%;padding:0;position:relative;overflow:hidden;box-shadow:inset 0 0 0 1px #889097,0 0 0 2px #343c43,0 0 0 3px #1d252c,6px 22px 42px #0a142b50}.side-media-phone img,.side-media-phone video{object-fit:cover;background:#10151c;border-radius:14.36%/6.44%;width:95.4%;height:97.884%;display:block;position:absolute;inset:1.058% 2.3%}.side-media-phone video{pointer-events:none}.side-media-phone video::-webkit-media-controls{display:none!important}.side-media-phone video::-webkit-media-controls-enclosure{display:none!important}.side-media-phone video::-webkit-media-controls-start-playback-button{display:none!important}.side-card-art .side-media-phone{width:41%;transition:transform .5s cubic-bezier(.22,1,.36,1);position:absolute;top:12%;left:29.5%;transform:rotate(-7deg)}.side-project-card:nth-child(2n) .side-media-phone{transform:rotate(7deg)}.side-project-card:hover .side-media-phone{transform:translateY(-3%)rotate(0)}.side-media-phone.side-media-original{aspect-ratio:1214/2160;box-shadow:none;background:0 0;border:0;border-radius:0}.side-media-phone.side-media-ratio-4-5{aspect-ratio:4/5}.side-media-original img,.side-media-original video{object-fit:contain;background:0 0;border-radius:0;width:100%;height:100%;inset:0}.side-project-card .side-card-art .side-media-original{width:39%;top:3%;left:30.5%;transform:rotate(-7deg)}.side-project-card[data-project-id=gondzo] .side-card-art .side-media-original.side-media-ratio-4-5{width:41%;top:37.2%;left:29.5%;transform:rotate(-7deg)scale(1.706,1.8)}.side-project-card[data-project-id=gondzo]:hover .side-card-art .side-media-original.side-media-ratio-4-5{transform:translateY(-3%)rotate(0)scale(1.706,1.8)}.side-project-card:is([data-project-id=giveloop],[data-project-id=amen-notes]) .side-card-art .side-media-original{width:50.9%;top:8%;left:24.6%;transform:rotate(7deg)}.side-card-open{z-index:2;color:#10151c;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffffed;border:1px solid #ffffff85;border-radius:50%;place-items:center;width:38px;height:38px;display:grid;position:absolute;bottom:14px;right:14px}.side-card-meta{font-family:var(--font-display);justify-content:space-between;align-items:baseline;gap:12px;margin-top:16px;font-size:21px;display:flex}.side-card-meta>span:last-child{font-family:var(--font-body);color:var(--muted);font-size:11px}.side-card-category{color:var(--muted);margin-top:3px;font-size:12px;display:block}.side-project-viewer{color:#f2f5f8;background:0 0;border:0;width:min(1200px,100% - 128px);max-width:none;height:min(980px,100dvh - 80px);max-height:none;margin:auto;padding:0;position:fixed;inset:0;overflow:visible}.side-project-viewer::backdrop{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);opacity:1;background:#050b12b8;transition:opacity .4s cubic-bezier(.22,1,.36,1)}.side-project-viewer[data-motion=entering]::backdrop,.side-project-viewer[data-motion=closing]::backdrop{opacity:0}.side-project-viewer[data-motion=closing]::backdrop{transition-duration:.34s;transition-timing-function:cubic-bezier(.4,0,1,1)}.side-shared-background,.side-shared-phone{will-change:transform}.side-shared-background{box-shadow:0 28px 100px #00000050}.side-shared-background:after{display:none}.side-shared-phone-clip{z-index:4;pointer-events:none;position:fixed;inset:0}.side-viewer-surface{isolation:isolate;background:#17252a;border-radius:16px;grid-template-rows:auto minmax(0,1fr) auto;width:100%;height:100%;display:grid;position:relative;overflow:hidden;box-shadow:0 28px 100px #00000050}.side-project-viewer[data-shared=true] .side-viewer-surface{z-index:1;box-shadow:none;background:0 0}.side-project-viewer[data-shared=true] .side-viewer-surface>.dither-field,.side-project-viewer[data-shared=true] .side-viewer-surface:before{display:none}.side-viewer-surface:before{content:"";z-index:-1;pointer-events:none;background:linear-gradient(#06122260,#0000 30%);position:absolute;inset:0}.side-viewer-fade{pointer-events:none;-webkit-backdrop-filter:blur(28px)saturate(120%);backdrop-filter:blur(28px)saturate(120%);background:linear-gradient(#10151c00,#10151cbb 80%,#10151ce8);height:50%;position:absolute;inset:auto 0 0;-webkit-mask-image:linear-gradient(#0000,#000 75%);mask-image:linear-gradient(#0000,#000 75%)}.side-viewer-top{z-index:2;letter-spacing:.01em;justify-content:space-between;align-items:center;padding:16px 24px 0;font-size:13px;display:flex;position:relative}.side-viewer-top>span{align-items:center;gap:12px;display:flex}.side-viewer-total{opacity:.7}.side-viewer-top button,.side-viewer-navigation button{color:#fff;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#10222d70;border-color:#ffffff45}.side-viewer-top button:hover,.side-viewer-navigation button:hover{background:#263642;border-color:#ffffffc0}.side-project-viewer button:focus-visible,.side-project-viewer a:focus-visible,.side-project-viewer [tabindex]:focus-visible{outline-color:#fff}.side-viewer-stage{z-index:1;justify-content:center;align-items:center;min-width:0;min-height:0;padding:20px 32px 24px;display:flex;position:relative;container-type:size}.side-viewer-stage .side-media-phone{flex-shrink:0;width:auto}.side-viewer-stage>.side-media-phone{height:min(100cqh,217.413cqw)}.side-viewer-stage>.side-media-original{height:min(100cqh,177.924cqw)}.side-viewer-stage>.side-media-original.side-media-ratio-4-5{height:min(100cqh,125cqw)}.side-project-viewer[data-media-format=original] .side-viewer-stage{align-items:flex-end;padding-bottom:0}.side-viewer-bottom{z-index:1;padding:12px 32px 28px;position:relative}.side-viewer-caption{max-width:740px}.side-viewer-category{color:#edf1f5;margin-bottom:8px;font-size:12px}.side-viewer-caption h2{margin-bottom:12px;font-size:clamp(28px,3vw,40px);line-height:1.1}.side-viewer-caption>p#side-viewer-description{color:#f0f3f6;font-size:16px;line-height:1.55}.side-viewer-contribution{color:#dbe4ec;margin-top:14px;font-size:12px}.side-project-viewer[data-media-format=original] .side-viewer-surface{display:block}.side-project-viewer[data-media-format=original] .side-viewer-fade{z-index:1;-webkit-backdrop-filter:none;backdrop-filter:none;background:linear-gradient(110deg,#061222b8,#06122245 48%,#0000 76%),linear-gradient(#06122265,#0000 24% 62%,#061222bb);height:100%;inset:0;-webkit-mask-image:none;mask-image:none}.side-project-viewer[data-media-format=original] .side-viewer-top,.side-project-viewer[data-media-format=original] .side-viewer-bottom{z-index:2}.side-viewer-navigation{z-index:3;pointer-events:none;justify-content:space-between;position:absolute;inset:0 -56px}.side-viewer-navigation button{pointer-events:auto;border-radius:50%}.side-viewer-gallery{overscroll-behavior-x:contain;scrollbar-width:thin;scrollbar-color:#ffffff60 transparent;justify-content:safe center;align-items:center;gap:24px;width:100%;height:100%;min-height:0;padding:4px 4px 12px;display:flex;overflow:auto hidden;container-type:size}.side-viewer-gallery figure{flex-direction:column;flex:none;align-items:center;margin:0;display:flex}.side-viewer-gallery .side-media-phone{height:min(100cqh - 32px,72.471cqw - 34.7861px)}.side-viewer-gallery figcaption{color:#f2f5f8;margin-top:12px;font-size:12px;line-height:20px}@media (min-width:760px),(min-width:600px) and (orientation:landscape){.side-project-viewer[data-layout=phone] .side-viewer-stage{padding:0;position:absolute;inset:76px 48px 28px 43%}.side-project-viewer[data-layout=phone] .side-viewer-bottom{width:43%;padding:32px;position:absolute;bottom:0;left:0}}@media (min-width:1600px){.side-project-viewer{width:min(1400px,100% - 160px);height:min(1080px,100dvh - 96px)}.side-project-viewer[data-layout=phone] .side-viewer-bottom{padding:48px}.side-project-viewer[data-layout=phone] .side-viewer-stage{top:72px;bottom:32px}}@media (max-width:759px){.side-project-viewer{width:calc(100% - 32px);height:calc(100dvh - 32px)}.side-viewer-top{padding:12px 16px 0}.side-viewer-top>span{gap:8px;font-size:12px}.side-viewer-stage{padding:16px 52px 20px}.side-viewer-bottom{padding:12px 20px 20px}.side-viewer-caption h2{margin-bottom:8px;font-size:28px}.side-viewer-caption>p#side-viewer-description{font-size:14px;line-height:1.45}.side-viewer-contribution{margin-top:10px;font-size:11px}.side-viewer-navigation{align-items:start;padding-top:min(33dvh,300px);inset:0 8px}.side-project-viewer[data-layout=gallery] .side-viewer-stage{padding-inline:0}.side-viewer-gallery{scroll-snap-type:x mandatory;justify-content:flex-start;gap:20px;padding-inline:56px;scroll-padding-inline:56px}.side-viewer-gallery figure{scroll-snap-align:start}.side-viewer-gallery .side-media-phone{height:calc(100cqh - 32px)}}@media (max-height:650px) and (min-width:760px){.side-project-viewer{height:calc(100dvh - 32px)}.side-project-viewer[data-layout=phone] .side-viewer-bottom{padding:24px}.side-viewer-caption>p#side-viewer-description{font-size:14px}.side-viewer-contribution{margin-top:8px}}@media (max-height:550px) and (orientation:landscape){.side-project-viewer{height:calc(100dvh - 32px)}.side-project-viewer[data-layout=phone] .side-viewer-stage{top:68px;bottom:20px}.side-project-viewer[data-layout=phone] .side-viewer-bottom{padding:20px}.side-viewer-contribution{display:none}.side-project-viewer[data-layout=gallery] .side-viewer-surface{grid-template-rows:auto 280px auto;overflow-y:auto}.side-project-viewer[data-layout=gallery] .side-viewer-top{position:sticky;top:0}.side-project-viewer[data-layout=gallery] .side-viewer-stage{padding-block:12px}}@media (min-width:1700px){.side-project-card{flex-basis:52%}}@media (max-width:999px){.side-projects{margin-top:72px}.side-project-card{flex-basis:51%}}@media (max-width:620px){.side-projects-heading{gap:12px}.side-projects-heading h2{max-width:240px}.side-rail-controls{gap:4px}.side-project-card{flex-basis:86%}}.side-project-viewer[data-media-format=original] .side-viewer-stage{z-index:0;justify-content:stretch;align-items:stretch;padding:0;display:flex;position:absolute;inset:0}.side-project-viewer[data-media-format=original] .side-viewer-stage>.side-media-original{aspect-ratio:auto;flex:auto;width:100%;height:100%}.side-project-viewer[data-media-format=original] .side-viewer-stage>.side-media-original img,.side-project-viewer[data-media-format=original] .side-viewer-stage>.side-media-original video{object-fit:contain;width:100%;height:100%;inset:0}.side-project-viewer[data-media-format=original] .side-viewer-bottom{width:43%;padding:32px;position:absolute;inset:auto auto 0 0}@media (min-width:760px){.side-project-viewer[data-media-position=right] .side-viewer-stage{z-index:0;justify-content:center;align-items:stretch;padding:0;display:flex;position:absolute;inset:0 0 0 43%}.side-project-viewer[data-media-position=right] .side-viewer-bottom{width:43%;padding:32px;position:absolute;inset:auto auto 0 0}}@media (max-width:759px) and (orientation:portrait),(max-width:599px){.side-project-viewer[data-media-format=original] .side-viewer-stage>.side-media-original img,.side-project-viewer[data-media-format=original] .side-viewer-stage>.side-media-original video{object-fit:cover}.side-project-viewer[data-media-format=original] .side-viewer-bottom{width:100%;padding:20px 20px 24px}.side-project-viewer[data-media-format=original] .side-viewer-fade{background:linear-gradient(#06122288,#0000 22% 43%,#061222ef 100%)}}@media (max-width:759px){.side-project-viewer[data-mobile-framing=phone] .side-viewer-surface{grid-template-rows:auto minmax(0,1fr) auto;display:grid}.side-project-viewer[data-mobile-framing=phone] .side-viewer-top{grid-area:1/1;align-self:start}.side-project-viewer[data-mobile-framing=phone] .side-viewer-stage{z-index:1;grid-area:1/1/3/2;justify-content:stretch;align-items:stretch;padding:0 0 20px;position:relative;inset:auto}.side-project-viewer[data-mobile-framing=phone] .side-viewer-stage>.side-media-original{aspect-ratio:auto;flex:auto;width:100%;height:100%;overflow:visible}.side-project-viewer[data-mobile-framing=phone] .side-viewer-stage>.side-media-original img,.side-project-viewer[data-mobile-framing=phone] .side-viewer-stage>.side-media-original video{object-fit:contain;object-position:50% 100%}.side-project-viewer[data-mobile-framing=phone] .side-viewer-bottom{grid-area:3/1;width:auto;padding:12px 20px 20px;position:relative;inset:auto}.side-project-viewer[data-mobile-framing=phone] .side-viewer-fade{-webkit-backdrop-filter:blur(28px)saturate(120%);backdrop-filter:blur(28px)saturate(120%);background:linear-gradient(#10151c00,#10151cbb 80%,#10151ce8);height:50%;inset:auto 0 0;-webkit-mask-image:linear-gradient(#0000,#000 75%);mask-image:linear-gradient(#0000,#000 75%)}}@media (min-width:600px) and (max-width:759px) and (orientation:landscape){.side-project-viewer[data-mobile-framing=phone] .side-viewer-stage{padding:0;position:absolute;inset:68px 48px 20px 43%}.side-project-viewer[data-mobile-framing=phone] .side-viewer-stage>.side-media-original{aspect-ratio:auto;flex:auto;width:100%;height:100%}.side-project-viewer[data-mobile-framing=phone] .side-viewer-stage>.side-media-original img,.side-project-viewer[data-mobile-framing=phone] .side-viewer-stage>.side-media-original video{object-fit:contain}.side-project-viewer[data-mobile-framing=phone] .side-viewer-bottom{width:43%;padding:20px;position:absolute;inset:auto auto 0 0}.side-project-viewer[data-mobile-framing=phone] .side-viewer-fade{-webkit-backdrop-filter:blur(28px)saturate(120%);backdrop-filter:blur(28px)saturate(120%);background:linear-gradient(#10151c00,#10151cbb 80%,#10151ce8);height:50%;inset:auto 0 0;-webkit-mask-image:linear-gradient(#0000,#000 75%);mask-image:linear-gradient(#0000,#000 75%)}}@media (prefers-reduced-motion:reduce){.side-project-card .side-media,.side-card-art:after,.side-project-viewer::backdrop{transition:none}.side-project-rail{scroll-behavior:auto}}.case-film{margin:0}.case-film-stage{background:var(--surface);border-radius:16px;overflow:hidden}.case-film-device video{width:100%;height:auto;display:block}.case-film-desktop video{aspect-ratio:16/9;object-fit:cover;background:#10151c}.case-film-phone .case-film-stage{background:radial-gradient(at 70% 20%,#cee293 0,#0000 55%),linear-gradient(140deg,#c4d0ef,#315dcd);place-items:center;padding:clamp(24px,5vw,64px);display:grid}.case-film-phone .case-film-device{width:min(100%,326px)}.case-film-phone video{background:#10151c}.case-film figcaption{color:var(--muted);justify-content:space-between;gap:12px 24px;margin-top:16px;font-size:14px;line-height:1.6;display:flex}.case-film figcaption strong{color:var(--fg);flex-shrink:0;font-weight:500}.case-film figcaption span{max-width:620px}.case-related{margin-top:24px}@media (max-width:620px){.case-hero-integrated{height:min(620px,100svh - 112px)}.case-hero-integrated:before{-webkit-backdrop-filter:none;background:linear-gradient(#07162eaa 0%,#0000 24%,#07162ecb 58%,#07162ef2 100%);width:100%;inset:0;-webkit-mask-image:none;mask-image:none}.case-hero-integrated .case-heading{width:100%;padding:24px}.case-hero-integrated:not(.case-hero-dealsafe-ai) .case-heading-content:before{background:#07162eb8;inset:-20px -16px;-webkit-mask-image:none;mask-image:none}.case-hero-dealsafe-ai>img{object-position:left center}.case-hero-dealsafe-ai .case-heading{justify-content:center}.case-hero-integrated .case-deck{font-size:18px}.case-gallery-screens{scroll-snap-type:x mandatory;scrollbar-width:thin;grid-template-columns:none;grid-auto-columns:min(72vw,260px);grid-auto-flow:column;gap:16px;max-width:none;padding:6px 4px 18px;scroll-padding-inline:4px;display:grid;overflow-x:auto}.case-gallery-screens .case-figure{scroll-snap-align:start}.case-film figcaption{flex-direction:column;gap:4px}.case-film-phone .case-film-device{width:min(100%,270px)}}.case-chapter-copy{max-width:760px;display:block}.case-media-gallery{min-width:0}.case-rail-heading{justify-content:space-between;align-items:center;gap:24px;margin-bottom:16px;display:flex}.case-rail-heading p{color:var(--muted);font-size:14px}.case-rail-heading button:disabled{opacity:.35;cursor:default}.case-image-rail{width:calc(100% + var(--gallery-bleed,0px));overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:var(--muted) transparent;grid-auto-columns:min(82vw,1260px);grid-auto-flow:column;align-items:start;gap:24px;padding:4px 24px 20px 0;scroll-padding-inline:0;display:grid;overflow-x:auto}.case-image-rail:focus-visible{outline:2px solid var(--accent);outline-offset:5px}.case-image-rail .case-figure{scroll-snap-align:start}.case-image-rail .case-image-frame{border:0;width:100%;height:min(70svh,720px);padding:0}.case-image-rail img{object-fit:contain;width:100%;height:100%;transition:transform .3s cubic-bezier(.23,1,.32,1)}.case-image-rail figcaption{max-width:68ch;padding-right:16px}.case-media-screens .case-image-frame{padding:var(--phone-bezel);background:linear-gradient(135deg,#27323c,#070a0f 35%,#161e29);width:100%;height:auto}.case-media-screens .case-image-frame img{aspect-ratio:1206/2622;object-fit:cover;object-position:top;height:auto}.case-image-frame:active{transform:scale(.99)}.case-media-brand .case-image-rail{width:var(--gallery-viewport,100%);margin-left:calc(-1 * var(--gallery-left,0px));grid-auto-columns:100%;padding:0;overflow:hidden}.case-media-brand .case-image-frame{background:0 0;border-radius:0;height:min(82svh,940px)}.case-media-brand figcaption{padding:0 var(--page-pad);text-align:center;max-width:none;margin:12px auto 0}.case-image-viewer .side-viewer-surface{grid-template-rows:auto minmax(0,1fr) auto}.case-image-viewer .side-viewer-top{gap:16px;padding-bottom:12px}.case-image-viewer .side-viewer-top>span{max-width:60ch;display:block}.case-viewer-actions{flex-shrink:0;align-items:center;gap:8px;display:flex}.case-viewer-image-box{cursor:zoom-in;touch-action:none;-webkit-user-select:none;user-select:none;background:#f4f5f6;border-radius:8px;place-items:center;min-width:0;min-height:0;margin:0 24px;display:grid;overflow:hidden}.case-viewer-image-box img{object-fit:contain;pointer-events:none;-webkit-user-select:none;user-select:none;width:100%;height:100%;min-height:0;transform:translate(var(--pan-x,0px), var(--pan-y,0px)) scale(var(--zoom-scale,1));transform-origin:50%}.case-viewer-image-box.is-zoomed{cursor:grab}.case-viewer-image-box.is-zoomed:active{cursor:grabbing}.case-viewer-actions .case-zoom-reset{font-variant-numeric:tabular-nums;width:68px;font-size:13px}.case-viewer-actions button:disabled{opacity:.35;cursor:default}.case-viewer-caption{color:#e0e7ef;padding:16px 24px 20px;font-size:14px;line-height:1.5}.case-film{grid-template-rows:minmax(0,1fr) auto;gap:16px;height:min(900px,100svh - 112px);scroll-margin-top:96px;display:grid}.case-film-stage{place-items:center;min-height:0;display:grid}.case-film-device{width:100%;height:100%;min-height:0}.case-film .case-film-device video{object-fit:contain;width:100%;height:100%}.case-film-desktop{height:auto;display:block}.case-film-desktop .case-film-stage{aspect-ratio:16/9;place-self:center;width:min(100%,177.778svh - 284.444px);height:auto}.case-film-desktop .case-film-device{aspect-ratio:16/9;height:auto}.case-film-desktop .case-film-device video{aspect-ratio:16/9;object-fit:cover;height:auto}.case-film.case-film-desktop figcaption{width:min(100%,177.778svh - 284.444px);margin:16px auto 0}.case-film-phone .case-film-stage{padding:clamp(12px,3svh,32px)}.case-film-phone .case-film-device{aspect-ratio:1222/2638;--phone-bezel:6px;width:auto;max-width:100%;height:100%}.case-film-phone .case-phone-screen{aspect-ratio:auto}.case-film figcaption{margin:0}@media (hover:hover) and (pointer:fine){.case-image-frame:hover img{transform:scale(1.015)}}@media (max-width:620px){.case-image-rail{grid-auto-columns:86vw;gap:16px;padding-right:16px}.case-image-rail .case-image-frame{height:min(62svh,540px)}.case-media-screens .case-image-frame{height:auto}.case-media-brand .case-image-frame{aspect-ratio:auto;height:auto}.case-image-viewer .side-viewer-top{flex-wrap:wrap;gap:8px;padding:12px}.case-image-viewer .side-viewer-top>span{flex:1;font-size:12px;line-height:1.35}.case-viewer-actions{gap:4px}.case-viewer-actions button{width:40px;height:40px}.case-viewer-image-box{margin:0 12px}.case-viewer-caption{padding:12px 16px;font-size:13px}.case-image-viewer .side-viewer-navigation{align-items:center;padding-top:0;inset:0 4px}.case-film{gap:12px}.case-film figcaption{font-size:13px;line-height:1.45}}@media (prefers-reduced-motion:reduce){.case-image-rail img{transition:none}.case-image-frame:active,.case-image-frame:hover img{transform:none}}.case-image-viewer[data-kind=brand] .case-viewer-image-box,.case-image-viewer[data-kind=screens] .case-viewer-image-box{background:0 0}.case-media-brand .case-image-frame{aspect-ratio:auto;height:auto}.case-media-screens .case-image-rail{grid-auto-columns:min(64vw,310px,45.6svh - 91.2px)}.case-page-system .case-media-single .case-image-rail{grid-auto-columns:100%;width:100%;padding:0;overflow:hidden}.case-page-system .case-media-single .case-image-frame{aspect-ratio:auto;height:auto}.case-page-system .case-media-single .case-image-frame img{height:auto;display:block}.case-hero-dealsafe-ai .case-deck{text-wrap:balance;width:100%;max-width:36ch}.case-hero-dealsafe-ai .case-heading{min-width:0}.case-media-single:not(.case-media-brand) .case-image-rail{grid-auto-columns:minmax(0,1fr);width:100%;padding:4px 0 20px;overflow:visible}.case-media-single .case-figure{width:100%;margin-inline:auto}.case-media-single figcaption{text-align:center;margin-inline:auto;padding-right:0}.case-media-editorial{max-width:760px;margin-inline:auto}.case-media-editorial .case-image-rail .case-image-frame{aspect-ratio:16/9;height:auto}.case-media-editorial .case-image-frame img{object-fit:cover;display:block}.case-media-single.case-media-screens .case-figure{max-width:min(64vw,310px,45.6svh - 91.2px)}.case-app-showcase{margin:80px calc(50% - 50vw) 0}.case-app-scene{background:#d7d2ca;height:min(880px,100svh - 112px);min-height:300px;position:relative;overflow:hidden}.case-app-lifestyle{object-fit:cover;object-position:center;width:100%;height:100%}.case-app-foreground{--phone-bezel:7px;aspect-ratio:auto;width:auto;height:86%;position:absolute;top:7%;right:18%;box-shadow:18px 28px 55px #1a203552}.case-app-foreground .case-phone-screen{aspect-ratio:900/1957;object-fit:contain;width:auto;height:100%;display:block}.case-app-showcase figcaption{color:var(--muted);text-align:center;padding-inline:var(--page-pad);margin-top:14px;font-size:13px;line-height:1.5}@media (max-width:620px){.case-hero-dealsafe-ai .case-category{flex-wrap:wrap;gap:4px 10px}.case-hero-dealsafe-ai .case-deck{max-width:30ch}.case-app-showcase{margin-top:56px}.case-app-scene{height:min(560px,100svh - 140px)}.case-app-lifestyle{object-position:18% center}.case-app-foreground{width:min(44%,230px);height:auto;top:auto;bottom:6%;right:7%}.case-app-foreground .case-phone-screen{width:100%;height:auto}}@media (max-height:500px) and (min-width:621px){.case-hero-dealsafe-ai .case-heading{padding-block:54px 16px}.case-hero-dealsafe-ai .case-category{margin-bottom:8px}.case-hero-dealsafe-ai .case-deck{margin-top:10px;font-size:16px}.case-app-scene{min-height:0}}.case-media-brand .case-image-frame img{height:auto}.case-outcome-gallery{margin-top:clamp(40px,6vw,80px)}.case-hero-backbase-sme-banking-app{background:#071426}.case-hero-backbase-sme-banking-app .case-heading{justify-content:center;width:46%}.case-hero-backbase-sme-banking-app h1{font-size:clamp(34px,4vw,56px)}.case-hero-integrated.case-hero-backbase-sme-banking-app .case-heading-content:before{display:none}.case-hero-integrated.case-hero-backbase-sme-banking-app .case-deck{max-width:28ch;font-size:clamp(18px,1.7vw,22px)}@media (max-width:800px){.case-hero-backbase-sme-banking-app{height:670px}.case-hero-backbase-sme-banking-app>img{object-position:right center;height:66%}.case-hero-backbase-sme-banking-app .case-heading{justify-content:flex-end;width:100%;padding:28px}.case-hero-backbase-sme-banking-app:after{content:"";z-index:-1;pointer-events:none;background:linear-gradient(#0000 48%,#071426 68%);position:absolute;inset:0}.case-hero-integrated.case-hero-backbase-sme-banking-app .case-deck{max-width:33ch}}.case-image-rail .case-image-frame[data-intrinsic]{height:auto}.case-image-frame[data-intrinsic] img{object-fit:cover;width:100%;height:100%;display:block}.case-media-artwork .case-image-rail{grid-template-columns:minmax(0,1fr);grid-auto-columns:auto;grid-auto-flow:row;gap:36px;width:100%;padding:0;display:grid;overflow:visible}.case-media-artwork .case-image-frame{height:auto}.case-media-artwork .case-image-frame img{height:auto;display:block}.case-page-backbase-sme-banking-app .case-media-pair .case-image-rail{grid-auto-columns:100%;width:100%;padding-right:0}.case-page-backbase-sme-banking-app .case-hero{aspect-ratio:2;height:auto;max-height:none}.case-page-backbase-sme-banking-app .case-hero>img{object-fit:cover}.case-page-backbase-sme-banking-app .case-hero .case-heading{width:50%;padding:clamp(28px,4vw,64px)}.case-page-backbase-sme-banking-app .case-hero h1{font-size:clamp(34px,3.7vw,58px)}.case-page-backbase-sme-banking-app .case-hero .case-deck{max-width:30ch}.case-media-wireframes .case-image-rail{grid-auto-columns:min(70vw,300px,46.2svh - 92.4px);gap:clamp(18px,3vw,48px)}.case-media-wireframes .case-image-rail .case-wireframe-device{background:#17212d;border-radius:10%/4.7%;width:100%;height:auto;padding:5px;box-shadow:0 12px 28px #07133318,inset 0 0 0 1px #708094}.case-wireframe-viewport{aspect-ratio:414/896;background:#f2f2f2;border-radius:8%/3.7%;width:100%;display:block;position:relative;overflow:hidden}.case-media-wireframes .case-wireframe-viewport img{aspect-ratio:auto;object-fit:initial;width:100%;height:auto;max-height:none;display:block;transform:none}@media (max-width:800px){.case-page-backbase-sme-banking-app .case-hero{aspect-ratio:auto;height:650px}.case-page-backbase-sme-banking-app .case-hero>img{object-position:right center;height:66%}.case-page-backbase-sme-banking-app .case-hero .case-heading{width:100%;padding:28px}.case-page-backbase-sme-banking-app .case-hero h1{font-size:36px}.case-media-artwork .case-image-rail{gap:24px}}.case-page-backbase-sme-banking-app .case-media-single .case-image-frame{height:auto}.case-page-backbase-sme-banking-app .case-media-single .case-image-frame img{width:100%;height:auto;display:block}.case-fullscreen-image{width:100vw;height:100svh;margin:0 calc(50% - 50vw) 100px;overflow:hidden}.case-fullscreen-image img{object-fit:cover;width:100%;height:100%;display:block}@media (max-aspect-ratio:3/2){.case-fullscreen-image,.case-fullscreen-image img{height:auto}}@media (max-width:800px){.case-fullscreen-image{margin-bottom:64px}}.case-page-calcite-design-system .case-hero{aspect-ratio:16/9;background:#10181b;height:auto}.case-page-calcite-design-system .case-hero .case-heading{justify-content:center;width:40%;padding:clamp(24px,3.4vw,52px)}.case-hero-integrated.case-hero-calcite-design-system .case-heading-content:before{display:none}.case-page-calcite-design-system .case-hero h1{font-size:clamp(32px,3.5vw,54px)}.case-hero-integrated.case-hero-calcite-design-system .case-deck{max-width:27ch;font-size:clamp(17px,1.5vw,21px)}.case-hero-calcite-design-system .case-category span{color:#56c7ee}@media (max-width:800px){.case-page-calcite-design-system .case-hero{aspect-ratio:auto;height:620px}.case-page-calcite-design-system .case-hero>img{object-position:right center;height:62%}.case-page-calcite-design-system .case-hero .case-heading{justify-content:flex-end;width:100%;padding:28px}.case-page-calcite-design-system .case-hero h1{font-size:36px}.case-hero-calcite-design-system:after{content:"";z-index:-1;pointer-events:none;background:linear-gradient(#0000 44%,#10181b 63%);position:absolute;inset:0}}@media (max-width:500px){.case-page-calcite-design-system .case-hero>img{height:50%}}:is(.case-page-capitec-design-system,.case-page-capitec-business-online-bank) .case-hero{aspect-ratio:16/9;background:#f4f6f7;height:auto}:is(.case-page-capitec-design-system,.case-page-capitec-business-online-bank) .case-hero .case-heading{color:#00486d;justify-content:center;width:42%;padding:clamp(24px,3.4vw,52px)}.case-hero-integrated:is(.case-hero-capitec-design-system,.case-hero-capitec-business-online-bank) .case-heading-content:before{display:none}:is(.case-page-capitec-design-system,.case-page-capitec-business-online-bank) .case-hero h1{font-size:clamp(32px,3.5vw,54px)}.case-hero-integrated:is(.case-hero-capitec-design-system,.case-hero-capitec-business-online-bank) .case-deck{color:#345464;max-width:27ch;font-size:clamp(17px,1.5vw,21px)}:is(.case-hero-capitec-design-system,.case-hero-capitec-business-online-bank) .case-category{color:#345464;flex-wrap:wrap}:is(.case-hero-capitec-design-system,.case-hero-capitec-business-online-bank) .case-category span{color:#c83c37}:is(.case-page-capitec-design-system,.case-page-capitec-business-online-bank) .case-media-single .case-image-frame{height:auto}:is(.case-page-capitec-design-system,.case-page-capitec-business-online-bank) .case-media-single .case-image-frame img{width:100%;height:auto;display:block}.case-page-capitec-design-system .case-fullscreen-image{aspect-ratio:16/9;height:auto}@media (max-width:800px){:is(.case-page-capitec-design-system,.case-page-capitec-business-online-bank) .case-hero{aspect-ratio:auto;height:620px}:is(.case-page-capitec-design-system,.case-page-capitec-business-online-bank) .case-hero>img{object-position:right center;height:61%}:is(.case-page-capitec-design-system,.case-page-capitec-business-online-bank) .case-hero .case-heading{justify-content:flex-end;width:100%;padding:28px}:is(.case-page-capitec-design-system,.case-page-capitec-business-online-bank) .case-hero h1{font-size:36px}:is(.case-hero-capitec-design-system,.case-hero-capitec-business-online-bank):after{content:"";z-index:-1;pointer-events:none;background:linear-gradient(#0000 45%,#f4f6f7 62%);position:absolute;inset:0}}@media (max-width:420px){:is(.case-page-capitec-design-system,.case-page-capitec-business-online-bank) .case-hero>img{height:53%}}
