@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--ink:#101111;--paper:#f0f0e9;--acid:#d9ef7a;--muted:#a5a8a3}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--ink);color:var(--paper);font-family:'DM Sans',Arial,sans-serif;font-size:16px;line-height:1.6}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}button:focus-visible,a:focus-visible{outline:3px solid var(--acid);outline-offset:6px}header{height:88px;padding:0 5%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #ffffff26;background:#101111ee;position:sticky;top:0;z-index:10;backdrop-filter:blur(16px)}.brand{font:800 28px 'Manrope',sans-serif;letter-spacing:-2px;display:flex;gap:24px;align-items:center}.brand span{font:500 12px 'DM Sans',sans-serif;letter-spacing:2px}header button{background:none;border:0;font-size:14px}.menu-symbol{font-size:25px;margin-left:18px}.hero{padding:35px 5% 0}.hero-top,.scroll-line{display:flex;justify-content:space-between;font-size:12px;letter-spacing:1.5px;color:var(--muted)}h1{font:800 clamp(72px,14.8vw,220px)/.87 'Manrope',sans-serif;letter-spacing:-.075em;margin:50px 0 58px;position:relative}h1 br{display:none}h1 span{display:block}h1 sup{font:400 25px 'DM Sans';position:absolute;top:0;margin-left:20px}h1 sup{display:none}.hero-bottom{display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:center}.eyebrow{font-size:12px;letter-spacing:1.8px;font-weight:600}.intro .eyebrow{color:var(--acid)}.intro h2{font-size:clamp(25px,3.1vw,48px);letter-spacing:-.045em;line-height:1.15;font-weight:500}.intro>p:not(.eyebrow){color:var(--muted);font-size:18px}.actions{display:flex;gap:24px;align-items:center;margin-top:30px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:30px;padding:17px 24px;border-radius:3px;font-weight:500;font-size:14px;transition:transform .25s,background .25s}.button:hover{transform:translateY(-3px)}.light{background:var(--paper);color:var(--ink)}.light:hover{background:var(--acid)}.text-link{font-size:14px;border-bottom:1px solid #888;padding-bottom:6px}.frame{aspect-ratio:236/313;overflow:hidden;position:relative;background:#292929}.frame img{position:absolute;width:300.425%;max-width:none;left:calc(var(--col,0) * -100%);top:calc(-86.26% - var(--row,0) * 100.3%);height:auto;pointer-events:none}.hero-art{width:72%;justify-self:end;transform:rotate(3deg);transition:transform .6s}.hero-art:hover{transform:rotate(0)}.image-caption{display:flex;justify-content:space-between;gap:10px;font-size:10px;letter-spacing:.8px;margin-top:12px}.image-caption span{color:var(--muted)}.scroll-line{margin-top:65px;padding:20px 0;border-top:1px solid #ffffff30}.work,.about,.approach{padding:100px 5%}.work{background:var(--paper);color:var(--ink)}.section-heading{display:grid;grid-template-columns:1fr 1fr;align-items:end;gap:10px 8%;margin-bottom:55px}.section-heading .eyebrow{grid-column:1/-1}.section-heading h2{font:500 clamp(38px,5.5vw,78px)/1.06 'Manrope',sans-serif;letter-spacing:-.055em;margin:12px 0}.section-heading>p:last-child:not(.eyebrow){max-width:350px;justify-self:end;font-size:18px}.section-heading em,.big-statement em,.contact em{font-family:Georgia,serif;font-weight:400}.work-grid{display:grid;grid-template-columns:1.1fr .85fr .85fr;gap:30px;align-items:start}.art-card{background:none;border:0;padding:0;text-align:left;color:inherit}.art-card>.frame{transition:transform .6s;transform-origin:bottom}.art-card:hover>.frame{transform:translateY(-8px)}.art-card>span{display:flex;justify-content:space-between;gap:10px;font-size:12px;margin-top:17px}.art-card>span>span{margin-right:auto}.offset{margin-top:105px}.work-grid>.art-card:last-child{margin-top:210px}.project-note{border-top:1px solid #10111130;margin-top:55px;padding-top:25px;display:grid;grid-template-columns:1fr 1fr;gap:8%}.project-note h3{font-size:30px;letter-spacing:-1px;font-weight:500;margin:0}.project-note p{margin-top:0;max-width:530px}.small{font-size:11px;letter-spacing:1px;color:#61645e}.statement{padding:100px 5%;border-bottom:1px solid #ffffff30}.big-statement{font:500 clamp(52px,8.5vw,120px)/1.06 'Manrope',sans-serif;letter-spacing:-.055em;margin:45px 0 0}.big-statement em{color:var(--acid)}.about{display:grid;grid-template-columns:1fr 1fr;gap:50px 8%}.about .section-heading{display:block;margin:0}.about .section-heading h2{font-size:clamp(36px,4.5vw,64px)}.about-copy{padding-top:35px;color:var(--muted)}.about-copy .lead{font-size:24px;color:var(--paper);line-height:1.4}.about-copy .text-link{display:inline-block;color:var(--paper);margin-top:15px}.credits{grid-column:1/-1;display:flex;flex-wrap:wrap;justify-content:space-between;gap:25px;border-top:1px solid #ffffff30;border-bottom:1px solid #ffffff30;padding:36px 0;font:600 clamp(18px,2.5vw,30px) 'Manrope',sans-serif;letter-spacing:-1px}.recognition{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr 1fr;gap:35px}.recognition>p:not(.eyebrow){font-size:20px;margin:0}.recognition span{display:block;font-size:14px;color:var(--muted);margin-top:12px}.approach{background:#1c1e1c}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:45px}.steps article{border-top:1px solid #888;padding-top:20px}.steps span{font-size:12px;letter-spacing:1px;color:var(--acid)}.steps h3{font-weight:500;font-size:27px;line-height:1.2;letter-spacing:-1px;margin:30px 0 20px}.steps p{color:var(--muted)}.contact{background:var(--acid);color:var(--ink);padding:75px 5%}.contact h2{font:500 clamp(64px,10vw,150px)/.95 'Manrope',sans-serif;letter-spacing:-.065em;margin:45px 0}.contact h2 br:nth-child(2){display:none}.contact-bottom{display:flex;justify-content:space-between;align-items:center;gap:30px}.contact-bottom span{display:block;font-size:13px;margin-top:14px}.dark{background:var(--ink);color:var(--paper)}.email{display:inline-block;margin-top:35px;border-bottom:1px solid;font-size:20px}footer{padding:30px 5%;display:flex;justify-content:space-between;font-size:11px;letter-spacing:1px}dialog{border:0;color:var(--paper);background:var(--ink);padding:40px;max-height:100dvh}dialog::backdrop{background:#000c;backdrop-filter:blur(8px)}#menu{width:100%;height:100dvh;max-width:none;margin:0;padding:35px 5%}dialog button{background:none;border:0}.dialog-top{display:flex;justify-content:space-between;align-items:center;font-size:13px}nav{margin:8vh 0;display:flex;flex-direction:column}nav a{font:500 clamp(35px,7vw,95px)/1.3 'Manrope',sans-serif;letter-spacing:-.04em}nav a:hover{color:var(--acid)}nav small{font:12px 'DM Sans';color:var(--muted);vertical-align:top}#lightbox{width:min(90vw,550px);padding:20px}#lightbox .frame{max-height:75dvh;width:auto;margin:auto}#lightbox p{font-size:11px;letter-spacing:1px}.close-art{display:block;margin:0 0 15px auto}.reveal{opacity:1}.js-motion .reveal{opacity:0;transform:translateY(28px);transition:opacity .8s,transform .8s}.js-motion .reveal.visible{opacity:1;transform:none}@media(min-width:1200px){.hero-bottom{margin-top:-20px}.hero-art{width:65%;margin-top:-110px;z-index:1}}@media(max-width:700px){header{height:68px;padding:0 6%}.brand span{font-size:10px;letter-spacing:1px}.hero{padding:24px 6% 0}.hero-top{font-size:10px;letter-spacing:.5px}.hero-top span:last-child{max-width:120px;text-align:right}h1{font-size:clamp(62px,15.7vw,110px);margin:35px 0;letter-spacing:-.075em;line-height:.93}.hero-bottom{display:flex;flex-direction:column-reverse;gap:32px}.hero-art{width:100%;transform:none;max-height:none}.hero-art .frame{aspect-ratio:236/313;width:68%;margin:auto}.image-caption{font-size:9px;margin-top:14px}.intro{width:100%}.intro h2{font-size:29px}.intro .eyebrow{font-size:10px;letter-spacing:1px}.intro>p:not(.eyebrow){font-size:16px}.actions{gap:20px}.button{padding:15px 17px;font-size:13px;gap:15px}.text-link{font-size:13px}.scroll-line{margin-top:35px;font-size:9px;letter-spacing:.5px}.work,.about,.approach,.statement{padding:65px 6%}.section-heading{display:block;margin-bottom:35px}.section-heading h2{font-size:43px}.section-heading>p:last-child:not(.eyebrow){font-size:16px;justify-self:start}.work-grid{grid-template-columns:1fr 1fr;gap:18px}.work-grid .wide{grid-column:1/-1;width:85%}.offset{margin-top:20px}.work-grid>.art-card:last-child{margin-top:90px}.art-card>span{font-size:10px}.project-note{display:block;margin-top:35px}.project-note h3{margin-bottom:15px}.big-statement{font-size:54px}.about{display:block}.about-copy{padding-top:10px}.credits{font-size:21px;justify-content:flex-start;gap:22px;margin:40px 0}.recognition{display:block}.recognition>p{margin-bottom:25px!important}.steps{grid-template-columns:1fr;gap:25px}.steps h3{font-size:28px;margin:18px 0}.contact{padding:55px 6%}.contact h2{font-size:66px}.contact h2 br:nth-child(2){display:block}.contact-bottom{display:block}.contact-bottom .button{margin-top:12px}footer{font-size:9px;padding:25px 6%}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}.js-motion .reveal{opacity:1;transform:none}}
@keyframes title-arrive{from{opacity:0;transform:translateY(35px);clip-path:inset(100% 0 0 0)}to{opacity:1;transform:translateY(0);clip-path:inset(0)}}@keyframes picture-arrive{from{opacity:0;clip-path:inset(0 0 100% 0)}to{opacity:1;clip-path:inset(0)}}@keyframes menu-arrive{from{opacity:0;transform:translateY(-22px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:no-preference){h1{animation:title-arrive 1s cubic-bezier(.16,1,.3,1) both}.hero-art{animation:picture-arrive 1.2s .15s cubic-bezier(.16,1,.3,1) both}.intro{animation:menu-arrive .8s .35s both}#menu[open]{animation:menu-arrive .35s both}#menu[open] nav a{animation:title-arrive .65s cubic-bezier(.16,1,.3,1) both}#menu[open] nav a:nth-child(2){animation-delay:.08s}#menu[open] nav a:nth-child(3){animation-delay:.16s}#menu[open] nav a:nth-child(4){animation-delay:.24s}#lightbox[open]{animation:menu-arrive .35s both}.work-grid .reveal:nth-child(2){transition-delay:.1s}.work-grid .reveal:nth-child(3){transition-delay:.2s}.button span{transition:transform .25s}.button:hover span{transform:translate(3px,-3px)}}
