:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#fafafe;--surface:#f1f1f8;--text:#202136;--muted:#64677c;--line:#e3e2ee;--accent:#7543df;--accent-soft:#eee7fc;--font-body:Arial, sans-serif;--font-mono:monospace}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{background:var(--bg);color:var(--text);font-family:var(--font-body), Arial, sans-serif;-webkit-font-smoothing:antialiased;margin:0;font-size:16px;line-height:1.65}::selection{color:#3f2379;background:#ded0fa}a{color:inherit;text-decoration:none}button,a,summary{-webkit-tap-highlight-color:transparent}a,button{transition:color .18s,background .18s}a:hover{color:var(--accent)}a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:5px}button{font:inherit}p,h1,h2,h3,h4,figure,dl,dd{margin:0}h1,h2,h3,h4{letter-spacing:-.045em;font-weight:650;line-height:1.16}p{color:var(--muted)}img{width:100%;height:auto;display:block}.shell{width:min(1160px,100% - 80px);margin-inline:auto}.accent{color:var(--accent)}.eyebrow,.tech-line,.hero-tech,.job-date,.result-count{font-family:var(--font-mono), monospace;font-size:12px;line-height:1.7}.eyebrow{text-transform:uppercase;letter-spacing:.08em}.text-link{align-items:center;gap:12px;min-height:44px;font-size:14px;font-weight:550;display:inline-flex}.text-link>span:last-child{font-size:20px;transition:transform .2s}.text-link:hover>span:last-child,.text-link:focus-visible>span:last-child{transform:translate(3px,-3px)}.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:100;background:var(--accent);color:#fff;border-radius:8px;padding:10px 20px;position:fixed;top:12px;left:12px;transform:translateY(-180%)}.skip-link:focus{transform:translateY(0)}.header-wrap{z-index:20;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fafafef0;border-bottom:1px solid #e3e2eeb3;position:sticky;top:0}.site-header{align-items:center;gap:38px;min-height:80px;display:flex}.wordmark{white-space:nowrap;align-items:center;gap:12px;display:flex}.monogram{letter-spacing:-2px;color:var(--accent);font-size:30px;font-weight:750}.monogram>span{color:#38a8aa}.wordmark-name{letter-spacing:-.03em;font-size:14px;font-weight:550}.main-nav{gap:28px;margin-left:auto;display:flex}.main-nav a{min-height:44px;color:var(--muted);align-items:center;font-size:13px;display:flex;position:relative}.main-nav a:after{content:"";background:var(--accent);transform-origin:0;width:100%;height:2px;transition:transform .18s;position:absolute;bottom:5px;left:0;transform:scaleX(0)}.main-nav a:hover:after,.main-nav a:focus-visible:after{transform:scaleX(1)}.header-tools{align-items:center;gap:18px;display:flex}.language-link{font-family:var(--font-mono), monospace;place-items:center;min-width:36px;min-height:44px;font-size:12px;display:grid}.resume-link{border:1px solid var(--line);white-space:nowrap;background:#fff;border-radius:24px;align-items:center;gap:14px;min-height:40px;padding:5px 15px;font-size:12px;display:flex}.resume-link:hover{border-color:var(--accent)}.hero-wrap{background:radial-gradient(at 73% 40%,#eee8fc 0,#0000 55%);position:relative;overflow:hidden}.hero-wrap:before{content:"";pointer-events:none;background-image:linear-gradient(#7543df09 1px,#0000 1px),linear-gradient(90deg,#7543df09 1px,#0000 1px);background-size:80px 80px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000,#0000 92%);mask-image:linear-gradient(#000,#0000 92%)}.hero{grid-template-columns:1fr 1.06fr;align-items:center;gap:25px 40px;padding-top:55px;padding-bottom:24px;display:grid;position:relative}.hero-copy{z-index:2;padding:12px 0 20px;animation:.6s ease-out both arrive;position:relative}.availability{font-family:var(--font-mono), monospace;letter-spacing:.07em;text-transform:uppercase;color:#21806c;background:#e4f3ef;border-radius:20px;align-items:center;gap:8px;margin-bottom:25px;padding:5px 10px;font-size:10px;display:inline-flex}.availability>span{background:#239d7e;border-radius:50%;flex-shrink:0;width:5px;height:5px}.hero-kicker{font-family:var(--font-mono), monospace;text-transform:uppercase;letter-spacing:.19em;margin-bottom:10px;font-size:13px}.hero h1{letter-spacing:-.07em;font-size:clamp(70px,7.5vw,108px);font-weight:750;line-height:.94}.hero h1>span{color:var(--accent)}.hero-role{color:var(--text);letter-spacing:-.035em;margin-top:21px;font-size:22px;font-weight:550;line-height:1.5}.hero-role:before{content:">";font-family:var(--font-mono), monospace;color:var(--accent);margin-right:9px;font-size:18px}.hero-domains{max-width:370px;margin-top:11px;font-size:16px;line-height:1.7}.hero-actions{align-items:center;gap:27px;margin-top:26px;display:flex}.button-primary{background:var(--accent);color:#fff;border-radius:30px;justify-content:space-between;align-items:center;gap:27px;min-height:48px;padding:13px 23px;font-size:13px;font-weight:600;transition:transform .2s,background .2s,box-shadow .2s;display:inline-flex;box-shadow:0 5px 16px #7543df20}.button-primary:hover{color:#fff;background:#6130c7;transform:translateY(-2px);box-shadow:0 8px 22px #7543df35}.button-primary>span{font-size:19px}.hero-tech{color:var(--muted);margin-top:25px;font-size:11px}.hero-tech>span{color:#a194bd;margin:0 8px}.hero-bottom{color:var(--muted);border-top:1px solid #e7e3f0;grid-column:1/-1;justify-content:space-between;align-items:center;padding-top:17px;font-size:12px;display:flex}.hero-bottom>a{align-items:center;gap:17px;min-height:44px;display:flex}.hero-bottom>a>span{color:var(--accent);font-size:22px}.hero-proof{align-items:baseline;gap:28px;display:flex}.hero-proof>div{align-items:baseline;gap:8px;display:flex}.hero-proof dt{color:var(--text);font-family:var(--font-mono), monospace;font-size:17px;font-weight:650}.hero-proof dd{color:var(--muted);font-size:10px}.hero-art{isolation:isolate;--portrait-x:0px;--portrait-y:0px;min-width:0;height:520px;animation:.8s ease-out both arrive;position:relative}.hero-art canvas{z-index:0;pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.portrait-orbit{aspect-ratio:1;z-index:-1;background:#e9dffa;border:1px solid #e1d4f5;border-radius:50%;width:66%;position:absolute;top:47%;left:50%;transform:translate(-50%,-50%)}.portrait{width:77%;max-width:390px;transform:translate(-50%, -43%) translate(var(--portrait-x), var(--portrait-y));z-index:1;transition:transform .35s ease-out;position:absolute;top:48%;left:50%}.portrait img{filter:drop-shadow(0 16px 13px #5b39751a);border-radius:0 0 45% 45%;animation:6s ease-in-out infinite portrait-float}.art-label{z-index:3;font-family:var(--font-mono), monospace;background:#fff;border:1px solid #ebe5f5;border-radius:12px;align-items:center;gap:10px;padding:11px 16px;font-size:11px;animation:5s ease-in-out infinite label-float;display:flex;position:absolute;box-shadow:0 10px 25px #3920600b}.art-label b{color:var(--accent);font-size:20px;font-weight:500;line-height:1}.art-label-code{top:28%;left:1%;rotate:-7deg}.art-label-3d{animation-delay:-2s;bottom:20%;right:0;rotate:7deg}.art-label-3d b{color:#208993}.motion-toggle{min-height:38px;color:var(--muted);cursor:pointer;z-index:4;background:0 0;border:0;align-items:center;gap:7px;font-size:11px;display:flex;position:absolute;bottom:3px;right:8px}.motion-toggle:hover{color:var(--accent)}.motion-toggle:disabled{cursor:default}.motion-toggle>span{font-size:17px}.motion-paused .portrait img,.motion-paused .art-label{animation-play-state:paused}.motion-paused .portrait{transition:none;transform:translate(-50%,-43%)}@keyframes portrait-float{0%,to{transform:translateY(0)rotate(-.5deg)}50%{transform:translateY(-9px)rotate(.5deg)}}@keyframes label-float{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}@keyframes arrive{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}.section{padding-top:82px;padding-bottom:16px}.section-title{justify-content:space-between;align-items:end;gap:30px;margin-bottom:30px;display:flex}.section-title>div{align-items:baseline;gap:15px;display:flex}.section-number{color:var(--accent);font-size:11px}.section-title h2{font-size:34px}.section-title>p{max-width:350px;font-size:14px}.work-toolbar{justify-content:space-between;align-items:center;gap:20px;margin-bottom:25px;display:flex}.work-filters{flex-wrap:wrap;gap:7px;display:flex}.work-filters button{min-height:40px;color:var(--muted);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:22px;padding:8px 16px;font-size:12px}.work-filters button[aria-pressed=true]{background:var(--accent);color:#fff}.work-filters button:hover{border-color:#c9b7eb}.result-count{color:var(--muted);white-space:nowrap;font-size:11px}.work-grid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch;gap:23px;display:grid}.work-item{min-width:0;animation:.35s ease-out both arrive}.project-feature{border:1px solid var(--line);background:#fff;border-radius:17px;flex-direction:column;height:100%;transition:transform .25s,box-shadow .25s,border-color .25s;display:flex;overflow:hidden}.project-feature:hover,.project-feature:focus-within{border-color:#c5b3e8;transform:translateY(-5px);box-shadow:0 15px 35px #34214b0b}.project-visual{background:#f1ecf8;flex-shrink:0;height:225px;position:relative;overflow:hidden}.project-visual>a{height:100%;display:block;position:relative;overflow:hidden}.project-visual img{object-fit:cover;object-position:top;width:100%;height:100%;transition:transform .5s}.project-hd-render-pipeline .project-visual img{object-position:center 52%}.project-feature:hover .project-visual img{transform:scale(1.045)}.visual-caption{color:#49465b;background:#fffffff0;border:1px solid #e4e0eb;border-radius:7px;justify-content:space-between;padding:6px 9px;font-size:10px;display:flex;position:absolute;bottom:11px;left:12px;right:12px}.project-copy{flex-direction:column;flex:1;padding:22px 22px 15px;display:flex}.project-copy .eyebrow{letter-spacing:.035em;color:var(--accent);margin-bottom:9px;font-size:10px}.project-copy h3{letter-spacing:-.045em;font-size:24px}.project-teaser{margin-top:13px;margin-bottom:14px;font-size:14px;line-height:1.75}.tech-line{color:var(--muted);font-size:10px;line-height:1.8}.project-copy>.tech-line{margin-top:auto}.project-links{border-top:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;gap:8px 18px;margin-top:17px;padding-top:8px;display:flex}.project-links a{font-size:11px}.project-links a:first-child{color:var(--accent)}.more-work{border-top:1px solid var(--line);margin-top:34px;padding-top:24px}.more-work>.eyebrow{color:var(--muted);margin-bottom:10px}.more-work-item{grid-template-columns:minmax(0,1.5fr) minmax(200px,.8fr) auto;align-items:center;gap:28px;padding:18px 0;display:grid}.more-work-item h3{margin-bottom:5px;font-size:20px}.more-work-item h3 a{color:var(--ink)}.more-work-item p{max-width:620px;color:var(--muted);font-size:14px;line-height:1.6}.more-work-item .tech-line{font-size:11px}.more-work-item>.text-link{white-space:nowrap}.workflow{background:#f0edf9;border:1px solid #dfd8ef;border-radius:14px;padding:28px}.workflow-top{color:var(--accent);justify-content:space-between;align-items:center;gap:12px;margin-bottom:20px;display:flex}.workflow-top>span:last-child{font-size:25px}.workflow ol{margin:0;padding:0;list-style:none}.workflow li{border-top:1px solid #dcd4eb;align-items:center;gap:20px;padding:13px 0;font-size:14px;display:flex}.step-number{font-family:var(--font-mono), monospace;color:var(--accent);font-size:10px}.workflow-caption{margin-top:20px;font-size:11px;line-height:1.7}.workflow-compact{background:#edf3fa;border:0;border-radius:0;height:100%;padding:19px 25px}.workflow-compact .workflow-top{margin-bottom:8px}.workflow-compact .eyebrow{color:#517491;font-size:10px}.workflow-compact li{border-color:#d9e3ee;gap:16px;padding:9px 0;font-size:12px}.workflow-compact .step-number{color:#497a98}.lab-section{padding-top:65px}.webgl-spotlight{border:1px solid var(--line);background:#fff;border-radius:17px;grid-template-columns:1.15fr .85fr;min-height:285px;margin-bottom:25px;display:grid;overflow:hidden}.webgl-copy{padding:34px 38px}.webgl-copy>.eyebrow{color:var(--accent);font-size:10px}.webgl-copy h3{margin-top:13px;font-size:31px}.webgl-copy>p:not(.eyebrow,.tech-line){max-width:560px;margin-top:13px;font-size:15px;line-height:1.75}.webgl-copy>.tech-line{margin-top:17px}.webgl-links{flex-wrap:wrap;gap:12px 25px;margin-top:16px;display:flex}.webgl-links .text-link:first-child{color:var(--accent)}.project-preview-link{background:#0b111a;place-items:center;min-width:0;min-height:285px;display:grid}.project-preview-link img{width:100%;height:auto;display:block}.project-preview-link:hover,.project-preview-link:focus-visible{background:#191f2a}.lab-list{grid-template-columns:1fr 1fr;column-gap:45px;display:grid}.lab-item{border-bottom:1px solid var(--line);grid-template-columns:39px 1fr;align-items:center;gap:7px 14px;padding:20px 0;display:grid}.lab-symbol{color:var(--accent);background:var(--accent-soft);width:38px;height:38px;font-size:22px;font-family:var(--font-mono), monospace;border-radius:11px;place-items:center;transition:rotate .25s;display:grid}.lab-item:nth-child(2n) .lab-symbol{color:#27868e;background:#e4f2f2}.lab-item:hover .lab-symbol{rotate:-8deg}.lab-item h3{letter-spacing:-.025em;margin-bottom:5px;font-size:18px}.lab-links{grid-column:2;gap:24px;display:flex}.lab-links a{min-height:33px;font-size:11px}.lab-links a>span:last-child{font-size:17px}.toolkit-band{background:#f1f0f8;border-block:1px solid #e9e5f1;margin-top:70px}.toolkit-band .section{padding-top:40px;padding-bottom:40px}.toolkit{grid-template-columns:repeat(4,minmax(0,1fr));align-items:start;gap:20px;display:grid}.skill-group{min-width:0;position:relative}.skill-group summary{cursor:pointer;min-height:105px;padding:10px 20px 10px 0;list-style:none;position:relative}.skill-group summary::-webkit-details-marker{display:none}.job summary::-webkit-details-marker{display:none}.skill-symbol{color:var(--accent);font-size:24px;font-family:var(--font-mono), monospace;margin-bottom:9px;display:block}.skill-group summary>p{margin-top:7px;font-size:11px;line-height:1.75}.expand-icon{border:1px solid var(--line);width:27px;height:27px;color:var(--accent);border-radius:50%;place-items:center;font-size:19px;font-weight:400;line-height:1;transition:rotate .2s;display:grid}.skill-group .expand-icon{background:#fff;position:absolute;top:18px;right:0}.skill-tags{flex-wrap:wrap;gap:7px;padding:15px 0 5px;display:flex}.skill-tags>span{color:#555068;background:#fff;border:1px solid #d9d1e8;border-radius:6px;padding:4px 8px;font-size:11px;line-height:1.6}details[open]>summary .expand-icon{rotate:45deg}.job{border-bottom:1px solid var(--line)}.job:first-child{border-top:1px solid var(--line)}.job summary{cursor:pointer;grid-template-columns:200px 1fr 28px;align-items:center;gap:35px;padding:25px 0;list-style:none;display:grid;position:relative}.job-date{color:var(--muted);font-size:11px}.job-heading{justify-content:space-between;align-items:baseline;gap:15px;display:flex}.job-heading>strong{letter-spacing:-.04em;font-size:23px;font-weight:600}.job-heading>span{color:var(--muted);font-size:13px}.job[open] .job-heading>strong{color:var(--accent)}.job-body{max-width:990px;padding:0 63px 25px 235px}.job-body>p{font-size:14px;line-height:1.8}.job-body .job-note{color:var(--accent);margin-bottom:11px;font-size:11px}.job-body .job-tech{color:var(--muted);font-family:var(--font-mono), monospace;margin-top:11px;font-size:10px}.about-section{grid-template-columns:1fr 1fr;gap:70px;margin-top:20px;padding-top:70px;padding-bottom:70px;display:grid}.about-section .eyebrow{color:var(--accent);margin-bottom:18px;font-size:11px}.about-section h2{white-space:pre-line;font-size:34px;line-height:1.25}.location{margin-top:23px;font-size:11px}.about-story{padding-top:32px}.about-story p{font-size:15px;line-height:1.9}.about-story p+p{margin-top:15px}.testimonials-inline{border-top:1px solid var(--line);grid-column:1/-1;margin-top:5px;padding-top:28px}.testimonials-inline>.eyebrow{color:var(--accent);margin-bottom:18px}.testimonials-grid{grid-template-columns:1fr 1fr;gap:0;display:grid}.testimonials-grid figure{padding-right:38px}.testimonials-grid figure+figure{border-left:1px solid var(--line);padding-left:38px;padding-right:0}.testimonials-grid blockquote{min-height:102px;color:var(--text);letter-spacing:-.015em;font-size:17px;font-weight:500;line-height:1.65}.testimonials-grid figcaption{align-items:center;gap:11px;margin-top:20px;display:flex}.testimonial-avatar{background:var(--accent);color:#fff;width:36px;height:36px;font-family:var(--font-mono), monospace;border-radius:50%;flex:0 0 36px;place-items:center;font-size:10px;display:grid}.testimonials-grid figcaption>span:last-child{flex-direction:column;gap:3px;display:flex}.testimonials-grid figcaption strong{font-size:12px}.testimonials-grid figcaption small{color:var(--muted);font-size:10px}.contact-section{background:#efebf9;border-top:1px solid #e4dbf3;padding:55px 0;position:relative}.contact-section .eyebrow{color:var(--accent);margin-bottom:17px;font-size:11px}.contact-section h2{font-size:43px;line-height:1.25}.contact-copy{max-width:570px;margin-top:17px;font-size:15px}.email-link{color:var(--accent);letter-spacing:-.04em;border-bottom:1px solid #cab3ed;align-items:center;gap:27px;margin-top:23px;padding-bottom:5px;font-size:clamp(23px,3.4vw,40px);line-height:1.5;display:inline-flex}.email-link>span{font-size:30px;transition:transform .2s}.email-link:hover>span{transform:translate(4px,-4px)}.contact-links{flex-wrap:wrap;gap:30px;margin-top:20px;display:flex}.site-footer{justify-content:space-between;align-items:center;gap:20px;padding-block:20px;font-size:11px;display:flex}.site-footer a{align-items:center;gap:12px;min-height:40px;display:flex}.case-main{padding-top:42px}.back-link{color:var(--muted)}.case-header{max-width:900px;padding-top:50px}.case-header>.eyebrow{color:var(--accent)}.case-header h1{overflow-wrap:anywhere;margin-top:20px;font-size:clamp(46px,6vw,80px)}.case-deck{color:var(--text);letter-spacing:-.035em;margin-top:24px;font-size:27px;line-height:1.45}.case-summary{max-width:700px;margin-top:20px;font-size:17px}.case-facts{border-block:1px solid var(--line);grid-template-columns:1fr 2fr;gap:60px;margin-top:42px;padding:24px 0;display:grid}.case-facts dt{color:var(--muted);margin-bottom:7px;font-size:12px}.case-facts dd{font-size:14px}.case-story{grid-template-columns:1fr 2fr;gap:60px;margin-top:60px;display:grid}.case-story aside{max-width:250px}.case-story aside>.eyebrow{color:var(--accent)}.case-story aside>p:not(.eyebrow){margin:18px 0;font-size:13px}.case-story section{max-width:700px;margin-bottom:32px}.case-story h2{margin-bottom:16px;font-size:27px}.case-story section>p{font-size:16px;line-height:1.85}.case-workflow{border-block:1px solid var(--line);grid-template-columns:1fr 1fr;align-items:center;gap:60px;margin-top:20px;padding:50px 0;display:grid}.case-workflow h2{max-width:400px;margin-top:20px;font-size:36px}.case-screenshot{border:1px solid var(--line);background:#fff;border-radius:17px;max-width:820px;margin:55px auto;padding:20px}.case-screenshot img{border-radius:8px}.case-screenshot figcaption{color:var(--muted);padding-top:14px;font-size:11px}.case-result{max-width:830px;padding:55px 0}.case-result>.eyebrow{color:var(--accent)}.case-result h2{margin-top:20px;font-size:30px;line-height:1.4}.next-project{border-block:1px solid var(--line);justify-content:space-between;align-items:center;margin-bottom:30px;padding:28px 0;display:flex}.next-project small{color:var(--muted);margin-bottom:10px;font-size:12px;display:block}.next-project strong{letter-spacing:-.04em;font-size:28px;font-weight:550}.next-project>span:last-child{color:var(--accent);font-size:35px}@media (max-width:1100px){.shell{width:calc(100% - 56px)}.site-header{gap:22px}.main-nav{gap:19px}.wordmark-name{display:none}.hero{gap:20px 15px;padding-top:40px}.hero h1{font-size:90px}.hero-art{height:460px}.art-label{padding:9px 11px;font-size:10px}.hero-role{font-size:20px}.hero-domains{font-size:15px}.work-grid{gap:16px}.project-copy{padding:19px 17px 12px}.project-copy h3{font-size:21px}.project-visual{height:195px}.project-links{gap:5px 12px}.project-links a{font-size:10px}.workflow-compact{padding:15px 19px}.workflow-compact li{padding:7px 0;font-size:11px}.lab-list{column-gap:28px}.toolkit{gap:20px}.job summary{grid-template-columns:165px 1fr 28px;gap:25px}.job-body{padding-left:190px}.job-heading{flex-direction:column;gap:5px}.about-section{gap:45px}}@media (max-width:760px){html{scroll-padding-top:120px}.shell{width:calc(100% - 40px)}.site-header{flex-wrap:wrap;gap:0;min-height:103px;padding-top:10px;padding-bottom:4px}.wordmark-name{font-size:12px;display:block}.monogram{font-size:27px}.header-tools{gap:8px;margin-left:auto}.resume-link{gap:10px;min-height:36px;padding:4px 12px;font-size:11px;display:none}.language-link{min-width:30px;font-size:11px}.main-nav{order:3;justify-content:space-between;gap:10px;width:100%;margin:0}.main-nav a{min-height:39px;font-size:12px}.hero{grid-template-columns:1fr;gap:0;padding-top:33px}.hero-copy{padding-bottom:0}.availability{margin-bottom:21px;font-size:9px}.hero-kicker{margin-bottom:10px;font-size:11px}.hero h1{font-size:78px}.hero-role{max-width:320px;margin-top:19px;font-size:18px;line-height:1.4}.hero-domains{max-width:335px;font-size:15px}.hero-actions{gap:24px;margin-top:23px}.button-primary{gap:25px;padding:12px 21px;font-size:12px}.hero-actions .text-link{font-size:13px}.hero-tech{margin-top:23px;font-size:10px}.hero-tech>span{margin:0 5px}.hero-art{width:100%;max-width:460px;height:360px;margin:auto}.portrait{width:66%;max-width:310px;top:48%}.portrait-orbit{width:58%}.art-label-code{top:30%;left:5%}.art-label-3d{bottom:25%;right:1%}.art-label{padding:8px 11px;font-size:10px}.motion-toggle{font-size:10px;bottom:5px}.hero-bottom{align-items:end;gap:10px;padding-top:12px;font-size:10px}.hero-proof{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;width:100%;display:grid}.hero-proof>div{display:block}.hero-proof dt{font-size:15px}.hero-proof dd{margin-top:3px;font-size:8px;line-height:1.4}.hero-bottom>a{display:none}.section{padding-top:53px}.section-title{margin-bottom:24px;display:block}.section-title>div{gap:11px}.section-title h2{font-size:29px}.section-title>p{margin-top:14px;font-size:13px}.work-toolbar{flex-wrap:wrap;align-items:center;gap:10px}.work-filters{gap:3px}.work-filters button{padding:8px 12px;font-size:11px}.result-count{font-size:10px}.work-grid{grid-template-columns:1fr;gap:24px}.more-work-item{grid-template-columns:1fr;gap:10px;padding:18px 0 8px}.more-work-item .tech-line{max-width:100%}.project-visual{height:240px}.project-copy{padding:20px 22px 15px}.project-copy h3{font-size:25px}.project-copy .eyebrow{font-size:10px}.project-teaser{font-size:15px}.project-links a{font-size:12px}.workflow-compact{padding:22px 27px}.workflow-compact li{padding:10px 0;font-size:13px}.lab-section{padding-top:52px}.webgl-spotlight{grid-template-columns:1fr}.project-preview-link{min-height:0}.webgl-copy{padding:27px 24px}.webgl-copy h3{font-size:27px}.lab-list{grid-template-columns:1fr}.lab-item{grid-template-columns:38px 1fr;gap:6px 14px;padding:18px 0}.lab-item h3{font-size:19px}.lab-item .tech-line{font-size:10px}.lab-links a{min-height:36px;font-size:11px}.toolkit-band{margin-top:48px}.toolkit-band .section{padding-block:33px}.toolkit{grid-template-columns:1fr 1fr;gap:20px 25px}.skill-group h3{font-size:14px}.skill-group summary>p{font-size:10px}.skill-group summary{padding-right:12px}.skill-group .expand-icon{width:23px;height:23px;font-size:17px}.job summary{grid-template-columns:1fr 28px;gap:7px;padding:22px 0}.job-date{grid-column:1;font-size:10px}.job-heading{grid-column:1;gap:5px}.job-heading>strong{font-size:24px}.job-heading>span{font-size:12px}.job summary>.expand-icon{grid-area:1/2/3}.job-body{padding:0 15px 24px 0}.job-body>p{font-size:14px}.job-body .job-note{font-size:11px}.about-section{grid-template-columns:1fr;gap:20px;margin-top:0;padding-block:46px}.about-section h2{font-size:31px}.about-story{padding:0}.about-story p{font-size:15px}.testimonials-inline{margin-top:10px;padding-top:24px}.testimonials-grid{grid-template-columns:1fr}.testimonials-grid figure{padding-right:0}.testimonials-grid figure+figure{border-top:1px solid var(--line);border-left:0;margin-top:25px;padding-top:25px;padding-left:0}.testimonials-grid blockquote{min-height:0;font-size:16px}.location{margin-top:17px}.contact-section{padding:40px 0}.contact-section h2{font-size:35px}.contact-copy{font-size:14px}.email-link{gap:15px;font-size:clamp(21px,6.1vw,35px)}.email-link>span{font-size:24px}.contact-links{gap:25px;margin-top:17px}.contact-links .text-link{font-size:13px}.site-footer{flex-wrap:wrap;gap:0 15px;font-size:10px}.site-footer p:nth-child(2){order:3;width:100%;font-size:10px}.site-footer a{margin-left:auto}.case-main{padding-top:26px}.case-header{padding-top:35px}.case-header h1{font-size:46px}.case-deck{font-size:24px}.case-summary{font-size:16px}.case-facts{grid-template-columns:1fr;gap:18px;margin-top:30px}.case-story{grid-template-columns:1fr;gap:30px;margin-top:35px}.case-story aside{border-bottom:1px solid var(--line);max-width:100%;padding-bottom:20px}.case-story h2{font-size:25px}.case-story section>p{font-size:16px}.case-workflow{grid-template-columns:1fr;gap:25px;padding:35px 0}.case-workflow h2{font-size:30px}.case-screenshot{margin-block:35px;padding:15px}.case-result{padding:38px 0}.case-result h2{font-size:26px}.next-project strong{font-size:25px}}@media (max-width:360px){.wordmark-name{display:none}.hero h1{font-size:70px}.hero-role{font-size:17px}.hero-actions{gap:16px}.button-primary{gap:15px;padding:12px 16px}.hero-actions .text-link{font-size:12px}.hero-art{height:310px}.art-label{padding:7px 9px;font-size:9px}.art-label b{font-size:17px}.work-filters button{padding:8px 10px;font-size:10px}.hero-bottom{flex-wrap:wrap;gap:0}.contact-links{gap:20px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}.portrait{transform:translate(-50%,-43%)}.project-feature:hover{transform:none}}.hero-art[data-active=false] .portrait img,.hero-art[data-active=false] .art-label{animation-play-state:paused}.header-wrap{background:var(--bg);-webkit-backdrop-filter:none;backdrop-filter:none;position:relative;top:auto}.arrow-icon{flex:none;place-items:center;width:18px;height:18px;transition:transform .18s;display:inline-grid}.arrow-icon svg{stroke:currentColor;stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round;width:100%;height:100%}.text-link:hover .arrow-icon,.text-link:focus-visible .arrow-icon,.email-link:hover .arrow-icon,.email-link:focus-visible .arrow-icon{transform:translate(3px,-3px)}.button-primary{border:1px solid var(--accent);background:var(--accent);color:#fff;min-width:182px}.button-primary:hover,.button-primary:focus-visible{color:#fff}.button-primary .button-label{color:inherit;white-space:nowrap;font-size:13px;line-height:1.2}.button-primary .arrow-icon{width:17px;height:17px}.work-filters{border:1px solid var(--line);background:#fff;border-radius:999px;gap:2px;padding:4px}.work-filters button{border-radius:999px;align-items:center;gap:7px;min-height:36px;padding:7px 13px;display:inline-flex}.work-filters button[aria-pressed=true]{background:var(--accent);color:#fff;border-color:var(--accent);box-shadow:0 3px 10px #7543df28}.filter-mark{opacity:.65;border:1px solid;border-radius:50%;width:6px;height:6px}.work-filters button[aria-pressed=true] .filter-mark{opacity:1;background:#fff;border-color:#fff}.lab-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:0 32px}.lab-item{grid-template-columns:42px minmax(0,1fr);align-content:start;gap:9px 15px;padding:22px 0}.lab-symbol,.lab-item:nth-child(2n) .lab-symbol{width:38px;height:38px;color:var(--accent);background:#fff;border:1px solid #d8cee9;border-radius:11px;place-items:center;display:grid}.lab-symbol svg{width:20px;height:20px}.lab-item:hover .lab-symbol{background:var(--accent-soft);border-color:#cbb7ed}.lab-links{flex-wrap:wrap;grid-column:2;gap:7px 18px;display:flex}.lab-links .text-link,.project-links .text-link,.contact-links .text-link{gap:7px}.toolkit-band{background:#f3f1f9}.toolkit-band .section-title{align-items:end}.toolkit{gap:28px}.skill-group{border-top:2px solid #cbb8eb;min-width:0;padding-top:18px;position:relative}.skill-symbol{width:38px;height:38px;color:var(--accent);background:#fff;border:1px solid #d8cee9;border-radius:11px;place-items:center;margin-bottom:14px;display:grid}.skill-symbol svg{width:21px;height:21px}.skill-group h3{letter-spacing:-.025em;font-size:17px;line-height:1.35}.skill-tags{gap:6px;padding:14px 0 0}.skill-tags>span{color:#4e4c60;background:#fffc;border-color:#dcd5e8;padding:4px 8px}.expand-icon{transition:transform .2s,border-color .2s,background .2s}.expand-icon svg{stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:15px;height:15px}details[open] summary .expand-icon{background:var(--accent-soft);border-color:#cbb7ed;transform:rotate(180deg)}.art-label b{place-items:center;display:inline-grid}.art-label b svg{stroke:currentColor;stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round;width:15px;height:15px}.motion-icon{place-items:center;width:15px;height:15px;display:inline-grid}.motion-icon svg{stroke:currentColor;stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round;width:100%;height:100%}@media (max-width:1000px){.lab-list{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:760px){html{scroll-padding-top:20px}.button-primary{min-width:164px}.work-toolbar{align-items:flex-start}.work-filters{width:100%}.work-filters button{flex:auto;justify-content:center;padding-inline:10px}.result-count{padding-left:5px}.lab-list,.toolkit{grid-template-columns:1fr}.lab-item{grid-template-columns:42px minmax(0,1fr)}.skill-group{padding-bottom:8px}}
