@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;600&family=DM+Sans:wght@400;500;600;700&family=DM+Mono:wght@400&family=Instrument+Serif:ital@0;1&family=Space+Grotesk:wght@500;700&family=Caveat:wght@600&display=swap');
:root{color-scheme:dark;--bg:#151515;--fg:#f4f0e9;--pink:#e9a4c1;--muted:#b6b0ae;--line:#403c3c}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--fg);font:400 1rem/1.5 'DM Sans',Arial,sans-serif}a{color:inherit}img,video{display:block;max-width:100%}figure{margin:0}button{font:inherit}::selection{background:var(--pink);color:var(--bg)}a:focus-visible,button:focus-visible{outline:2px solid var(--pink);outline-offset:6px}.shell{width:88%;max-width:1280px;margin-inline:auto}.top{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-block:24px;border-bottom:1px solid var(--line)}.wordmark{font:700 1.9rem/1 'Space Grotesk',sans-serif;letter-spacing:-.07em;text-decoration:none}.wordmark span{color:var(--pink)}nav{display:flex;gap:28px}nav a{padding:10px 0;text-decoration:none;font-size:.9rem}nav a:hover{color:var(--pink)}.skip-link{position:absolute;left:20px;top:-100px;padding:12px;background:var(--fg);color:var(--bg);z-index:10}.skip-link:focus{top:10px}
.hero{padding-block:70px 40px}.eyebrow{font:400 .8rem/1.5 'DM Mono',monospace;color:var(--pink);letter-spacing:.1em;text-transform:uppercase}.hero-title{display:flex;flex-direction:column;align-items:flex-start;width:max-content;max-width:95%;margin:28px 0 44px;font:700 clamp(2.25rem,9vw,8.5rem)/.94 'DM Sans',sans-serif;letter-spacing:-.065em}.hero-title .heading-line{white-space:nowrap}.hero-title em{align-self:flex-end;position:relative;left:.38em;z-index:1;margin-top:-.15em;padding-right:.015em;font:italic 400 1.22em/.94 'Instrument Serif',Georgia,serif;color:var(--pink);letter-spacing:-.015em;transform:scaleX(1.06);transform-origin:right center}.hero-intro{font:400 .875rem/1.8 'DM Mono',monospace;color:var(--muted);max-width:580px;margin:24px auto 0;text-align:center}
.showreel{overflow:hidden;width:100%;margin-top:20px;mask-image:linear-gradient(to right,transparent,#000 3%,#000 97%,transparent);touch-action:pan-y;user-select:none}.showreel-track{display:flex;width:max-content;animation:showreel-drift 72s linear infinite;pointer-events:none}.showreel-group{display:flex;gap:14px;padding-right:14px;flex:none}.showreel img{width:clamp(180px,20vw,270px);height:auto;aspect-ratio:1/1;object-fit:cover;background:#ecebea;flex:none}.showreel img.winter-frame{object-position:center 48%}@keyframes showreel-drift{to{transform:translateX(-50%)}}
.work{padding-bottom:94px}.section-heading{display:flex;justify-content:space-between;align-items:baseline;gap:20px;border-top:1px solid var(--line);margin:20px 0 36px;padding-top:28px}.section-heading h2{margin:0;font:500 clamp(2rem,4.4vw,3.8rem)/1.1 'DM Sans',sans-serif;letter-spacing:-.055em}.section-heading em{font:italic 400 1.18em/1 'Instrument Serif',Georgia,serif;color:var(--pink)}.section-heading>span{font:400 .8rem/1.5 'DM Mono',monospace;color:var(--muted);white-space:nowrap}.project-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:66px 36px;align-items:start}.project-card{display:block;min-width:0;text-decoration:none}.project-card:first-child{grid-column:1/-1}.project-card:nth-child(2){grid-column:1/7}.project-card:nth-child(3){grid-column:7/13;margin-top:70px}.project-card:nth-child(4){grid-column:1/6}.project-card:nth-child(5){grid-column:7/13;margin-top:60px}.project-cover{overflow:hidden;aspect-ratio:1/1;background:#282525}.project-card:first-child .project-cover{aspect-ratio:16/10}.project-cover img{width:100%;height:100%;object-fit:cover;transition:transform .3s}.project-card:hover .project-cover img{transform:scale(1.02)}
/* Frame the supplied full-resolution covers without altering their source pixels. */
.project-cover--rare img{object-position:50% 50%}.project-cover--head img{transform:translateY(-9.6%) scale(1.2)}.project-card:hover .project-cover--head img{transform:translateY(-9.6%) scale(1.224)}.project-cover--airpods img{object-position:50% 63%}
.project-title{display:flex;justify-content:space-between;align-items:baseline;gap:14px;margin:17px 0 0;font:600 clamp(1.45rem,2.3vw,1.95rem)/1.15 'Inter',Arial,sans-serif;letter-spacing:-.035em}.project-title .arrow{flex:none;width:22px;height:22px;align-self:flex-end;margin-bottom:2px;color:var(--pink)}.project-category{display:block;margin-top:8px;color:var(--muted);font:400 .8rem/1.6 'Inter',Arial,sans-serif}
.project-card[hidden],.work-toggle[hidden]{display:none}
.work{overflow-anchor:none}.project-card{scroll-margin-top:28px}
.work-toggle{display:flex;align-items:center;justify-content:center;gap:12px;width:min(100%,28rem);min-height:58px;margin:32px auto 0;padding:16px 28px;border:1px solid #e9a4c126;border-radius:16px;background:linear-gradient(120deg,#f4f0e914,#e9a4c10d);color:var(--fg);font:500 .95rem/1.4 'Inter',Arial,sans-serif;cursor:pointer;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);transition:background .2s,border-color .2s}
.work-toggle:hover{background:#e9a4c11f;border-color:#e9a4c14d}.work-toggle svg{width:20px;height:20px;color:var(--pink);transition:transform .2s}.work-toggle[aria-expanded="true"] svg{transform:rotate(180deg)}
@media(min-width:521px){.work.is-collapsed .project-card:first-child{grid-column:1/7}.work.is-collapsed .project-card:nth-child(2){grid-column:7/13}.work.is-collapsed .project-card:first-child .project-cover{aspect-ratio:1}}
@media(prefers-reduced-motion:reduce){.work-toggle,.work-toggle svg{transition:none}}
.about{background:var(--fg);color:var(--bg);padding-block:52px 60px}.about-grid{display:grid;grid-template-columns:140px minmax(0,1fr);gap:27px 36px;align-items:start}.about h2{grid-column:1/-1;margin:0;font:500 clamp(2rem,3.5vw,3rem)/1.1 'DM Sans',sans-serif;letter-spacing:-.05em}.portrait{width:140px;aspect-ratio:4/5;overflow:hidden;background:#121316}.portrait img{width:100%;height:100%;object-fit:cover;object-position:50% 78%;transform:scale(1.16);transform-origin:50% 78%}.about-copy{max-width:820px;min-width:0}.about-copy p{margin:0;font-size:clamp(1.125rem,1.65vw,1.4rem);line-height:1.5;letter-spacing:-.02em}.about-copy .about-intro{font-size:clamp(1.45rem,2.3vw,2.15rem);line-height:1.3;margin-bottom:22px}.about-name{font-weight:700;color:var(--bg);text-decoration:underline;text-decoration-color:var(--pink);text-decoration-thickness:.14em;text-underline-offset:.1em;text-decoration-skip-ink:none}.about-role{font:italic 400 1.2em/1 'Instrument Serif',Georgia,serif;color:#a0466e;letter-spacing:-.015em}
.software{margin-top:28px;padding-top:22px;border-top:1px solid #15151520}.software h3{margin:0 0 15px;font:400 .875rem/1.5 'DM Mono',monospace;color:#68615f}.software-list{display:flex;flex-wrap:wrap;gap:14px 24px;list-style:none;margin:0;padding:0}.software-list li{display:flex;align-items:center;gap:9px;color:#363131;font-size:.875rem;line-height:1.5;white-space:nowrap}.software-list img{width:28px;height:28px;flex:none;object-fit:contain}
.footer{padding-block:54px 28px;scroll-margin-top:24px}.footer-title{margin:0 0 30px;font:500 clamp(2rem,4.9vw,4.7rem)/.94 'DM Sans',sans-serif;letter-spacing:-.05em}.footer-title em{display:block;position:relative;margin-top:-.16em;font:italic 400 1.3em/.92 'Instrument Serif',Georgia,serif;letter-spacing:-.035em;color:var(--pink)}.contact-links{display:flex;flex-wrap:wrap;gap:20px 32px;margin-bottom:52px}.contact-links a{display:inline-flex;align-items:center;gap:6px;min-height:44px;text-decoration:none;font-size:1rem}.contact-links svg{width:21px;height:21px;flex:none}.contact-links a:hover span{text-decoration:underline;text-decoration-color:var(--pink);text-underline-offset:4px}.footer-bottom{display:flex;justify-content:space-between;gap:16px;border-top:1px solid var(--line);padding-top:20px;color:var(--muted);font-size:.8rem}
.project-page{padding-block:30px 0}.back-link{display:inline-flex;align-items:center;gap:8px;padding-block:12px;margin-bottom:26px;text-decoration:none;font-size:.9rem;color:var(--muted)}.back-link:hover{color:var(--pink)}.project-heading{margin-bottom:34px}.project-heading .eyebrow{text-transform:none;letter-spacing:.015em}.detail-title{font:600 clamp(2.6rem,6vw,5.5rem)/1.05 'Inter',Arial,sans-serif;letter-spacing:-.055em;margin:18px 0 23px;max-width:1050px}.project-description{font-size:1.125rem;line-height:1.65;color:var(--muted);max-width:760px;margin:0}.project-description p{margin:0 0 .9em}.project-description p:last-child{margin-bottom:0}.project-media{margin-bottom:34px}.project-media video{width:100%;height:auto;object-fit:contain;background:transparent}.project-media img{width:100%;height:auto}.media-pair{display:grid;grid-template-columns:1fr 1fr;gap:22px;align-items:start;max-width:860px;margin-inline:auto}.mini-gallery{max-width:min(860px,88svh)}.product-gallery{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:start}.project-three-gallery{grid-template-columns:minmax(0,1fr) minmax(0,.9fr);grid-template-rows:auto auto;max-width:min(900px,82svh);gap:16px 22px}.project-three-gallery figure:first-child{grid-row:span 2}.single-media{max-width:min(750px,75svh);margin-inline:auto}.single-media.portrait-video{max-width:min(480px,43svh)}figcaption{margin-top:10px;color:var(--muted);font-size:.75rem;letter-spacing:.055em;text-transform:uppercase}.video-wrap{position:relative}.sound-toggle{position:absolute;right:10px;top:10px;display:grid;place-items:center;width:44px;height:44px;padding:10px;border:1px solid #ffffff30;border-radius:50%;background:#15151585;color:var(--fg);backdrop-filter:blur(8px);cursor:pointer}.sound-toggle svg{width:21px;height:21px}.sound-toggle:hover{background:var(--pink);color:var(--bg)}.sound-toggle [hidden]{display:none}.project-credit{margin:26px 0 40px;font-size:.8rem;line-height:1.5;color:var(--muted)}.project-next{display:flex;align-items:center;justify-content:space-between;gap:25px;text-decoration:none;padding-block:27px 40px;border-top:1px solid var(--line)}.project-next small{display:block;color:var(--muted);font-size:.8rem;margin-bottom:6px}.project-next strong{font:600 clamp(1.5rem,3vw,2.5rem)/1.2 'Inter',sans-serif;letter-spacing:-.035em}.project-next .arrow{flex:none;width:32px;height:32px;color:var(--pink)}
@media(max-width:760px){.top{padding-block:18px}nav{gap:20px}.hero{padding-block:44px 28px}.hero-title{margin-top:24px;margin-bottom:33px}.hero-intro{font-size:.8rem}.project-grid{gap:44px 22px}.project-card:nth-child(3){margin-top:48px}.project-card:nth-child(5){margin-top:42px}.work{padding-bottom:64px}.about{padding-block:35px 40px}.about-grid{gap:23px 28px}.footer{padding-top:40px}.footer-title{font-size:clamp(1.8rem,4.9vw,2.5rem)}.footer-bottom{flex-direction:column;gap:8px}.showreel img{width:180px}.project-three-gallery{max-width:100%}.project-media .mini-gallery{max-width:100%}}
@media(max-width:520px){.hero-title{font-size:clamp(2rem,8.8vw,2.9rem)}.hero-title em{left:.25em}.section-heading{gap:12px;margin-bottom:25px}.section-heading>span{font-size:.75rem}.project-grid{grid-template-columns:1fr;gap:36px}.project-card:nth-child(n){grid-column:1;margin-top:0}.project-card:first-child .project-cover{aspect-ratio:1}.project-title{font-size:1.45rem}.project-category{font-size:.8rem}.about-grid{grid-template-columns:1fr;gap:18px}.portrait{width:120px}.about-copy .about-intro{font-size:1.5rem}.about-copy p{font-size:1.125rem}.contact-links{gap:6px 22px;margin-bottom:35px}.contact-links a{font-size:.95rem}.detail-title{font-size:2.6rem}.project-description{font-size:1rem}.media-pair{gap:12px}.product-gallery{grid-template-columns:1fr;gap:22px}.project-three-gallery{gap:12px}.project-credit{margin-bottom:28px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.project-cover img{transition:none}}

@media(max-width:380px){.top{gap:14px}nav{gap:16px}nav a{font-size:.875rem}}

.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.title-copy{display:flex;flex-direction:column;align-items:stretch;min-width:0}
.title-main,.next-main{display:block;order:0;min-width:0;position:relative;z-index:0}
.project-title .title-brand,.detail-title .title-brand,.project-next .next-brand{display:block;order:1;position:relative;z-index:1;isolation:isolate;align-self:flex-end;margin-bottom:0;padding-inline:.16em;color:#302a28;font-family:'Caveat','Segoe Print',cursive;font-weight:600;font-style:normal;letter-spacing:-.025em;text-transform:none;white-space:nowrap;transform:rotate(-2deg);transform-origin:right center}
.project-title .title-brand::before,.detail-title .title-brand::before,.project-next .next-brand::before{content:"";position:absolute;z-index:-1;left:-.04em;right:-.08em;top:-.12em;bottom:-.18em;background:linear-gradient(95deg,rgba(246,226,151,.79),rgba(245,221,137,.9) 42%,rgba(248,231,166,.82));clip-path:polygon(0 17%,5% 8%,18% 11%,32% 3%,49% 9%,65% 2%,81% 7%,96% 3%,100% 17%,98% 38%,100% 80%,94% 94%,78% 91%,61% 100%,45% 93%,25% 98%,9% 91%,0 97%,2% 70%);transform:rotate(-1deg) skewX(-3deg)}
.project-title .title-brand{font-size:clamp(1.25rem,1.85vw,1.8rem);line-height:.8;margin-top:-.16em;margin-right:3px}
.project-title .arrow{align-self:flex-start;margin-top:3px;margin-bottom:0}
.project-category{margin-top:14px}
.detail-title{display:flex;flex-direction:column;align-items:flex-start;width:max-content;max-width:min(1050px,100%)}
.detail-title .title-brand{font-size:clamp(1.95rem,3vw,2.8rem);line-height:.8;margin-top:-.12em;transform:translateX(.04em) rotate(-3deg)}
.detail-title .title-main{max-width:100%}
.project-next strong{display:flex;flex-direction:column;align-items:stretch;width:max-content;max-width:100%}
.project-next .next-brand{font-size:clamp(1.25rem,1.9vw,1.85rem);line-height:.8;margin-top:-.12em}

@media(max-width:520px){.detail-title .title-brand{font-size:clamp(1.75rem,6.8vw,2.1rem)}}
@media(max-width:520px){.detail-title--comic{display:block}.detail-title--comic .title-main{display:inline}.detail-title--comic .comic-title-first{display:block}.detail-title--comic .title-brand{display:inline-block;margin:0 0 0 .08em;vertical-align:baseline;transform:translateY(.18em) rotate(-3deg)}}

/* A light contact section closes individual project pages. */
.project-page + .footer{
  width:100%;
  max-width:none;
  padding-inline:max(6%, calc((100% - 1280px) / 2));
  background:var(--fg);
  color:var(--bg);
}
.project-page + .footer .footer-title em{color:#a0466e}
.project-page + .footer .footer-bottom{
  border-color:#15151526;
  color:#68615f;
}

.project-still{max-width:900px;margin:36px auto 0}
@media(max-width:520px){.project-still{margin-top:24px}}

.about-copy .about-collab{margin-top:16px}
