@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@600;700;800&family=DM+Sans:wght@400;500;600;700&display=swap');
:root{--paper:#fafaf7;--ink:#171719;--purple:#6938ce;--pale:#e8dcff;--line:#d8d8d3;--muted:#58585e}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font:17px/1.6 'DM Sans',Arial,sans-serif}a{color:inherit;text-underline-offset:5px}img,video{max-width:100%;display:block}button,input,textarea{font:inherit}a,button{touch-action:manipulation}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #915ee9;outline-offset:5px}::selection{background:var(--purple);color:white}.wrap{width:min(1240px,calc(100% - 96px));margin:auto}.skip{position:fixed;left:20px;top:-100px;z-index:20;background:white;padding:12px}.skip:focus{top:12px}.header{border-bottom:1px solid var(--line);background:var(--paper);position:sticky;top:0;z-index:10}.header-inner{display:flex;align-items:center;justify-content:space-between;min-height:84px;gap:20px}.brand{text-decoration:none;font-weight:800;font-size:28px;letter-spacing:-2px}.brand span{color:var(--purple)}nav{display:flex;align-items:center;gap:32px}nav a{text-decoration:none;font-size:14px;font-weight:600;padding:10px 0}nav a:hover{color:var(--purple)}.nav-contact{border-bottom:2px solid var(--purple)}.eyebrow{font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:1.8px;margin:0 0 22px;display:block}.hero{padding:64px 0 58px}.hero-top{display:flex;justify-content:space-between;gap:20px}.hero-top .eyebrow:last-child{color:var(--muted)}h1,h2,h3,p{margin-top:0}.hero h1{font-family:'Barlow Condensed','Arial Narrow',sans-serif;font-size:clamp(76px,12.4vw,174px);text-transform:uppercase;line-height:.85;letter-spacing:-.035em;margin:24px 0 44px;font-weight:800}.hero h1 span{color:var(--purple)}.hero-bottom{display:grid;grid-template-columns:1fr 1fr;gap:60px;border-top:1px solid var(--ink);padding-top:26px}.hero-bottom p{max-width:550px;font-size:20px;line-height:1.55;margin-bottom:22px}.intro-role{font-weight:600}.actions{display:flex;align-items:center;flex-wrap:wrap;gap:16px}.button{display:inline-flex;justify-content:center;align-items:center;gap:32px;padding:13px 22px;background:var(--ink);color:white;text-decoration:none;border:1px solid var(--ink);font-size:15px;font-weight:600;cursor:pointer}.button:hover{background:var(--purple);border-color:var(--purple)}.button.light{background:transparent;color:var(--ink);border-color:var(--line)}.hero-note{display:flex;justify-content:flex-end;align-items:flex-end;gap:24px}.hero-note .arrow{color:var(--purple);font-size:94px;line-height:1}.hero-note p{font-size:14px;max-width:235px}.ribbon{background:var(--purple);color:white;padding:14px 0}.ribbon .wrap{display:flex;justify-content:space-between;gap:24px;font-size:13px;text-transform:uppercase;letter-spacing:1.2px}.section{padding:80px 0}.section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;margin-bottom:36px}.section-head h2,.about h2,.contact h2{font:700 clamp(48px,6.5vw,88px)/.95 'Barlow Condensed',sans-serif;text-transform:uppercase;letter-spacing:-.02em;margin-bottom:0}.section-head p{max-width:300px;font-size:15px;color:var(--muted);margin:0}.project{display:block;text-decoration:none}.featured{display:grid;grid-template-columns:1fr 1fr;gap:48px 30px}.project:first-child{grid-column:1/-1}.art{position:relative;background:#e6e4e8;overflow:hidden;aspect-ratio:16/10;display:flex;align-items:center;justify-content:center}.project:first-child .art{aspect-ratio:2.1}.art img{width:100%;height:100%;object-fit:contain;transition:transform .3s ease}.project:hover .art img{transform:scale(1.025)}.art .open{position:absolute;bottom:18px;right:18px;background:white;color:var(--ink);width:48px;height:48px;display:grid;place-items:center;border-radius:50%;font-size:26px}.project:first-child .art{background:#151515}.project:nth-child(2) .art{background:#e8dcff;padding:25px}.project:nth-child(3) .art{background:#e7e9e2;padding:25px}.project-info{display:flex;justify-content:space-between;gap:20px;padding-top:18px}.project h3{font:700 32px/1.1 'Barlow Condensed',sans-serif;text-transform:uppercase;margin:0 0 8px}.project p{font-size:15px;color:var(--muted);margin:0}.number{font-size:13px;border-top:1px solid var(--ink);padding-top:5px}.tag{font-size:12px;text-transform:uppercase;letter-spacing:1px;color:var(--purple);display:block;margin-bottom:9px}.archive{margin-top:70px}.archive summary{font-weight:600;font-size:20px;cursor:pointer;padding:22px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.archive-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:25px;padding-top:26px}.archive-grid .project:first-child{grid-column:auto}.archive-grid .art,.archive-grid .project:first-child .art{aspect-ratio:1.5;padding:0;background:#e6e4e8}.archive-grid h3{font-size:25px}.method{background:var(--ink);color:white}.method .section-head p{color:#bdbcc3}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:42px;margin-top:48px}.step{border-top:1px solid #666;padding-top:22px}.step span{font-size:13px;color:#c7afff}.step h3{font:600 34px 'Barlow Condensed',sans-serif;margin:14px 0}.step p{font-size:16px;color:#d0cfd6;margin:0}.about-grid{display:grid;grid-template-columns:1.3fr .7fr;gap:90px}.about .lead{font-size:23px;line-height:1.45;margin:30px 0 20px}.about .body-copy{color:var(--muted);max-width:640px}.credentials{margin-top:34px}.credential{border-top:1px solid var(--line);padding:17px 0;display:grid;grid-template-columns:100px 1fr;gap:18px;font-size:14px}.credential span{color:var(--muted)}.credential strong{font-size:16px}.meme-panel{margin:25px 0 0;background:var(--pale);padding:28px;transform:rotate(2deg);align-self:start}.meme-panel img{width:100%;height:auto}.meme-panel figcaption{font:700 38px/.95 'Barlow Condensed',sans-serif;text-transform:uppercase;margin-top:20px}.meme-panel figcaption strong{color:var(--purple)}.languages{font-size:14px;border-top:1px solid var(--line);padding-top:18px;margin-top:16px}.contact{background:var(--purple);color:white}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px}.contact h2{font-size:clamp(64px,8vw,110px);margin-bottom:30px}.contact .email{font-size:clamp(16px,2vw,23px);overflow-wrap:anywhere}.contact-links{display:flex;gap:28px;margin:24px 0}.identity{display:flex;align-items:center;gap:18px;margin-top:42px;font-size:14px}.identity img{width:68px;height:68px;border-radius:50%;object-fit:cover}.field{margin-bottom:20px}.field label{display:block;font-size:14px;margin-bottom:7px}input,textarea{width:100%;padding:12px;background:transparent;border:1px solid #d5c4f5;border-radius:0;color:white}textarea{min-height:125px;resize:vertical}.contact .button{background:white;color:var(--ink);border-color:white}.contact .button:hover{background:var(--pale)}.form-status{font-size:14px;margin-top:14px}.honeypot{position:absolute;left:-9999px}.fine{font-size:13px;color:#eee4ff}.footer{padding:24px 0;background:var(--ink);color:#ddd;font-size:13px}.footer .wrap{display:flex;justify-content:space-between;gap:20px}.case-hero{padding:55px 0 35px}.back{display:inline-block;font-size:14px;margin-bottom:35px}.case-hero h1{font:800 clamp(58px,9vw,128px)/.9 'Barlow Condensed',sans-serif;text-transform:uppercase;letter-spacing:-.02em;margin:18px 0 28px;max-width:1100px}.case-hero .lead{font-size:clamp(20px,2.5vw,30px);max-width:800px;line-height:1.4}.case-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;padding:24px 0;border-top:1px solid var(--line);font-size:14px}.case-facts strong{display:block;font-size:12px;text-transform:uppercase;letter-spacing:1px;margin-bottom:7px}.case-media{background:#e8e6e9;padding:25px}.case-media img{max-height:680px;width:100%;object-fit:contain}.case-media video{width:100%;max-height:680px;background:#111}.case-media p{margin:16px 0 0;font-size:14px}.case-content{display:grid;grid-template-columns:240px 1fr;gap:70px;padding:70px 0}.case-index{align-self:start;position:sticky;top:115px;font-size:14px}.case-index a{display:block;padding:8px 0}.case-body{max-width:800px}.case-block{padding:0 0 32px;margin-bottom:35px;border-bottom:1px solid var(--line)}.case-block h2{font:700 40px/1.1 'Barlow Condensed',sans-serif;text-transform:uppercase;margin-bottom:20px}.case-block p{color:#46464c}.case-block .pending{font-size:14px;border-left:3px solid var(--purple);padding:12px 16px;background:var(--pale);color:var(--ink)}.next-case{padding:30px 0 60px;text-align:right}.next-case a{font:700 35px 'Barlow Condensed',sans-serif}.case-caption{font-size:13px;color:var(--muted);padding-top:14px}
@media(max-width:800px){.wrap{width:calc(100% - 40px)}.header-inner{min-height:72px}nav{gap:18px}.hero{padding:38px 0}.hero-top{display:block}.hero-top .eyebrow:last-child{display:none}.hero h1{font-size:clamp(64px,14vw,110px);line-height:.92;margin:12px 0 30px}.hero-bottom{grid-template-columns:1fr;gap:20px}.hero-note{display:none}.section{padding:55px 0}.section-head{align-items:start;flex-direction:column;gap:20px}.featured{gap:32px 20px}.project:first-child .art{aspect-ratio:1.6}.about-grid,.contact-grid{grid-template-columns:1fr;gap:40px}.meme-panel{max-width:330px;margin:15px auto}.steps{gap:22px}.archive-grid{grid-template-columns:1fr 1fr}.case-content{grid-template-columns:1fr;gap:30px;padding:35px 0}.case-index{position:static;display:flex;gap:20px;flex-wrap:wrap}.case-facts{gap:15px}.ribbon .wrap span:last-child{display:none}}
@media(max-width:520px){nav{gap:14px}nav a{font-size:13px}.brand{font-size:24px}.hero-bottom p{font-size:18px}.hero h1{font-size:clamp(58px,14.5vw,76px)}.featured,.archive-grid,.steps{grid-template-columns:1fr}.project:first-child{grid-column:auto}.art,.project:first-child .art{aspect-ratio:1.45}.ribbon .wrap{font-size:11px;gap:12px;letter-spacing:.5px}.section-head h2{font-size:58px}.case-facts{grid-template-columns:1fr}.case-media{padding:12px}.footer .wrap{flex-direction:column;gap:8px}.credential{grid-template-columns:80px 1fr}.case-hero h1{font-size:64px;overflow-wrap:anywhere}.contact-links{flex-wrap:wrap}}
.case-content{display:block;padding:42px 0 70px}
nav.case-index{position:static;display:flex;flex-direction:row;align-items:flex-start;justify-content:space-between;gap:14px 28px;flex-wrap:wrap;width:100%;min-width:0;margin:0 0 46px;padding:0 0 24px;border-bottom:1px solid var(--line);font-size:14px}
nav.case-index a{display:block;min-width:0;padding:6px 0;line-height:1.35;text-align:left;border:0;background:transparent;white-space:nowrap}
nav.case-index a:hover,nav.case-index a:focus-visible{background:transparent;color:var(--purple)}
.case-body{width:100%;max-width:900px;min-width:0;margin:0 auto}
@media(max-width:800px){.case-content{padding:34px 0 52px}nav.case-index{justify-content:flex-start;gap:8px 22px;margin-bottom:34px;padding-bottom:20px}nav.case-index a{padding:6px 0;border:0;background:transparent}}
@media(max-width:420px){nav.case-index{flex-direction:column;gap:2px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}
