@font-face{font-family:DM Sans;src:url(/fonts/dm-sans.woff2)format("woff2");font-style:normal;font-weight:400 700;font-display:swap}@font-face{font-family:DM Mono;src:url(/fonts/dm-mono-400.woff2)format("woff2");font-style:normal;font-weight:400;font-display:swap}@font-face{font-family:DM Mono;src:url(/fonts/dm-mono-500.woff2)format("woff2");font-style:normal;font-weight:500;font-display:swap}@font-face{font-family:Playfair Display;src:url(/fonts/playfair-display.woff2)format("woff2");font-style:normal;font-weight:500 700;font-display:swap}@font-face{font-family:Playfair Display;src:url(/fonts/playfair-display-italic.woff2)format("woff2");font-style:italic;font-weight:500 600;font-display:swap}:root{--ink:#272438;--muted:#747080;--purple:#6b4ec1;--purple-dark:#50359e;--line:#e5e1e7;--paper:#f9f8f6;--serif:"Playfair Display",Georgia,serif;--mono:"DM Mono",monospace;--sans:"DM Sans",sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:35px}body{background:var(--paper);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased;margin:0}a{color:inherit;text-decoration:none}button{font:inherit}a:focus-visible,button:focus-visible{outline-offset:4px;outline:3px solid #9476ef}.skip-link{z-index:10;background:#fff;padding:1rem;position:absolute;top:-5rem;left:1rem}.skip-link:focus{top:1rem}.wrap{width:min(1320px,100% - 112px);margin-inline:auto}.header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;height:100px;display:flex}.brand{letter-spacing:-.03em;align-items:center;gap:13px;font-size:15px;font-weight:700;display:flex}.brand-mark{color:#fff;width:39px;height:39px;font-family:var(--serif);background:#28233b;border-radius:50%;place-items:center;font-size:25px;display:grid}.brand-mark span,.footer-brand>span:first-child{color:#bb9fff}.brand-small{color:#a19baa;font-weight:400}.header nav{align-items:center;gap:38px;font-size:13px;font-weight:600;display:flex}.header nav>a:not(.nav-contact){color:#6d6876}.header nav a:hover,.text-link:hover{color:var(--purple)}.nav-contact{border:1px solid #dcd6e4;border-radius:5px;padding:13px 17px}.nav-contact span{color:var(--purple);margin-left:10px}.hero{grid-template-columns:1.1fr .9fr;align-items:center;min-height:690px;padding-block:80px 100px;display:grid;position:relative}.hero-copy{z-index:1;position:relative}.eyebrow,.kicker,.hero-bottom,.filter-label,.filter,.card-top,.card-more,.tags,.projects-end,.capabilities,.available,.contact-label,.contact-links small,.case-meta-label,.case-body section>span,.case-next>span,.back-link{font-family:var(--mono);letter-spacing:.08em;font-size:10px}.eyebrow{color:#777080;align-items:center;gap:10px;font-size:9px;display:flex}.status-dot{background:#64ad83;border-radius:50%;flex:none;width:7px;height:7px;display:inline-block;box-shadow:0 0 0 4px #e6f2ea}.eyebrow-line{background:#ddd6e4;width:28px;height:1px;margin-inline:5px}.hero-intro{margin:48px 0 19px;font-size:15px;font-weight:600}.hero-intro span{color:#aa94dc;margin-left:5px}.hero h1,.section h2,.case h1,.case-body h2{font-family:var(--serif);letter-spacing:-.055em;margin:0;font-weight:500;line-height:1.1}.hero h1{font-size:clamp(56px,6.1vw,88px)}em{color:var(--purple);font-style:italic;font-weight:500}.hero-description{color:#77727f;max-width:435px;margin:25px 0 30px;font-size:16px;line-height:1.8}.hero-actions{align-items:center;gap:28px;display:flex}.button{border-radius:5px;justify-content:space-between;align-items:center;gap:30px;padding:17px 20px;font-size:12px;font-weight:700;transition:background .2s,transform .2s;display:inline-flex}.button:hover{background:var(--purple-dark);transform:translateY(-2px)}.button-dark{color:#fff;background:#29243b}.button span{color:#c4abff;font-size:17px}.text-link{font-size:12px;font-weight:700}.text-link span{color:var(--purple);margin-left:8px}.hero-art{place-items:center;height:470px;display:grid;position:relative}.orbit{border:1px solid #ded6ed;border-radius:50%;position:absolute}.orbit-one{width:340px;height:340px}.orbit-two{border-color:#ece6f3;width:415px;height:415px}.orbit-three{border-style:dashed;border-color:#eee8f3;width:470px;height:470px}.art-core{background:radial-gradient(circle at 35% 30%,#eee8ff,#d9cdf7 48%,#c4b2ed);border-radius:50%;place-items:center;width:205px;height:205px;display:grid;box-shadow:0 20px 60px #c4b5df65}.art-core span{color:#7256b8;font-size:104px;font-weight:400;line-height:1}.art-label{font:9px var(--mono);letter-spacing:.08em;background:#fcfbfc;border:1px solid #e6deef;border-radius:4px;padding:11px 14px;position:absolute;box-shadow:0 8px 20px #25184409}.art-label b{color:#9474da;margin-left:15px}.art-label-top{top:91px;right:5%}.art-label-bottom{bottom:102px;left:0}.art-plus{color:#b5a2d5;font-size:24px;position:absolute}.plus-one{top:64px;left:24%}.plus-two{bottom:65px;right:12%}.art-caption{color:#a9a2b1;font:9px/1.6 var(--mono);position:absolute;bottom:14px;right:4%}.art-caption span{color:var(--purple)}.hero-bottom{color:#aaa4af;justify-content:space-between;font-size:9px;display:flex;position:absolute;bottom:35px;left:0;right:0}.hero-bottom span span{color:var(--purple);margin-left:12px}.section{padding-block:112px}.projects{border-top:1px solid var(--line)}.section-heading{justify-content:space-between;align-items:end;gap:35px;margin-bottom:53px;display:flex}.kicker{color:#91899a;margin:0 0 22px;font-size:10px}.kicker span{color:var(--purple);margin-right:10px}.section h2{font-size:clamp(46px,4.5vw,65px)}.section-heading>p{max-width:350px;color:var(--muted);margin:0 0 5px;font-size:14px;line-height:1.8}.filter-row{border-bottom:1px solid var(--line);align-items:center;gap:25px;margin-bottom:25px;display:flex}.filter-label{color:#aaa2ad;white-space:nowrap}.filters{gap:4px;display:flex;overflow:auto}.filter{white-space:nowrap;cursor:pointer;color:#918998;letter-spacing:0;font:12px var(--sans);background:0 0;border:0;padding:14px 13px;position:relative}.filter.active{color:var(--purple-dark);font-weight:700}.filter.active:after{content:"";background:var(--purple);height:2px;position:absolute;bottom:-1px;left:12px;right:12px}.project-grid{grid-template-columns:repeat(3,1fr);gap:15px;display:grid}.project-card{background:#fff;border:1px solid #e9e5eb;border-radius:7px;flex-direction:column;min-height:275px;padding:25px;transition:transform .22s,border-color .22s,box-shadow .22s;display:flex}.project-card:hover{border-color:#cfc2e9;transform:translateY(-4px);box-shadow:0 12px 28px #42315c0a}.card-top,.card-bottom{justify-content:space-between;align-items:center;gap:10px;display:flex}.card-top{color:#99929f;font-size:9px}.card-number{color:#8b70c2}.card-arrow{font-family:var(--sans);color:#a59eae;font-size:17px}.card-middle{flex:1;padding:25px 0}.card-symbol{color:#9478d1;margin-bottom:14px;font-size:25px}.card-middle h3{font-family:var(--serif);letter-spacing:-.04em;margin:0 0 10px;font-size:24px;font-weight:600}.card-middle p{color:var(--muted);max-width:300px;margin:0;font-size:13px;line-height:1.7}.tags{flex-wrap:wrap;gap:6px;display:flex}.tags span{font-family:var(--sans);letter-spacing:0;color:#756b83;background:#f6f3f9;border-radius:3px;padding:6px 8px;font-size:10px}.card-more{color:#8064b6;white-space:nowrap;letter-spacing:0;font-size:9px}.projects-end{color:#aaa2ad;justify-content:space-between;gap:15px;margin-top:28px;font-size:9px;display:flex}.projects-end a{color:var(--ink);font-family:var(--sans);letter-spacing:0;font-size:12px;font-weight:700}.about{background:#f0edf4;border-block:1px solid #e9e3ef}.about-grid{grid-template-columns:1fr 1fr;gap:13%;display:grid}.about h2{line-height:1.13}.accent{color:var(--purple)}.about-copy{color:#77717e;padding-top:30px;font-size:14px;line-height:1.85}.about-icon{color:#a68acb;font-size:30px}.about-lead{color:var(--ink);font-family:var(--serif);letter-spacing:-.025em;margin:19px 0;font-size:25px;line-height:1.4}.capabilities{color:#7b6b91;grid-template-columns:1fr 1fr;gap:0;margin-top:33px;display:grid}.capabilities span{border-top:1px solid #ded7e7;padding:15px 0;font-size:9px}.contact{position:relative;overflow:hidden}.contact-top{justify-content:space-between;align-items:start;display:flex}.available{color:#7c7583;align-items:center;gap:12px;font-size:9px;display:flex}.contact-grid{grid-template-columns:1fr 1fr;gap:15%;margin-top:35px;display:grid}.contact h2{font-size:clamp(55px,6vw,83px)}.contact-grid>div>p{max-width:380px;color:var(--muted);margin:23px 0 30px;font-size:14px;line-height:1.8}.contact-links{padding-top:12px}.contact-label{color:#a19ba5}.contact-links>a{border-bottom:1px solid var(--line);color:#393241;justify-content:space-between;align-items:end;padding:22px 0;font-size:15px;display:flex}.contact-links a:hover{color:var(--purple)}.contact-links small{color:#a39bab;margin-bottom:9px;font-size:9px;display:block}.contact-links b{color:#a795c0;font-size:18px;font-weight:400}.contact-star{color:#eee8f6;font-size:70px;position:absolute;bottom:55px;right:38%}.footer{border-top:1px solid var(--line);color:#9a939d;justify-content:space-between;align-items:center;gap:20px;min-height:100px;font-size:11px;display:flex}.footer-brand{font-family:var(--serif);color:var(--purple);font-size:24px}.footer-brand span{font-family:var(--sans);color:var(--ink);font-size:12px}.footer p span{margin-left:12px}.footer>a:last-child{color:#756f7d}.case{padding-block:65px 100px}.back-link{color:#887d96;margin-bottom:75px;display:inline-block}.case-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding-bottom:70px;display:flex}.case h1{font-size:clamp(56px,7vw,100px)}.case-description{color:var(--muted);max-width:590px;font-size:18px;line-height:1.7}.case-tags{margin-top:28px}.case-ornament{color:#9073cb;background:#ebe3f9;border-radius:50%;place-items:center;width:190px;height:190px;font-size:100px;display:grid}.case-layout{grid-template-columns:1fr 2fr;gap:15%;padding-block:75px;display:grid}.case-meta-label{color:#a29aa8;margin-top:25px;display:block}.case-meta-label:first-child{margin-top:0}.case-layout aside p,.case-external{font-size:13px;line-height:1.7}.case-external{color:var(--purple);margin-top:10px;display:block}.case-body section{margin-bottom:55px}.case-body section>span{color:#998da5}.case-body h2{margin:15px 0;font-size:38px}.case-body p{color:#706b79;max-width:680px;font-size:16px;line-height:1.9}.case-next{border-top:1px solid var(--line);justify-content:space-between;align-items:center;padding-top:35px;display:flex}.case-next>span{color:#a29aa8}.case-next a{color:#8a8292;font-size:12px}.case-next strong{color:var(--ink);font:600 25px var(--serif);margin-top:8px;display:block}@media (width<=900px){.wrap{width:min(100% - 48px,1320px)}.hero{grid-template-columns:1fr 1fr;min-height:auto;padding-block:80px 95px}.hero h1{font-size:clamp(50px,7vw,70px)}.hero-art{transform-origin:50%;transform:scale(.75)}.project-grid{grid-template-columns:repeat(2,1fr)}.section{padding-block:80px}.about-grid,.contact-grid{gap:7%}}@media (width<=640px){.wrap{width:calc(100% - 36px)}.header{height:76px}.brand-small{display:none}.header nav{gap:16px;font-size:12px}.header nav a:nth-child(2){display:none}.nav-contact{padding:10px}.nav-contact span{margin-left:3px}.hero{flex-direction:column;align-items:stretch;padding-block:66px 80px;display:flex}.eyebrow{gap:8px;font-size:8px}.eyebrow-line{width:14px}.hero-intro{margin-top:38px}.hero h1{font-size:clamp(49px,11vw,68px)}.hero-description{font-size:15px}.hero-art{height:270px;margin:-5px 0 -20px;transform:scale(.62)}.hero-bottom{font-size:8px;bottom:22px}.section{padding-block:70px}.section-heading{display:block}.section-heading>p{margin-top:20px}.section h2{font-size:45px}.filter-row{display:block}.filter-label{margin-bottom:3px;display:block}.filters{margin-left:-12px}.project-grid{grid-template-columns:1fr}.project-card{min-height:245px}.about-grid,.contact-grid{grid-template-columns:1fr}.about-copy{padding-top:20px}.contact-top{display:block}.available{margin-top:24px}.contact-grid{gap:50px}.contact h2{font-size:58px}.contact-star{display:none}.footer{flex-wrap:wrap;padding-block:25px}.footer p{order:3;width:100%;margin:0}.case{padding-block:40px 70px}.back-link{margin-bottom:50px}.case-header{padding-bottom:45px}.case-ornament{flex:none;width:75px;height:75px;font-size:42px}.case h1{overflow-wrap:anywhere;font-size:48px}.case-description{font-size:15px}.case-layout{grid-template-columns:1fr;gap:45px;padding-block:45px}.case-layout aside{grid-template-columns:1fr 1fr;gap:5px 20px;display:grid}.case-meta-label{margin-top:0}.case-layout aside p{margin:0 0 18px}.case-external{margin:0 0 10px}.case-body h2{font-size:32px}.case-next{gap:20px}.case-next strong{font-size:20px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}html[data-theme=light]{--muted:#625c6b}html[data-theme=light] .hero-description,html[data-theme=light] .about-copy,html[data-theme=light] .case-body p{color:#625c6b}html[data-theme=light] .eyebrow,html[data-theme=light] .art-caption,html[data-theme=light] .hero-bottom,html[data-theme=light] .kicker,html[data-theme=light] .filter-label,html[data-theme=light] .filter,html[data-theme=light] .card-top,html[data-theme=light] .projects-end,html[data-theme=light] .experience-label,html[data-theme=light] .journey-label,html[data-theme=light] .available,html[data-theme=light] .contact-label,html[data-theme=light] .contact-links small,html[data-theme=light] .footer{color:#635b6d}html[data-theme=light] .filter.active,html[data-theme=light] .card-number,html[data-theme=light] .card-more,html[data-theme=light] .capabilities,html[data-theme=light] .experience>div>span,html[data-theme=light] .journey-item>span,html[data-theme=light] .journey-item .journey-place{color:#604392}html[data-theme=light] .footer>a:last-child{color:#625c6b}html[data-theme=light] .kicker,html[data-theme=light] .filter-label,html[data-theme=light] .card-top,html[data-theme=light] .projects-end,html[data-theme=light] .capabilities span,html[data-theme=light] .experience-label,html[data-theme=light] .experience>div>span,html[data-theme=light] .journey-label,html[data-theme=light] .journey-item>span,html[data-theme=light] .contact-label,html[data-theme=light] .contact-links small{font-size:10px}.journey{border-bottom:1px solid var(--line)}.journey-grid{grid-template-columns:1fr 1fr;gap:9%;display:grid}.journey-label,.journey-item>span{font:10px var(--mono);letter-spacing:.08em;color:#9d91a8}.journey-label{margin:0 0 20px}.journey-item{border-top:1px solid var(--line);padding:22px 0}.journey-item>span{color:var(--purple)}.journey-item h3{margin:11px 0 7px;font-size:15px}.journey-item p{color:var(--muted);max-width:440px;margin:0;font-size:13px;line-height:1.8}@media (width<=640px){.journey-grid{grid-template-columns:1fr;gap:35px}}.project-grid:not(.expanded) .project-card:nth-child(n+7){display:none}.more-projects{justify-content:center;margin-top:30px;display:none}.more-projects.show-desktop{display:flex}.more-projects button{border:1px solid var(--line);color:var(--ink);cursor:pointer;background:0 0;border-radius:5px;padding:14px 20px;font-size:12px;font-weight:700}.more-projects button:hover{border-color:var(--purple);color:var(--purple)}.more-projects button span{color:var(--purple);margin-left:12px}@media (width<=900px){.project-grid:not(.expanded) .project-card:nth-child(n+5){display:none}.more-projects.show-tablet{display:flex}}@media (width<=640px){.project-grid:not(.expanded) .project-card:nth-child(n+3){display:none}.more-projects{display:flex}}.brand-mark>span{color:inherit;line-height:1;transform:translateY(-2px)}.brand-mark svg{fill:currentColor;width:100%;height:100%;font-family:var(--serif);font-size:25px;transform:translateY(-2px)}.filters{flex-wrap:wrap;overflow:visible}.theme-toggle{border:1px solid var(--line);width:38px;height:38px;color:var(--ink);cursor:pointer;background:0 0;border-radius:50%;place-items:center;font-size:19px;line-height:1;display:grid}.theme-toggle:hover{border-color:var(--purple);color:var(--purple)}.theme-sun{display:none}.experience{margin-top:44px}.experience-label{font:10px var(--mono);letter-spacing:.08em;color:#887b95}.experience>div{border-top:1px solid #ded7e7;padding:17px 0}.experience>div>span{font:10px var(--mono);color:#8b77a4;margin-bottom:8px;display:block}.experience strong{color:var(--ink);font-size:14px}.experience>div p{margin:5px 0 0;font-size:13px}html[data-theme=dark]{color-scheme:dark;--ink:#eeeaf4;--muted:#b9b1c5;--purple:#c1a5ff;--purple-dark:#d2bdff;--line:#393342;--paper:#17151d}html[data-theme=dark] .theme-moon{display:none}html[data-theme=dark] .theme-sun{display:block}html[data-theme=dark] .brand-mark{color:#29213a;background:#e8ddff}html[data-theme=dark] .header nav>a:not(.nav-contact),html[data-theme=dark] .text-link,html[data-theme=dark] .projects-end a{color:#e1d9e8}html[data-theme=dark] .nav-contact{border-color:#50465b}html[data-theme=dark] .hero-description,html[data-theme=dark] .about-copy,html[data-theme=dark] .case-body p{color:var(--muted)}html[data-theme=dark] .status-dot{box-shadow:0 0 0 4px #264337}html[data-theme=dark] .button-dark{color:#21192c;background:#b59be9}html[data-theme=dark] .button-dark span{color:#3c275c}html[data-theme=dark] .button:hover{background:#d2c1f4}html[data-theme=dark] .project-card{background:#24212c;border-color:#403849}html[data-theme=dark] .project-card:hover{border-color:#a888e8}html[data-theme=dark] .tags span{color:#e4d6ef;background:#393041}html[data-theme=dark] .about{background:#211c29;border-color:#3b3245}html[data-theme=dark] .capabilities span,html[data-theme=dark] .experience>div{border-color:#4a3f54}html[data-theme=dark] .capabilities,html[data-theme=dark] .experience>div>span{color:#c8b5d7}html[data-theme=dark] .contact-links>a{color:#eeeaf4}html[data-theme=dark] .contact-star{color:#302839}html[data-theme=dark] .art-label{color:#e7ddf0;background:#292431;border-color:#52435f}html[data-theme=dark] .orbit{border-color:#55465f}html[data-theme=dark] .orbit-three{border-color:#403549}html[data-theme=dark] .art-core{background:radial-gradient(circle at 35% 30%,#9c84c7,#705595 60%,#4b395e);box-shadow:0 20px 60px #0005}html[data-theme=dark] .art-core span{color:#eadbff}html[data-theme=dark] .case-ornament{color:#c5a9fa;background:#3a2c4a}html[data-theme=dark] .eyebrow,html[data-theme=dark] .available,html[data-theme=dark] .footer>a:last-child{color:#bdb3c7}html[data-theme=dark] .card-number,html[data-theme=dark] .card-more{color:#c5aafc}html[data-theme=dark] .experience-label{color:#c0b3cc}@media (width<=640px){.header nav{gap:9px}.theme-toggle{flex:none;width:34px;height:34px}.filter-row{padding-bottom:8px}.filters{margin-left:-12px}.filter{padding-block:10px}.brand-mark{flex:none}}.journey-item .journey-place{color:var(--purple);margin:0 0 7px;font-size:12px}.contact-break{display:block}.footer-brand .brand-mark{font-family:var(--serif);color:#fff;font-size:25px}.footer-brand .brand-mark>span{font-family:inherit;font-size:inherit;color:inherit}html[data-theme=dark] .footer-brand .brand-mark{color:#29213a}@media (width<=640px){.header{gap:10px}.brand{white-space:nowrap;gap:8px;font-size:13px}.brand-mark{width:36px;height:36px;font-size:23px}.header nav{flex-shrink:0;gap:8px}.header .nav-contact{white-space:nowrap;padding:10px 9px;font-size:11px}.hero{overflow:hidden}.hero-actions{flex-wrap:wrap;justify-content:center;gap:18px}.hero-actions .button{white-space:nowrap}.hero-art{aspect-ratio:1;width:min(100%,320px);height:auto;margin:28px auto 32px;transform:none}.orbit-one{width:72%;height:72%}.orbit-two{width:88%;height:88%}.orbit-three{width:100%;height:100%}.art-core{width:44%;height:44%}.art-core span{font-size:clamp(45px,17vw,72px)}.art-label{padding:8px;font-size:8px}.art-label-top{top:25%;right:2%}.art-label-bottom{bottom:25%;left:0}.art-caption{font-size:8px;bottom:7%;right:4%}.plus-one{top:13%;left:20%}.plus-two{bottom:18%;right:10%}.about-grid,.contact-grid{row-gap:28px}.about-copy{padding-top:0}.about-icon{line-height:1}.about-lead{margin-top:16px}.contact-grid{row-gap:40px}.contact h2{overflow-wrap:normal;font-size:clamp(40px,11vw,58px)}.contact-break{display:inline}.contact-links>a{gap:12px;min-width:0}.contact-links>a>span{overflow-wrap:anywhere;min-width:0}.footer{gap:14px 12px}.footer p{text-align:center;line-height:1.8}.footer p span{display:inline-block}.eyebrow,.available{padding-left:5px}}@media (width<=360px){.header nav>a:first-child{display:none}.hero h1{font-size:clamp(43px,12vw,49px)}.hero-bottom{letter-spacing:.04em;font-size:7px}}
