.phosphor-icon[data-astro-cid-ccg5yoga]{vertical-align:-.125em;flex-shrink:0;margin-inline:.15em;display:inline-block}:root{color-scheme:dark;color:#f3f1ee;font-synthesis:none;--background:#141416;--surface:#202024;--ink:#f3f1ee;--muted:#b9b8c0;--line:#4b4b53;--accent:#c5b8ff;background:#141416;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;line-height:1.6}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:32px}body{margin:0}a{color:inherit;text-underline-offset:5px;text-decoration:none}a:hover{color:var(--accent)}a:focus-visible,button:focus-visible{outline:3px solid var(--accent);outline-offset:6px}::selection{color:var(--background);background:var(--accent)}h1,h2,h3,h4,p{margin-top:0}h1,h2,h3,h4{text-wrap:balance}img{max-width:100%;height:auto;display:block}.wrap{width:min(1360px,100% - 80px);margin-inline:auto}.site-header{grid-template-columns:1fr auto;align-items:start;gap:36px;padding-block:32px;display:grid}.wordmark{letter-spacing:-.03em;align-items:center;gap:12px;width:fit-content;font-size:20px;font-weight:500;display:inline-flex}nav{gap:28px;font-size:15px;display:flex}nav a{align-items:center;min-height:44px;margin-top:-8px;display:inline-flex}.mobile-menu{display:none}.hero{padding-block:130px 64px}.eyebrow{letter-spacing:.04em;color:var(--muted);font-size:13px;font-weight:400;line-height:1.5}.hero .eyebrow{margin-bottom:28px}h1{letter-spacing:-.055em;max-width:1040px;margin-block:24px 32px;font-size:clamp(46px,6.5vw,94px);font-weight:400;line-height:1.06}.hero h1{max-width:1000px;margin-block:0 30px}.hero h1 span{color:var(--accent)}.hero-bottom{justify-content:space-between;align-items:end;gap:30px;display:flex}.hero-bottom p{letter-spacing:-.025em;max-width:720px;color:var(--muted);margin:0;font-size:clamp(21px,2.7vw,36px);line-height:1.3}.section-heading{justify-content:space-between;align-items:baseline;gap:24px;padding-block:28px;display:flex}.work{border-top:1px solid var(--line)}.section-heading h2{margin:0;font-size:16px;font-weight:400}.project-grid{gap:64px;display:grid}.project{border-top:1px solid var(--line);color:var(--ink);grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:28px 48px;padding-top:20px;display:grid}.project:hover{color:var(--ink)}.project-meta{grid-column:1/-1;justify-content:space-between;align-items:center;gap:20px;display:flex}.project-meta .eyebrow{color:var(--muted);letter-spacing:0;font-size:14px}.project-action{white-space:nowrap;color:var(--ink);font-size:15px}.project:hover .project-action,.project:focus-visible .project-action{color:var(--accent);text-decoration:underline}.project-copy h3{letter-spacing:-.035em;margin-bottom:20px;font-size:clamp(24px,2.2vw,32px);font-weight:400;line-height:1.22}.project-copy p{color:var(--muted);max-width:35ch;font-size:16px;line-height:1.65}.project-art{aspect-ratio:4/3;background:var(--surface);border:1px solid #36363e;place-items:center;display:grid;position:relative;overflow:hidden}.sage{background:#242b29}.peach{background:#302727}.lavender{background:#292736}.project-art img{object-fit:contain;width:100%;height:100%;padding:30px;position:absolute}.sample-label{color:var(--accent);border:1px solid var(--line);margin-top:8px;padding:6px 10px;font-size:12px;line-height:1.5;display:inline-flex}.project-index{background:var(--background);color:var(--ink);padding:2px 7px;font-size:12px;position:absolute;bottom:12px;right:12px}.abstract-art{width:50%;height:60%;position:relative}.art-shape{background:#79708f;border-radius:50% 50% 0 0;position:absolute;inset:0}.art-orbit{aspect-ratio:1;border:1px solid var(--accent);z-index:1;border-radius:50%;width:90%;position:absolute;transform:translate(-25%,-10%)}.about{border-top:1px solid var(--line);grid-template-columns:1fr 2fr;gap:48px;margin-top:96px;padding-block:56px 96px;display:grid}.about h2,.contact h2{letter-spacing:-.045em;font-size:clamp(34px,4vw,60px);font-weight:400;line-height:1.12}.about p:not(.eyebrow){max-width:55ch;color:var(--muted);font-size:18px}.text-link{padding-block:9px;font-size:15px;text-decoration:underline;display:inline-block}.about .text-link+.text-link{margin-left:24px}.contact{border-top:1px solid var(--line);padding-block:56px 88px}.contact h2{margin-block:28px 32px}.button{background:var(--accent);color:#141416;border-radius:3px;justify-content:center;align-items:center;min-height:48px;padding:12px 24px;font-size:16px;display:inline-flex}.button:hover{color:#141416;background:#ded6ff}.social-link{margin-left:28px}.contact-placeholder{color:var(--muted)}.logo-carousel{border-top:1px solid var(--line);padding-block:30px 64px;overflow:hidden}.logo-carousel>.eyebrow{margin-bottom:22px}.logo-window{overflow:hidden;mask-image:linear-gradient(90deg,#0000,#000 7% 93%,#0000)}.logo-track{width:max-content;animation:20s linear infinite logo-scroll;display:flex}.logo-set{align-items:center;gap:clamp(42px,6vw,88px);padding-right:clamp(42px,6vw,88px);display:flex}.logo{color:#c9c7cf;white-space:nowrap;opacity:.9;align-items:center;gap:10px;display:inline-flex}.logo-vfa{letter-spacing:-.04em;text-transform:lowercase;font-size:18px;line-height:.85}.logo-vfa b{font-weight:600}.logo-gdc{gap:12px}.logo-gdc b{color:var(--accent);letter-spacing:-.08em;font-size:34px;line-height:1}.logo-gdc small,.logo-pnc small{letter-spacing:.08em;max-width:90px;color:var(--muted);font-size:9px;line-height:1.1;display:block}.logo-pnc{gap:8px}.logo-pnc i{background:#f15a29;border-radius:50%;width:25px;height:25px;display:inline-block;position:relative}.logo-pnc i:after{content:"";border:2px solid var(--background);border-radius:50%;width:11px;height:11px;position:absolute;top:5px;left:5px}.logo-pnc b{letter-spacing:-.08em;font-size:25px}.logo-image{object-fit:contain;filter:grayscale()brightness(0)invert();width:auto;height:40px;display:block}.logo-gdc-image{max-width:150px;height:42px}.logo-pnc-image{max-width:155px;height:46px}.logo-vfa-image{max-width:155px;height:48px}.logo-cmu-image{max-width:150px;height:52px}@keyframes logo-scroll{to{transform:translate(-50%)}}footer{border-top:1px solid var(--line);color:var(--muted);justify-content:space-between;gap:24px;padding-block:28px;font-size:13px;display:flex}footer a{min-height:32px}.skip-link{z-index:10;background:var(--accent);color:var(--background);padding:12px 18px;position:fixed;top:-100px;left:20px}.skip-link:focus{top:12px}.skip-link:hover{color:var(--background)}.case-study{padding-block:48px 80px}.case-eyebrow{margin-top:64px}.case-summary{max-width:720px;color:var(--muted);font-size:21px}.case-details{border-block:1px solid var(--line);gap:80px;margin-block:36px;padding-block:24px;display:flex}.case-details dt{color:var(--muted);font-size:14px}.case-details dd{margin:6px 0 0}.case-cover{object-fit:contain;background:#fff;width:100%;max-height:780px;margin-top:40px;padding:16px}.case-cover.case-cover-unframed{background:0 0;width:100%;max-width:780px;height:auto;margin-inline:auto;padding:0;display:block}.prose{overflow-wrap:anywhere;max-width:800px;margin:64px auto 72px;font-size:18px;line-height:1.8}.prose h2{letter-spacing:-.03em;margin-top:56px;font-size:34px;font-weight:500;line-height:1.2}.prose h3{letter-spacing:-.02em;margin-top:44px;font-size:27px;font-weight:500;line-height:1.3}.prose h4{margin-top:32px;font-size:22px;font-weight:500;line-height:1.4}.prose p,.prose li{color:#d0ced5}.prose strong{color:var(--ink)}.prose a{color:var(--accent);text-decoration:underline}.prose a:hover{color:#ded6ff}.prose img{background:#fff;border:12px solid #fff;width:auto;max-width:100%;height:auto;margin:32px auto}.prose img.booking-screenshot{background:0 0;border:0;width:50%;max-width:386px;height:auto;display:block}.prose video{width:100%;height:auto;margin:32px auto;display:block}.prose video.booking-video{width:50%;max-width:386px}.prose ul,.prose ol{padding-left:1.5em}.prose li{margin-block:8px}.prose li p{margin-bottom:8px}.prose blockquote{border-left:3px solid var(--accent);background:var(--surface);margin:28px 0;padding:16px 24px}.prose blockquote p:last-child{margin-bottom:0}.prose pre{background:var(--surface);padding:20px;font-size:15px;overflow:auto}.prose hr{border:0;border-top:1px solid var(--line);margin-block:40px}@media (width<=900px){.wrap{width:calc(100% - 48px)}.hero{grid-template-columns:minmax(0,1fr)}.hero-portrait{display:none}.site-header{grid-template-columns:1fr auto;gap:20px}.hero{padding-block:96px 48px}.project{grid-template-columns:minmax(0,1fr) minmax(0,1.5fr);column-gap:28px}.project-art img{padding:20px}}@media (width<=600px){.wrap{width:calc(100% - 40px)}.site-header{grid-template-columns:1fr auto;align-items:center;gap:14px;padding-block:24px}.wordmark{font-size:20px}.desktop-nav{display:none}.mobile-menu{z-index:3;justify-self:end;display:block;position:relative}.mobile-menu summary{cursor:pointer;align-items:center;gap:10px;min-height:44px;font-size:15px;list-style:none;display:flex}.mobile-menu summary::-webkit-details-marker{display:none}.menu-icon{gap:5px;width:18px;display:grid}.menu-icon i{background:currentColor;width:18px;height:1px;transition:transform .2s;display:block}.mobile-menu[open] .menu-icon i:first-child{transform:translateY(3px)rotate(45deg)}.mobile-menu[open] .menu-icon i:last-child{transform:translateY(-3px)rotate(-45deg)}.mobile-menu nav{background:var(--surface);border:1px solid var(--line);gap:2px;min-width:150px;padding:12px 18px;display:grid;position:absolute;top:42px;right:0;box-shadow:0 12px 30px #00000040}.mobile-menu nav a{min-height:40px;margin:0}.hero{padding-block:56px 40px}.hero h1{font-size:clamp(44px,10vw,60px)}.hero-bottom{align-items:center;gap:20px}.hero-bottom p{font-size:22px}.section-heading{flex-direction:column;align-items:start;gap:4px;padding-block:24px}.project-grid{gap:44px}.project{grid-template-columns:minmax(0,1fr);row-gap:20px}.project-meta{align-items:baseline;gap:12px}.project-meta .eyebrow{font-size:13px}.project-action{font-size:14px}.project-copy h3{margin-bottom:12px;font-size:28px}.project-copy p{max-width:none;margin-bottom:8px}.sample-label{margin-bottom:4px}.project-art img{padding:16px}.about{grid-template-columns:minmax(0,1fr);gap:12px;margin-top:56px;padding-block:32px 56px}.contact{padding-block:32px 56px}.logo-carousel{padding-bottom:48px}.logo-set{gap:42px;padding-right:42px}.logo-gdc b{font-size:28px}.logo-vfa{font-size:16px}.social-link{margin-left:20px}footer{flex-wrap:wrap;gap:12px 20px}footer span:nth-child(2){display:none}.case-study{padding-block:32px 56px}.case-study h1{overflow-wrap:anywhere;font-size:44px}.case-details{flex-wrap:wrap;gap:32px}.case-cover{padding:8px}.prose{margin-block:40px;font-size:17px;line-height:1.75}.prose img{border-width:6px}.prose h2{font-size:30px}.prose h3{font-size:25px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important;animation:none!important}}.image-link,.prose a:has(img){cursor:zoom-in;display:block}.image-link:focus-visible,.prose a:has(img):focus-visible{outline-offset:4px}.hero-employer{color:var(--ink);text-underline-offset:.15em;text-decoration:underline 1px}.hero{grid-template-columns:minmax(0,1fr) 320px;align-items:center;gap:56px;display:grid}.hero-copy{min-width:0}.hero-portrait{aspect-ratio:1;clip-path:circle(49.8%);object-fit:cover;border-radius:50%;width:320px;height:auto}@media (width<=1000px){.hero{grid-template-columns:minmax(0,1fr) 240px;gap:32px}.hero-portrait{width:240px}}@media (width<=700px){.hero{grid-template-columns:minmax(0,1fr);gap:32px}.hero-portrait{grid-row:1;width:180px}}.missing-info-note{color:var(--muted);margin-bottom:32px;font-size:14px}.project-grid{gap:80px}.project{border-top:0;grid-template-columns:minmax(0,.9fr) minmax(0,2fr);align-items:start;gap:40px;padding-top:0}.project+.project{border-top:1px solid var(--line);padding-top:32px}.talks{border-top:1px solid var(--line);grid-column:1/-1;padding-block:56px 8px}.talks+.project{border-top:1px solid var(--line);padding-top:32px}.talks-heading h2{letter-spacing:-.04em;margin:8px 0 0;font-size:clamp(30px,4vw,48px);line-height:1.1}.talks-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-top:28px;display:grid}.talk-card{min-width:0;margin:0}.talk-frame{aspect-ratio:16/9;border:1px solid var(--line);background:var(--surface);border-radius:12px;display:block;position:relative;overflow:hidden}.talk-frame img{object-fit:cover;width:100%;height:100%;transition:transform .25s,opacity .25s;display:block}.talk-frame:hover img,.talk-frame:focus-visible img{opacity:.78;transform:scale(1.03)}.talk-play{color:#fff;letter-spacing:.02em;background:#111c;border:1px solid #ffffff80;border-radius:999px;padding:10px 16px;font-size:14px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.talk-card figcaption{color:var(--muted);justify-content:space-between;align-items:center;gap:16px;padding-top:14px;font-size:15px;display:flex}.talk-card figcaption a{color:var(--ink);text-underline-offset:.16em;align-items:center;gap:6px;text-decoration:underline;display:inline-flex}.talk-card figcaption a svg{width:15px;height:15px}.project-copy{padding-top:16px}.project-copy h3{margin-bottom:36px;font-size:clamp(24px,2.2vw,32px);line-height:1.3}.project-copy .project-byline{max-width:none;margin-bottom:20px;font-size:16px;line-height:1.6}.project-byline strong{color:var(--ink);font-weight:500}.project-tags{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.project-tag{color:#c9c8cf;background:#242427;border-radius:999px;padding:7px 12px;font-size:13px;font-weight:500;line-height:1.4}.project-lock{color:var(--ink);align-items:center;margin-right:4px;font-size:22px;display:inline-flex}.project-art{aspect-ratio:16/9;border:0;border-radius:12px;box-shadow:0 16px 32px #00000020}.project-art img{padding:0}.project-art.project-art-thumbnail{aspect-ratio:1}.project:hover h3,.project:focus-visible h3{color:var(--accent)}@media (width<=900px){.project{grid-template-columns:minmax(0,1fr) minmax(0,1.5fr);gap:28px}.project-copy{padding-top:0}.project-copy h3{margin-bottom:24px}}@media (width<=600px){.project-grid{gap:56px}.project{grid-template-columns:minmax(0,1fr);gap:24px}.project-copy h3{font-size:26px}.talks{padding-block:40px 0}.talks-grid{grid-template-columns:minmax(0,1fr);gap:32px;margin-top:24px}.talks-heading h2{font-size:34px}}.image-float-in{animation:1.4s cubic-bezier(.2,.65,.3,1) both image-float-in}@keyframes image-float-in{0%{opacity:0;translate:0 20px}to{opacity:1;translate:0}}@media (prefers-reduced-motion:reduce){.image-float-in{animation:none}}
